pub enum Posture {
Copy,
Affine,
Linear,
}Expand description
Posture trichotomy carried by MarkerKind::Posture (ADR-0080 / ADR-0083).
Variants§
Copy
The type is Copy: bitwise duplicable, never moves on assignment.
Affine
The type is Affine: the default — moves on use, no implicit duplicate.
@mark(affine) exists so users can suppress structural Copy inference
when a type’s members are all Copy but its semantics demand
move-on-use.
Linear
The type is Linear: must be explicitly consumed; cannot be silently dropped.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Posture
impl<'de> Deserialize<'de> for Posture
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
impl Copy for Posture
impl Eq for Posture
impl StructuralPartialEq for Posture
Auto Trait Implementations§
impl Freeze for Posture
impl RefUnwindSafe for Posture
impl Send for Posture
impl Sync for Posture
impl Unpin for Posture
impl UnsafeUnpin for Posture
impl UnwindSafe for Posture
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