-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Make new type param suggestion more targetted #73320
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
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.