about summary refs log tree commit diff
path: root/src/test/ui/parser
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2019-09-21 17:11:09 -0700
committerEsteban Küber <esteban@kuber.com.ar>2019-09-21 17:11:09 -0700
commit60560bc2a2c149e179cd7e58a8b48e06c2c4e3f4 (patch)
treeb7acfb3124b7b045a8493f677b7c94a3ec4cc80d /src/test/ui/parser
parent9ad1e7c46cf690b7ec6953b142430d21ca2d8799 (diff)
downloadrust-60560bc2a2c149e179cd7e58a8b48e06c2c4e3f4.tar.gz
rust-60560bc2a2c149e179cd7e58a8b48e06c2c4e3f4.zip
Parse assoc type bounds in generic params and provide custom diagnostic
Diffstat (limited to 'src/test/ui/parser')
-rw-r--r--src/test/ui/parser/assoc-type-in-type-arg.rs11
-rw-r--r--src/test/ui/parser/assoc-type-in-type-arg.stderr8
2 files changed, 19 insertions, 0 deletions
diff --git a/src/test/ui/parser/assoc-type-in-type-arg.rs b/src/test/ui/parser/assoc-type-in-type-arg.rs
new file mode 100644
index 00000000000..09765f01371
--- /dev/null
+++ b/src/test/ui/parser/assoc-type-in-type-arg.rs
@@ -0,0 +1,11 @@
+trait Tr {
+    type TrSubtype;
+}
+
+struct Bar<'a, Item: Tr, <Item as Tr>::TrSubtype: 'a> {
+    //~^ ERROR associated type bounds do not belong here
+    item: Item,
+    item_sub: &'a <Item as Tr>::TrSubtype,
+}
+
+fn main() {}
diff --git a/src/test/ui/parser/assoc-type-in-type-arg.stderr b/src/test/ui/parser/assoc-type-in-type-arg.stderr
new file mode 100644
index 00000000000..06addb02417
--- /dev/null
+++ b/src/test/ui/parser/assoc-type-in-type-arg.stderr
@@ -0,0 +1,8 @@
+error: associated type bounds do not belong here
+  --> $DIR/assoc-type-in-type-arg.rs:5:26
+   |
+LL | struct Bar<'a, Item: Tr, <Item as Tr>::TrSubtype: 'a> {
+   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ belongs in `where` clause
+
+error: aborting due to previous error
+