Closed Mark-Simulacrum closed 1 month ago
Docs indicate these aren't const-stable (e.g., https://doc.rust-lang.org/nightly/std/primitive.pointer.html#method.copy_to_nonoverlapping-1 has const: unstable
). But this code seems to have worked before, so either (a) we aren't checking const-stability prior to 1.78 on inherent pointer methods or (b) something else fishy is going on.
IIUC these were intentionally destabilized by #117905, which was merged after 1.77 branched but before 1.78 branched.
Yeah, they were const-stable in 1.77.1 https://doc.rust-lang.org/1.77.1/std/primitive.pointer.html#method.copy_to_nonoverlapping-1 but no longer are.
I see. The vast majority of the regressions seem to still be bnum (likely mostly due to Crater not bumping the lockfiles for committed lockfiles). It seems like this is pretty similar in spirit to https://github.com/rust-lang/rust/issues/123285 where we're mostly just detecting a bunch of new UB now (just via de-stabilization).
I think that means we're likely to move forward here but will want to call this out in release notes.
Closing as this was a deliberate de-stabilization. https://github.com/rust-lang/rust/issues/80697 tracks this now-again-unstable feature.
non-bnum cases: