// run-pass // Test that non-static methods can be assigned to local variables as // function pointers. trait Foo { fn foo(&self) -> usize; } struct A(usize); impl A { fn bar(&self) -> usize { self.0 } } impl Foo for A { fn foo(&self) -> usize { self.bar() } } fn main() { let f = A::bar; let g = Foo::foo; let a = A(42); assert_eq!(f(&a), g(&a)); }