-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Make new type param suggestion more targetted #73320
Conversation
Do not suggest new type param when encountering a missing type in an ADT field with generic parameters. Fix rust-lang#72640.
r? @eddyb (rust_highfive has picked a reviewer for you, use r? to override) |
c536adb
to
8bdca7a
Compare
help: you might be missing a type parameter | ||
| | ||
LL | fn foo2<I: Foo, A>(x: I) { | ||
| ^^^ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Opened #73321 for handling this more gracefully.
8bdca7a
to
f48e5bd
Compare
Suggest new type parameter on single char uppercase ident even if it doesn't appear in a field's type parameter. Address comment in rust-lang#72641.
f48e5bd
to
af45d8a
Compare
r? @davidtwco |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, one nit, r=me when you're happy.
src/librustc_resolve/lib.rs
Outdated
#[derive(Clone, Copy, Debug)] | ||
pub struct Segment { | ||
ident: Ident, | ||
id: Option<NodeId>, | ||
/// Signals whether this `PathSegment` has generic arguments. Used to avoid providing | ||
/// nonsensical suggestions. | ||
has_args: bool, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
has_args: bool, | |
has_generic_args: bool, |
Might make this a little bit more clear.
@bors r=davidtwco |
📌 Commit 8d1a380 has been approved by |
…vidtwco Make new type param suggestion more targetted Do not suggest new type param when encountering a missing type in an ADT field with generic parameters. Fix rust-lang#72640.
…arth Rollup of 17 pull requests Successful merges: - rust-lang#70551 (Make all uses of ty::Error delay a span bug) - rust-lang#71338 (Expand "recursive opaque type" diagnostic) - rust-lang#71976 (Improve diagnostics for `let x += 1`) - rust-lang#72279 (add raw_ref macros) - rust-lang#72628 (Add tests for 'impl Default for [T; N]') - rust-lang#72804 (Further tweak lifetime errors involving `dyn Trait` and `impl Trait` in return position) - rust-lang#72814 (remove visit_terminator_kind from MIR visitor) - rust-lang#72836 (Complete the std::time documentation to warn about the inconsistencies between OS) - rust-lang#72968 (Only highlight doc search results via mouseover if mouse has moved) - rust-lang#73034 (Export `#[inline]` fns with extern indicators) - rust-lang#73315 (Clean up some weird command strings) - rust-lang#73320 (Make new type param suggestion more targetted) - rust-lang#73361 (Tweak "non-primitive cast" error) - rust-lang#73425 (Mention functions pointers in the documentation) - rust-lang#73428 (Fix typo in librustc_ast docs) - rust-lang#73447 (Improve document for `Result::as_deref(_mut)` methods) - rust-lang#73476 (Added tooltip for should_panic code examples) Failed merges: r? @ghost
Do not suggest new type param when encountering a missing type in an ADT
field with generic parameters.
Fix #72640.