| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 9 年前 | ||
Make use of Rust 1.20's new associated constants feature for HList LEN (#63) | 8 年前 | |
Fix benchmark test hlist_mapping_consuming ... bench: 1 ns/iter (+/- 0) test hlist_mapping_non_consuming ... bench: 1 ns/iter (+/- 0) | 8 年前 | |
Introduce Transmogrifying from A to B (#124) This commit adds the ability to do "transmogrifying" (inspired by [this Haskell repo](https://github.com/ivan-m/transmogrify) and this [Scala SO answer](https://stackoverflow.com/a/51986872/1814775)) to Frunk. What is "transmogrifying"? In this context, it means to convert some data of type A into data of type B, in a typesafe, recursive way, as long as A and B are "similarly-shaped". In other words, as long as B's fields and their subfields are subsets of A's fields and their respective subfields, then A can be turned into B. | 7 年前 | |
Upgrade/syn quote (#80) * Upgrade to new syn api * Add profile.bench profile | 8 年前 | |
Add generic reusable path traversals (#139) * * Introduce a `IntoLabelledGeneric` trait that only goes from a given type into the labelled representation, not the other way (from) * * Introduce Path and PathTraverser abstractions for holding a generic type-level path and traversing an object using said path. * * use proc_macro_hack so we can use proc macros in non-item positions * Re-organise procedural-macro-related projects * proc-macro-helpers: holds common functions that can be re-used between frunk_*derives* and other proc macros * proc-macros-impl: holds actual implementations for procedural macros (proc_macro_hack requirement) * proc-macros: exports `proc-macros-impl` stuff (proc_macro_hack requirement) * * Update examples * Add path composition * * Add to readme and changelog * Add more inlines * Do deep transmog testing with fewer nested layers * * Add benchmarks Results are promising; exactly the same as normal traversal. ``` running 6 tests test lens_path_read_mut ... bench: 0 ns/iter (+/- 0) test lens_path_read_ref ... bench: 0 ns/iter (+/- 0) test lens_path_read_value ... bench: 0 ns/iter (+/- 0) test normal_path_read_mut ... bench: 0 ns/iter (+/- 0) test normal_path_read_ref ... bench: 0 ns/iter (+/- 0) test normal_path_read_value ... bench: 0 ns/iter (+/- 0) ``` | 7 年前 | |
Upgrade/syn quote (#80) * Upgrade to new syn api * Add profile.bench profile | 8 年前 | |
Add generic reusable path traversals (#139) * * Introduce a `IntoLabelledGeneric` trait that only goes from a given type into the labelled representation, not the other way (from) * * Introduce Path and PathTraverser abstractions for holding a generic type-level path and traversing an object using said path. * * use proc_macro_hack so we can use proc macros in non-item positions * Re-organise procedural-macro-related projects * proc-macro-helpers: holds common functions that can be re-used between frunk_*derives* and other proc macros * proc-macros-impl: holds actual implementations for procedural macros (proc_macro_hack requirement) * proc-macros: exports `proc-macros-impl` stuff (proc_macro_hack requirement) * * Update examples * Add path composition * * Add to readme and changelog * Add more inlines * Do deep transmog testing with fewer nested layers * * Add benchmarks Results are promising; exactly the same as normal traversal. ``` running 6 tests test lens_path_read_mut ... bench: 0 ns/iter (+/- 0) test lens_path_read_ref ... bench: 0 ns/iter (+/- 0) test lens_path_read_value ... bench: 0 ns/iter (+/- 0) test normal_path_read_mut ... bench: 0 ns/iter (+/- 0) test normal_path_read_ref ... bench: 0 ns/iter (+/- 0) test normal_path_read_value ... bench: 0 ns/iter (+/- 0) ``` | 7 年前 | |
Upgrade/syn quote (#80) * Upgrade to new syn api * Add profile.bench profile | 8 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 9 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 8 年前 |