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§
- Phantom
Data - Zero-sized type used to mark things that “act like” they own a
T
.
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.
- Const
Param Ty_ Experimental - A marker for types which can be used as types of
const
generic 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.
- Freeze
Experimental - Used to determine whether a type contains
any
UnsafeCell
internally, but not through an indirection. This affects, for example, whether astatic
of 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. - 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.
Derive Macros§
- Copy
- Derive macro generating an impl of the trait
Copy
. - Const
Param Ty Experimental - Derive macro generating an impl of the trait
ConstParamTy
.