-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
normalize param-env type-outlives predicates last #54701
Conversation
☔ The latest upstream changes (presumably #53255) made this pull request unmergeable. Please resolve the merge conflicts. |
The normalization of type-outlives predicates can depend on misc. environment predicates, but not the other way around. Inferred lifetime bounds can propagate type-outlives bounds far and wide, so their normalization needs to work well. Fixes rust-lang#54467
7468dec
to
b95d048
Compare
@bors r+ p=1 |
📌 Commit b95d048 has been approved by |
Giving p=1 because it's a regression fix and Edition-related |
⌛ Testing commit b95d048 with merge 9051000ee30af8c04b2b8a3a324ca947d091c2cb... |
💔 Test failed - status-travis |
Your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem. Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
@bors retry |
normalize param-env type-outlives predicates last The normalization of type-outlives predicates can depend on misc. environment predicates, but not the other way around. Inferred lifetime bounds can propagate type-outlives bounds far and wide, so their normalization needs to work well. Fixes #54467 r? @nikomatsakis beta-nominating because this is required for inferred_outlives_bounds, which is in beta
☀️ Test successful - status-appveyor, status-travis |
Discussed at T-compiler weekly meeting. @arielb1 argued that he thought backporting this PR was high risk compared to removing the inferring-of-outlives from the beta channel. So, we are currently decling the beta-backport, and instead are removing inferring-of-outlives from beta channel. (if for some reason it becomes critically important that the beta channel have inferring-of-outlives, then we should revisit this decision.) |
I think this may have caused a slight regression in perf across some benchmarks, but perhaps that's intended? |
The normalization of type-outlives predicates can depend on misc.
environment predicates, but not the other way around. Inferred lifetime
bounds can propagate type-outlives bounds far and wide, so their
normalization needs to work well.
Fixes #54467
r? @nikomatsakis
beta-nominating because this is required for inferred_outlives_bounds, which is in beta