Skip to content

Commit 8296699

Browse files
committed
Remove unnecessary .collect()
1 parent 3525368 commit 8296699

File tree

5 files changed

+9
-14
lines changed

5 files changed

+9
-14
lines changed

src/librustc/infer/error_reporting/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -805,7 +805,7 @@ impl<'a, 'gcx, 'tcx> InferCtxt<'a, 'gcx, 'tcx> {
805805
// Foo<_, Qux>
806806
// ^ elided type as this type argument was the same in both sides
807807
let type_arguments = sub1.types().zip(sub2.types());
808-
let regions_len = sub1.regions().collect::<Vec<_>>().len();
808+
let regions_len = sub1.regions().count();
809809
for (i, (ta1, ta2)) in type_arguments.take(len).enumerate() {
810810
let i = i + regions_len;
811811
if ta1 == ta2 {

src/librustc_errors/emitter.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -528,9 +528,7 @@ impl EmitterWriter {
528528

529529
// If there are no annotations or the only annotations on this line are
530530
// MultilineLine, then there's only code being shown, stop processing.
531-
if line.annotations.is_empty() || line.annotations.iter()
532-
.filter(|a| !a.is_line()).collect::<Vec<_>>().len() == 0
533-
{
531+
if line.annotations.iter().all(|a| a.is_line()) {
534532
return vec![];
535533
}
536534

src/librustc_errors/lib.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -610,9 +610,8 @@ impl Handler {
610610
if can_show_explain && are_there_diagnostics {
611611
let mut error_codes =
612612
self.emitted_diagnostic_codes.borrow()
613-
.clone()
614-
.into_iter()
615-
.filter_map(|x| match x {
613+
.iter()
614+
.filter_map(|x| match *x {
616615
DiagnosticId::Error(ref s) => Some(s.clone()),
617616
_ => None,
618617
})

src/librustc_lint/bad_style.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,20 +83,18 @@ impl NonCamelCaseTypes {
8383
} else {
8484
c.to_lowercase().collect()
8585
})
86-
.collect::<Vec<_>>()
87-
.concat()
86+
.collect::<String>()
8887
})
8988
.filter(|x| !x.is_empty())
90-
.collect::<Vec<_>>()
91-
.iter().fold((String::new(), None), |(acc, prev): (String, Option<&String>), next| {
89+
.fold((String::new(), None), |(acc, prev): (String, Option<String>), next| {
9290
// separate two components with an underscore if their boundary cannot
9391
// be distinguished using a uppercase/lowercase case distinction
9492
let join = if let Some(prev) = prev {
9593
let l = prev.chars().last().unwrap();
9694
let f = next.chars().next().unwrap();
9795
!char_has_case(l) && !char_has_case(f)
9896
} else { false };
99-
(acc + if join { "_" } else { "" } + next, Some(next))
97+
(acc + if join { "_" } else { "" } + &next, Some(next))
10098
}).0
10199
}
102100

src/librustc_resolve/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ fn resolve_struct_error<'sess, 'a>(resolver: &'sess Resolver,
271271
err
272272
}
273273
ResolutionError::VariableNotBoundInPattern(binding_error) => {
274-
let target_sp = binding_error.target.iter().map(|x| *x).collect::<Vec<_>>();
274+
let target_sp = binding_error.target.iter().cloned().collect::<Vec<_>>();
275275
let msp = MultiSpan::from_spans(target_sp.clone());
276276
let msg = format!("variable `{}` is not bound in all patterns", binding_error.name);
277277
let mut err = resolver.session.struct_span_err_with_code(
@@ -282,7 +282,7 @@ fn resolve_struct_error<'sess, 'a>(resolver: &'sess Resolver,
282282
for sp in target_sp {
283283
err.span_label(sp, format!("pattern doesn't bind `{}`", binding_error.name));
284284
}
285-
let origin_sp = binding_error.origin.iter().map(|x| *x).collect::<Vec<_>>();
285+
let origin_sp = binding_error.origin.iter().cloned();
286286
for sp in origin_sp {
287287
err.span_label(sp, "variable not in all patterns");
288288
}

0 commit comments

Comments
 (0)