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.
- Zero-sized type used to mark things that “act like” they own a
- A marker type which does not implement
- ConstParamTyExperimentalA marker for types which can be used as types of
- DestructExperimentalA marker for types that can be dropped.
- DiscriminantKindExperimentalCompiler-internal trait used to indicate the type of enum discriminants.
- FnPtrExperimentalA common trait implemented by all function pointers.
- PointerLikeExperimentalA marker for pointer-like types.
- StructuralEqExperimentalRequired trait for constants used in pattern matches.
- StructuralPartialEqExperimentalRequired trait for constants used in pattern matches.
- TupleExperimentalA marker for tuple types.
- UnsizeExperimentalTypes that can be “unsized” to a dynamically-sized type.
- Types whose values can be duplicated simply by copying bits.
- Types that can be transferred across thread boundaries.
- Types with a constant size known at compile time.
- Types for which it is safe to share references between threads.
- Types that can be safely moved after being pinned.
- ConstParamTyExperimentalDerive macro generating an impl of the trait
- Derive macro generating an impl of the trait