Add test which would fail if SFT behavior differs in variance checking #54756
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While looking at #54542, since the issue doesn't reproduce when strict function types isn't enabled, it was pretty easy to fall into the trap of thinking that maybe variance checking should just have strict function types enabled all the time.
However, working through it, you can come up with some pretty simple examples that divergent behavior of that sort would break, which, amazingly, aren't covered at all in our test suite (so you can actually make a PR that locks SFT to on during variance checking and all the tests pass, even though it breaks some pretty simple stuff!).
So this is just to improve our test coverage, so the next time someone (like me) starts thinking this way, this test can quickly point out why that's not really a viable solution.