blob: 188c7f7f728c9739868f058639d2f539830e2b01 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
//
//@ 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();
}
|