Remove `ProjectionElem::Subtype`
This PR reverts ProjectionElem::Subtype which was introduced in https://github.com/rust-lang/rust/pull/115025 which attempetd to fix https://github.com/rust-lang/rust/issues/107205 but couldn't completely solve the issue due to https://github.com/rust-lang/rust/issues/112651#issuecomment-1833491961, so leaving this as half-solution is more dangerous than completely removing it.
r? @lcnr
This PR changes MIR
cc @oli-obk, @RalfJung, @JakobDegen, @davidtwco, @celinval, @vakaras
Some changes occurred to the CTFE / Miri engine
cc @rust-lang/miri
This PR changes Stable MIR
cc @oli-obk, @celinval, @spastorino, @ouz-a
Some changes occurred in compiler/rustc_codegen_cranelift
cc @bjorn3
Some changes occurred in src/tools/clippy
cc @rust-lang/clippy
Some changes occurred to MIR optimizations
cc @rust-lang/wg-mir-opt
Some changes occurred in engine.rs, potentially modifying the public API of ObligationCtxt.
cc @lcnr, @compiler-errors
I think this should be it, removed everything, please let me know if there is anything else that catches your eye
there's an ongoing convo in #112651 as explicit subtyping may work out after all :sweat_smile: going to wait before merging this for now. sorry @ouz-a xx
:umbrella: The latest upstream changes (presumably #118692) made this pull request unmergeable. Please resolve the merge conflicts.
based on latest comments, I think I can flip the review flag
@rustbot author
alright, based on the convo in https://github.com/rust-lang/rust/issues/112651#issuecomment-1838767937 I believe we should remove these projections :sweat_smile: sorry @ouz-a for all the delays and I would love to review this PR if you want to pick it up again