Rollup merge of #80944 - LingMan:map_or, r=nagisa
Use Option::map_or instead of `.map(..).unwrap_or(..)` ``@rustbot`` modify labels +C-cleanup +T-compiler
This commit is contained in:
commit
a584d87417
50 changed files with 67 additions and 79 deletions
|
@ -1925,7 +1925,7 @@ impl<'a: 'ast, 'b, 'ast> LateResolutionVisitor<'a, 'b, 'ast> {
|
|||
{
|
||||
// Check if we wrote `str::from_utf8` instead of `std::str::from_utf8`
|
||||
let item_span =
|
||||
path.iter().last().map(|segment| segment.ident.span).unwrap_or(span);
|
||||
path.iter().last().map_or(span, |segment| segment.ident.span);
|
||||
|
||||
let mut hm = self.r.session.confused_type_with_std_module.borrow_mut();
|
||||
hm.insert(item_span, span);
|
||||
|
|
|
@ -264,7 +264,7 @@ impl<'a: 'ast, 'ast> LateResolutionVisitor<'a, '_, 'ast> {
|
|||
// The current function has a `self' parameter, but we were unable to resolve
|
||||
// a reference to `self`. This can only happen if the `self` identifier we
|
||||
// are resolving came from a different hygiene context.
|
||||
if fn_kind.decl().inputs.get(0).map(|p| p.is_self()).unwrap_or(false) {
|
||||
if fn_kind.decl().inputs.get(0).map_or(false, |p| p.is_self()) {
|
||||
err.span_label(*span, "this function has a `self` parameter, but a macro invocation can only access identifiers it receives from parameters");
|
||||
} else {
|
||||
let doesnt = if is_assoc_fn {
|
||||
|
@ -1452,8 +1452,7 @@ impl<'a: 'ast, 'ast> LateResolutionVisitor<'a, '_, 'ast> {
|
|||
}
|
||||
} else {
|
||||
let needs_placeholder = |def_id: DefId, kind: CtorKind| {
|
||||
let has_no_fields =
|
||||
self.r.field_names.get(&def_id).map(|f| f.is_empty()).unwrap_or(false);
|
||||
let has_no_fields = self.r.field_names.get(&def_id).map_or(false, |f| f.is_empty());
|
||||
match kind {
|
||||
CtorKind::Const => false,
|
||||
CtorKind::Fn | CtorKind::Fictive if has_no_fields => false,
|
||||
|
|
|
@ -1052,7 +1052,7 @@ pub struct ResolverArenas<'a> {
|
|||
impl<'a> ResolverArenas<'a> {
|
||||
fn alloc_module(&'a self, module: ModuleData<'a>) -> Module<'a> {
|
||||
let module = self.modules.alloc(module);
|
||||
if module.def_id().map(|def_id| def_id.is_local()).unwrap_or(true) {
|
||||
if module.def_id().map_or(true, |def_id| def_id.is_local()) {
|
||||
self.local_modules.borrow_mut().push(module);
|
||||
}
|
||||
module
|
||||
|
@ -3031,7 +3031,7 @@ impl<'a> Resolver<'a> {
|
|||
let duplicate = new_binding.res().opt_def_id() == old_binding.res().opt_def_id();
|
||||
let has_dummy_span = new_binding.span.is_dummy() || old_binding.span.is_dummy();
|
||||
let from_item =
|
||||
self.extern_prelude.get(&ident).map(|entry| entry.introduced_by_item).unwrap_or(true);
|
||||
self.extern_prelude.get(&ident).map_or(true, |entry| entry.introduced_by_item);
|
||||
// Only suggest removing an import if both bindings are to the same def, if both spans
|
||||
// aren't dummy spans. Further, if both bindings are imports, then the ident must have
|
||||
// been introduced by a item.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue