In this stream, I gave an overview of what safe transmute is all about and we then started implementing some helper traits for dealing with transmute safely.
@Ryan I'm trying to read and understand "Notes on Type Layouts and ABIs in Rust". There is a paragraph "Here's a slightly better solution: right before performing the call, the caller saves all the registers it actually cares about to the stack. Then the callee can assume it can do whatever it wants with the registers, and the caller just assumes the callee has stomped over all the registers, and reinitializes them as it sees fit. This is caller saving or volatile registers. By default, this is a lot better because the caller generally won't actually be using many of the registers (especially because most of the register size is in harder-to-use SIMD). Another advantage of this approach is that it now completely frees up all the registers to be used for argument/return value passing!" I wonder if this could not lead to some vulnerability on CPU level?