// check-pass // pretty-expanded FIXME #23616 pub struct Foo; pub trait Bar { fn bar(&self); } pub trait Baz { fn baz(&self) { } } impl Bar for T { fn bar(&self) {} } impl Baz for Foo {} pub fn foo(t: Box) { t.bar(); // ~Foo doesn't implement Baz (*t).bar(); // ok b/c Foo implements Baz } fn main() {}