Module scale_info::prelude::marker
1.0.0 · source · 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§
- Zero-sized type used to mark things that “act like” they own a
T
. - A marker type which does not implement
Unpin
.
Traits§
- 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.
- ConstParamTyExperimentalA marker for types which can be used as types of
const
generic parameters. - 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.
- FreezeExperimentalUsed 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. - PointerLikeExperimentalA marker for pointer-like types.
- StructuralPartialEqExperimentalRequired trait for constants used in pattern matches.
- TupleExperimentalA marker for tuple types.
- UnsizeExperimentalTypes that can be “unsized” to a dynamically-sized type.
Derive Macros§
- Derive macro generating an impl of the trait
Copy
. - ConstParamTyExperimentalDerive macro generating an impl of the trait
ConstParamTy
. - SmartPointerExperimentalDerive macro generating impls of traits related to smart pointers.