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:
commit
2a3c1a30c8
7 changed files with 44 additions and 14 deletions
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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::();
|
||||
|
|
|
|||
5
src/test/ui/suggestions/method-missing-parentheses.rs
Normal file
5
src/test/ui/suggestions/method-missing-parentheses.rs
Normal 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
|
||||
}
|
||||
17
src/test/ui/suggestions/method-missing-parentheses.stderr
Normal file
17
src/test/ui/suggestions/method-missing-parentheses.stderr
Normal 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`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue