Yeah, that's exactly what I was wondering.
Ah, that sounds just about right! And because the invariant of Pin
is all about "passing this particular value to Deref
will do xyz", if CoerceUnsized
is also about Deref
then that should connect nicely. I don't have nearly enough intuition to do any kind of "proof sketch" here like I did for Pin
itself, but the pieces all make sense.
@comex what do you think? It sounds to me like this "catches" your counterexample because that has two Deref
impls that return different things, and then you can coerce between them.