//@ check-pass // This test checks that we look at consider the super traits of trait objects // when deducing closure signatures. trait Foo: Fn(Bar) {} impl Foo for T where T: Fn(Bar) {} struct Bar; impl Bar { fn bar(&self) {} } fn main() { let x: &dyn Foo = &|x| { x.bar(); }; }