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:
9 reorder_imported_names = true
12 # Configuration Options
14 Below you find a detailed visual guide on all the supported configuration options of rustfmt:
19 Indent on expressions or items.
21 - **Default value**: `"Block"`
22 - **Possible values**: `"Block"`, `"Visual"`
26 #### `"Block"` (default):
43 let lorem = vec!["ipsum",
54 #### `"Block"` (default):
75 See also: [`control_brace_style`](#control_brace_style).
77 ### Function arguments
79 #### `"Block"` (default):
84 fn lorem(ipsum: usize) {}
104 fn lorem(ipsum: usize) {}
106 fn lorem(ipsum: usize,
119 #### `"Block"` (default):
149 #### `"Block"` (default):
157 Adipiscing: Eq = usize,
158 Consectetur: Eq = usize,
165 adipiscing: Adipiscing,
166 consectetur: Consectetur,
176 fn lorem<Ipsum: Eq = usize,
180 Adipiscing: Eq = usize,
181 Consectetur: Eq = usize,
187 adipiscing: Adipiscing,
188 consectetur: Consectetur,
197 #### `"Block"` (default):
209 let lorem = Lorem { ipsum: dolor,
213 See also: [`struct_lit_single_line`](#struct_lit_single_line), [`indent_style`](#indent_style).
217 #### `"Block"` (default):
220 fn lorem<Ipsum, Dolor, Sit, Amet>() -> T
234 fn lorem<Ipsum, Dolor, Sit, Amet>() -> T
244 See also: [`where_density`](#where_density), [`where_layout`](#where_layout).
247 ## `same_line_attributes`
249 Try to put attributes on the same line as fields and variants
251 - **Default value**: `true`
252 - **Possible values**: `true`, `false`
254 #### `true` (default):
258 #[serde(rename = "Ipsum")] ipsum: usize,
259 #[serde(rename = "Dolor")] dolor: usize,
260 #[serde(rename = "Amet")] amet: usize,
264 #[serde(skip_serializing)] Ipsum,
265 #[serde(skip_serializing)] Dolor,
266 #[serde(skip_serializing)] Amet,
274 #[serde(rename = "Ipsum")]
276 #[serde(rename = "Dolor")]
278 #[serde(rename = "Amet")]
283 #[serde(skip_serializing)]
285 #[serde(skip_serializing)]
287 #[serde(skip_serializing)]
292 ## `use_small_heuristics`
294 Whether to use different formatting for items and expressions if they satisfy a heuristic notion of 'small'.
296 - **Default value**: `true`
297 - **Possible values**: `true`, `false`
299 #### `true` (default):
305 Sit { amet: Consectetur, adipiscing: Elit },
319 let lorem = Lorem { ipsum: dolor, sit: amet };
321 let lorem = if ipsum { dolor } else { sit };
338 lorem("lorem", "ipsum", "dolor", "sit", "amet", "consectetur", "adipiscing");
345 let lorem = if ipsum {
355 Where to put a binary operator when a binary expression goes multiline.
357 - **Default value**: `"Front"`
358 - **Possible values**: `"Front"`, `"Back"`
360 #### `"Front"` (default):
371 let range = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
372 ..bbbbbbbbbbbbbbbbbbbbbbbbbbbbb;
386 let range = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa..
387 bbbbbbbbbbbbbbbbbbbbbbbbbbbbb;
394 - **Default value**: `"Block"`
395 - **Possible values**: `"Block"`, `"Visual"`
397 #### `"Block"` (default):
412 let lorem = ipsum.dolor()
422 ## `combine_control_expr`
424 Combine control expressions with function calls.
426 - **Default value**: `true`
427 - **Possible values**: `true`, `false`
429 #### `true` (default):
441 foo!(if let Some(..) = x {
454 foo!(while let Some(..) = x {
488 if let Some(..) = x {
505 while let Some(..) = x {
531 Maximum length of comments. No effect unless`wrap_comments = true`.
533 - **Default value**: `80`
534 - **Possible values**: any positive integer
536 **Note:** A value of `0` results in [`wrap_comments`](#wrap_comments) being applied regardless of a line's width.
538 #### Comments shorter than `comment_width`:
540 // Lorem ipsum dolor sit amet, consectetur adipiscing elit.
543 #### Comments longer than `comment_width`:
545 // Lorem ipsum dolor sit amet,
546 // consectetur adipiscing elit.
549 See also [`wrap_comments`](#wrap_comments).
551 ## `condense_wildcard_suffixes`
553 Replace strings of _ wildcards by a single .. in tuple patterns
555 - **Default value**: `false`
556 - **Possible values**: `true`, `false`
558 #### `false` (default):
561 let (lorem, ipsum, _, _) = (1, 2, 3, 4);
567 let (lorem, ipsum, ..) = (1, 2, 3, 4);
570 ## `control_brace_style`
572 Brace style for control flow constructs
574 - **Default value**: `"AlwaysSameLine"`
575 - **Possible values**: `"AlwaysNextLine"`, `"AlwaysSameLine"`, `"ClosingNextLine"`
577 #### `"AlwaysSameLine"` (default):
587 #### `"AlwaysNextLine"`:
600 #### `"ClosingNextLine"`:
611 ## `disable_all_formatting`
613 Don't reformat anything
615 - **Default value**: `false`
616 - **Possible values**: `true`, `false`
618 ## `error_on_line_overflow`
620 Error if unable to get all lines within `max_width`
622 - **Default value**: `true`
623 - **Possible values**: `true`, `false`
625 See also [`max_width`](#max_width).
627 ## `error_on_line_overflow_comments`
629 Error if unable to get all comment lines within `comment_width`.
631 - **Default value**: `true`
632 - **Possible values**: `true`, `false`
634 See also [`comment_width`](#comment_width).
638 Argument density in functions
640 - **Default value**: `"Tall"`
641 - **Possible values**: `"Compressed"`, `"CompressedIfEmpty"`, `"Tall"`, `"Vertical"`
643 #### `"Tall"` (default):
647 fn lorem(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet);
649 fn lorem(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet) {
658 consectetur: Consectetur,
659 adipiscing: Adipiscing,
668 consectetur: Consectetur,
669 adipiscing: Adipiscing,
681 fn lorem(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet);
683 fn lorem(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet) {
688 ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet, consectetur: Consectetur,
689 adipiscing: Adipiscing, elit: Elit,
693 ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet, consectetur: Consectetur,
694 adipiscing: Adipiscing, elit: Elit,
701 #### `"CompressedIfEmpty"`:
705 fn lorem(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet);
707 fn lorem(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet) {
712 ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet, consectetur: Consectetur,
713 adipiscing: Adipiscing, elit: Elit,
721 consectetur: Consectetur,
722 adipiscing: Adipiscing,
734 fn lorem(ipsum: Ipsum,
739 fn lorem(ipsum: Ipsum,
746 fn lorem(ipsum: Ipsum,
750 consectetur: Consectetur,
751 adipiscing: Adipiscing,
754 fn lorem(ipsum: Ipsum,
758 consectetur: Consectetur,
759 adipiscing: Adipiscing,
769 Brace style for items
771 - **Default value**: `"SameLineWhere"`
772 - **Possible values**: `"AlwaysNextLine"`, `"PreferSameLine"`, `"SameLineWhere"`
776 #### `"SameLineWhere"` (default):
783 fn lorem(ipsum: usize) {
787 fn lorem<T>(ipsum: T)
789 T: Add + Sub + Mul + Div,
795 #### `"AlwaysNextLine"`:
803 fn lorem(ipsum: usize)
808 fn lorem<T>(ipsum: T)
810 T: Add + Sub + Mul + Div,
816 #### `"PreferSameLine"`:
823 fn lorem(ipsum: usize) {
827 fn lorem<T>(ipsum: T)
829 T: Add + Sub + Mul + Div, {
834 ### Structs and enums
836 #### `"SameLineWhere"` (default):
850 #### `"AlwaysNextLine"`:
865 #### `"PreferSameLine"`:
880 ## `fn_empty_single_line`
882 Put empty-body functions on a single line
884 - **Default value**: `true`
885 - **Possible values**: `true`, `false`
887 #### `true` (default):
900 See also [`control_brace_style`](#control_brace_style).
905 Put single-expression functions on a single line
907 - **Default value**: `false`
908 - **Possible values**: `true`, `false`
910 #### `false` (default):
913 fn lorem() -> usize {
917 fn lorem() -> usize {
926 fn lorem() -> usize { 42 }
928 fn lorem() -> usize {
934 See also [`control_brace_style`](#control_brace_style).
936 ## `force_explicit_abi`
938 Always print the abi for extern items
940 - **Default value**: `true`
941 - **Possible values**: `true`, `false`
943 **Note:** Non-"C" ABIs are always printed. If `false` then "C" is removed.
945 #### `true` (default):
949 pub static lorem: c_int;
957 pub static lorem: c_int;
963 Format string literals where necessary
965 - **Default value**: `false`
966 - **Possible values**: `true`, `false`
968 #### `false` (default):
971 let lorem = "ipsum dolor sit amet consectetur adipiscing elit lorem ipsum dolor sit";
978 "ipsum dolor sit amet consectetur \
979 adipiscing elit lorem ipsum dolor sit";
982 See also [`max_width`](#max_width).
986 Use tab characters for indentation, spaces for alignment
988 - **Default value**: `false`
989 - **Possible values**: `true`, `false`
991 #### `false` (default):
994 fn lorem() -> usize {
995 42 // spaces before 42
1002 fn lorem() -> usize {
1003 42 // tabs before 42
1007 See also: [`tab_spaces`](#tab_spaces).
1009 ## `impl_empty_single_line`
1011 Put empty-body implementations on a single line
1013 - **Default value**: `true`
1014 - **Possible values**: `true`, `false`
1016 #### `true` (default):
1029 See also [`brace_style`](#brace_style).
1031 ## `indent_match_arms`
1033 Indent match arms instead of keeping them at the same indentation level as the match keyword
1035 - **Default value**: `true`
1036 - **Possible values**: `true`, `false`
1038 #### `true` (default):
1060 See also: [`match_block_trailing_comma`](#match_block_trailing_comma), [`wrap_match_arms`](#wrap_match_arms).
1064 Indent style of imports
1066 - **Default Value**: `"Visual"`
1067 - **Possible values**: `"Block"`, `"Visual"`
1069 #### `"Visual"` (default):
1087 See also: [`imports_layout`](#imports_layout).
1091 Item layout inside a imports block
1093 - **Default value**: "Mixed"
1094 - **Possible values**: "Horizontal", "HorizontalVertical", "Mixed", "Vertical"
1096 #### `"Mixed"` (default):
1099 use foo::{xxx, yyy, zzz};
1101 use foo::{aaa, bbb, ccc,
1105 #### `"Horizontal"`:
1107 **Note**: This option forces to put everything on one line and may exceeds `max_width`.
1110 use foo::{xxx, yyy, zzz};
1112 use foo::{aaa, bbb, ccc, ddd, eee, fff};
1115 #### `"HorizontalVertical"`:
1118 use foo::{xxx, yyy, zzz};
1143 ## `match_arm_forces_newline`
1145 Consistently put match arms (block based or not) in a newline.
1147 - **Default value**: `false`
1148 - **Possible values**: `true`, `false`
1150 #### `false` (default):
1154 // a non-empty block
1161 X2 => println!("ok"),
1169 // a non-empty block
1183 See also: [`wrap_match_arms`](#wrap_match_arms).
1185 ## `match_block_trailing_comma`
1187 Put a trailing comma after a block based match arm (non-block arms are not affected)
1189 - **Default value**: `false`
1190 - **Possible values**: `true`, `false`
1192 #### `false` (default):
1199 Lorem::Dolor => println!("dolor"),
1210 Lorem::Dolor => println!("dolor"),
1214 See also: [`indent_match_arms`](#indent_match_arms), [`trailing_comma`](#trailing_comma), [`wrap_match_arms`](#wrap_match_arms).
1218 Maximum width of each line
1220 - **Default value**: `100`
1221 - **Possible values**: any positive integer
1223 See also [`error_on_line_overflow`](#error_on_line_overflow).
1227 Merge multiple derives into a single one.
1229 - **Default value**: `true`
1230 - **Possible values**: `true`, `false`
1232 #### `true` (default):
1235 #[derive(Eq, PartialEq, Debug, Copy, Clone)]
1242 #[derive(Eq, PartialEq)]
1244 #[derive(Copy, Clone)]
1248 ## `multiline_closure_forces_block`
1250 Force multiline closure bodies to be wrapped in a block
1252 - **Default value**: `false`
1253 - **Possible values**: `false`, `true`
1255 #### `false` (default):
1258 result.and_then(|maybe_value| match maybe_value {
1268 result.and_then(|maybe_value| {
1276 ## `multiline_match_arm_forces_block`
1278 Force multiline match arm bodies to be wrapped in a block
1280 - **Default value**: `false`
1281 - **Possible values**: `false`, `true`
1283 #### `false` (default):
1288 println!("Hello World");
1300 println!("Hello World");
1309 Unix or Windows line endings
1311 - **Default value**: `"Unix"`
1312 - **Possible values**: `"Native"`, `"Unix"`, `"Windows"`
1314 ## `normalize_comments`
1316 Convert /* */ comments to // comments where possible
1318 - **Default value**: `false`
1319 - **Possible values**: `true`, `false`
1321 #### `false` (default):
1325 fn dolor() -> usize {}
1328 fn adipiscing() -> usize {}
1335 fn dolor() -> usize {}
1338 fn adipiscing() -> usize {}
1341 ## `reorder_imported_names`
1343 Reorder lists of names in import statements alphabetically
1345 - **Default value**: `false`
1346 - **Possible values**: `true`, `false`
1348 #### `false` (default):
1351 use super::{lorem, ipsum, dolor, sit};
1357 use super::{dolor, ipsum, lorem, sit};
1360 See also [`reorder_imports`](#reorder_imports).
1362 ## `reorder_imports`
1364 Reorder import statements alphabetically
1366 - **Default value**: `false`
1367 - **Possible values**: `true`, `false`
1369 #### `false` (default):
1387 See also [`reorder_imported_names`](#reorder_imported_names), [`reorder_imports_in_group`](#reorder_imports_in_group).
1389 ## `reorder_imports_in_group`
1391 Reorder import statements in group
1393 - **Default value**: `false`
1394 - **Possible values**: `true`, `false`
1396 **Note:** This option takes effect only when [`reorder_imports`](#reorder_imports) is set to `true`.
1398 #### `false` (default):
1422 See also [`reorder_imports`](#reorder_imports).
1424 ## `reorder_extern_crates`
1426 Reorder `extern crate` statements alphabetically
1428 - **Default value**: `true`
1429 - **Possible values**: `true`, `false`
1431 #### `true` (default):
1449 See also [`reorder_extern_crates_in_group`](#reorder_extern_crates_in_group).
1451 ## `reorder_extern_crates_in_group`
1453 Reorder `extern crate` statements in group
1455 - **Default value**: `true`
1456 - **Possible values**: `true`, `false`
1458 **Note:** This option takes effect only when [`reorder_imports`](#reorder_imports) is set to `true`.
1460 #### `true` (default):
1484 See also [`reorder_extern_crates`](#reorder_extern_crates).
1488 Report `TODO` items in comments.
1490 - **Default value**: `"Never"`
1491 - **Possible values**: `"Always"`, `"Unnumbered"`, `"Never"`
1493 Warns about any comments containing `TODO` in them when set to `"Always"`. If
1494 it contains a `#X` (with `X` being a number) in parentheses following the
1495 `TODO`, `"Unnumbered"` will ignore it.
1497 See also [`report_fixme`](#report_fixme).
1501 Report `FIXME` items in comments.
1503 - **Default value**: `"Never"`
1504 - **Possible values**: `"Always"`, `"Unnumbered"`, `"Never"`
1506 Warns about any comments containing `FIXME` in them when set to `"Always"`. If
1507 it contains a `#X` (with `X` being a number) in parentheses following the
1508 `FIXME`, `"Unnumbered"` will ignore it.
1510 See also [`report_todo`](#report_todo).
1515 Don't reformat out of line modules
1517 - **Default value**: `false`
1518 - **Possible values**: `true`, `false`
1520 ## `space_after_colon`
1522 Leave a space after the colon.
1524 - **Default value**: `true`
1525 - **Possible values**: `true`, `false`
1527 #### `true` (default):
1530 fn lorem<T: Eq>(t: T) {
1531 let lorem: Dolor = Lorem {
1541 fn lorem<T:Eq>(t:T) {
1542 let lorem:Dolor = Lorem {
1549 See also: [`space_before_colon`](#space_before_colon).
1551 ## `space_before_colon`
1553 Leave a space before the colon.
1555 - **Default value**: `false`
1556 - **Possible values**: `true`, `false`
1558 #### `false` (default):
1561 fn lorem<T: Eq>(t: T) {
1562 let lorem: Dolor = Lorem {
1572 fn lorem<T : Eq>(t : T) {
1573 let lorem : Dolor = Lorem {
1580 See also: [`space_after_colon`](#space_after_colon).
1582 ## `struct_field_align_threshold`
1584 The maximum diff of width between struct fields to be aligned with each other.
1586 - **Default value** : 0
1587 - **Possible values**: any positive integer
1611 ## `spaces_around_ranges`
1613 Put spaces around the .. and ... range operators
1615 - **Default value**: `false`
1616 - **Possible values**: `true`, `false`
1618 #### `false` (default):
1627 let lorem = 0 .. 10;
1630 ## `spaces_within_parens_and_brackets`
1632 Put spaces within non-empty generic arguments
1634 - **Default value**: `false`
1635 - **Possible values**: `true`, `false`
1637 #### `false` (default):
1640 fn lorem<T: Eq>(t: T) {
1648 fn lorem< T: Eq >(t: T) {
1653 See also: [`spaces_within_parens_and_brackets`](#spaces_within_parens_and_brackets), [`spaces_within_parens_and_brackets`](#spaces_within_parens_and_brackets).
1655 ## `spaces_within_parens_and_brackets`
1657 Put spaces within non-empty parentheses
1659 - **Default value**: `false`
1660 - **Possible values**: `true`, `false`
1662 #### `false` (default):
1665 fn lorem<T: Eq>(t: T) {
1666 let lorem = (ipsum, dolor);
1673 fn lorem<T: Eq>( t: T ) {
1674 let lorem = ( ipsum, dolor );
1678 See also: [`spaces_within_parens_and_brackets`](#spaces_within_parens_and_brackets), [`spaces_within_parens_and_brackets`](#spaces_within_parens_and_brackets).
1680 ## `spaces_within_parens_and_brackets`
1682 Put spaces within non-empty square brackets
1684 - **Default value**: `false`
1685 - **Possible values**: `true`, `false`
1687 #### `false` (default):
1690 let lorem: [usize; 2] = [ipsum, dolor];
1696 let lorem: [ usize; 2 ] = [ ipsum, dolor ];
1699 See also: [`spaces_within_parens_and_brackets`](#spaces_within_parens_and_brackets), [`spaces_within_parens_and_brackets`](#spaces_within_parens_and_brackets).
1701 ## `struct_lit_single_line`
1703 Put small struct literals on a single line
1705 - **Default value**: `true`
1706 - **Possible values**: `true`, `false`
1708 #### `true` (default):
1711 let lorem = Lorem { ipsum: dolor, sit: amet };
1723 See also: [`indent_style`](#indent_style).
1728 Number of spaces per tab
1730 - **Default value**: `4`
1731 - **Possible values**: any positive integer
1737 let ipsum = dolor();
1739 "amet consectetur adipiscing elit."
1748 let ipsum = dolor();
1750 "amet consectetur adipiscing elit."
1755 See also: [`hard_tabs`](#hard_tabs).
1760 How to handle trailing commas for lists
1762 - **Default value**: `"Vertical"`
1763 - **Possible values**: `"Always"`, `"Never"`, `"Vertical"`
1765 #### `"Vertical"` (default):
1768 let Lorem { ipsum, dolor, sit } = amet;
1782 let Lorem { ipsum, dolor, sit, } = amet;
1796 let Lorem { ipsum, dolor, sit } = amet;
1807 See also: [`match_block_trailing_comma`](#match_block_trailing_comma).
1809 ## `trailing_semicolon`
1811 Add trailing semicolon after break, continue and return
1813 - **Default value**: `true`
1814 - **Possible values**: `true`, `false`
1816 #### `true` (default):
1830 ## `type_punctuation_density`
1832 Determines if `+` or `=` are wrapped in spaces in the punctuation of types
1834 - **Default value**: `"Wide"`
1835 - **Possible values**: `"Compressed"`, `"Wide"`
1837 #### `"Wide"` (default):
1840 fn lorem<Ipsum: Dolor + Sit = Amet>() {
1845 #### `"Compressed"`:
1848 fn lorem<Ipsum: Dolor+Sit=Amet>() {
1853 ## `use_try_shorthand`
1855 Replace uses of the try! macro by the ? shorthand
1857 - **Default value**: `false`
1858 - **Possible values**: `true`, `false`
1860 #### `false` (default):
1863 let lorem = try!(ipsum.map(|dolor|dolor.sit()));
1869 let lorem = ipsum.map(|dolor| dolor.sit())?;
1874 Density of a where clause.
1876 - **Default value**: `"Vertical"`
1877 - **Possible values**: `"Compressed"`, `"CompressedIfEmpty"`, `"Tall"`, `"Vertical"`
1879 #### `"Vertical"` (default):
1883 fn ipsum<Dolor>(dolor: Dolor) -> Sit
1887 fn ipsum<Dolor>(dolor: Dolor) -> Sit
1896 **Note:** `where_density = "Vertical"` currently produces the same output as `where_density = "Tall"`.
1898 #### `"CompressedIfEmpty"`:
1902 fn ipsum<Dolor>(dolor: Dolor) -> Sit
1905 fn ipsum<Dolor>(dolor: Dolor) -> Sit
1914 #### `"Compressed"`:
1918 fn ipsum<Dolor>(dolor: Dolor) -> Sit
1921 fn ipsum<Dolor>(dolor: Dolor) -> Sit
1932 fn ipsum<Dolor>(dolor: Dolor) -> Sit
1936 fn ipsum<Dolor>(dolor: Dolor) -> Sit
1945 **Note:** `where_density = "Tall"` currently produces the same output as `where_density = "Vertical"`.
1947 See also: [`where_layout`](#where_layout), [`indent_style`](#indent_style).
1951 Element layout inside a where clause
1953 - **Default value**: `"Vertical"`
1954 - **Possible values**: `"Horizontal"`, `"HorizontalVertical"`, `"Mixed"`, `"Vertical"`
1956 #### `"Vertical"` (default):
1959 fn lorem<Ipsum, Dolor>(ipsum: Ipsum, dolor: Dolor)
1960 where Ipsum: IpsumDolorSitAmet,
1961 Dolor: DolorSitAmetConsectetur
1966 fn lorem<Ipsum, Dolor, Sit, Amet>(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet)
1967 where Ipsum: IpsumDolorSitAmet,
1968 Dolor: DolorSitAmetConsectetur,
1969 Sit: SitAmetConsecteturAdipiscing,
1970 Amet: AmetConsecteturAdipiscingElit
1976 #### `"Horizontal"`:
1979 fn lorem<Ipsum, Dolor>(ipsum: Ipsum, dolor: Dolor)
1980 where Ipsum: IpsumDolorSitAmet, Dolor: DolorSitAmetConsectetur
1985 fn lorem<Ipsum, Dolor, Sit, Amet>(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet)
1986 where Ipsum: IpsumDolorSitAmet, Dolor: DolorSitAmetConsectetur, Sit: SitAmetConsecteturAdipiscing, Amet: AmetConsecteturAdipiscingElit
1992 #### `"HorizontalVertical"`:
1995 fn lorem<Ipsum, Dolor>(ipsum: Ipsum, dolor: Dolor)
1996 where Ipsum: IpsumDolorSitAmet, Dolor: DolorSitAmetConsectetur
2001 fn lorem<Ipsum, Dolor, Sit, Amet>(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet)
2002 where Ipsum: IpsumDolorSitAmet,
2003 Dolor: DolorSitAmetConsectetur,
2004 Sit: SitAmetConsecteturAdipiscing,
2005 Amet: AmetConsecteturAdipiscingElit
2014 fn lorem<Ipsum, Dolor>(ipsum: Ipsum, dolor: Dolor)
2015 where Ipsum: IpsumDolorSitAmet, Dolor: DolorSitAmetConsectetur
2020 fn lorem<Ipsum, Dolor, Sit, Amet>(ipsum: Ipsum, dolor: Dolor, sit: Sit, amet: Amet)
2021 where Ipsum: IpsumDolorSitAmet, Dolor: DolorSitAmetConsectetur,
2022 Sit: SitAmetConsecteturAdipiscing, Amet: AmetConsecteturAdipiscingElit
2028 See also: [`where_density`](#where_density), [`indent_style`](#indent_style).
2032 Break comments to fit on the line
2034 - **Default value**: `false`
2035 - **Possible values**: `true`, `false`
2037 #### `false` (default):
2040 // 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.
2046 // Lorem ipsum dolor sit amet, consectetur adipiscing elit,
2047 // sed do eiusmod tempor incididunt ut labore et dolore
2048 // magna aliqua. Ut enim ad minim veniam, quis nostrud
2049 // exercitation ullamco laboris nisi ut aliquip ex ea
2050 // commodo consequat.
2053 ## `wrap_match_arms`
2055 Wrap the body of arms in blocks when it does not fit on the same line with the pattern of arms
2057 - **Default value**: `true`
2058 - **Possible values**: `true`, `false`
2060 #### `true` (default):
2065 foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo(x)
2067 false => println!("{}", sit),
2076 foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo(x),
2077 false => println!("{}", sit),
2081 See also: [`indent_match_arms`](#indent_match_arms), [`match_block_trailing_comma`](#match_block_trailing_comma).
2085 What Write Mode to use when none is supplied: Replace, Overwrite, Display, Diff, Coverage
2087 - **Default value**: `"Overwrite"`
2088 - **Possible values**: `"Checkstyle"`, `"Coverage"`, `"Diff"`, `"Display"`, `"Overwrite"`, `"Plain"`, `"Replace"`