Skip to content

Commit dfa94d1

Browse files
authored
Merge pull request #3480 from sinkuu/cleanup
Cleanups
2 parents f70ce00 + 9fda937 commit dfa94d1

14 files changed

+60
-76
lines changed

src/chains.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -550,7 +550,7 @@ impl<'a> ChainFormatterShared<'a> {
550550
let almost_total = if extendable {
551551
prev_last_line_width
552552
} else {
553-
self.rewrites.iter().fold(0, |a, b| a + b.len())
553+
self.rewrites.iter().map(|a| a.len()).sum()
554554
} + last.tries;
555555
let one_line_budget = if self.child_count == 1 {
556556
shape.width

src/comment.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -591,7 +591,7 @@ impl<'a> CommentRewrite<'a> {
591591
) {
592592
Some(s) => self.result.push_str(&Self::join_block(
593593
&s,
594-
&format!("{}{}", &self.comment_line_separator, ib.line_start),
594+
&format!("{}{}", self.comment_line_separator, ib.line_start),
595595
)),
596596
None => self.result.push_str(&Self::join_block(
597597
&ib.original_block_as_string(),
@@ -634,7 +634,7 @@ impl<'a> CommentRewrite<'a> {
634634
) {
635635
Some(s) => self.result.push_str(&Self::join_block(
636636
&s,
637-
&format!("{}{}", &self.comment_line_separator, ib.line_start),
637+
&format!("{}{}", self.comment_line_separator, ib.line_start),
638638
)),
639639
None => self.result.push_str(&Self::join_block(
640640
&ib.original_block_as_string(),

src/config/config_type.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -236,10 +236,7 @@ macro_rules! create_config {
236236
use std::cmp;
237237
let max = 0;
238238
$( let max = cmp::max(max, stringify!($i).len()+1); )+
239-
let mut space_str = String::with_capacity(max);
240-
for _ in 0..max {
241-
space_str.push(' ');
242-
}
239+
let space_str = " ".repeat(max);
243240
writeln!(out, "Configuration Options:").unwrap();
244241
$(
245242
if $stb || include_unstable {

src/config/file_lines.rs

+10-12
Original file line numberDiff line numberDiff line change
@@ -156,20 +156,18 @@ fn normalize_ranges(ranges: &mut HashMap<FileName, Vec<Range>>) {
156156
for ranges in ranges.values_mut() {
157157
ranges.sort();
158158
let mut result = vec![];
159-
{
160-
let mut iter = ranges.iter_mut().peekable();
161-
while let Some(next) = iter.next() {
162-
let mut next = *next;
163-
while let Some(&&mut peek) = iter.peek() {
164-
if let Some(merged) = next.merge(peek) {
165-
iter.next().unwrap();
166-
next = merged;
167-
} else {
168-
break;
169-
}
159+
let mut iter = ranges.iter_mut().peekable();
160+
while let Some(next) = iter.next() {
161+
let mut next = *next;
162+
while let Some(&&mut peek) = iter.peek() {
163+
if let Some(merged) = next.merge(peek) {
164+
iter.next().unwrap();
165+
next = merged;
166+
} else {
167+
break;
170168
}
171-
result.push(next)
172169
}
170+
result.push(next)
173171
}
174172
*ranges = result;
175173
}

src/config/mod.rs

+8-10
Original file line numberDiff line numberDiff line change
@@ -257,16 +257,14 @@ impl Config {
257257
let parsed: ::toml::Value = toml
258258
.parse()
259259
.map_err(|e| format!("Could not parse TOML: {}", e))?;
260-
let mut err: String = String::new();
261-
{
262-
let table = parsed
263-
.as_table()
264-
.ok_or(String::from("Parsed config was not table"))?;
265-
for key in table.keys() {
266-
if !Config::is_valid_name(key) {
267-
let msg = &format!("Warning: Unknown configuration option `{}`\n", key);
268-
err.push_str(msg)
269-
}
260+
let mut err = String::new();
261+
let table = parsed
262+
.as_table()
263+
.ok_or(String::from("Parsed config was not table"))?;
264+
for key in table.keys() {
265+
if !Config::is_valid_name(key) {
266+
let msg = &format!("Warning: Unknown configuration option `{}`\n", key);
267+
err.push_str(msg)
270268
}
271269
}
272270
match parsed.try_into() {

src/expr.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use std::borrow::Cow;
22
use std::cmp::min;
33

4+
use itertools::Itertools;
45
use syntax::parse::token::DelimToken;
56
use syntax::source_map::{BytePos, SourceMap, Span};
67
use syntax::{ast, ptr};
@@ -1246,8 +1247,7 @@ fn rewrite_string_lit(context: &RewriteContext<'_>, span: Span, shape: Shape) ->
12461247
if !context.config.format_strings() {
12471248
if string_lit
12481249
.lines()
1249-
.rev()
1250-
.skip(1)
1250+
.dropping_back(1)
12511251
.all(|line| line.ends_with('\\'))
12521252
{
12531253
let new_indent = shape.visual_indent(1).indent;
@@ -1459,7 +1459,7 @@ fn rewrite_paren(
14591459
let subexpr_str = subexpr.rewrite(context, sub_shape)?;
14601460
let fits_single_line = !pre_comment.contains("//") && !post_comment.contains("//");
14611461
if fits_single_line {
1462-
Some(format!("({}{}{})", pre_comment, &subexpr_str, post_comment))
1462+
Some(format!("({}{}{})", pre_comment, subexpr_str, post_comment))
14631463
} else {
14641464
rewrite_paren_in_multi_line(context, subexpr, shape, pre_span, post_span)
14651465
}

src/formatting.rs

+1-5
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,7 @@ impl<'b, T: Write + 'b> Session<'b, T> {
4848
let format_result = format_project(input, config, self);
4949

5050
format_result.map(|report| {
51-
{
52-
let new_errors = &report.internal.borrow().1;
53-
54-
self.errors.add(new_errors);
55-
}
51+
self.errors.add(&report.internal.borrow().1);
5652
report
5753
})
5854
})

src/imports.rs

+5-7
Original file line numberDiff line numberDiff line change
@@ -205,11 +205,10 @@ impl fmt::Display for UseSegment {
205205
UseSegment::List(ref list) => {
206206
write!(f, "{{")?;
207207
for (i, item) in list.iter().enumerate() {
208-
let is_last = i == list.len() - 1;
209-
write!(f, "{}", item)?;
210-
if !is_last {
208+
if i != 0 {
211209
write!(f, ", ")?;
212210
}
211+
write!(f, "{}", item)?;
213212
}
214213
write!(f, "}}")
215214
}
@@ -219,13 +218,12 @@ impl fmt::Display for UseSegment {
219218
impl fmt::Display for UseTree {
220219
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
221220
for (i, segment) in self.path.iter().enumerate() {
222-
let is_last = i == self.path.len() - 1;
223-
write!(f, "{}", segment)?;
224-
if !is_last {
221+
if i != 0 {
225222
write!(f, "::")?;
226223
}
224+
write!(f, "{}", segment)?;
227225
}
228-
write!(f, "")
226+
Ok(())
229227
}
230228
}
231229

src/items.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -730,7 +730,7 @@ pub fn format_impl(
730730
if generics.where_clause.predicates.len() == 1 {
731731
result.push_str(",");
732732
}
733-
result.push_str(&format!("{}{{{}}}", &sep, &sep));
733+
result.push_str(&format!("{}{{{}}}", sep, sep));
734734
} else {
735735
result.push_str(" {}");
736736
}
@@ -912,7 +912,7 @@ fn rewrite_trait_ref(
912912
let shape = Shape::indented(offset + used_space, context.config);
913913
if let Some(trait_ref_str) = trait_ref.rewrite(context, shape) {
914914
if !trait_ref_str.contains('\n') {
915-
return Some(format!(" {}{}", polarity_str, &trait_ref_str));
915+
return Some(format!(" {}{}", polarity_str, trait_ref_str));
916916
}
917917
}
918918
// We could not make enough space for trait_ref, so put it on new line.
@@ -921,9 +921,9 @@ fn rewrite_trait_ref(
921921
let trait_ref_str = trait_ref.rewrite(context, shape)?;
922922
Some(format!(
923923
"{}{}{}",
924-
&offset.to_string_with_newline(context.config),
924+
offset.to_string_with_newline(context.config),
925925
polarity_str,
926-
&trait_ref_str
926+
trait_ref_str
927927
))
928928
}
929929

src/lists.rs

+2-7
Original file line numberDiff line numberDiff line change
@@ -577,13 +577,8 @@ pub fn extract_pre_comment(pre_snippet: &str) -> (Option<String>, ListItemCommen
577577
let has_block_comment = trimmed_pre_snippet.ends_with("*/");
578578
let has_single_line_comment = trimmed_pre_snippet.starts_with("//");
579579
if has_block_comment {
580-
let comment_end = pre_snippet.chars().rev().position(|c| c == '/').unwrap();
581-
if pre_snippet
582-
.chars()
583-
.rev()
584-
.take(comment_end + 1)
585-
.any(|c| c == '\n')
586-
{
580+
let comment_end = pre_snippet.rfind(|c| c == '/').unwrap();
581+
if pre_snippet[comment_end..].contains('\n') {
587582
(
588583
Some(trimmed_pre_snippet.to_owned()),
589584
ListItemCommentStyle::DifferentLine,

src/macros.rs

+4-9
Original file line numberDiff line numberDiff line change
@@ -540,17 +540,12 @@ fn register_metavariable(
540540
name: &str,
541541
dollar_count: usize,
542542
) {
543-
let mut new_name = String::new();
544-
let mut old_name = String::new();
543+
let mut new_name = "$".repeat(dollar_count - 1);
544+
let mut old_name = "$".repeat(dollar_count);
545545

546-
old_name.push('$');
547-
for _ in 0..(dollar_count - 1) {
548-
new_name.push('$');
549-
old_name.push('$');
550-
}
551546
new_name.push('z');
552-
new_name.push_str(&name);
553-
old_name.push_str(&name);
547+
new_name.push_str(name);
548+
old_name.push_str(name);
554549

555550
result.push_str(&new_name);
556551
map.insert(old_name, new_name);

src/overflow.rs

+9-4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
33
use std::cmp::min;
44

5+
use itertools::Itertools;
56
use syntax::parse::token::DelimToken;
67
use syntax::source_map::Span;
78
use syntax::{ast, ptr};
@@ -711,10 +712,14 @@ fn last_item_shape(
711712
if items.len() == 1 && !lists.get(0)?.is_nested_call() {
712713
return Some(shape);
713714
}
714-
let offset = items.iter().rev().skip(1).fold(0, |acc, i| {
715-
// 2 = ", "
716-
acc + 2 + i.inner_as_ref().len()
717-
});
715+
let offset = items
716+
.iter()
717+
.dropping_back(1)
718+
.map(|i| {
719+
// 2 = ", "
720+
2 + i.inner_as_ref().len()
721+
})
722+
.sum();
718723
Shape {
719724
width: min(args_max_width, shape.width),
720725
..shape

src/test/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -609,11 +609,11 @@ fn handle_result(
609609
for (file_name, fmt_text) in result {
610610
// If file is in tests/source, compare to file with same name in tests/target.
611611
let target = get_target(&file_name, target);
612-
let open_error = format!("couldn't open target {:?}", &target);
612+
let open_error = format!("couldn't open target {:?}", target);
613613
let mut f = fs::File::open(&target).expect(&open_error);
614614

615615
let mut text = String::new();
616-
let read_error = format!("failed reading target {:?}", &target);
616+
let read_error = format!("failed reading target {:?}", target);
617617
f.read_to_string(&mut text).expect(&read_error);
618618

619619
// Ignore LF and CRLF difference for Windows.

src/vertical.rs

+8-6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
use std::cmp;
44

5+
use itertools::Itertools;
56
use syntax::ast;
67
use syntax::source_map::{BytePos, Span};
78

@@ -190,11 +191,8 @@ fn struct_field_prefix_max_min_width<T: AlignedItem>(
190191
}
191192
})
192193
})
193-
.fold(Some((0, ::std::usize::MAX)), |acc, len| match (acc, len) {
194-
(Some((max_len, min_len)), Some(len)) => {
195-
Some((cmp::max(max_len, len), cmp::min(min_len, len)))
196-
}
197-
_ => None,
194+
.fold_options((0, ::std::usize::MAX), |(max_len, min_len), len| {
195+
(cmp::max(max_len, len), cmp::min(min_len, len))
198196
})
199197
.unwrap_or((0, 0))
200198
}
@@ -274,7 +272,11 @@ fn group_aligned_items<T: AlignedItem>(
274272
.skip(1)
275273
.collect::<Vec<_>>()
276274
.join("\n");
277-
let spacings = if snippet.lines().rev().skip(1).any(|l| l.trim().is_empty()) {
275+
let spacings = if snippet
276+
.lines()
277+
.dropping_back(1)
278+
.any(|l| l.trim().is_empty())
279+
{
278280
"\n"
279281
} else {
280282
""

0 commit comments

Comments
 (0)