Downstream crates may implement `Copy` for `Box<_>`

It looks like the soundness hole of Pin started moving things in the direction of stdlib's explicit negative impls:


Tangentially, I recently stumbled upon a related error which is also quite annoying:

trait PrivateTrait {}

pub(whatever)
trait MyTrait { ... }

impl<T : PrivateTrait> MyTrait for T { ... }
impl<Referee : ?Sized> MyTrait for &'_ Referee { ... }

failing with downstream crates may implement PrivateTrait for &'_ _!

2 Likes