diff options
Diffstat (limited to 'tests/ui/chalkify/super_trait.rs')
-rw-r--r-- | tests/ui/chalkify/super_trait.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/ui/chalkify/super_trait.rs b/tests/ui/chalkify/super_trait.rs new file mode 100644 index 000000000..540ae51e5 --- /dev/null +++ b/tests/ui/chalkify/super_trait.rs @@ -0,0 +1,19 @@ +// run-pass +// compile-flags: -Z trait-solver=chalk + +trait Foo { } +trait Bar: Foo { } + +impl Foo for i32 { } +impl Bar for i32 { } + +fn only_foo<T: Foo>() { } + +fn only_bar<T: Bar>() { + // `T` implements `Bar` hence `T` must also implement `Foo` + only_foo::<T>() +} + +fn main() { + only_bar::<i32>() +} |