• KiranWells
    link
    fedilink
    arrow-up
    13
    ·
    9 months ago

    For anyone who is confused: This is exploiting an old soundness bug in the Rust compiler that is still present. The GitHub issue page has this comment from maintainers:

    we already had a crate published on crates.io before which used this bug to transmute in safe code, see #25860 (comment).

    this issue is a priority to fix for the types team and has been so for years now. there is a reason for why it is not yet fixed. fixing it relies on where-bounds on binders which are blocked on the next-generation trait solver. we are actively working on this and cannot fix the unsoundness before it’s done.