Crate tylift[][src]

This is a libary for making type-level programming more ergonomic. With the attribute tylift, one can lift variants of an enum to the type-level.

cargo Features

The feature-flag span_errors drastically improves error messages by taking advantage of the span information of a token. It uses the experimental feature proc_macro_diagnostic and thus requires a nightly rustc.

Attribute Macros

tylift

The attribute promotes enum variants to their own types. The enum type becomes a kind – the type of a type – emulated by a trait, replacing the original type declaration. In Rust, the syntax of trait bounds (:) beautifully mirror the syntax of type annotations. Thus, the snippet B: Bool can also be read as “type parameter B of kind Bool”.