rust/tests/ui/parser/anon-enums-are-ambiguous.rs
2024-02-16 20:02:50 +00:00

27 lines
511 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.
}