| // rustfmt-version: Two |
| // rustfmt-single_line_let_else_max_width: 100 |
| |
| fn issue5901() { |
| #[cfg(target_os = "linux")] |
| let Some(x) = foo else { todo!() }; |
| |
| #[cfg(target_os = "linux")] |
| // Some comments between attributes and let-else statement |
| let Some(x) = foo else { todo!() }; |
| |
| #[cfg(target_os = "linux")] |
| #[cfg(target_arch = "x86_64")] |
| let Some(x) = foo else { todo!() }; |
| |
| // The else block is multi-lined |
| #[cfg(target_os = "linux")] |
| let Some(x) = foo else { return; }; |
| |
| // The else block will be single-lined because attributes and comments before `let` |
| // are no longer included when calculating max width |
| #[cfg(target_os = "linux")] |
| #[cfg(target_arch = "x86_64")] |
| // Some comments between attributes and let-else statement |
| let Some(x) = foo else { todo!() }; |
| |
| // Some more test cases for v2 formatting with attributes |
| |
| #[cfg(target_os = "linux")] |
| #[cfg(target_arch = "x86_64")] |
| let Some(x) = opt |
| // pre else keyword line-comment |
| else { return; }; |
| |
| #[cfg(target_os = "linux")] |
| #[cfg(target_arch = "x86_64")] |
| let Some(x) = opt else |
| // post else keyword line-comment |
| { return; }; |
| |
| #[cfg(target_os = "linux")] |
| #[cfg(target_arch = "x86_64")] |
| let Foo {x: Bar(..), y: FooBar(..), z: Baz(..)} = opt else { |
| return; |
| }; |
| |
| #[cfg(target_os = "linux")] |
| #[cfg(target_arch = "x86_64")] |
| let Some(Ok((Message::ChangeColor(super::color::Color::Rgb(r, g, b)), Point { x, y, z }))) = opt else { |
| return; |
| }; |
| |
| #[cfg(target_os = "linux")] |
| #[cfg(target_arch = "x86_64")] |
| let Some(x) = very_very_very_very_very_very_very_very_very_very_very_very_long_expression_in_assign_rhs() else { return; }; |
| } |