summaryrefslogtreecommitdiffstats
path: root/src/test/ui/traits/bound/on-structs-and-enums.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/test/ui/traits/bound/on-structs-and-enums.rs43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/test/ui/traits/bound/on-structs-and-enums.rs b/src/test/ui/traits/bound/on-structs-and-enums.rs
new file mode 100644
index 000000000..024084fa7
--- /dev/null
+++ b/src/test/ui/traits/bound/on-structs-and-enums.rs
@@ -0,0 +1,43 @@
+trait Trait {}
+
+struct Foo<T:Trait> {
+ x: T,
+}
+
+enum Bar<T:Trait> {
+ ABar(isize),
+ BBar(T),
+ CBar(usize),
+}
+
+impl<T> Foo<T> {
+//~^ ERROR `T: Trait` is not satisfied
+ fn uhoh() {}
+}
+
+struct Baz {
+ a: Foo<isize>, //~ ERROR E0277
+}
+
+enum Boo {
+ Quux(Bar<usize>), //~ ERROR E0277
+}
+
+struct Badness<U> {
+ b: Foo<U>, //~ ERROR E0277
+}
+
+enum MoreBadness<V> {
+ EvenMoreBadness(Bar<V>), //~ ERROR E0277
+}
+
+struct TupleLike(
+ Foo<i32>, //~ ERROR E0277
+);
+
+enum Enum {
+ DictionaryLike { field: Bar<u8> }, //~ ERROR E0277
+}
+
+fn main() {
+}