mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-24 15:54:15 +00:00
27 lines
510 B
Rust
27 lines
510 B
Rust
|
// check-pass
|
||
|
|
||
|
macro_rules! test_expr {
|
||
|
($expr:expr) => {};
|
||
|
}
|
||
|
|
||
|
macro_rules! test_ty {
|
||
|
($a:ty | $b:ty) => {};
|
||
|
}
|
||
|
|
||
|
fn main() {
|
||
|
test_expr!(a as fn() -> B | C);
|
||
|
// Do not break the `|` operator.
|
||
|
|
||
|
test_expr!(|_: fn() -> B| C | D);
|
||
|
// Do not break `-> Ret` in closure args.
|
||
|
|
||
|
test_ty!(A | B);
|
||
|
// We can't support anon enums in arbitrary positions.
|
||
|
|
||
|
test_ty!(fn() -> A | B);
|
||
|
// Don't break fn ptrs.
|
||
|
|
||
|
test_ty!(impl Fn() -> A | B);
|
||
|
// Don't break parenthesized generics.
|
||
|
}
|