mirror of
https://github.com/rust-lang/rust.git
synced 2026-06-01 05:57:03 +03:00
b233ada529
This job isn't quite finished because it caused me to discover bugs related to reading `ByVal(Undef)` when a `ByValPair` is expected, e.g. for a fat pointer. This wasn't a problem with the `None` of `Option<Value>`, but I realized an equivalent bug existed even then, since you could transmute a `u64` like `ByVal(Bytes(42))` to a fat pointer type on 32-bit targets. Likewise, you could transmute a fat pointer to `u64` and get panics related to expecting `ByVal` but finding `ByValPair`, so the problem goes both ways.