-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
On nightly rustc, E0599 emits a massive diagnostic to suggest wrapping the receiver in every combination of {Box,Pin,Rc,Arc}::new({,&,&mut} expr)
#84769
Comments
My mistake, each repetition is actually different in that two suggest taking a reference to
This still seems like a fairly massive diagnostic, though. I've updated the original post in light of this. Feel free to close if a diagnostic of this size is fine here. |
{Box,Pin,Rc,Arc}::new({,&,&mut} expr)
cc @estebank |
{Box,Pin,Rc,Arc}::new({,&,&mut} expr)
{Box,Pin,Rc,Arc}::new({,&,&mut} expr)
Might be a duplicate of #84272, or at least fixed by the same PR that fixed it |
Even if it was considered reasonable to suggest each and every possible type combination, there is no pressing reason for it to generate the intervening lines as well: rustc is a compiler, not a can of spam. This remains unpatched on nightly, and is thus a stable-to-beta diagnostic regression. |
AFAICT, this is not present on beta, and is only present on nightly, so it's a stable-to-nightly regression. Please correct me if I misunderstood! |
searched nightlies: from nightly-2021-01-01 to nightly-2021-04-24 That is:
so it’s #83689. I guess @estebank has already been mentioned. @rustbot label D-verbose |
Yes, yes, I introduced this regression. Mea culpa, everybody. In my defense I keep flip-flopping between being too restrictive and too permissive for new suggestions and someone always ends up getting the short end of the stick. This week, I'm leaning towards "too permissive" and if the suggestion triggers too often, then detect the cases and make it more constrained, because the alternative is that the suggestion isn't shown when it could, and we'll never find out. This is IMO better, as long as regressions are caught in nightly, like it was in this case.</rant> Anyways, #84808 fixes this. |
Assigning |
Account for unsatisfied bounds in E0599 Fix rust-lang#84769, follow up to rust-lang#84499, rust-lang#83667.
Account for unsatisfied bounds in E0599 Fix rust-lang#84769, follow up to rust-lang#84499, rust-lang#83667.
Account for unsatisfied bounds in E0599 Fix rust-lang#84769, follow up to rust-lang#84499, rust-lang#83667.
This now affects 1.53.0 beta. Updating the labels accordingly. |
Account for unsatisfied bounds in E0599 Fix rust-lang#84769, follow up to rust-lang#84499, rust-lang#83667.
Account for unsatisfied bounds in E0599 Fix rust-lang#84769, follow up to rust-lang#84499, rust-lang#83667.
Account for unsatisfied bounds in E0599 Fix rust-lang#84769, follow up to rust-lang#84499, rust-lang#83667.
Account for unsatisfied bounds in E0599 Fix rust-lang#84769, follow up to rust-lang#84499, rust-lang#83667.
Account for unsatisfied bounds in E0599 Fix rust-lang#84769, follow up to rust-lang#84499, rust-lang#83667.
Account for unsatisfied bounds in E0599 Fix rust-lang#84769, follow up to rust-lang#84499, rust-lang#83667.
Account for unsatisfied bounds in E0599 Fix rust-lang#84769, follow up to rust-lang#84499, rust-lang#83667.
Still needs to be backported. |
Fix rust-lang#84769, follow up to rust-lang#84499, rust-lang#83667.
Fix rust-lang#84769, follow up to rust-lang#84499, rust-lang#83667.
…ulacrum [beta] backports First-ish round of beta backports: * [beta] backport for rust-lang#84769 rust-lang#84969 * [beta] Bump stage0 to production 1.52.0 rust-lang#84994 * Deduplicate ParamCandidates with the same value except for bound vars rust-lang#84559
@pietroalbini @Mark-Simulacrum the beta backport for patch #84808 was approved, can this now be closed? |
I think we should wait until it actually lands onto beta |
This was merged in beta already, right? #84996 |
Ah, so it was. |
Given the following code (playground):
The output on
1.53.0-nightly (2021-04-29 478a07df05e3fe8df964)
is:Long diagnostic
Box
,Pin
,Arc
, andRc
are suggested three times each: once forx
, once for&x
, and once for&mut x
. I'm not sure if this is a problem, but this seems incredibly verbose to me.Note that the output on stable 1.51 and beta 1.52 is different:
The text was updated successfully, but these errors were encountered: