Rollup merge of #90452 - tmiasko:promote-candidate, r=cjgillot

Remove unnecessary `Option` from `promote_candidate` return type
This commit is contained in:
Matthias Krüger 2021-11-01 03:33:11 +01:00 committed by GitHub
commit 6ce0ef5e89
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -835,11 +835,7 @@ impl<'a, 'tcx> Promoter<'a, 'tcx> {
new_temp
}
fn promote_candidate(
mut self,
candidate: Candidate,
next_promoted_id: usize,
) -> Option<Body<'tcx>> {
fn promote_candidate(mut self, candidate: Candidate, next_promoted_id: usize) -> Body<'tcx> {
let def = self.source.source.with_opt_param();
let mut rvalue = {
let promoted = &mut self.promoted;
@ -938,7 +934,7 @@ impl<'a, 'tcx> Promoter<'a, 'tcx> {
let span = self.promoted.span;
self.assign(RETURN_PLACE, rvalue, span);
Some(self.promoted)
self.promoted
}
}
@ -1011,11 +1007,9 @@ pub fn promote_candidates<'tcx>(
keep_original: false,
};
//FIXME(oli-obk): having a `maybe_push()` method on `IndexVec` might be nice
if let Some(mut promoted) = promoter.promote_candidate(candidate, promotions.len()) {
promoted.source.promoted = Some(promotions.next_index());
promotions.push(promoted);
}
let mut promoted = promoter.promote_candidate(candidate, promotions.len());
promoted.source.promoted = Some(promotions.next_index());
promotions.push(promoted);
}
// Insert each of `extra_statements` before its indicated location, which