std::marker - Rust
Description: Primitive traits and types representing basic properties of types.

## Module 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§

PhantomData
  Zero-sized type used to mark things that “act like” they own a `T`.
PhantomPinned
  A marker type which does not implement `Unpin`.
PhantomContravariantExperimental
  Zero-sized type used to mark a type parameter as contravariant.
PhantomContravariantLifetimeExperimental
  Zero-sized type used to mark a lifetime as contravariant.
PhantomCovariantExperimental
  Zero-sized type used to mark a type parameter as covariant.
PhantomCovariantLifetimeExperimental
  Zero-sized type used to mark a lifetime as covariant.
PhantomInvariantExperimental
  Zero-sized type used to mark a type parameter as invariant.
PhantomInvariantLifetimeExperimental
  Zero-sized type used to mark a lifetime as invariant.

## 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.
Unpin
  Types that do not require any pinning guarantees.
ConstParamTy_Experimental
  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.
FreezeExperimental
  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.
MetaSizedExperimental
  Types with a size that can be determined from pointer metadata.
PointeeSizedExperimental
  Types that may or may not have a size.
StructuralPartialEqExperimental
  Required trait for constants used in pattern matches.
TupleExperimental
  A marker for tuple types.
UnsizeExperimental
  Types that can be “unsized” to a dynamically-sized type.
VarianceExperimental
  A marker trait for phantom variance types.

## Functions§

varianceExperimental
  Construct a variance marker; equivalent to `Default::default`.

## Derive Macros§

Copy
  Derive macro generating an impl of the trait `Copy`.
CoercePointeeExperimental
  Derive macro that makes a smart pointer usable with trait objects.
ConstParamTyExperimental
  Derive macro generating an impl of the trait `ConstParamTy`.