diff options
Diffstat (limited to 'tests/ui/traits/bound/on-structs-and-enums.rs')
-rw-r--r-- | tests/ui/traits/bound/on-structs-and-enums.rs | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/ui/traits/bound/on-structs-and-enums.rs b/tests/ui/traits/bound/on-structs-and-enums.rs new file mode 100644 index 000000000..024084fa7 --- /dev/null +++ b/tests/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() { +} |