basedrop
basedrop copied to clipboard
a set of memory-management tools for real-time audio
This allows using Basedrop's `Owned` and `Shared` pointer types with self-referential struct libraries. :slightly_smiling_face: The dependency is optional and disabled by default.
`Owned` is the garbage collected equivalent of `Box`, yet at the same time `T` has to be `Sized`, while it doesn't have to be for `Box`. Sames goes for `Shared`...
Implementing `Debug` for `Collector`, `Handle`, `Owned` and `Shared` structs would be awesome. If you want, I can create a small PR.
After almost giving up, i finally found a design that allows preserving the Metadata of fat pointers outside of the Atomic. Sadly the creation of the unsized type currently requires...
Miri currently reports a race condition in the Collector test. I narrowed it down to `for _ in 0..100 { collector.collect() }` which races with the threads created before that....
This adds a Drop implementation for Collector that tries to not leak memory. If there is a Handle or Allocation of the Collector if will still leak memory as waiting...