diff options
| author | Esteban Kuber <esteban@kuber.com.ar> | 2021-09-21 13:18:26 +0000 |
|---|---|---|
| committer | Esteban Kuber <esteban@kuber.com.ar> | 2021-09-23 14:08:47 +0000 |
| commit | affea730e9693623d7c0f6bad35b3fab36df02e4 (patch) | |
| tree | bad3593ea3fd6c8611eab75ae449fda81f1e0296 /src | |
| parent | 15d9ba0133ce0b35348e1c8367afe00aec841ffa (diff) | |
| download | rust-affea730e9693623d7c0f6bad35b3fab36df02e4.tar.gz rust-affea730e9693623d7c0f6bad35b3fab36df02e4.zip | |
Suggest `_` in turbofish if param will be inferred from fn argument
Diffstat (limited to 'src')
3 files changed, 37 insertions, 0 deletions
diff --git a/src/test/ui/suggestions/missing-type-param-used-in-param.fixed b/src/test/ui/suggestions/missing-type-param-used-in-param.fixed new file mode 100644 index 00000000000..cc4120041b9 --- /dev/null +++ b/src/test/ui/suggestions/missing-type-param-used-in-param.fixed @@ -0,0 +1,8 @@ +// run-rustfix + +fn two_type_params<A, B>(_: B) {} + +fn main() { + two_type_params::<String, _>(100); //~ ERROR this function takes 2 generic arguments + two_type_params::<String, _>(100); +} diff --git a/src/test/ui/suggestions/missing-type-param-used-in-param.rs b/src/test/ui/suggestions/missing-type-param-used-in-param.rs new file mode 100644 index 00000000000..19286331b60 --- /dev/null +++ b/src/test/ui/suggestions/missing-type-param-used-in-param.rs @@ -0,0 +1,8 @@ +// run-rustfix + +fn two_type_params<A, B>(_: B) {} + +fn main() { + two_type_params::<String>(100); //~ ERROR this function takes 2 generic arguments + two_type_params::<String, _>(100); +} diff --git a/src/test/ui/suggestions/missing-type-param-used-in-param.stderr b/src/test/ui/suggestions/missing-type-param-used-in-param.stderr new file mode 100644 index 00000000000..4f7058a6492 --- /dev/null +++ b/src/test/ui/suggestions/missing-type-param-used-in-param.stderr @@ -0,0 +1,21 @@ +error[E0107]: this function takes 2 generic arguments but 1 generic argument was supplied + --> $DIR/missing-type-param-used-in-param.rs:6:5 + | +LL | two_type_params::<String>(100); + | ^^^^^^^^^^^^^^^ ------ supplied 1 generic argument + | | + | expected 2 generic arguments + | +note: function defined here, with 2 generic parameters: `A`, `B` + --> $DIR/missing-type-param-used-in-param.rs:3:4 + | +LL | fn two_type_params<A, B>(_: B) {} + | ^^^^^^^^^^^^^^^ - - +help: add missing generic argument + | +LL | two_type_params::<String, _>(100); + | +++ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0107`. |
