Uh oh!
There was an error while loading. Please reload this page.
Do not re-parse function signatures to suggest generics - #99249
Conversation
rust-highfive
commented
Jul 14, 2022
r? @wesleywiser (rust-highfive has picked a reviewer for you, use r? to override) |
bors
commented
Jul 25, 2022
☔ The latest upstream changes (presumably #97313) made this pull request unmergeable. Please resolve the merge conflicts. |
cjgillot
commented
Aug 21, 2022
Re-rolling the dice. |
cjgillot
commented
Aug 21, 2022
nagisa is on vacation. |
There was a problem hiding this comment.
Is this going to work if there are lifetime parameters?
There was a problem hiding this comment.
It won't. I'll file an issue to track this (the former implementation did not support this either).
There was a problem hiding this comment.
It looks like the space gets trimmed. Should we re-emit the whole generics so that it is more accurate?
There was a problem hiding this comment.
I already find this suggestion quite verbose as it is. Forcing a verbose diagnostic may be a bit too much, wouldn't it?
There was a problem hiding this comment.
This output is fine. At most, we should make it a span_suggestion_verbose to get the diff output which I find clearer for these kind of additions, instead of modifying the span/suggestion to make it work better with the inline suggestion.
Uh oh!
There was an error while loading. Please reload this page.
fee1-dead
commented
Aug 23, 2022
@bors r+ |
bors
commented
Aug 23, 2022
Do not re-parse function signatures to suggest generics This PR uses the existing resolution rib infrastructure to channel the correct span information to suggest generic parameters. This allows to avoid re-parsing a function's source code. Drive-by cleanup: this removes useless `FnItemRibKind` from late resolution ribs. All the use cases are already covered by `ItemRibKind` and `AssocItemRibKind` which have more precise semantics.
Rollup of 9 pull requests Successful merges: - rust-lang#99249 (Do not re-parse function signatures to suggest generics) - rust-lang#100309 (Extend comma suggestion to cases where fields arent missing) - rust-lang#100368 (InferCtxt tainted_by_errors_flag should be Option<ErrorGuaranteed>) - rust-lang#100768 (Migrate `rustc_plugin_impl` to `SessionDiagnostic`) - rust-lang#100835 (net listen backlog update, follow-up from rust-lang#97963.) - rust-lang#100851 (Fix rustc_parse_format precision & width spans) - rust-lang#100857 (Refactor query modifier parsing) - rust-lang#100907 (Fix typo in UnreachableProp) - rust-lang#100909 (Minor `ast::LitKind` improvements) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
| LL | const CONST: fn() = || { | ||
| LL | struct _Obligation where T:; | ||
| | ^ use of generic parameter from outer function | ||
| | | ||
| = help: try using a local generic parameter instead | ||
| | - ^ use of generic parameter from outer function | ||
| | | | ||
| | help: try using a local generic parameter instead: `<T>` |
This PR uses the existing resolution rib infrastructure to channel the correct span information to suggest generic parameters. This allows to avoid re-parsing a function's source code.
Drive-by cleanup: this removes useless
FnItemRibKindfrom late resolution ribs. All the use cases are already covered byItemRibKindandAssocItemRibKindwhich have more precise semantics.