2017-11-05 01:22:18 +00:00
|
|
|
macro_rules! m {
|
|
|
|
($pat: pat) => {
|
|
|
|
trait Tr {
|
|
|
|
fn trait_method($pat: u8);
|
|
|
|
}
|
|
|
|
|
|
|
|
type A = fn($pat: u8);
|
|
|
|
|
2020-01-29 23:18:54 +00:00
|
|
|
extern "C" {
|
2017-11-05 01:22:18 +00:00
|
|
|
fn foreign_fn($pat: u8);
|
|
|
|
}
|
2020-01-29 23:18:54 +00:00
|
|
|
};
|
2017-11-05 01:22:18 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
mod good_pat {
|
|
|
|
m!(good_pat); // OK
|
|
|
|
}
|
|
|
|
|
|
|
|
mod bad_pat {
|
|
|
|
m!((bad, pat));
|
|
|
|
//~^ ERROR patterns aren't allowed in function pointer types
|
|
|
|
//~| ERROR patterns aren't allowed in foreign function declarations
|
2020-01-29 23:18:54 +00:00
|
|
|
//~| ERROR patterns aren't allowed in functions without bodies
|
2017-11-05 01:22:18 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|