pub enum ListOp {
Exclusive,
Forbids,
OneOf,
AtLeast,
}Expand description
List constraint operators (body of a list-style PREMISE).
These are surface sugar; the compiler desugars each to Impossible clauses
(see elenchus-compiler). The meanings below are what the author asserts.
Variants§
Exclusive
EXCLUSIVE — at most one of the listed atoms may be TRUE (mutual
exclusion). For n > 2 this is pairwise, not “not all at once”.
Forbids
FORBIDS — at most one may be TRUE; a synonym of ListOp::Exclusive
(same pairwise expansion), kept as a separate word for readability.
OneOf
ONEOF — exactly one is TRUE: at-most-one (pairwise) plus at-least-one.
AtLeast
ATLEAST — at least one of the listed atoms is TRUE.
Trait Implementations§
impl Copy for ListOp
impl Eq for ListOp
impl StructuralPartialEq for ListOp
Auto Trait Implementations§
impl Freeze for ListOp
impl RefUnwindSafe for ListOp
impl Send for ListOp
impl Sync for ListOp
impl Unpin for ListOp
impl UnsafeUnpin for ListOp
impl UnwindSafe for ListOp
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