pub enum ThreadSafety {
Unsend,
Send,
Sync,
}Expand description
Thread-safety trichotomy (ADR-0084).
Carried by MarkerKind::ThreadSafety and stored on every type-bearing
StructDef / EnumDef. Inference takes the structural minimum over
members; primitives are intrinsically Sync and raw pointers are
intrinsically Unsend.
The variant order matters: it makes the derived Ord impl yield the
chain Unsend < Send < Sync, which is what the structural-minimum
inference rule expects.
Variants§
Unsend
Cannot cross thread boundaries.
Send
Safe to move across threads (transferring ownership).
Sync
Safe to share across threads. Subsumes Send.
Trait Implementations§
Source§impl Clone for ThreadSafety
impl Clone for ThreadSafety
Source§fn clone(&self) -> ThreadSafety
fn clone(&self) -> ThreadSafety
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ThreadSafety
impl Debug for ThreadSafety
Source§impl Default for ThreadSafety
impl Default for ThreadSafety
Source§impl<'de> Deserialize<'de> for ThreadSafety
impl<'de> Deserialize<'de> for ThreadSafety
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 Hash for ThreadSafety
impl Hash for ThreadSafety
Source§impl Ord for ThreadSafety
impl Ord for ThreadSafety
Source§fn cmp(&self, other: &ThreadSafety) -> Ordering
fn cmp(&self, other: &ThreadSafety) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for ThreadSafety
impl PartialEq for ThreadSafety
Source§impl PartialOrd for ThreadSafety
impl PartialOrd for ThreadSafety
Source§impl Serialize for ThreadSafety
impl Serialize for ThreadSafety
impl Copy for ThreadSafety
impl Eq for ThreadSafety
impl StructuralPartialEq for ThreadSafety
Auto Trait Implementations§
impl Freeze for ThreadSafety
impl RefUnwindSafe for ThreadSafety
impl Send for ThreadSafety
impl Sync for ThreadSafety
impl Unpin for ThreadSafety
impl UnsafeUnpin for ThreadSafety
impl UnwindSafe for ThreadSafety
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