This fixes https://github.com/rust-lang/rustfmt/issues/3482.
ast::ExprKind::Match(..) => {
(context.use_block_indent() && args_len == 1)
|| (context.config.indent_style() == IndentStyle::Visual && args_len > 1)
+ || context.config.overflow_delimited_expr()
}
ast::ExprKind::If(..)
| ast::ExprKind::IfLet(..)
--- /dev/null
+// rustfmt-overflow_delimited_expr: true
+
+fn main() {
+ println!(
+ "Foobar: {}",
+ match "input" {
+ "a" => "",
+ "b" => "",
+ "c" => "",
+ "d" => "",
+ "e" => "",
+ "f" => "",
+ "g" => "",
+ "h" => "",
+ "i" => "",
+ "j" => "",
+ "k" => "",
+ "l" => "",
+ "m" => "",
+ "n" => "",
+ "o" => "",
+ "p" => "",
+ "q" => "",
+ "r" => "Rust",
+ }
+ );
+}
+
+fn main() {
+ println!(
+ "Very Long Input String Which Makes It Impossible To Fit On The Same Line: {}",
+ match "input" {
+ "a" => "",
+ "b" => "",
+ "c" => "",
+ "d" => "",
+ "e" => "",
+ "f" => "",
+ "g" => "",
+ "h" => "",
+ "i" => "",
+ "j" => "",
+ "k" => "",
+ "l" => "",
+ "m" => "",
+ "n" => "",
+ "o" => "",
+ "p" => "",
+ "q" => "",
+ "r" => "Rust",
+ }
+ );
+}
--- /dev/null
+// rustfmt-overflow_delimited_expr: true
+
+fn main() {
+ println!("Foobar: {}", match "input" {
+ "a" => "",
+ "b" => "",
+ "c" => "",
+ "d" => "",
+ "e" => "",
+ "f" => "",
+ "g" => "",
+ "h" => "",
+ "i" => "",
+ "j" => "",
+ "k" => "",
+ "l" => "",
+ "m" => "",
+ "n" => "",
+ "o" => "",
+ "p" => "",
+ "q" => "",
+ "r" => "Rust",
+ });
+}
+
+fn main() {
+ println!(
+ "Very Long Input String Which Makes It Impossible To Fit On The Same Line: {}",
+ match "input" {
+ "a" => "",
+ "b" => "",
+ "c" => "",
+ "d" => "",
+ "e" => "",
+ "f" => "",
+ "g" => "",
+ "h" => "",
+ "i" => "",
+ "j" => "",
+ "k" => "",
+ "l" => "",
+ "m" => "",
+ "n" => "",
+ "o" => "",
+ "p" => "",
+ "q" => "",
+ "r" => "Rust",
+ }
+ );
+}