I'm making an filesystem API, and SlotMap would be PERFECT for holding file handles and such.
However, I need to interface with non-Rust at some point, and pass some sort of file descriptor to it. This can be any sort of 64-bit integer - it doesn't need to be sequential or represent an actual index - but I don't see any way to do this with a SlotMap without like, leaking the Key and using a pointer to it as the fd, which is very unsafe and something I would very much not like to do.
A different way to explain it is that I want some sort of value that represents a key, which I can hand off to some API that doesn't know what a slotmap is or even what Rust is, and then said API can hand me back that value later, unchanged, which I can once again use as a key for the slotmap.
I'm making an filesystem API, and SlotMap would be PERFECT for holding file handles and such.
However, I need to interface with non-Rust at some point, and pass some sort of file descriptor to it. This can be any sort of 64-bit integer - it doesn't need to be sequential or represent an actual index - but I don't see any way to do this with a SlotMap without like, leaking the Key and using a pointer to it as the fd, which is very unsafe and something I would very much not like to do.
A different way to explain it is that I want some sort of value that represents a key, which I can hand off to some API that doesn't know what a slotmap is or even what Rust is, and then said API can hand me back that value later, unchanged, which I can once again use as a key for the slotmap.