collect diag suggestions instead of pushing into vector repeatedly
This commit is contained in:
parent
6680bc5554
commit
27b0693464
1 changed files with 9 additions and 12 deletions
|
@ -2680,19 +2680,16 @@ impl<'infcx, 'tcx> MirBorrowckCtxt<'_, 'infcx, 'tcx> {
|
|||
return;
|
||||
}
|
||||
|
||||
let mut sugg = vec![];
|
||||
let sm = self.infcx.tcx.sess.source_map();
|
||||
|
||||
if let Some(span) = finder.closure_arg_span {
|
||||
sugg.push((sm.next_point(span.shrink_to_lo()).shrink_to_hi(), finder.suggest_arg));
|
||||
}
|
||||
for span in finder.closure_change_spans {
|
||||
sugg.push((span, "this".to_string()));
|
||||
}
|
||||
|
||||
for (span, suggest) in finder.closure_call_changes {
|
||||
sugg.push((span, suggest));
|
||||
}
|
||||
let sugg = finder
|
||||
.closure_arg_span
|
||||
.map(|span| (sm.next_point(span.shrink_to_lo()).shrink_to_hi(), finder.suggest_arg))
|
||||
.into_iter()
|
||||
.chain(
|
||||
finder.closure_change_spans.into_iter().map(|span| (span, "this".to_string())),
|
||||
)
|
||||
.chain(finder.closure_call_changes)
|
||||
.collect();
|
||||
|
||||
err.multipart_suggestion_verbose(
|
||||
"try explicitly passing `&Self` into the closure as an argument",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue