NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2994 most downloaded on crates.io
Frunk core provides developers with HList, Coproduct, LabelledGeneric and Generic
Last release 3 months ago
04 Jul 2026
Ships fairly regularly
a new release about every 9 months
Some releases are documented
notes for 14 of 37 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
37 releases · first in 2017
Please see the changelog for details
Please see the changelog for details
Generic support for enum representations (https://github.com/lloydmeta/frunk/pull/252)One column per quarter.
Please see the changelog for details
Please see the changelog for details
Please see the changelog for details
Much thanks to the efforts of @CobaltCause .
See changelog for details.
Much thanks to the efforts of @CobaltCause.
proc-macro-hack machinery (proc-macros-impl) (https://github.com/lloydmeta/frunk/pull/214)Lots of good stuff thanks to team work from a number of contributors (incl steffahn , kpp , agluszak , rosefromthedead , and BGR360 )
Hcons::sculpt (https://github.com/lloydmeta/frunk/pull/194)extract to get value out of 1-type coproduct (https://github.com/lloydmeta/frunk/pull/201)Coproduct::map (https://github.com/lloydmeta/frunk/pull/204)[Breaking change] Rename Hlist! type macro to HList!
Lots of good stuff thanks to team work from a number of contributors (incl @mbrobbel, @ImmemorConsultrixContrarie , @ExpHP)
From the Changelog
Hlist! type macro to HList! (#132)HList.length() (#125)HFoldRightable rework: now HFoldRightable::foldr does not differ from HFoldLeftable::foldl in calling, like std::iter::DoubleEndedIterator::rfold does not differ from std::iter::Iterator::fold. Note: though foldr behavior wasn't changed, all old foldr calls would either stop compiling or produce wrong results (#171)Hlist! type macro to HList! (https://github.com/lloydmeta/frunk/issues/132)HList.length() (https://github.com/lloydmeta/frunk/issues/125)HFoldRightable rework: now HFoldRightable::foldr does not differ from HFoldLeftable::foldl in calling, like std::iter::DoubleEndedIterator::rfold does not differ from std::iter::Iterator::fold. Note: though foldr behavior wasn't changed, all old foldr calls would either stop compiling or produce wrong results (https://github.com/lloydmeta/frunk/issues/171)Allow folding hlist with a single Poly
Add support for deriving LabelledGeneric on enums
Note: this is a breaking change, see the PR for details
Box, Option, Vec and more.Added ToMut trait, which allows borrowing mutably from a Coproduct or HList.
ToMut trait, which allows borrowing mutably from a Coproduct or HList.#[derive(LabelledGeneric)] on tuple structsPath model and PathTraverser trait, which allows for composable lens-like-usage$crate::Skipped due to release mis-steps
Added support for transmogrifying (recursively sculpting) one data type into another
Upgraded to syn 0.15 and quote to 0.6
syn 0.15 and quote to 0.6:confetti_ball: Forces joined with new collaborators [@Centril] and [@ExpHP]!
frunk now adheres to semantic versioning!frunk.frunk::prelude for extension traits and similar.Coproduct::embed and Coproduct::subset....tail argument in each of the HList and Coproduct macros.Func trait, an alternative to Fn that can be implemented on stable.Poly wrapper type and poly_fn! macro, which use Func to provide
order-free mapping.map_repr and map_intern for Generic, convenience methods for
temporarily converting an object into its generic representation or
a similar type.use what you need. Many of the other changes listed
help accomodate this.with-serde feature to serde, in line with convention.CoprodInjector, HMappable,
and HFold{Left,Right}able.hlist::IntoReverse to accompany Func in the new traits module.hlist::{Here, There, Suffixed} to a new indices module.Here is no longer an empty type. We have... plans.
:japanese_ogre:labelled to labelled::chars.list.to_ref().map(...),
where formerly as_ref() was used. The new to_ref() trait composes
orthogonally to many other features of HList and Coproduct, and relieves
frunk from providing impls for &HCons that can be susceptible to the
dreaded "Overflow evaluating _: std::marker::Sized" error.AsRef impls on HList and Coproduct, which were only
present to support the old as_ref().map(...) pattern.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →