blob: 2a785198961a318a567d1a88eb7dbae23fc554e0 [file] [edit]
// Original issue
macro_rules! example {
($func: ident <>) => {{
$func();
}};
}
fn log() {
println!("Hi");
}
fn main() {
example!(log<>);
}
// Case 1
macro_rules! m { ($f:ident <>) => { $f(); } }
fn log() {}
fn main() {
m!(log<>);
}
// Case 2
macro_rules! m { ($f:ident :: <>) => { $f(); } }
fn log() {}
fn main() {
m!(log::<>);
}
// Case 3
macro_rules! m { ($f:ident :: <> ($($a:tt)*)) => {} }
fn main() {
m!(S::<>());
}
// Case 4
macro_rules! m { ($m:ident :: $n:ident <>) => {} }
fn main() {
m!(N::Foo<>);
}
// Case 5
macro_rules! m { ($f:ident <>) => {} }
fn main() {
m!(Foo< >);
}
// Case 6
macro_rules! m { ($a:ident <>, $b:ident <>) => {} }
fn main() {
m!(log<>, foo<>);
}
// Case 7
macro_rules! m { ($a:ident as $t:ident <>) => {} }
fn main() {
m!(a as Foo<>);
}