Expand description
Primitive traits and types representing basic properties of types.
Rust types can be classified in various useful ways according to their intrinsic properties. These classifications are represented as traits.
Structs§
- PhantomData 
- Zero-sized type used to mark things that “act like” they own a T.
- PhantomPinned 
- A marker type which does not implement Unpin.
- PhantomContravariant Experimental 
- Zero-sized type used to mark a type parameter as contravariant.
- PhantomContravariant Lifetime Experimental 
- Zero-sized type used to mark a lifetime as contravariant.
- PhantomCovariant Experimental 
- Zero-sized type used to mark a type parameter as covariant.
- PhantomCovariant Lifetime Experimental 
- Zero-sized type used to mark a lifetime as covariant.
- PhantomInvariant Experimental 
- Zero-sized type used to mark a type parameter as invariant.
- PhantomInvariant 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.
- ConstParam Ty_ Experimental 
- A marker for types which can be used as types of constgeneric parameters.
- DestructExperimental 
- A marker for types that can be dropped.
- DiscriminantKind Experimental 
- Compiler-internal trait used to indicate the type of enum discriminants.
- FnPtrExperimental 
- A common trait implemented by all function pointers.
- FreezeExperimental 
- Used to determine whether a type contains
any UnsafeCellinternally, but not through an indirection. This affects, for example, whether astaticof that type is placed in read-only static memory or writable static memory. This can be used to declare that a constant with a generic type will not contain interior mutability, and subsequently allow placing the constant behind references.
- PointerLike Experimental 
- A marker for pointer-like types.
- StructuralPartial Eq Experimental 
- Required trait for constants used in pattern matches.
- TupleExperimental 
- A marker for tuple types.
- UnsizeExperimental 
- Types that can be “unsized” to a dynamically-sized type.
- UnsizedConst Param Ty Experimental 
- A marker for types which can be used as types of constgeneric parameters.
- VarianceExperimental 
- A marker trait for phantom variance types.
Functions§
- varianceExperimental 
- Construct a variance marker; equivalent to Default::default.
Derive Macros§
- Copy
- Derive macro generating an impl of the trait Copy.
- CoercePointee Experimental 
- Derive macro that makes a smart pointer usable with trait objects.
- ConstParam Ty Experimental 
- Derive macro generating an impl of the trait ConstParamTy.
- UnsizedConst Param Ty Experimental 
- Derive macro generating an impl of the trait ConstParamTy.