Module core::any::tags

source ·
Expand description

Type tags are used to identify a type using a separate value. This module includes type tags for some very common types.

Currently type tags are not exposed to the user. But in the future, if you want to use the Provider API with more complex types (typically those including lifetime parameters), you will need to write your own tags.

Structs

  • Type-based tag similar to Value but which may be unsized (i.e., has a ?Sized bound).
  • Type-based tag for reference types (&'a T, where T is represented by <I as MaybeSizedType<'a>>::Reified.
  • Type-based tag for types bounded by 'static, i.e., with no borrowed elements.

Traits

  • Similar to the Type trait, but represents a type which may be unsized (i.e., has a ?Sized bound). E.g., str.
  • This trait is implemented by specific tag types in order to allow describing a type which can be requested for a given lifetime 'a.