Funktional generic type-level programming in Rust: HList, Coproduct, Generic, LabelledGeneric, Validated, Monoid and friends.
A big step forward in terms of utility, ergonomics and correctness 🍾
All thanks to the addition of 2 main new contributors @Centril and @ExpHP 👏 🎉
Move Coproduct
into core.
Adds LiftFrom LiftInto for HLists as well as conversions to and from flat Tuples, thanks to @Centril !
Adds single-function mapping/foldl/foldr of HLists.
Add a feature to optionally make HCons and HNil derive Serde traits.
Use newly released associated constant to power HList length.
Also, deprecate length(&self) -> u32
in favour of len(&self) -> usize
.
Make sure structs declared in projects derive Hash
thanks to @mglagla
Rename IntoCoproduct
to CoprodInjector
and use ::inject
syntax for simplicity and consistency with other FP libs like Shapeless.