rust/tests/target/configs/match_arm_leading_pipes/preserve.rs
Caleb Cartwright b305d62e5b fix: correct arm leading pipe check (#4880)
In the event a pattern starts with a leading pipe
the pattern span will contain, and begin with, the pipe.

This updates the process to see if a match arm contains
a leading pipe by leveraging this recent(ish) change to
the patterns in the AST, and avoids an indexing bug that
occurs when a pattern starts with a non-ascii char in the
old implementation.
2021-07-25 22:53:32 -05:00

36 lines
600 B
Rust

// rustfmt-match_arm_leading_pipes: Preserve
fn foo() {
match foo {
| "foo" | "bar" => {}
| "baz"
| "something relatively long"
| "something really really really realllllllllllllly long" => println!("x"),
| "qux" => println!("y"),
_ => {}
}
}
fn issue_3973() {
match foo {
| "foo" | "bar" => {}
_ => {}
}
}
fn bar() {
match baz {
"qux" => {}
"foo" | "bar" => {}
_ => {}
}
}
fn f(x: NonAscii) -> bool {
match x {
// foo
| Éfgh => true,
_ => false,
}
}