Make PinCoerceUnsized require Deref
Also, delete impls on non-Deref types. Pin doesn't do anything useful for non-Deref types, so PinCoerceUnsized on such types makes no sense. This is a breaking change, since stable code can observe the deleted `PinCoerceUnsized` impls by uselessly coercing between such types inside a `Pin`. There is still some strange behavior, such as `Pin<&mut i32>` being able to coerce to `Pin<&dyn Send>`, but not being able to coerce to `Pin<&i32>`. However, I don't think it's possible to fix this. Fixes https://github.com/rust-lang/rust/issues/145081
T
Theemathas Chirananthavat committed
1e4c1d6f75937e27c9df81519634cd9f01d8d982
Parent: 8a70352