-
Notifications
You must be signed in to change notification settings - Fork 13.3k
check for inference var leaks before rollback #100745
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Conversation
xd, should change my |
The job Click to see the possible cause of the failure (guessed by this bot)
|
Hehe what a coincidence that I get assigned this PR. I actually tried this with very similar motivation, but hit the same debug assertions as you're hitting and gave up. Curious to see if we can get this totally solved, though. |
☔ The latest upstream changes (presumably #101225) made this pull request unmergeable. Please resolve the merge conflicts. |
so afaict inference variables actually remain valid, we just drop any unifications from inside of the snapshot 🤔 so i guess while still weird, this isn't a soundness issue? idk, still unhappy but don't know of an easy way to improve anything here |
When rolling back a snapshot, we must be careful to not leak any inference vars created in that snapshot. This PR implements an even stronger check by not allowing any inference vars during rollback.
Inspired by #100473 (comment), I think this is worth the additional, otherwise pretty useless,
TypeVisitable
impls.r? @rust-lang/types