Open
Description
Summary
I would like to have a deep dive to discuss
- subtyping of higher ranked fn ptrs and how its currently causing (soundness) problems
- the coherence leak check future compat lint which is highly related to the fn ptr subtyping and whether it is desirable to keep saying we will break the things it lints on
- potentially decide on whether relax leak-check rust#112999 is something we are comfortable doing and don't think it will break code that we want to work, although it is fine if we don't actually do this as my primary goal is to hopefully spread knowledge of the above two points which can be used in making decisions on the FCP in relax leak-check rust#112999
Rationale
rust-lang/rust#112999 has an FCP and it does relatively complicated changes to a future compat lint that atleast myself am rather unclear on whether its accurately stating breakage we want or not. Personally I tend to see this future compat lint as "buggy" rather than something we actually we want to turn into a hard error.
We also have an open soundness bug rust-lang/rust#97156 that is highly related to the changes that rust-lang/rust#112999 is making, some of the solutions to the soundness bug are even going in the opposite direction than rust-lang/rust#112999 and the future compat lint and explicitly wanting to allow those impls.