Module marker Copy item path Source 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. PhantomContravariantLifetime Experimental Zero-sized type used to mark a lifetime as contravariant. PhantomCovariant Experimental Zero-sized type used to mark a type parameter as covariant. PhantomCovariantLifetime Experimental Zero-sized type used to mark a lifetime as covariant. PhantomInvariant Experimental Zero-sized type used to mark a type parameter as invariant. PhantomInvariantLifetime Experimental Zero-sized type used to mark a lifetime as invariant. 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. BikeshedGuaranteedNoDrop Experimental Marker trait for the types that are allowed in union fields, unsafe fields,
and unsafe binder types. ConstParamTy_ 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. DiscriminantKind 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 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. PointerLike Experimental A marker for pointer-like types. StructuralPartialEq 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. UnsizedConstParamTy Experimental A marker for types which can be used as types of const
generic parameters. Variance Experimental A marker trait for phantom variance types. variance Experimental Construct a variance marker; equivalent to Default::default
. Copy Derive macro generating an impl of the trait Copy
. CoercePointee Experimental Derive macro that makes a smart pointer usable with trait objects. ConstParamTy Experimental Derive macro generating an impl of the trait ConstParamTy
. UnsizedConstParamTy Experimental Derive macro generating an impl of the trait ConstParamTy
.