Skip to content

Commit 8fd95df

Browse files
committed
Merge pull request #868 from rust-lang-nursery/tuple-wide
Don't apply the function args heuristic to tuple lits.
2 parents ca75718 + 9d8ce54 commit 8fd95df

File tree

10 files changed

+46
-81
lines changed

10 files changed

+46
-81
lines changed

src/chains.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,8 +236,7 @@ fn rewrite_method_call(method_name: ast::Ident,
236236
.map(|ty| ty.rewrite(context, width, offset))
237237
.collect());
238238

239-
(types.last().unwrap().span.hi,
240-
format!("::<{}>", type_list.join(", ")))
239+
(types.last().unwrap().span.hi, format!("::<{}>", type_list.join(", ")))
241240
};
242241

243242
let callee_str = format!(".{}{}", method_name, type_str);

src/comment.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -501,9 +501,7 @@ impl<'a> Iterator for CommentCodeSlices<'a> {
501501
CodeCharKind::Comment => CodeCharKind::Normal,
502502
CodeCharKind::Normal => CodeCharKind::Comment,
503503
};
504-
let res = (kind,
505-
self.last_slice_end,
506-
&self.slice[self.last_slice_end..sub_slice_end]);
504+
let res = (kind, self.last_slice_end, &self.slice[self.last_slice_end..sub_slice_end]);
507505
self.last_slice_end = sub_slice_end;
508506
self.last_slice_kind = kind;
509507

src/expr.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ use std::fmt::Write;
1818
use {Indent, Spanned};
1919
use rewrite::{Rewrite, RewriteContext};
2020
use lists::{write_list, itemize_list, ListFormatting, SeparatorTactic, ListTactic,
21-
DefinitiveListTactic, definitive_tactic, ListItem, format_fn_args};
21+
DefinitiveListTactic, definitive_tactic, ListItem, format_item_list};
2222
use string::{StringFormat, rewrite_string};
2323
use utils::{CodeMapSpanUtils, extra_offset, last_line_width, wrap_str, binary_search,
2424
first_line_width, semicolon_for_stmt};
@@ -1336,9 +1336,7 @@ fn rewrite_call_inner<R>(context: &RewriteContext,
13361336
// Replace the stub with the full overflowing last argument if the rewrite
13371337
// succeeded and its first line fits with the other arguments.
13381338
match (overflow_last, tactic, placeholder) {
1339-
(true,
1340-
DefinitiveListTactic::Horizontal,
1341-
placeholder @ Some(..)) => {
1339+
(true, DefinitiveListTactic::Horizontal, placeholder @ Some(..)) => {
13421340
item_vec[arg_count - 1].item = placeholder;
13431341
}
13441342
(true, _, _) => {
@@ -1511,8 +1509,7 @@ fn rewrite_struct_lit<'a>(context: &RewriteContext,
15111509
outer_indent))
15121510
};
15131511

1514-
match (context.config.struct_lit_style,
1515-
context.config.struct_lit_multiline_style) {
1512+
match (context.config.struct_lit_style, context.config.struct_lit_multiline_style) {
15161513
(StructLitStyle::Block, _) if fields_str.contains('\n') || fields_str.len() > h_budget => {
15171514
format_on_newline()
15181515
}
@@ -1583,7 +1580,7 @@ pub fn rewrite_tuple<'a, I>(context: &RewriteContext,
15831580
list_lo,
15841581
span.hi - BytePos(1));
15851582
let budget = try_opt!(width.checked_sub(2));
1586-
let list_str = try_opt!(format_fn_args(items, budget, indent, context.config));
1583+
let list_str = try_opt!(format_item_list(items, budget, indent, context.config));
15871584

15881585
Some(format!("({})", list_str))
15891586
}

src/items.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1581,9 +1581,7 @@ fn compute_budgets_for_args(context: &RewriteContext,
15811581
let multi_line_budget = context.config.max_width -
15821582
(indent.width() + result.len() + "()".len());
15831583

1584-
return (one_line_budget,
1585-
multi_line_budget,
1586-
indent + result.len() + 1);
1584+
return (one_line_budget, multi_line_budget, indent + result.len() + 1);
15871585
}
15881586
}
15891587

tests/source/issue-510.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ let inline_size = block.get_shrink_to_fit_inline_size(available_inline_size -
1919
}
2020
};
2121

22-
// FIXME(#501): tuple width heuristic may not be optimal for patterns.
2322
let (inline_start, inline_size, margin_inline_start, margin_inline_end) =
2423
match (inline_start, inline_end, computed_inline_size) {
2524
(MaybeAuto::Auto, MaybeAuto::Auto, MaybeAuto::Auto) => {

tests/system.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -305,8 +305,7 @@ fn get_target(file_name: &str, target: Option<&str>, write_mode: Option<WriteMod
305305
let file_path = Path::new(file_name);
306306
let (source_path_prefix, target_path_prefix) = match write_mode {
307307
Some(WriteMode::Coverage) => {
308-
(Path::new("tests/coverage-source/"),
309-
"tests/coverage-target/")
308+
(Path::new("tests/coverage-source/"), "tests/coverage-target/")
310309
}
311310
_ => (Path::new("tests/source/"), "tests/target/"),
312311
};

tests/target/closure.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ fn main() {
99
b: WithType, // argument
1010
// ignored
1111
_| {
12-
(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
13-
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb)
12+
(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb)
1413
};
1514

1615
let block_body = move |xxxxxxxxxxxxxxxxxxxxxxxxxxxxx,

tests/target/issue-510.rs

Lines changed: 31 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -4,40 +4,37 @@ impl ISizeAndMarginsComputer for AbsoluteNonReplaced {
44
input: &ISizeConstraintInput)
55
-> ISizeConstraintSolution {
66

7-
let (inline_start,
8-
inline_size,
9-
margin_inline_start,
10-
margin_inline_end) = match (inline_startssssssxxxxxxsssssxxxxxxxxxssssssxxx,
11-
inline_startssssssxxxxxxsssssxxxxxxxxxssssssxxx) {
12-
(MaybeAuto::Auto, MaybeAuto::Auto, MaybeAuto::Auto) => {
13-
let margin_start = inline_start_margin.specified_or_zero();
14-
let margin_end = inline_end_margin.specified_or_zero();
15-
// Now it is the same situation as inline-start Specified and inline-end
16-
// and inline-size Auto.
17-
//
18-
// Set inline-end to zero to calculate inline-size.
19-
let inline_size = block.get_shrink_to_fit_inline_size(available_inline_size -
20-
(margin_start + margin_end));
21-
(Au(0), inline_size, margin_start, margin_end)
22-
}
23-
};
7+
let (inline_start, inline_size, margin_inline_start, margin_inline_end) =
8+
match (inline_startssssssxxxxxxsssssxxxxxxxxxssssssxxx,
9+
inline_startssssssxxxxxxsssssxxxxxxxxxssssssxxx) {
10+
(MaybeAuto::Auto, MaybeAuto::Auto, MaybeAuto::Auto) => {
11+
let margin_start = inline_start_margin.specified_or_zero();
12+
let margin_end = inline_end_margin.specified_or_zero();
13+
// Now it is the same situation as inline-start Specified and inline-end
14+
// and inline-size Auto.
15+
//
16+
// Set inline-end to zero to calculate inline-size.
17+
let inline_size = block.get_shrink_to_fit_inline_size(available_inline_size -
18+
(margin_start +
19+
margin_end));
20+
(Au(0), inline_size, margin_start, margin_end)
21+
}
22+
};
2423

25-
// FIXME(#501): tuple width heuristic may not be optimal for patterns.
26-
let (inline_start,
27-
inline_size,
28-
margin_inline_start,
29-
margin_inline_end) = match (inline_start, inline_end, computed_inline_size) {
30-
(MaybeAuto::Auto, MaybeAuto::Auto, MaybeAuto::Auto) => {
31-
let margin_start = inline_start_margin.specified_or_zero();
32-
let margin_end = inline_end_margin.specified_or_zero();
33-
// Now it is the same situation as inline-start Specified and inline-end
34-
// and inline-size Auto.
35-
//
36-
// Set inline-end to zero to calculate inline-size.
37-
let inline_size = block.get_shrink_to_fit_inline_size(available_inline_size -
38-
(margin_start + margin_end));
39-
(Au(0), inline_size, margin_start, margin_end)
40-
}
41-
};
24+
let (inline_start, inline_size, margin_inline_start, margin_inline_end) =
25+
match (inline_start, inline_end, computed_inline_size) {
26+
(MaybeAuto::Auto, MaybeAuto::Auto, MaybeAuto::Auto) => {
27+
let margin_start = inline_start_margin.specified_or_zero();
28+
let margin_end = inline_end_margin.specified_or_zero();
29+
// Now it is the same situation as inline-start Specified and inline-end
30+
// and inline-size Auto.
31+
//
32+
// Set inline-end to zero to calculate inline-size.
33+
let inline_size = block.get_shrink_to_fit_inline_size(available_inline_size -
34+
(margin_start +
35+
margin_end));
36+
(Au(0), inline_size, margin_start, margin_end)
37+
}
38+
};
4239
}
4340
}

tests/target/match.rs

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,7 @@ fn foo() {
3232
}
3333

3434
// Test that earlier patterns can take the guard space
35-
(aaaa,
36-
bbbbb,
37-
ccccccc,
38-
aaaaa,
39-
bbbbbbbb,
40-
cccccc,
41-
aaaa,
42-
bbbbbbbb,
43-
cccccc,
44-
dddddd) |
35+
(aaaa, bbbbb, ccccccc, aaaaa, bbbbbbbb, cccccc, aaaa, bbbbbbbb, cccccc, dddddd) |
4536
Patternnnnnnnnnnnnnnnnnnnnnnnnn if loooooooooooooooooooooooooooooooooooooooooong_guard => {}
4637

4738
_ => {}
@@ -75,22 +66,13 @@ fn main() {
7566
fn main() {
7667
match r {
7768
Variableeeeeeeeeeeeeeeeee => {
78-
("variable",
79-
vec!["id", "name", "qualname", "value", "type", "scopeid"],
80-
true,
81-
true)
69+
("variable", vec!["id", "name", "qualname", "value", "type", "scopeid"], true, true)
8270
}
8371
Enummmmmmmmmmmmmmmmmmmmm => {
84-
("enum",
85-
vec!["id", "qualname", "scopeid", "value"],
86-
true,
87-
true)
72+
("enum", vec!["id", "qualname", "scopeid", "value"], true, true)
8873
}
8974
Variantttttttttttttttttttttttt => {
90-
("variant",
91-
vec!["id", "name", "qualname", "type", "value", "scopeid"],
92-
true,
93-
true)
75+
("variant", vec!["id", "name", "qualname", "type", "value", "scopeid"], true, true)
9476
}
9577
};
9678

tests/target/tuple.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22

33
fn foo() {
44
let a = (a, a, a, a, a);
5-
let aaaaaaaaaaaaaaaa = (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
6-
aaaaaaaaaaaaaa,
7-
aaaaaaaaaaaaaa);
5+
let aaaaaaaaaaaaaaaa = (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaa, aaaaaaaaaaaaaa);
86
let aaaaaaaaaaaaaaaaaaaaaa = (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
97
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
108
aaaaaaaaaaaaaaaaaaaaaaaaa,
@@ -26,7 +24,6 @@ fn a() {
2624
}
2725

2826
fn b() {
29-
((bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,
30-
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb),
27+
((bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb, bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb),
3128
bbbbbbbbbbbbbbbbbb)
3229
}

0 commit comments

Comments
 (0)