Mostly safe and sound append-only collection of trait objects.
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.
- Alignment bug in reallocation logic (#5)
- Fix bug in reallocation logic (#4)
push_unsafe
removed from public APIpush
no longer requiresT: Send
, insteadSend
andSync
are implemented forFuseBox<Dyn>
depending on wetherDyn
is
- Improved iteration performance by using two pointer technique
- Performance improvements
- Soundness fixes
- Use
Unsize
instead ofAsDyn
marker trait, making safe push for foreign types possible
- Removed
Sz
parameter fromFuseBox
FuseBox
now supports truly random access
- Added
Size
to restrictSz
to valid unsigned integers
- Added
AsDyn
to make safepush
possible. - Fixed pushed values not being dropped when
FuseBox
is dropped
Initial release