```rust
fn main() {
- if lorem_ipsum && dolor_sit && amet_consectetur && lorem_sit && dolor_consectetur && amet_ipsum
+ if lorem_ipsum
+ && dolor_sit
+ && amet_consectetur
+ && lorem_sit
+ && dolor_consectetur
+ && amet_ipsum
&& lorem_consectetur
{
// ...
```rust
fn main() {
- if lorem_ipsum && dolor_sit && amet_consectetur && lorem_sit && dolor_consectetur && amet_ipsum
+ if lorem_ipsum
+ && dolor_sit
+ && amet_consectetur
+ && lorem_sit
+ && dolor_consectetur
+ && amet_ipsum
&& lorem_consectetur
{
// ...
let or = foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo
|| barbarbarbarbarbarbarbarbarbarbarbarbarbarbarbar;
- let sum = 123456789012345678901234567890 + 123456789012345678901234567890
+ let sum = 123456789012345678901234567890
+ + 123456789012345678901234567890
+ 123456789012345678901234567890;
let range = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
let or = foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo ||
barbarbarbarbarbarbarbarbarbarbarbarbarbarbarbar;
- let sum = 123456789012345678901234567890 + 123456789012345678901234567890 +
+ let sum = 123456789012345678901234567890 +
+ 123456789012345678901234567890 +
123456789012345678901234567890;
let range = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa..
```rust
use foo::{xxxxxxxxxxxxxxxxxx, yyyyyyyyyyyyyyyyyy, zzzzzzzzzzzzzzzzzz};
-use foo::{aaaaaaaaaaaaaaaaaa, bbbbbbbbbbbbbbbbbb, cccccccccccccccccc, dddddddddddddddddd,
- eeeeeeeeeeeeeeeeee, ffffffffffffffffff};
+use foo::{
+ aaaaaaaaaaaaaaaaaa, bbbbbbbbbbbbbbbbbb, cccccccccccccccccc, dddddddddddddddddd,
+ eeeeeeeeeeeeeeeeee, ffffffffffffffffff,
+};
```
#### `"Horizontal"`:
```rust
use foo::{xxxxxxxxxxxxxxxxxx, yyyyyyyyyyyyyyyyyy, zzzzzzzzzzzzzzzzzz};
-use foo::{aaaaaaaaaaaaaaaaaa,
- bbbbbbbbbbbbbbbbbb,
- cccccccccccccccccc,
- dddddddddddddddddd,
- eeeeeeeeeeeeeeeeee,
- ffffffffffffffffff};
+use foo::{
+ aaaaaaaaaaaaaaaaaa,
+ bbbbbbbbbbbbbbbbbb,
+ cccccccccccccccccc,
+ dddddddddddddddddd,
+ eeeeeeeeeeeeeeeeee,
+ ffffffffffffffffff,
+};
```
#### `"Vertical"`:
```rust
-use foo::{xxx,
- yyy,
- zzz};
+use foo::{
+ xxx,
+ yyy,
+ zzz,
+};
+
+use foo::{
+ aaa,
+ bbb,
+ ccc,
+ ddd,
+ eee,
+ fff,
+};
+```
+
+## `merge_imports`
+
+Merge multiple imports into a single nested import.
+
+- **Default value**: `false`
+- **Possible values**: `true`, `false`
+- **Stable**: No
+
+#### `false` (default):
+
+```rust
+use foo::{a, c, d};
+use foo::{b, g};
+use foo::{e, f};
+```
+
+#### `true`:
-use foo::{aaa,
- bbb,
- ccc,
- ddd,
- eee,
- fff};
+```rust
+use foo::{a, b, c, d, e, f, g};
```
- **Default value**: `false`
- **Possible values**: `true`, `false`
-- **Stable**: Yes
+- **Stable**: No
#### `false` (default):
fn adipiscing() -> usize {}
```
+## `remove_nested_parens`
+
+Remove nested parens.
+
+- **Default value**: `true`,
+- **Possible values**: `true`, `false`
+- **Stable**: Yes
+
+
+#### `true` (default):
+```rust
+fn main() {
+ (foo());
+}
+```
+
+#### `false`:
+```rust
+fn main() {
+ ((((foo()))));
+}
+```
+
## `reorder_imports`
-Reorder import and extern crate statements alphabetically
+Reorder import and extern crate statements alphabetically in groups (a group is
+separated by a newline).
-- **Default value**: `false`
+- **Default value**: `true`
- **Possible values**: `true`, `false`
-- **Stable**: No
+- **Stable**: Yes
-#### `false` (default):
+#### `true` (default):
```rust
-use lorem;
-use ipsum;
use dolor;
+use ipsum;
+use lorem;
use sit;
```
-#### `true`:
+#### `false`:
```rust
-use dolor;
-use ipsum;
use lorem;
+use ipsum;
+use dolor;
use sit;
```
- **Default value**: `true`
- **Possible values**: `true`, `false`
-- **Stable**: No
+- **Stable**: Yes
#### `true` (default)
}
```
-## `spaces_within_parens_and_brackets`
-
-Put spaces within non-empty generic arguments, parentheses, and square brackets
-
-- **Default value**: `false`
-- **Possible values**: `true`, `false`
-- **Stable**: No
-
-#### `false` (default):
-
-```rust
-// generic arguments
-fn lorem<T: Eq>(t: T) {
- // body
-}
-
-// non-empty parentheses
-fn lorem<T: Eq>(t: T) {
- let lorem = (ipsum, dolor);
-}
-
-// non-empty square brackets
-fn lorem<T: Eq>(t: T) {
- let lorem: [usize; 2] = [ipsum, dolor];
-}
-```
-
-#### `true`:
-
-```rust
-// generic arguments
-fn lorem< T: Eq >( t: T ) {
- // body
-}
-
-// non-empty parentheses
-fn lorem< T: Eq >( t: T ) {
- let lorem = ( ipsum, dolor );
-}
-
-// non-empty square brackets
-fn lorem< T: Eq >( t: T ) {
- let lorem: [ usize; 2 ] = [ ipsum, dolor ];
-}
-```
-
## `struct_lit_single_line`
Put small struct literals on a single line
- **Default value**: `false`
- **Possible values**: `true`, `false`
-- **Stable**: No
+- **Stable**: Yes
#### `false` (default):
- **Default value**: `false`
- **Possible values**: `true`, `false`
-- **Stable**: No
+- **Stable**: Yes
#### `false` (default):
- **Default value**: `false`
- **Possible values**: `true`, `false`
-- **Stable**: Yes
+- **Stable**: No
#### `false` (default):
Original Code:
```rust
-#![rustfmt_skip]
+#![rustfmt::skip]
fn foo() {
println!("a");
Original Code (rustfmt will not change it with the default value of `0`):
```rust
-#![rustfmt_skip]
+#![rustfmt::skip]
fn foo() {
println!("a");
}
```
-## `remove_blank_lines_at_start_or_end_of_block`
-
-Remove blank lines at the start or the end of a block.
-
-- **Default value**: `true`
-- **Possible values**: `true`, `false`
-- **Stable**: No
-
-#### `true`
-
-```rust
-fn foo() {
- let msg = {
- let mut str = String::new();
- str.push_str("hello, ");
- str.push_str("world!");
- str
- };
- println!("{}", msg);
-}
-```
-
-#### `false`
-
-```rust
-fn foo() {
-
- let msg = {
-
- let mut str = String::new();
- str.push_str("hello, ");
- str.push_str("world!");
- str
-
- };
- println!("{}", msg);
-
-}
-```
## `required_version`
-Require a specific version of rustfmt. If you want to make sure that the
+Require a specific version of rustfmt. If you want to make sure that the
specific version of rustfmt is used in your CI, use this option.
- **Default value**: `CARGO_PKG_VERSION`
- **Default value**: `false`
- **Possible values**: `true`, `false`
-- **Stable**: Yes
+- **Stable**: No
## `license_template_path`