diff options
Diffstat (limited to 'tests/10-multiple-traits-with-generics.rs')
-rw-r--r-- | tests/10-multiple-traits-with-generics.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/10-multiple-traits-with-generics.rs b/tests/10-multiple-traits-with-generics.rs new file mode 100644 index 0000000..f302f11 --- /dev/null +++ b/tests/10-multiple-traits-with-generics.rs @@ -0,0 +1,26 @@ +// Checks that multiple `impl trait` in a row are valid, with generics. + +use impl_trait::impl_trait; + +struct Foo<T>(T); +trait Bar { +} +trait Baz { +} + +impl_trait! { + impl<T> Foo<T> { + impl trait Bar { + } + impl trait Baz { + } + } +} + +fn static_assert_1<T: Bar>(_t: T) {} +fn static_assert_2<T: Baz>(_t: T) {} + +fn main() { + static_assert_1(Foo(())); + static_assert_2(Foo(())); +} |