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 do not require any pinning guarantees.
A marker for types which can be used as types of const
generic parameters.
A marker for types that can be dropped.
Compiler-internal trait used to indicate the type of enum discriminants.
A common trait implemented by all function pointers.
Used to determine whether a type contains
any UnsafeCell
internally, but not through an indirection.
This affects, for example, whether a static
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.
A marker for pointer-like types.
Required trait for constants used in pattern matches.
A marker for tuple types.
Types that can be “unsized” to a dynamically-sized type.
A marker for types which can be used as types of const
generic parameters.