// //@ run-pass // // Description - ensure Interpolated blocks can act as valid function bodies // Covered cases: free functions, struct methods, and default trait functions macro_rules! def_fn { ($body:block) => { fn bar() $body } } trait Foo { def_fn!({ println!("foo"); }); } struct Baz {} impl Foo for Baz {} struct Qux {} impl Qux { def_fn!({ println!("qux"); }); } def_fn!({ println!("quux"); }); pub fn main() { Baz::bar(); Qux::bar(); bar(); }