rust/tests/ui/parser/anon-enums-are-ambiguous.rs

27 lines
510 B
Rust
Raw Normal View History

2023-01-30 12:39:33 -06:00
// 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.
}