3 Rustfmt is designed to be very configurable. You can create a TOML file called `rustfmt.toml` or `.rustfmt.toml`, place it in the project or any other parent directory and it will apply the options in that file.
5 A possible content of `rustfmt.toml` or `.rustfmt.toml` might look like this:
10 reorder_imported_names = true
13 # Configuration Options
15 Below you find a detailed visual guide on all the supported configuration options of rustfmt:
21 - **Default value**: `"Visual"`
22 - **Possible values**: `"Block"`, `"Visual"`
41 let lorem = vec!["ipsum",
52 Maximum width of an array literal before falling back to vertical formatting
54 - **Default value**: `60`
55 - **Possible values**: any positive integer
57 **Note:** A value of `0` results in [`array_layout`](#array_layout) being applied regardless of a line's width.
59 #### Lines shorter than `array_width`:
62 vec!["ipsum", "dolor", "sit", "amet", "consectetur", "adipiscing", "elit"];
65 #### Lines longer than `array_width`:
66 See [`array_layout`](#array_layout).
72 - **Default value**: `"Block"`
73 - **Possible values**: `"Block"`, `"Visual"`
90 let lorem = ipsum.dolor()
98 See also [`chain_one_line_max`](#chain_one_line_max).
100 ## `chain_one_line_max`
102 Maximum length of a chain to fit on a single line
104 - **Default value**: `60`
105 - **Possible values**: any positive integer
107 #### Lines shorter than `chain_one_line_max`:
109 let lorem = ipsum.dolor().sit().amet().consectetur().adipiscing().elit();
112 #### Lines longer than `chain_one_line_max`:
113 See [`chain_indent`](#chain_indent).
115 ## `closure_block_indent_threshold`
117 How many lines a closure must have before it is block indented. -1 means never use block indent.
119 - **Default value**: `7`
120 - **Possible values**: `-1`, or any positive integer
122 #### Closures shorter than `closure_block_indent_threshold`:
133 #### Closures longer than `closure_block_indent_threshold`:
141 println!("consectetur");
142 println!("adipiscing");
149 Maximum length of comments. No effect unless`wrap_comments = true`.
151 - **Default value**: `80`
152 - **Possible values**: any positive integer
154 **Note:** A value of `0` results in [`wrap_comments`](#wrap_comments) being applied regardless of a line's width.
156 #### Comments shorter than `comment_width`:
158 // Lorem ipsum dolor sit amet, consectetur adipiscing elit.
161 #### Comments longer than `comment_width`:
163 // Lorem ipsum dolor sit amet,
164 // consectetur adipiscing elit.
167 See also [`wrap_comments`](#wrap_comments).
169 ## `condense_wildcard_suffices`
171 Replace strings of _ wildcards by a single .. in tuple patterns
173 - **Default value**: `false`
174 - **Possible values**: `true`, `false`
179 let (lorem, ipsum, _, _) = (1, 2, 3, 4);
185 let (lorem, ipsum, ..) = (1, 2, 3, 4);
188 ## `control_brace_style`
190 Brace style for control flow constructs
192 - **Default value**: `"AlwaysSameLine"`
193 - **Possible values**: `"AlwaysNextLine"`, `"AlwaysSameLine"`, `"ClosingNextLine"`
195 #### `"AlwaysNextLine"`:
208 #### `"AlwaysSameLine"`:
218 #### `"ClosingNextLine"`:
229 ## `disable_all_formatting`
231 Don't reformat anything
233 - **Default value**: `false`
234 - **Possible values**: `true`, `false`
236 ## `error_on_line_overflow`
238 Error if unable to get all lines within max_width
240 - **Default value**: `true`
241 - **Possible values**: `true`, `false`
243 See also [`max_width`](#max_width).
247 Argument density in functions
249 - **Default value**: `"Tall"`
250 - **Possible values**: `"Compressed"`, `"CompressedIfEmpty"`, `"Tall"`, `"Vertical"`
256 fn lorem(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet);
258 fn lorem(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet) {
262 fn lorem(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet, consectetur: onsectetur,
263 adipiscing: Adipiscing, elit: Elit);
265 fn lorem(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet, consectetur: onsectetur,
266 adipiscing: Adipiscing, elit: Elit) {
272 #### `"CompressedIfEmpty"`:
276 fn lorem(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet);
278 fn lorem(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet) {
282 fn lorem(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet, consectetur: onsectetur,
283 adipiscing: Adipiscing, elit: Elit);
285 fn lorem(ipsum: Ipsum,
289 consectetur: onsectetur,
290 adipiscing: Adipiscing,
301 fn lorem(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet);
303 fn lorem(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet) {
307 fn lorem(ipsum: Ipsum,
311 consectetur: onsectetur,
312 adipiscing: Adipiscing,
315 fn lorem(ipsum: Ipsum,
319 consectetur: onsectetur,
320 adipiscing: Adipiscing,
331 fn lorem(ipsum: Ipsum,
336 fn lorem(ipsum: Ipsum,
343 fn lorem(ipsum: Ipsum,
347 consectetur: onsectetur,
348 adipiscing: Adipiscing,
351 fn lorem(ipsum: Ipsum,
355 consectetur: onsectetur,
356 adipiscing: Adipiscing,
365 Layout of function arguments and tuple structs
367 - **Default value**: `"Visual"`
368 - **Possible values**: `"Block"`, `"Visual"`
375 fn lorem(ipsum: usize) {}
395 fn lorem(ipsum: usize) {}
397 fn lorem(ipsum: usize,
408 ## `fn_args_paren_newline`
410 If function argument parenthesis goes on a newline
412 - **Default value**: `true`
413 - **Possible values**: `true`, `false`
423 -> DolorSitAmetConsecteturAdipiscingElitLoremIpsumDolorSitAmetConsecteturAdipiscingElit {
436 -> DolorSitAmetConsecteturAdipiscingElitLoremIpsumDolorSitAmetConsecteturAdipiscingElit {
443 Brace style for functions
445 - **Default value**: `"SameLineWhere"`
446 - **Possible values**: `"AlwaysNextLine"`, `"PreferSameLine"`, `"SameLineWhere"`
448 #### `"AlwaysNextLine"`:
456 fn lorem(ipsum: usize)
461 fn lorem<T>(ipsum: T)
462 where T: Add + Sub + Mul + Div
468 #### `"PreferSameLine"`:
475 fn lorem(ipsum: usize) {
479 fn lorem<T>(ipsum: T)
480 where T: Add + Sub + Mul + Div {
485 #### `"SameLineWhere"`:
492 fn lorem(ipsum: usize) {
496 fn lorem<T>(ipsum: T)
497 where T: Add + Sub + Mul + Div
505 Indentation for function calls, etc.
507 - **Default value**: `"Visual"`
508 - **Possible values**: `"Block"`, `"Visual"`
540 Maximum width of the args of a function call before falling back to vertical formatting
542 - **Default value**: `60`
543 - **Possible values**: any positive integer
545 **Note:** A value of `0` results in vertical formatting being applied regardless of a line's width.
547 #### Function call shorter than `fn_call_width`:
549 lorem("lorem", "ipsum", "dolor", "sit", "amet", "consectetur", "adipiscing", "elit");
552 #### Function call longer than `fn_call_width`:
554 See [`fn_call_style`](#fn_call_style).
556 ## `fn_empty_single_line`
558 Put empty-body functions on a single line
560 - **Default value**: `true`
561 - **Possible values**: `true`, `false`
576 See also [`control_brace_style`](#control_brace_style).
578 ## `fn_return_indent`
580 Location of return type in function declaration
582 - **Default value**: `"WithArgs"`
583 - **Possible values**: `"WithArgs"`, `"WithWhereClause"`
588 fn lorem(ipsum: Ipsum,
592 consectetur: Consectetur,
593 adipiscing: Adipiscing)
602 #### `"WithWhereClause"`:
605 fn lorem(ipsum: Ipsum,
609 consectetur: Consectetur,
610 adipiscing: Adipiscing)
621 Put single-expression functions on a single line
623 - **Default value**: `false`
624 - **Possible values**: `true`, `false`
629 fn lorem() -> usize {
633 fn lorem() -> usize {
642 fn lorem() -> usize { 42 }
644 fn lorem() -> usize {
650 See also [`control_brace_style`](#control_brace_style).
652 ## `force_explicit_abi`
654 Always print the abi for extern items
656 - **Default value**: `true`
657 - **Possible values**: `true`, `false`
659 **Note:** Non-"C" ABIs are always printed. If `false` then "C" is removed.
665 pub static lorem: c_int;
673 pub static lorem: c_int;
677 ## `force_format_strings`
679 Always format string literals
681 - **Default value**: `false`
682 - **Possible values**: `true`, `false`
684 See [`format_strings`](#format_strings).
686 See also [`max_width`](#max_width).
690 Format string literals where necessary
692 - **Default value**: `false`
693 - **Possible values**: `true`, `false`
698 let lorem = "ipsum dolor sit amet consectetur adipiscing elit lorem ipsum dolor sit";
705 "ipsum dolor sit amet consectetur \
706 adipiscing elit lorem ipsum dolor sit";
709 See also [`force_format_strings`](#force_format_strings), [`max_width`](#max_width).
713 Indentation of generics
715 - **Default value**: `"Visual"`
716 - **Possible values**: `"Block"`, `"Visual"`
726 Adipiscing: Eq = usize,
727 Consectetur: Eq = usize,
733 adipiscing: Adipiscing,
734 consectetur: Consectetur,
744 fn lorem<Ipsum: Eq = usize,
748 Adipiscing: Eq = usize,
749 Consectetur: Eq = usize,
755 adipiscing: Adipiscing,
756 consectetur: Consectetur,
765 Use tab characters for indentation, spaces for alignment
767 - **Default value**: `false`
768 - **Possible values**: `true`, `false`
773 fn lorem() -> usize {
774 42 // spaces before 42
781 fn lorem() -> usize {
786 See also: [`tab_spaces`](#tab_spaces).
788 ## `impl_empty_single_line`
790 Put empty-body implementations on a single line
792 - **Default value**: `true`
793 - **Possible values**: `true`, `false`
808 See also [`item_brace_style`](#item_brace_style).
810 ## `indent_match_arms`
812 Indent match arms instead of keeping them at the same indentation level as the match keyword
814 - **Default value**: `true`
815 - **Possible values**: `true`, `false`
839 See also: [`match_block_trailing_comma`](#match_block_trailing_comma), [`wrap_match_arms`](#wrap_match_arms).
841 ## `item_brace_style`
843 Brace style for structs and enums
845 - **Default value**: `"SameLineWhere"`
846 - **Possible values**: `"AlwaysNextLine"`, `"PreferSameLine"`, `"SameLineWhere"`
848 #### `"AlwaysNextLine"`:
863 #### `"PreferSameLine"`:
876 #### `"SameLineWhere"`:
890 ## `match_block_trailing_comma`
892 Put a trailing comma after a block based match arm (non-block arms are not affected)
894 - **Default value**: `false`
895 - **Possible values**: `true`, `false`
904 Lorem::Dolor => println!("dolor"),
915 Lorem::Dolor => println!("dolor"),
919 See also: [`indent_match_arms`](#indent_match_arms), [`trailing_comma`](#trailing_comma), [`wrap_match_arms`](#wrap_match_arms).
923 Maximum width of each line
925 - **Default value**: `100`
926 - **Possible values**: any positive integer
928 See also [`error_on_line_overflow`](#error_on_line_overflow).
932 Unix or Windows line endings
934 - **Default value**: `"Unix"`
935 - **Possible values**: `"Native"`, `"Unix"`, `"Windows"`
937 ## `normalize_comments`
939 Convert /* */ comments to // comments where possible
941 - **Default value**: `false`
942 - **Possible values**: `true`, `false`
948 fn dolor() -> usize {}
951 fn adipiscing() -> usize {}
958 fn dolor() -> usize {}
961 fn adipiscing() -> usize {}
964 ## `reorder_imported_names`
966 Reorder lists of names in import statements alphabetically
968 - **Default value**: `false`
969 - **Possible values**: `true`, `false`
974 use super::{lorem, ipsum, dolor, sit};
980 use super::{dolor, ipsum, lorem, sit};
983 See also [`reorder_imports`](#reorder_imports).
987 Reorder import statements alphabetically
989 - **Default value**: `false`
990 - **Possible values**: `true`, `false`
1010 See also [`reorder_imported_names`](#reorder_imported_names).
1012 ## `single_line_if_else_max_width`
1014 Maximum line length for single line if-else expressions.
1016 - **Default value**: `50`
1017 - **Possible values**: any positive integer
1019 **Note:** A value of `0` results in if-else expressions being broken regardless of their line's width.
1021 #### Lines shorter than `single_line_if_else_max_width`:
1023 let lorem = if ipsum { dolor } else { sit };
1026 #### Lines longer than `single_line_if_else_max_width`:
1028 let lorem = if ipsum {
1035 See also: [`control_brace_style`](#control_brace_style).
1039 Don't reformat out of line modules
1041 - **Default value**: `false`
1042 - **Possible values**: `true`, `false`
1044 ## `space_after_bound_colon`
1046 Leave a space after the colon in a trait or lifetime bound
1048 - **Default value**: `true`
1049 - **Possible values**: `true`, `false`
1054 fn lorem<T:Eq>(t: T) {
1062 fn lorem<T: Eq>(t: T) {
1067 See also: [`space_before_bound`](#space_before_bound).
1069 ## `space_after_type_annotation_colon`
1071 Leave a space after the colon in a type annotation
1073 - **Default value**: `true`
1074 - **Possible values**: `true`, `false`
1079 fn lorem<T: Eq>(t:T) {
1080 let ipsum:Dolor = sit;
1087 fn lorem<T: Eq>(t: T) {
1088 let ipsum: Dolor = sit;
1092 See also: [`space_before_type_annotation`](#space_before_type_annotation).
1094 ## `space_before_bound`
1096 Leave a space before the colon in a trait or lifetime bound
1098 - **Default value**: `false`
1099 - **Possible values**: `true`, `false`
1104 fn lorem<T: Eq>(t: T) {
1105 let ipsum: Dolor = sit;
1112 fn lorem<T : Eq>(t: T) {
1113 let ipsum: Dolor = sit;
1117 See also: [`space_after_bound_colon`](#space_after_bound_colon).
1119 ## `space_before_type_annotation`
1121 Leave a space before the colon in a type annotation
1123 - **Default value**: `false`
1124 - **Possible values**: `true`, `false`
1129 fn lorem<T: Eq>(t: T) {
1130 let ipsum: Dolor = sit;
1137 fn lorem<T: Eq>(t : T) {
1138 let ipsum : Dolor = sit;
1142 See also: [`space_after_type_annotation_colon`](#space_after_type_annotation_colon).
1144 ## `spaces_around_ranges`
1146 Put spaces around the .. and ... range operators
1148 - **Default value**: `false`
1149 - **Possible values**: `true`, `false`
1160 let lorem = 0 .. 10;
1163 ## `spaces_within_angle_brackets`
1165 Put spaces within non-empty generic arguments
1167 - **Default value**: `false`
1168 - **Possible values**: `true`, `false`
1173 fn lorem<T: Eq>(t: T) {
1181 fn lorem< T: Eq >(t: T) {
1186 See also: [`spaces_within_parens`](#spaces_within_parens), [`spaces_within_square_brackets`](#spaces_within_square_brackets).
1188 ## `spaces_within_parens`
1190 Put spaces within non-empty parentheses
1192 - **Default value**: `false`
1193 - **Possible values**: `true`, `false`
1198 fn lorem<T: Eq>(t: T) {
1199 let lorem = (ipsum, dolor);
1206 fn lorem<T: Eq>( t: T ) {
1207 let lorem = ( ipsum, dolor );
1211 See also: [`spaces_within_angle_brackets`](#spaces_within_angle_brackets), [`spaces_within_square_brackets`](#spaces_within_square_brackets).
1213 ## `spaces_within_square_brackets`
1215 Put spaces within non-empty square brackets
1217 - **Default value**: `false`
1218 - **Possible values**: `true`, `false`
1223 let lorem: [usize; 2] = [ipsum, dolor];
1229 let lorem: [ usize; 2 ] = [ ipsum, dolor ];
1232 See also: [`spaces_within_parens`](#spaces_within_parens), [`spaces_within_angle_brackets`](#spaces_within_angle_brackets).
1234 ## `struct_lit_multiline_style`
1236 Multiline style on literal structs
1238 - **Default value**: `"PreferSingle"`
1239 - **Possible values**: `"ForceMulti"`, `"PreferSingle"`
1241 #### `"ForceMulti"`:
1250 #### `"PreferSingle"`:
1253 let lorem = Lorem { ipsum: dolor, sit: amet };
1256 See also: [`struct_lit_style`](#struct_lit_style), [`struct_lit_width`](#struct_lit_width).
1258 ## `struct_lit_style`
1260 Style of struct definition
1262 - **Default value**: `"Block"`
1263 - **Possible values**: `"Block"`, `"Visual"`
1277 let lorem = Lorem { ipsum: dolor,
1281 See also: [`struct_lit_multiline_style`](#struct_lit_multiline_style), [`struct_lit_style`](#struct_lit_style).
1283 ## `struct_lit_width`
1285 Maximum width in the body of a struct lit before falling back to vertical formatting
1287 - **Default value**: `18`
1288 - **Possible values**: any positive integer
1290 **Note:** A value of `0` results in vertical formatting being applied regardless of a line's width.
1292 #### Lines shorter than `struct_lit_width`:
1294 let lorem = Lorem { ipsum: dolor, sit: amet };
1297 #### Lines longer than `struct_lit_width`:
1298 See [`struct_lit_style`](#struct_lit_style).
1300 See also: [`struct_lit_multiline_style`](#struct_lit_multiline_style), [`struct_lit_style`](#struct_lit_style).
1302 ## `struct_variant_width`
1304 Maximum width in the body of a struct variant before falling back to vertical formatting
1306 - **Default value**: `35`
1307 - **Possible values**: any positive integer
1309 **Note:** A value of `0` results in vertical formatting being applied regardless of a line's width.
1311 #### Struct variants shorter than `struct_variant_width`:
1316 Sit { amet: Consectetur, adipiscing: Elit },
1320 #### Struct variants longer than `struct_variant_width`:
1334 Number of spaces per tab
1336 - **Default value**: `4`
1337 - **Possible values**: any positive integer
1343 let ipsum = dolor();
1345 "amet consectetur adipiscing elit."
1354 let ipsum = dolor();
1356 "amet consectetur adipiscing elit."
1361 See also: [`hard_tabs`](#hard_tabs).
1363 ## `take_source_hints`
1365 Retain some formatting characteristics from the source code
1367 - **Default value**: `false`
1368 - **Possible values**: `true`, `false`
1375 .dolor(|| { sit.amet().consectetur().adipiscing().elit(); });
1391 Note: This only applies if the call chain within the inner closure had already been formatted on separate lines before running rustfmt.
1395 How to handle trailing commas for lists
1397 - **Default value**: `"Vertical"`
1398 - **Possible values**: `"Always"`, `"Never"`, `"Vertical"`
1403 let Lorem { ipsum, dolor, sit, } = amet;
1417 let Lorem { ipsum, dolor, sit } = amet;
1431 let Lorem { ipsum, dolor, sit } = amet;
1442 See also: [`match_block_trailing_comma`](#match_block_trailing_comma).
1444 ## `type_punctuation_density`
1446 Determines if `+` or `=` are wrapped in spaces in the punctuation of types
1448 - **Default value**: `"Wide"`
1449 - **Possible values**: `"Compressed"`, `"Wide"`
1451 #### `"Compressed"`:
1454 fn lorem<Ipsum: Dolor+Sit=Amet>() {
1462 fn lorem<Ipsum: Dolor + Sit = Amet>() {
1467 ## `use_try_shorthand`
1469 Replace uses of the try! macro by the ? shorthand
1471 - **Default value**: `false`
1472 - **Possible values**: `true`, `false`
1477 let lorem = try!(ipsum.map(|dolor|dolor.sit()));
1483 let lorem = ipsum.map(|dolor| dolor.sit())?;
1488 Density of a where clause
1490 - **Default value**: `"CompressedIfEmpty"`
1491 - **Possible values**: `"Compressed"`, `"CompressedIfEmpty"`, `"Tall"`, `"Vertical"`
1493 #### `"Compressed"`:
1497 fn ipsum<Dolor>(dolor: Dolor) -> Sit where Dolor: Eq;
1499 fn ipsum<Dolor>(dolor: Dolor) -> Sit where Dolor: Eq {
1505 #### `"CompressedIfEmpty"`:
1509 fn ipsum<Dolor>(dolor: Dolor) -> Sit where Dolor: Eq;
1511 fn ipsum<Dolor>(dolor: Dolor) -> Sit
1523 fn ipsum<Dolor>(dolor: Dolor) -> Sit
1526 fn ipsum<Dolor>(dolor: Dolor) -> Sit
1534 **Note:** `where_density = "Tall"` currently produces the same output as `where_density = "Vertical"`.
1540 fn ipsum<Dolor>(dolor: Dolor) -> Sit
1543 fn ipsum<Dolor>(dolor: Dolor) -> Sit
1551 **Note:** `where_density = "Vertical"` currently produces the same output as `where_density = "Tall"`.
1553 See also: [`where_layout`](#where_layout), [`where_pred_indent`](#where_pred_indent), [`where_style`](#where_style).
1557 Element layout inside a where clause
1559 - **Default value**: `"Vertical"`
1560 - **Possible values**: `"Horizontal"`, `"HorizontalVertical"`, `"Mixed"`, `"Vertical"`
1562 #### `"Horizontal"`:
1565 fn lorem<Ipsum, Dolor>(ipsum: Ipsum, dolor: Dolor)
1566 where Ipsum: IpsumDolorSitAmet, Dolor: DolorSitAmetConsectetur
1571 fn lorem<Ipsum, Dolor, Sit, Amet>(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet)
1572 where Ipsum: IpsumDolorSitAmet, Dolor: DolorSitAmetConsectetur, Sit: SitAmetConsecteturAdipiscing, Amet: AmetConsecteturAdipiscingElit
1578 #### `"HorizontalVertical"`:
1581 fn lorem<Ipsum, Dolor>(ipsum: Ipsum, dolor: Dolor)
1582 where Ipsum: IpsumDolorSitAmet, Dolor: DolorSitAmetConsectetur
1587 fn lorem<Ipsum, Dolor, Sit, Amet>(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet)
1588 where Ipsum: IpsumDolorSitAmet,
1589 Dolor: DolorSitAmetConsectetur,
1590 Sit: SitAmetConsecteturAdipiscing,
1591 Amet: AmetConsecteturAdipiscingElit
1600 fn lorem<Ipsum, Dolor>(ipsum: Ipsum, dolor: Dolor)
1601 where Ipsum: IpsumDolorSitAmet, Dolor: DolorSitAmetConsectetur
1606 fn lorem<Ipsum, Dolor, Sit, Amet>(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet)
1607 where Ipsum: IpsumDolorSitAmet, Dolor: DolorSitAmetConsectetur,
1608 Sit: SitAmetConsecteturAdipiscing, Amet: AmetConsecteturAdipiscingElit
1617 fn lorem<Ipsum, Dolor>(ipsum: Ipsum, dolor: Dolor)
1618 where Ipsum: IpsumDolorSitAmet,
1619 Dolor: DolorSitAmetConsectetur
1624 fn lorem<Ipsum, Dolor, Sit, Amet>(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet)
1625 where Ipsum: IpsumDolorSitAmet,
1626 Dolor: DolorSitAmetConsectetur,
1627 Sit: SitAmetConsecteturAdipiscing,
1628 Amet: AmetConsecteturAdipiscingElit
1634 See also: [`where_density`](#where_density), [`where_pred_indent`](#where_pred_indent), [`where_style`](#where_style).
1636 ## `where_pred_indent`
1638 Indentation style of a where predicate
1640 - **Default value**: `"Visual"`
1641 - **Possible values**: `"Block"`, `"Visual"`
1646 fn lorem<Ipsum, Dolor, Sit, Amet>() -> T
1659 fn lorem<Ipsum, Dolor, Sit, Amet>() -> T
1669 See also: [`where_density`](#where_density), [`where_layout`](#where_layout), [`where_style`](#where_style).
1673 Overall strategy for where clauses
1675 - **Default value**: `"Default"`
1676 - **Possible values**: `"Default"`, `"Rfc"`
1681 fn lorem<Ipsum, Dolor, Sit, Amet>() -> T
1694 fn lorem<Ipsum, Dolor, Sit, Amet>() -> T
1705 See also: [`where_density`](#where_density), [`where_layout`](#where_layout), [`where_pred_indent`](#where_pred_indent).
1709 Break comments to fit on the line
1711 - **Default value**: `false`
1712 - **Possible values**: `true`, `false`
1717 // Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
1723 // Lorem ipsum dolor sit amet, consectetur adipiscing elit,
1724 // sed do eiusmod tempor incididunt ut labore et dolore
1725 // magna aliqua. Ut enim ad minim veniam, quis nostrud
1726 // exercitation ullamco laboris nisi ut aliquip ex ea
1727 // commodo consequat.
1730 ## `wrap_match_arms`
1732 Wrap multiline match arms in blocks
1734 - **Default value**: `true`
1735 - **Possible values**: `true`, `false`
1743 println!("{}", ipsum);
1757 println!("{}", ipsum);
1759 false => println!("{}", sit),
1763 See also: [`indent_match_arms`](#indent_match_arms), [`match_block_trailing_comma`](#match_block_trailing_comma).
1767 What Write Mode to use when none is supplied: Replace, Overwrite, Display, Diff, Coverage
1769 - **Default value**: `"Replace"`
1770 - **Possible values**: `"Checkstyle"`, `"Coverage"`, `"Diff"`, `"Display"`, `"Overwrite"`, `"Plain"`, `"Replace"`