How is this fundamentally different from raw pointers?
Not OP
It serializes better, it's memory safe, it can be much faster in performance terms, you can get better memory usage if you're holding a lot of "pointers" because the indexes don't need to be 64 bits.
But you lose all ownership tracking / safety that Rust is famous for.
I just can't help but wonder what it means for that paradigm, when the most popular answer to "how do I model my entities in safe Rust" is basically "backdoor the safety".
Code here: https://github.com/prisma/prisma-engines/tree/main/libs%2Fda...