pub enum UsageMode {
Structural,
Linear,
Affine,
}Expand description
Use-counting mode for an edge.
Captures the substructural distinction between edges that can be used freely (structural), exactly once (linear), or at most once (affine).
Variants§
Structural
Can be used any number of times (default).
Linear
Must be used exactly once (e.g., protobuf oneof).
Affine
Can be used at most once.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for UsageMode
impl<'de> Deserialize<'de> for UsageMode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Ord for UsageMode
impl Ord for UsageMode
Source§impl PartialOrd for UsageMode
impl PartialOrd for UsageMode
impl Eq for UsageMode
impl StructuralPartialEq for UsageMode
Auto Trait Implementations§
impl Freeze for UsageMode
impl RefUnwindSafe for UsageMode
impl Send for UsageMode
impl Sync for UsageMode
impl Unpin for UsageMode
impl UnsafeUnpin for UsageMode
impl UnwindSafe for UsageMode
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