Only suggest adding type param if path being resolved was a type

This commit is contained in:
Michael Goulet 2023-01-15 16:33:08 +00:00
parent fc11ee02ee
commit 566202b975
3 changed files with 2 additions and 16 deletions

View File

@ -3373,7 +3373,7 @@ impl<'a: 'ast, 'b, 'ast> LateResolutionVisitor<'a, 'b, 'ast> {
sugg.to_string(),
Applicability::MaybeIncorrect,
))
} else if res.is_none() {
} else if res.is_none() && matches!(source, PathSource::Type) {
this.report_missing_type_error(path)
} else {
None

View File

@ -24,16 +24,7 @@ error[E0425]: cannot find value `F` in this scope
--> $DIR/constrain-suggest-ice.rs:6:9
|
LL | F
| ^
|
help: a local variable with a similar name exists
|
LL | x
| ~
help: you might be missing a type parameter
|
LL | struct Bug<S, F>{
| +++
| ^ help: a local variable with a similar name exists: `x`
error: generic `Self` types are currently not permitted in anonymous constants
--> $DIR/constrain-suggest-ice.rs:3:21

View File

@ -3,11 +3,6 @@ error[E0405]: cannot find trait `Oops` in this scope
|
LL | let _: S<impl Oops> = S;
| ^^^^ not found in this scope
|
help: you might be missing a type parameter
|
LL | fn f<Oops>() {
| ++++++
error[E0562]: `impl Trait` only allowed in function and inherent method return types, not in variable binding
--> $DIR/issue-104513-ice.rs:3:14