Skip to content

Commit c75c4a5

Browse files
committed
replaced some map_or with map_or_else
1 parent 5ff1be1 commit c75c4a5

File tree

12 files changed

+82
-70
lines changed

12 files changed

+82
-70
lines changed

compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2372,7 +2372,7 @@ fn compute_type_parameters(cx: &CodegenCx<'ll, 'tcx>, ty: Ty<'tcx>) -> &'ll DIAr
23722372
fn get_parameter_names(cx: &CodegenCx<'_, '_>, generics: &ty::Generics) -> Vec<Symbol> {
23732373
let mut names = generics
23742374
.parent
2375-
.map_or(vec![], |def_id| get_parameter_names(cx, cx.tcx.generics_of(def_id)));
2375+
.map_or_else(|| vec![], |def_id| get_parameter_names(cx, cx.tcx.generics_of(def_id)));
23762376
names.extend(generics.params.iter().map(|param| param.name));
23772377
names
23782378
}

compiler/rustc_codegen_llvm/src/debuginfo/mod.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -481,9 +481,10 @@ impl DebugInfoMethods<'tcx> for CodegenCx<'ll, 'tcx> {
481481
}
482482

483483
fn get_parameter_names(cx: &CodegenCx<'_, '_>, generics: &ty::Generics) -> Vec<Symbol> {
484-
let mut names = generics
485-
.parent
486-
.map_or(vec![], |def_id| get_parameter_names(cx, cx.tcx.generics_of(def_id)));
484+
let mut names = generics.parent.map_or_else(
485+
|| vec![],
486+
|def_id| get_parameter_names(cx, cx.tcx.generics_of(def_id)),
487+
);
487488
names.extend(generics.params.iter().map(|param| param.name));
488489
names
489490
}

compiler/rustc_codegen_llvm/src/metadata.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ fn search_meta_section<'a>(
6565
while llvm::LLVMIsSectionIteratorAtEnd(of.llof, si.llsi) == False {
6666
let mut name_buf = None;
6767
let name_len = llvm::LLVMRustGetSectionName(si.llsi, &mut name_buf);
68-
let name = name_buf.map_or(
69-
String::new(), // We got a NULL ptr, ignore `name_len`.
68+
let name = name_buf.map_or_else(
69+
|| String::new(), // We got a NULL ptr, ignore `name_len`.
7070
|buf| {
7171
String::from_utf8(
7272
slice::from_raw_parts(buf.as_ptr() as *const u8, name_len as usize)

compiler/rustc_macros/src/query.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,7 @@ fn add_query_description_impl(
409409
};
410410

411411
let (tcx, desc) = modifiers.desc;
412-
let tcx = tcx.as_ref().map_or(quote! { _ }, |t| quote! { #t });
412+
let tcx = tcx.as_ref().map_or_else(|| quote! { _ }, |t| quote! { #t });
413413

414414
let desc = quote! {
415415
#[allow(unused_variables)]

compiler/rustc_mir/src/const_eval/eval_queries.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ fn eval_body_using_ecx<'mir, 'tcx>(
5050

5151
let name =
5252
with_no_trimmed_paths(|| ty::tls::with(|tcx| tcx.def_path_str(cid.instance.def_id())));
53-
let prom = cid.promoted.map_or(String::new(), |p| format!("::promoted[{:?}]", p));
53+
let prom = cid.promoted.map_or_else(|| String::new(), |p| format!("::promoted[{:?}]", p));
5454
trace!("eval_body_using_ecx: pushing stack frame for global: {}{}", name, prom);
5555

5656
ecx.push_stack_frame(

compiler/rustc_parse/src/parser/diagnostics.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ impl<'a> Parser<'a> {
223223
fn tokens_to_string(tokens: &[TokenType]) -> String {
224224
let mut i = tokens.iter();
225225
// This might be a sign we need a connect method on `Iterator`.
226-
let b = i.next().map_or(String::new(), |t| t.to_string());
226+
let b = i.next().map_or_else(|| String::new(), |t| t.to_string());
227227
i.enumerate().fold(b, |mut b, (i, a)| {
228228
if tokens.len() > 2 && i == tokens.len() - 2 {
229229
b.push_str(", or ");

compiler/rustc_resolve/src/late/lifetimes.rs

Lines changed: 57 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1971,65 +1971,68 @@ impl<'a, 'tcx> LifetimeContext<'a, 'tcx> {
19711971
// Therefore, we would compute `object_lifetime_defaults` to a
19721972
// vector like `['x, 'static]`. Note that the vector only
19731973
// includes type parameters.
1974-
let object_lifetime_defaults = type_def_id.map_or(vec![], |def_id| {
1975-
let in_body = {
1976-
let mut scope = self.scope;
1977-
loop {
1978-
match *scope {
1979-
Scope::Root => break false,
1980-
1981-
Scope::Body { .. } => break true,
1982-
1983-
Scope::Binder { s, .. }
1984-
| Scope::Elision { s, .. }
1985-
| Scope::ObjectLifetimeDefault { s, .. } => {
1986-
scope = s;
1974+
let object_lifetime_defaults = type_def_id.map_or_else(
1975+
|| vec![],
1976+
|def_id| {
1977+
let in_body = {
1978+
let mut scope = self.scope;
1979+
loop {
1980+
match *scope {
1981+
Scope::Root => break false,
1982+
1983+
Scope::Body { .. } => break true,
1984+
1985+
Scope::Binder { s, .. }
1986+
| Scope::Elision { s, .. }
1987+
| Scope::ObjectLifetimeDefault { s, .. } => {
1988+
scope = s;
1989+
}
19871990
}
19881991
}
1989-
}
1990-
};
1992+
};
19911993

1992-
let map = &self.map;
1993-
let unsubst = if let Some(def_id) = def_id.as_local() {
1994-
let id = self.tcx.hir().local_def_id_to_hir_id(def_id);
1995-
&map.object_lifetime_defaults[&id]
1996-
} else {
1997-
let tcx = self.tcx;
1998-
self.xcrate_object_lifetime_defaults.entry(def_id).or_insert_with(|| {
1999-
tcx.generics_of(def_id)
2000-
.params
2001-
.iter()
2002-
.filter_map(|param| match param.kind {
2003-
GenericParamDefKind::Type { object_lifetime_default, .. } => {
2004-
Some(object_lifetime_default)
1994+
let map = &self.map;
1995+
let unsubst = if let Some(def_id) = def_id.as_local() {
1996+
let id = self.tcx.hir().local_def_id_to_hir_id(def_id);
1997+
&map.object_lifetime_defaults[&id]
1998+
} else {
1999+
let tcx = self.tcx;
2000+
self.xcrate_object_lifetime_defaults.entry(def_id).or_insert_with(|| {
2001+
tcx.generics_of(def_id)
2002+
.params
2003+
.iter()
2004+
.filter_map(|param| match param.kind {
2005+
GenericParamDefKind::Type { object_lifetime_default, .. } => {
2006+
Some(object_lifetime_default)
2007+
}
2008+
GenericParamDefKind::Lifetime | GenericParamDefKind::Const => None,
2009+
})
2010+
.collect()
2011+
})
2012+
};
2013+
debug!("visit_segment_args: unsubst={:?}", unsubst);
2014+
unsubst
2015+
.iter()
2016+
.map(|set| match *set {
2017+
Set1::Empty => {
2018+
if in_body {
2019+
None
2020+
} else {
2021+
Some(Region::Static)
20052022
}
2006-
GenericParamDefKind::Lifetime | GenericParamDefKind::Const => None,
2007-
})
2008-
.collect()
2009-
})
2010-
};
2011-
debug!("visit_segment_args: unsubst={:?}", unsubst);
2012-
unsubst
2013-
.iter()
2014-
.map(|set| match *set {
2015-
Set1::Empty => {
2016-
if in_body {
2017-
None
2018-
} else {
2019-
Some(Region::Static)
20202023
}
2021-
}
2022-
Set1::One(r) => {
2023-
let lifetimes = generic_args.args.iter().filter_map(|arg| match arg {
2024-
GenericArg::Lifetime(lt) => Some(lt),
2025-
_ => None,
2026-
});
2027-
r.subst(lifetimes, map)
2028-
}
2029-
Set1::Many => None,
2030-
})
2031-
.collect()
2032-
});
2024+
Set1::One(r) => {
2025+
let lifetimes = generic_args.args.iter().filter_map(|arg| match arg {
2026+
GenericArg::Lifetime(lt) => Some(lt),
2027+
_ => None,
2028+
});
2029+
r.subst(lifetimes, map)
2030+
}
2031+
Set1::Many => None,
2032+
})
2033+
.collect()
2034+
},
2035+
);
20332036

20342037
debug!("visit_segment_args: object_lifetime_defaults={:?}", object_lifetime_defaults);
20352038

compiler/rustc_trait_selection/src/traits/specialize/mod.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ fn report_negative_positive_conflict(
349349
E0751,
350350
"found both positive and negative implementation of trait `{}`{}:",
351351
overlap.trait_desc,
352-
overlap.self_desc.clone().map_or(String::new(), |ty| format!(" for type `{}`", ty))
352+
overlap.self_desc.clone().map_or_else(|| String::new(), |ty| format!(" for type `{}`", ty))
353353
);
354354

355355
match tcx.span_of_impl(negative_impl_def_id) {
@@ -397,7 +397,10 @@ fn report_conflicting_impls(
397397
let msg = format!(
398398
"conflicting implementations of trait `{}`{}:{}",
399399
overlap.trait_desc,
400-
overlap.self_desc.clone().map_or(String::new(), |ty| { format!(" for type `{}`", ty) }),
400+
overlap
401+
.self_desc
402+
.clone()
403+
.map_or_else(|| String::new(), |ty| { format!(" for type `{}`", ty) }),
401404
match used_to_be_allowed {
402405
Some(FutureCompatOverlapErrorKind::Issue33140) => " (E0119)",
403406
_ => "",
@@ -415,7 +418,9 @@ fn report_conflicting_impls(
415418
impl_span,
416419
format!(
417420
"conflicting implementation{}",
418-
overlap.self_desc.map_or(String::new(), |ty| format!(" for `{}`", ty))
421+
overlap
422+
.self_desc
423+
.map_or_else(|| String::new(), |ty| format!(" for `{}`", ty))
419424
),
420425
);
421426
}

compiler/rustc_typeck/src/check/method/probe.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1695,7 +1695,7 @@ impl<'a, 'tcx> ProbeContext<'a, 'tcx> {
16951695
} else {
16961696
self.fcx
16971697
.associated_item(def_id, name, Namespace::ValueNS)
1698-
.map_or(Vec::new(), |x| vec![x])
1698+
.map_or_else(|| Vec::new(), |x| vec![x])
16991699
}
17001700
} else {
17011701
self.tcx.associated_items(def_id).in_definition_order().copied().collect()

compiler/rustc_typeck/src/check/mod.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1062,7 +1062,10 @@ fn report_unexpected_variant_res(tcx: TyCtxt<'_>, res: Res, span: Span) {
10621062
E0533,
10631063
"expected unit struct, unit variant or constant, found {}{}",
10641064
res.descr(),
1065-
tcx.sess.source_map().span_to_snippet(span).map_or(String::new(), |s| format!(" `{}`", s)),
1065+
tcx.sess
1066+
.source_map()
1067+
.span_to_snippet(span)
1068+
.map_or_else(|_| String::new(), |s| format!(" `{}`", s)),
10661069
)
10671070
.emit();
10681071
}

compiler/rustc_typeck/src/check/pat.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -879,7 +879,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
879879
let sm = tcx.sess.source_map();
880880
let path_str = sm
881881
.span_to_snippet(sm.span_until_char(pat.span, '('))
882-
.map_or(String::new(), |s| format!(" `{}`", s.trim_end()));
882+
.map_or_else(|_| String::new(), |s| format!(" `{}`", s.trim_end()));
883883
let msg = format!(
884884
"expected tuple struct or tuple variant, found {}{}",
885885
res.descr(),

compiler/rustc_typeck/src/collect.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2387,7 +2387,7 @@ fn compute_sig_of_foreign_fn_decl<'tcx>(
23872387
.sess
23882388
.source_map()
23892389
.span_to_snippet(ast_ty.span)
2390-
.map_or(String::new(), |s| format!(" `{}`", s));
2390+
.map_or_else(|_| String::new(), |s| format!(" `{}`", s));
23912391
tcx.sess
23922392
.struct_span_err(
23932393
ast_ty.span,

0 commit comments

Comments
 (0)