summaryrefslogtreecommitdiffstats
path: root/tests/ui/traits/associated_type_bound/assoc_type_bound_with_struct.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/traits/associated_type_bound/assoc_type_bound_with_struct.rs')
-rw-r--r--tests/ui/traits/associated_type_bound/assoc_type_bound_with_struct.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/ui/traits/associated_type_bound/assoc_type_bound_with_struct.rs b/tests/ui/traits/associated_type_bound/assoc_type_bound_with_struct.rs
new file mode 100644
index 000000000..471a6b836
--- /dev/null
+++ b/tests/ui/traits/associated_type_bound/assoc_type_bound_with_struct.rs
@@ -0,0 +1,23 @@
+trait Bar {
+ type Baz;
+}
+
+struct Foo<T> where T: Bar, <T as Bar>::Baz: String { //~ ERROR expected trait, found struct
+ t: T,
+}
+
+struct Qux<'a, T> where T: Bar, <&'a T as Bar>::Baz: String { //~ ERROR expected trait, found struct
+ t: &'a T,
+}
+
+fn foo<T: Bar>(_: T) where <T as Bar>::Baz: String { //~ ERROR expected trait, found struct
+}
+
+fn qux<'a, T: Bar>(_: &'a T) where <&'a T as Bar>::Baz: String { //~ ERROR expected trait, found
+}
+
+fn issue_95327() where <u8 as Unresolved>::Assoc: String {}
+//~^ ERROR expected trait, found struct
+//~| ERROR use of undeclared type `Unresolved`
+
+fn main() {}