blob: 188c7f7f728c9739868f058639d2f539830e2b01 [file] [log] [blame]
//
//@ run-pass
//
// Description - ensure block metavariables 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();
}