Use vec![x; n] instead of iter::repeat(x).take(n).collect()

This commit is contained in:
ljedrz 2018-10-30 14:37:26 +01:00
parent b1ca3907e0
commit d1e74a3356
2 changed files with 3 additions and 9 deletions

View File

@ -295,12 +295,10 @@ pub fn new_decoding_session(&self) -> AllocDecodingSession<'_> {
}
pub fn new(data_offsets: Vec<u32>) -> AllocDecodingState {
let decoding_state: Vec<_> = ::std::iter::repeat(Mutex::new(State::Empty))
.take(data_offsets.len())
.collect();
let decoding_state = vec![Mutex::new(State::Empty); data_offsets.len()];
AllocDecodingState {
decoding_state: decoding_state,
decoding_state,
data_offsets,
}
}

View File

@ -34,7 +34,6 @@
use infer::{self, InferCtxt};
use infer::type_variable::TypeVariableOrigin;
use std::fmt;
use std::iter;
use syntax::ast;
use session::DiagnosticMessageId;
use ty::{self, AdtKind, ToPredicate, ToPolyTraitRef, Ty, TyCtxt, TypeFoldable};
@ -1095,10 +1094,7 @@ pub fn report_arg_count_mismatch(
// found arguments is empty (assume the user just wants to ignore args in this case).
// For example, if `expected_args_length` is 2, suggest `|_, _|`.
if found_args.is_empty() && is_closure {
let underscores = iter::repeat("_")
.take(expected_args.len())
.collect::<Vec<_>>()
.join(", ");
let underscores = vec!["_"; expected_args.len()].join(", ");
err.span_suggestion_with_applicability(
found_span,
&format!(