-
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
regression: trait bound not satisfied #125194
Comments
likely caused by #119820. I am considering to reenable the old behavior for one more beta version to give this more time on nightly. Doing so is straightforward and non-breaking |
WG-prioritization assigning priority (Zulip discussion). @rustbot label -I-prioritize +P-critical |
…iler-errors [BETA] revert leak check changes reverts the behavior changes from rust-lang#119820 to give `sqlx` and other affected projects another 6 weeks. fixes rust-lang#125194
Moving milestones since we reverted in beta (#125629). |
lowering priority to |
Changes in #119820 were reverted so in theory these regressions are neutralized (IIUC) |
only reverted on the previous beta (now stable), it still affects nightly (and the new beta) |
Do we want to ship this in 1.80 or revert for another release cycle? |
Rollup merge of rust-lang#127568 - lcnr:undo-leakcheck, r=oli-obk instantiate higher ranked goals in candidate selection again This reverts rust-lang#119820 as that PR has a significant impact and breaks code which *feels like it should work*. The impact ended up being larger than we expected during the FCP and we've ended up with some ideas for how we can work around this issue in the next solver. This has been discussed in the previous high bandwidth t-types meeting: https://rust-lang.zulipchat.com/#narrow/stream/326132-t-types.2Fmeetings/topic/2024-07-09.20high.20bandwidth.20meeting. We'll therefore keep this inconsistency between the two solvers for now and will have to deal with it before stabilizating the use of the new solver outside of coherence: rust-lang/trait-system-refactor-initiative#120. fixes rust-lang#125194 after a beta-backport. The pattern which is more widely used than expected and feels like it should work, especially without deep knowledge of the type system is ```rust trait Trait<'a> {} impl<'a, T> Trait<'a> for T {} fn trait_bound<T: for<'a> Trait<'a>>() {} // A function with a where-bound which is more restrictive than the impl. fn function1<T: Trait<'static>>() { // stable: ok // with rust-lang#119820: error as we prefer the where-bound over the impl // with this PR: back to ok trait_bound::<T>(); } ``` r? `@rust-lang/types`
reopening until the beta-revert |
backported in #127618 |
likely #119820 cc @lcnr, this was intended breakage afaik
The text was updated successfully, but these errors were encountered: