about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorOliver Scherer <github35764891676564198441@oli-obk.de>2019-01-25 20:37:10 +0100
committerOliver Scherer <github35764891676564198441@oli-obk.de>2019-02-01 16:38:46 +0100
commit0d25ff8842ca35b7eabd2d8a22669c5b2216ad82 (patch)
tree5f81e95cb9963d15fe262c8532890fbdca7a4bca /src/test
parented10a5ba01cb0e73e3872434da65bf4f3a976f28 (diff)
downloadrust-0d25ff8842ca35b7eabd2d8a22669c5b2216ad82.tar.gz
rust-0d25ff8842ca35b7eabd2d8a22669c5b2216ad82.zip
Test aller things
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/existential_types/generic_duplicate_param_use5.rs15
-rw-r--r--src/test/ui/existential_types/generic_duplicate_param_use5.stderr19
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
+