Merge pull request #3077 from YaLTeR/fix-extra-commas

Get rid of extra commas in Visual struct literal formatting
This commit is contained in:
Nick Cameron 2018-10-08 14:37:48 +13:00 committed by GitHub
commit 832a912f79
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 36 additions and 22 deletions

View file

@ -236,7 +236,7 @@ fn main() {
```rust
fn main() {
let lorem = Lorem { ipsum: dolor,
sit: amet, };
sit: amet };
}
```

View file

@ -1610,7 +1610,7 @@ fn rewrite_struct_lit<'a>(
nested_shape,
tactic,
context,
force_no_trailing_comma || base.is_some(),
force_no_trailing_comma || base.is_some() || !context.use_block_indent(),
);
write_list(&item_vec, &fmt)?

View file

@ -0,0 +1,7 @@
// rustfmt-indent_style: Visual
fn main() {
Struct { field: aaaaaaaaaaa };
Struct { field: aaaaaaaaaaaa, };
Struct { field: value,
field2: value2, };
}

View file

@ -55,11 +55,11 @@ fn main() {
fn floaters() {
let z = Foo { field1: val1,
field2: val2, };
field2: val2 };
let x = Foo { field1: val1,
field2: val2, }.method_call()
.method_call();
field2: val2 }.method_call()
.method_call();
let y = if cond { val1 } else { val2 }.method_call();
@ -89,11 +89,11 @@ fn floaters() {
.quux();
Foo { y: i_am_multi_line,
z: ok, }.baz(|| {
force();
multiline();
})
.quux();
z: ok }.baz(|| {
force();
multiline();
})
.quux();
a + match x {
true => "yay!",

View file

@ -3,5 +3,5 @@
fn main() {
let lorem = Lorem { ipsum: dolor,
sit: amet, };
sit: amet };
}

View file

@ -0,0 +1,7 @@
// rustfmt-indent_style: Visual
fn main() {
Struct { field: aaaaaaaaaaa };
Struct { field: aaaaaaaaaaaa };
Struct { field: value,
field2: value2 };
}

View file

@ -20,17 +20,17 @@ fn main() {
Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo { // Comment
a: foo(), /* Comment */
// Comment
b: bar(), /* Comment */ };
b: bar() /* Comment */ };
Foo { a: Bar, b: f() };
Quux { x: if cond {
bar();
},
y: baz(), };
y: baz() };
Baz { x: yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,
z: zzzzz, /* test */ };
z: zzzzz /* test */ };
A { // Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit
// amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante
@ -38,12 +38,12 @@ fn main() {
first: item(),
// Praesent et diam eget libero egestas mattis sit amet vitae augue.
// Nam tincidunt congue enim, ut porta lorem lacinia consectetur.
second: Item, };
second: Item };
Diagram { // o This graph demonstrates how
// / \ significant whitespace is
// o o preserved.
// /|\ \
// o o o o
graph: G, }
graph: G }
}

View file

@ -17,20 +17,20 @@ fn main() {
..something };
Fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo { a: foo(),
b: bar(), };
b: bar() };
Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo { // Comment
a: foo(), /* Comment */
// Comment
b: bar(), /* Comment */ };
b: bar() /* Comment */ };
Foo { a: Bar,
b: foo(), };
b: foo() };
Quux { x: if cond {
bar();
},
y: baz(), };
y: baz() };
A { // Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit
// amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante
@ -38,12 +38,12 @@ fn main() {
first: item(),
// Praesent et diam eget libero egestas mattis sit amet vitae augue.
// Nam tincidunt congue enim, ut porta lorem lacinia consectetur.
second: Item, };
second: Item };
Diagram { // o This graph demonstrates how
// / \ significant whitespace is
// o o preserved.
// /|\ \
// o o o o
graph: G, }
graph: G }
}