servo/tendril

tendril creates unaligned references

RalfJung opened this issue · 2 comments

As was discovered during the crater run for rust-lang/rust#102513, this crate uses an implicit & on a field of a packed struct, which crates an unaligned reference and is Undefined Behavior. See rust-lang/rust#82523 for more details. Since Rust 1.62, users of this crate will see a future incompatibility warning in their cargo report pointing out that the crate will stop building due to this issue in future versions of Rust. (Developers of this crate should have seen such a warning since Rust 1.53, released in June 2021.) From the crater run it looks like the overwhelming source of build failures this will cause comes from this crate.

I hope we can get a fixed version of this crate released ASAP to start propagating the fix through the ecosystem. :)

Hm, strangely I am not seeing the errors on master, even though the offending lines still looks the same. Sorry for the premature report. I am investigating what happened.

Ah, bdd07bf removed the use of packed from the repo. And v0.4.3 contains that fix. So all that has to happen now is that downstream crates need to pick up the fix.

There's probably little the upstream maintainers can do here, so I guess we can close this. Sorry for the noise, and thanks for already shipping the fix for unaligned references!