Skip to main content

OwnershipVerifier

Trait OwnershipVerifier 

Source
pub trait OwnershipVerifier {
    // Required method
    fn verify(&self, member: &MemberId, destination: &Path) -> Ownership;
}
Expand description

Consumer-supplied proof that a live destination belongs to this deployment.

The verifier is the only way a destination can be classified as Ownership::Owned: core never infers ownership from an InstallPlan, from a member’s presence, or from anything else. It is also infallible by design — verify returns an Ownership value, never a Result, so a verifier cannot fail the transaction by erroring; it reports trouble as Ownership::Unknown, and Unknown denies mutation.

Implementations MUST be synchronous, deterministic for a fixed filesystem state, free of application-specific version types, and treat verifier errors or ambiguity as Ownership::Unknown or a hard failure — never Ownership::Owned.

The verifier runs again immediately before destructive mutation while the crate::MutationLock is held. A change between preflight and locked classification fails the transaction.

Required Methods§

Source

fn verify(&self, member: &MemberId, destination: &Path) -> Ownership

Classifies one live destination for one artifact member.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§