diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ui/generics/generic-type-less-params-with-defaults.rs | 7 | ||||
| -rw-r--r-- | tests/ui/generics/generic-type-less-params-with-defaults.stderr | 20 |
2 files changed, 25 insertions, 2 deletions
diff --git a/tests/ui/generics/generic-type-less-params-with-defaults.rs b/tests/ui/generics/generic-type-less-params-with-defaults.rs index 6b877ab8aee..b0952a26332 100644 --- a/tests/ui/generics/generic-type-less-params-with-defaults.rs +++ b/tests/ui/generics/generic-type-less-params-with-defaults.rs @@ -5,7 +5,14 @@ struct Heap; struct Vec<T, A = Heap>( marker::PhantomData<(T,A)>); +struct HashMap<K, V, S = ()>(marker::PhantomData<(K,V,S)>); + fn main() { let _: Vec; //~^ ERROR missing generics for struct `Vec` + //~| SUGGESTION <T> + + let _x = (1..10).collect::<HashMap>(); + //~^ ERROR missing generics for struct `HashMap` + //~| SUGGESTION <_, _> } diff --git a/tests/ui/generics/generic-type-less-params-with-defaults.stderr b/tests/ui/generics/generic-type-less-params-with-defaults.stderr index 6f79b09f6cd..43956237e4c 100644 --- a/tests/ui/generics/generic-type-less-params-with-defaults.stderr +++ b/tests/ui/generics/generic-type-less-params-with-defaults.stderr @@ -1,5 +1,5 @@ error[E0107]: missing generics for struct `Vec` - --> $DIR/generic-type-less-params-with-defaults.rs:9:12 + --> $DIR/generic-type-less-params-with-defaults.rs:11:12 | LL | let _: Vec; | ^^^ expected at least 1 generic argument @@ -14,6 +14,22 @@ help: add missing generic argument LL | let _: Vec<T>; | +++ -error: aborting due to 1 previous error +error[E0107]: missing generics for struct `HashMap` + --> $DIR/generic-type-less-params-with-defaults.rs:15:32 + | +LL | let _x = (1..10).collect::<HashMap>(); + | ^^^^^^^ expected at least 2 generic arguments + | +note: struct defined here, with at least 2 generic parameters: `K`, `V` + --> $DIR/generic-type-less-params-with-defaults.rs:8:8 + | +LL | struct HashMap<K, V, S = ()>(marker::PhantomData<(K,V,S)>); + | ^^^^^^^ - - +help: add missing generic arguments + | +LL | let _x = (1..10).collect::<HashMap<_, _>>(); + | ++++++ + +error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0107`. |
