Expand description
Primitive traits and types representing basic properties of types.
Rust types can be classified in various useful ways according totheir intrinsic properties. These classifications are representedas traits.
Structs§
- Phantom
Data - Zero-sized type used to mark things that “act like” they own a
T. - Phantom
Pinned - A marker type which does not implement
Unpin. - Phantom
Contravariant Experimental - Zero-sized type used to mark a type parameter as contravariant.
- Phantom
Contravariant Lifetime Experimental - Zero-sized type used to mark a lifetime as contravariant.
- Phantom
Covariant Experimental - Zero-sized type used to mark a type parameter as covariant.
- Phantom
Covariant Lifetime Experimental - Zero-sized type used to mark a lifetime as covariant.
- Phantom
Invariant Experimental - Zero-sized type used to mark a type parameter as invariant.
- Phantom
Invariant Lifetime Experimental - Zero-sized type used to mark a lifetime as invariant.
Traits§
- Copy
- Types whose values can be duplicated simply by copying bits.
- Send
- Types that can be transferred across thread boundaries.
- Sized
- Types with a constant size known at compile time.
- Sync
- Types for which it is safe to share references between threads.
- Unpin
- Types that do not require any pinning guarantees.
- Const
Param Ty_ Experimental - A marker for types which can be used as types of
constgeneric parameters. - Destruct
Experimental - A marker for types that can be dropped.
- Discriminant
Kind Experimental - Compiler-internal trait used to indicate the type of enum discriminants.
- FnPtr
Experimental - A common trait implemented by all function pointers.
- Freeze
Experimental - Used to determine whether a type containsany
UnsafeCellinternally, but not through an indirection.This affects, for example, whether astaticof that type isplaced in read-only static memory or writable static memory.This can be used to declare that a constant with a generic typewill not contain interior mutability, and subsequently allowplacing the constant behind references. - Meta
Sized Experimental - Types with a size that can be determined from pointer metadata.
- Pointee
Sized Experimental - Types that may or may not have a size.
- Structural
Partial Eq Experimental - Required trait for constants used in pattern matches.
- Tuple
Experimental - A marker for tuple types.
- Unsize
Experimental - Types that can be “unsized” to a dynamically-sized type.
- Variance
Experimental - A marker trait for phantom variance types.
Functions§
- variance
Experimental - Construct a variance marker; equivalent to
Default::default.
Derive Macros§
- Copy
- Derive macro generating an impl of the trait
Copy. - Coerce
Pointee Experimental - Derive macro that makes a smart pointer usable with trait objects.
- Const
Param Ty Experimental - Derive macro generating an impl of the trait
ConstParamTy.