type_val
This project allows for the creation of type-level values. Any value can be type-level as long as it can be initialized as a constant. All type-level values implement the TypeVal trait, and so can be provided as type parameters.
TypeVal
A trait implemented by type-level
values. The value of a TypeVal can
be extracted through the VAL
associated constant.
def_type_val
A macro is used to implement the TypeVal trait. Any number of values can be initialized with a single invocation, but every value in a single invocation must be either public or private. Attributes to be applied to items in a block, including doc comments, should go above their targets.
Example
// Private
def_type_val!
// Public
def_type_val!