pub trait DisjointFrom<Other>where
Self: SpecCombinator,
Other: SpecCombinator,{
// Required methods
spec fn disjoint_from(&self, other: &Other) -> bool;
proof fn parse_disjoint_on(&self, other: &Other, buf: Seq<u8>);
}Expand description
A helper trait for Choice combinator.
Required Methods§
Sourcespec fn disjoint_from(&self, other: &Other) -> bool
spec fn disjoint_from(&self, other: &Other) -> bool
pre-condition that must be held for Self and [Other] to be disjoint
Implementations on Foreign Types§
Source§impl<'a, 'b, T1, T2> DisjointFrom<&'a T1> for &'b T2
impl<'a, 'b, T1, T2> DisjointFrom<&'a T1> for &'b T2
Source§open spec fn disjoint_from(&self, other: &&T1) -> bool
open spec fn disjoint_from(&self, other: &&T1) -> bool
{ (*self).disjoint_from(*other) }Source§proof fn parse_disjoint_on(&self, other: &&T1, buf: Seq<u8>)
proof fn parse_disjoint_on(&self, other: &&T1, buf: Seq<u8>)
Source§impl<U1, U2, V1, V2> DisjointFrom<(U2, V2)> for (U1, V1)where
U1: DisjointFrom<U2> + SecureSpecCombinator,
U2: SecureSpecCombinator,
V1: SpecCombinator,
V2: SpecCombinator,
impl<U1, U2, V1, V2> DisjointFrom<(U2, V2)> for (U1, V1)where
U1: DisjointFrom<U2> + SecureSpecCombinator,
U2: SecureSpecCombinator,
V1: SpecCombinator,
V2: SpecCombinator,
Source§open spec fn disjoint_from(&self, other: &(U2, V2)) -> bool
open spec fn disjoint_from(&self, other: &(U2, V2)) -> bool
{ self.0.disjoint_from(&other.0) }