]> git.lizzy.rs Git - rust.git/blob - src/tools/clippy/src/docs/bind_instead_of_map.txt
Auto merge of #101329 - QuinnPainter:armv5te-targets, r=nagisa
[rust.git] / src / tools / clippy / src / docs / bind_instead_of_map.txt
1 ### What it does
2 Checks for usage of `_.and_then(|x| Some(y))`, `_.and_then(|x| Ok(y))` or
3 `_.or_else(|x| Err(y))`.
4
5 ### Why is this bad?
6 Readability, this can be written more concisely as
7 `_.map(|x| y)` or `_.map_err(|x| y)`.
8
9 ### Example
10 ```
11 let _ = opt().and_then(|s| Some(s.len()));
12 let _ = res().and_then(|s| if s.len() == 42 { Ok(10) } else { Ok(20) });
13 let _ = res().or_else(|s| if s.len() == 42 { Err(10) } else { Err(20) });
14 ```
15
16 The correct use would be:
17
18 ```
19 let _ = opt().map(|s| s.len());
20 let _ = res().map(|s| if s.len() == 42 { 10 } else { 20 });
21 let _ = res().map_err(|s| if s.len() == 42 { 10 } else { 20 });
22 ```