Expand description
Provides the ability to imprint values at the type level, enabling compile-time validation of values that only exist at run time.
Heavily inspired by Edward Kmett’s reflection
and
eq
libraries, as well as Gankro’s sound unchecked
indexing approach.
Modules§
Structs§
- An object with an existentially quantified lifetime.
- Identity function for types.
- Propositional equality between types.
- A value imprinted at the type level.
- Allows
Val
to be parameterized by its lifetime parameter.
Traits§
- Allows the inner value to be extracted from a wrapped value.
- Used to define type-level functions.
- Used to define type-level functions with existential parameters, intended for use with
Exists
.
Functions§
- Imprint the type of an object with its own value.
Type Aliases§
- Like
PhantomData
but ensures thatT
is always invariant. - Like
PhantomData
but ensures that'a
is always invariant.