b305d62e5b
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.
36 lines
600 B
Rust
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,
|
|
}
|
|
}
|