On Friday, 8 July 2022 at 12:26:03 UTC, ag0aep6g wrote:
You're allowed to copy from `ubyte[]` to `ubyte[]`. But you're not allowed to copy from `ubyte[]` to `int*[]`, because reinterpreting a bunch of bytes as pointers is not safe.

The thing about `void[]` is that it can point to memory that also has a typed alias. You can have a `void[]` and a `ubyte[]` pointing to the same memory. And you can have a `void[]` and an `int*[]` pointing to the same memory. So if you were allowed to copy from `void[]` to `void[]`, you'd practically be allowed to copy from `ubyte[]` to `int*[]`. But that's not safe.

That makes a lot of sense. Thanks!

Reply via email to