//@ run-pass | |
//@ pretty-expanded FIXME #23616 | |
trait MyTrait { | |
fn foo(&self); | |
} | |
impl<A, B, C> MyTrait for fn(A, B) -> C { | |
fn foo(&self) {} | |
} | |
fn bar<T: MyTrait>(t: &T) { | |
t.foo() | |
} | |
fn thing(a: isize, b: isize) -> isize { | |
a + b | |
} | |
fn main() { | |
let thing: fn(isize, isize) -> isize = thing; // coerce to fn type | |
bar(&thing); | |
} |