I really like the slab crate but unfortunately I'm not able to use it in one of my projects because I have a no_std target with no alloc. I refactored the existing code to support generic keys and entry collection types. Using this approach the user has two huge benefits:
He can use his own key type to implement strong typed and reference counted keys (like I already did with the Handle key type.
He can use entry collections that do not depend on alloc (for example an arrayvec or a plain array).
I tried to not break the public interface of the code and I still have some TODOs in the code, but I wanted to known if you are generally interested in merging my changes or not. If you will not pull my changes in your repository I may make some additional improvements that might break the interface and publish it as new create on my own.
Hey guys,
I really like the
slab
crate but unfortunately I'm not able to use it in one of my projects because I have ano_std
target with noalloc
. I refactored the existing code to support generic keys and entry collection types. Using this approach the user has two huge benefits:Handle
key type.alloc
(for example anarrayvec
or a plain array).I tried to not break the public interface of the code and I still have some TODOs in the code, but I wanted to known if you are generally interested in merging my changes or not. If you will not pull my changes in your repository I may make some additional improvements that might break the interface and publish it as new create on my own.
Looking forward to your feedback.
Greetings, Bergmann89.