rust-lang / rust-lang/rust-clippy

The opposite of `map_unwrap_or`, prevent the use of `map_or`

Open
#10,428 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-lint
Dominant language
Rust
Stars
13.5k
Forks
2.2k
Avg merge
2d 10h
Merged PRs (30d)
32

Description

What it does

Lint about the use of map_or and friends, suggesting using map().unwrap()

Lint Name

map_or_unwrap

Category

pedantic

Advantage

Like in #1192, I find map_or hurts the readability of the code and am wanting earlier feedback for contributors to not use them in my projects.

Note: there is already precedence for conflicting style lints, at least with self_named_module_files

Drawbacks

No response

Example
opt.map_or(false, is_sorted);

Could be written as:

opt.map(is_sorted).unwrap_or(false)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing map_or lint behavior and the precedent referenced in #1192, then compare how self_named_module_files handles conflicting style lints. Define the map_or_unwrap lint around the provided example and add coverage for the suggested map().unwrap_or(...) form. Done means the lint behavior and its configuration are documented and tested.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.