Rollup merge of #68981 - estebank:silence, r=davidtwco

Account for type params on method without parentheses

Account for those type parameters in the structured suggestion when forgetting to call method:

```
error[E0615]: attempted to take value of method `collect` on type `std::vec::IntoIter<_>`
  --> $DIR/method-missing-parentheses.rs:2:32
   |
LL |     let _ = vec![].into_iter().collect::<usize>;
   |                                ^^^^^^^---------
   |                                |
   |                                help: use parentheses to call the method: `collect::<usize>()`
```
This commit is contained in:
Dylan DPC 2020-02-12 20:36:53 +01:00 committed by GitHub
commit 2a3c1a30c8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 44 additions and 14 deletions

View file

@ -9,9 +9,9 @@ fn main() {
y: 2,
};
f.x::<isize>;
//~^ ERROR field expressions may not have generic arguments
//~^ ERROR field expressions cannot have generic arguments
f.x::<>;
//~^ ERROR field expressions may not have generic arguments
//~^ ERROR field expressions cannot have generic arguments
f.x::();
//~^ ERROR field expressions may not have generic arguments
//~^ ERROR field expressions cannot have generic arguments
}

View file

@ -1,16 +1,16 @@
error: field expressions may not have generic arguments
error: field expressions cannot have generic arguments
--> $DIR/type-parameters-in-field-exprs.rs:11:10
|
LL | f.x::<isize>;
| ^^^^^^^
error: field expressions may not have generic arguments
error: field expressions cannot have generic arguments
--> $DIR/type-parameters-in-field-exprs.rs:13:10
|
LL | f.x::<>;
| ^^
error: field expressions may not have generic arguments
error: field expressions cannot have generic arguments
--> $DIR/type-parameters-in-field-exprs.rs:15:7
|
LL | f.x::();

View file

@ -0,0 +1,5 @@
fn main() {
let _ = vec![].into_iter().collect::<usize>;
//~^ ERROR attempted to take value of method `collect` on type `std::vec::IntoIter<_>`
//~| ERROR field expressions cannot have generic arguments
}

View file

@ -0,0 +1,17 @@
error: field expressions cannot have generic arguments
--> $DIR/method-missing-parentheses.rs:2:41
|
LL | let _ = vec![].into_iter().collect::<usize>;
| ^^^^^^^
error[E0615]: attempted to take value of method `collect` on type `std::vec::IntoIter<_>`
--> $DIR/method-missing-parentheses.rs:2:32
|
LL | let _ = vec![].into_iter().collect::<usize>;
| ^^^^^^^---------
| |
| help: use parentheses to call the method: `collect::<usize>()`
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0615`.