3 releases
| 0.8.3 | Nov 16, 2023 |
|---|---|
| 0.8.2 | Jan 24, 2023 |
| 0.6.1 |
|
| 0.5.0 |
|
| 0.1.0 |
|
#2047 in Data structures
18KB
448 lines
fusebox

Mostly safe and sound append-only collection of trait objects.
Why?
This avoids extra indirection of Vec<Box<dyn Trait>>, which might matter for you.
I personally use it in pcmg audio synthesizer for fusing together multiple filters and oscillators.
Changelog
0.8.3
- Alignment bug in reallocation logic (#5)
0.8.2
- Fix bug in reallocation logic (#4)
0.8.0
push_unsaferemoved from public APIpushno longer requiresT: Send, insteadSendandSyncare implemented forFuseBox<Dyn>depending on wetherDynis
0.7.0
- Improved iteration performance by using two pointer technique
0.6.0
- Performance improvements
- Soundness fixes
0.5.0
- Use
Unsizeinstead ofAsDynmarker trait, making safe push for foreign types possible
0.4.0
- Removed
Szparameter fromFuseBox FuseBoxnow supports truly random access
0.3.0
- Added
Sizeto restrictSzto valid unsigned integers
0.2.0
- Added
AsDynto make safepushpossible. - Fixed pushed values not being dropped when
FuseBoxis dropped
0.1.0
Initial release
Dependencies
~0.3–9MB
~185K SLoC