1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
// run-pass // compile-flags: -Z 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>() }