`Pin` is unsound due to transitive effects of `CoerceUnsized` #68015
Split out from #66544. It is possible to exploit
permit negative impls for non-auto traits This is a prototype impl that extends `impl !Trait` beyond auto traits. It is not integrated with coherence or anything else, and hence only serves to prevent downstream impls (but not to allow downstream crates to rely on the absence of such impls for coherence purposes). Fixes #66544 TODO: - [x] need a test that you can't rely on negative impls for coherence purposes - [x] test that negative impls cannot specialize positive ones - [x] test that positive impls cannot specialize negative ones - [x] extend negative impl to `Clone` in order to fully fix #66544 - [x] and maybe make `CoerceUnsized` unsafe? -- that problem is now split out into #68015 - [ ] introduce feature flag and prepare a write-up - [x] improve diagnostics?