That library is dead for more than a year. Maintainer even deleted the repository. But the article is still a good read.
persian-rugpulled :(
They have fixed this and the code is available now.
Weird, a blog post by Collabora about a crate by Collabora, that no longer is availabe? Well, the crate seems to be, but not the code. So, what is going on here?
The code is left as an exercise for the reader.
You can download the code directly from crates.io still.
Seems to be a wrapper around implementing the “index into data store”-pattern (not sure if there is a better name), but without support for removal from said data store.
From a quick glance I don’t really see what this gives you that wouldn’t also be quite easy with a manual implementation. And then you avoid the proc macro compile time overhead as well.
It gives you more type safety, because you use a
ProxyᐸFooᐳ
instead of justusize
.In my manual implementation I would assume you would use a newtype, so not really relevant.
So… basically a nicer API for arena or vector-based allocation where you store the index instead of a pointer?
As a Persian, I approve this crate