pub enum ContractRequirement {
Version(ContractVersion),
Unchecked,
}Expand description
What a resolution site demands of the runtime it is about to fork.
An enum rather than an Option<ContractVersion> on purpose: None at a
call site reads as “nothing to pass” and gets copy-pasted into places that
did have something to pass. Unchecked has to be
spelled, and spelling it invites the question of why.
Variants§
Version(ContractVersion)
The version the bundle’s manifest requires. The resolved runtime must advertise it.
Unchecked
Resolve without a contract check. The sidecar case: almanac-feed is
versioned with yubaba and its interface is its own CLI, not the
bundle↔runtime contract, so holding it to this contract’s versions
would be a category error. Nothing that resolves a serve runtime
may use this.
Implementations§
Source§impl ContractRequirement
impl ContractRequirement
Sourcepub fn satisfied_by(&self, advertised: &[ContractVersion]) -> bool
pub fn satisfied_by(&self, advertised: &[ContractVersion]) -> bool
Whether advertised satisfies this requirement.
Trait Implementations§
Source§impl Clone for ContractRequirement
impl Clone for ContractRequirement
impl Copy for ContractRequirement
Source§impl Debug for ContractRequirement
impl Debug for ContractRequirement
impl Eq for ContractRequirement
Source§impl PartialEq for ContractRequirement
impl PartialEq for ContractRequirement
impl StructuralPartialEq for ContractRequirement
Auto Trait Implementations§
impl Freeze for ContractRequirement
impl RefUnwindSafe for ContractRequirement
impl Send for ContractRequirement
impl Sync for ContractRequirement
impl Unpin for ContractRequirement
impl UnsafeUnpin for ContractRequirement
impl UnwindSafe for ContractRequirement
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.