1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
// check-pass // pretty-expanded FIXME #23616 pub struct Foo; pub trait Bar { fn bar(&self); } pub trait Baz { fn baz(&self) { } } impl<T: Baz> Bar for T { fn bar(&self) {} } impl Baz for Foo {} pub fn foo(t: Box<Foo>) { t.bar(); // ~Foo doesn't implement Baz (*t).bar(); // ok b/c Foo implements Baz } fn main() {}