Module core::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.

Macros

  • marker_impls 🔒 Experimental
    Implements a given marker trait for multiple types at the same time.

Structs

  • Zero-sized type used to mark things that “act like” they own a T.
  • A marker type which does not implement Unpin.

Traits

  • ConstParamTyExperimental
    A marker for types which can be used as types of const generic parameters.
  • DestructExperimental
    A marker for types that can be dropped.
  • DiscriminantKindExperimental
    Compiler-internal trait used to indicate the type of enum discriminants.
  • FnPtrExperimental
    A common trait implemented by all function pointers.
  • StructuralEqExperimental
    Required trait for constants used in pattern matches.
  • Required trait for constants used in pattern matches.
  • UnsizeExperimental
    Types that can be “unsized” to a dynamically-sized type.
  • Types whose values can be duplicated simply by copying bits.
  • Freeze 🔒
    Compiler-internal trait 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.
  • PointerLikeExperimental
    A marker for pointer-like types.
  • TupleExperimental
    A marker for tuple types.
  • 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.

Derive Macros

  • ConstParamTyExperimental
    Derive macro generating an impl of the trait ConstParamTy.
  • Derive macro generating an impl of the trait Copy.