diff options
| -rw-r--r-- | src/test/ui/existential_types/generic_duplicate_param_use5.rs | 15 | ||||
| -rw-r--r-- | src/test/ui/existential_types/generic_duplicate_param_use5.stderr | 19 |
2 files changed, 34 insertions, 0 deletions
diff --git a/src/test/ui/existential_types/generic_duplicate_param_use5.rs b/src/test/ui/existential_types/generic_duplicate_param_use5.rs new file mode 100644 index 00000000000..f9d336d759b --- /dev/null +++ b/src/test/ui/existential_types/generic_duplicate_param_use5.rs @@ -0,0 +1,15 @@ +#![feature(existential_type)] + +fn main() {} + +// test that unused generic parameters are ok +existential type Two<T, U>: 'static; + +fn one<T: 'static>(t: T) -> Two<T, T> { + t +} + +fn two<T: 'static, U: 'static>(t: T, _: U) -> Two<U, T> { +//~^ ERROR defining existential type use differs from previous + t +} diff --git a/src/test/ui/existential_types/generic_duplicate_param_use5.stderr b/src/test/ui/existential_types/generic_duplicate_param_use5.stderr new file mode 100644 index 00000000000..e2bf4a9e0df --- /dev/null +++ b/src/test/ui/existential_types/generic_duplicate_param_use5.stderr @@ -0,0 +1,19 @@ +error: defining existential type use differs from previous + --> $DIR/generic_duplicate_param_use5.rs:12:1 + | +LL | / fn two<T: 'static, U: 'static>(t: T, _: U) -> Two<U, T> { +LL | | //~^ ERROR defining existential type use differs from previous +LL | | t +LL | | } + | |_^ + | +note: previous use here + --> $DIR/generic_duplicate_param_use5.rs:8:1 + | +LL | / fn one<T: 'static>(t: T) -> Two<T, T> { +LL | | t +LL | | } + | |_^ + +error: aborting due to previous error + |
