mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-30 16:39:26 +00:00
91 lines
3.3 KiB
Text
91 lines
3.3 KiB
Text
error: using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`
|
|
--> $DIR/bind_instead_of_map_multipart.rs:6:13
|
|
|
|
|
LL | let _ = Some("42").and_then(|s| if s.len() < 42 { Some(0) } else { Some(s.len()) });
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
note: the lint level is defined here
|
|
--> $DIR/bind_instead_of_map_multipart.rs:2:9
|
|
|
|
|
LL | #![deny(clippy::bind_instead_of_map)]
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
help: try this
|
|
|
|
|
LL | let _ = Some("42").map(|s| if s.len() < 42 { 0 } else { s.len() });
|
|
| ~~~ ~ ~~~~~~~
|
|
|
|
error: using `Result.and_then(|x| Ok(y))`, which is more succinctly expressed as `map(|x| y)`
|
|
--> $DIR/bind_instead_of_map_multipart.rs:9:13
|
|
|
|
|
LL | let _ = Ok::<_, ()>("42").and_then(|s| if s.len() < 42 { Ok(0) } else { Ok(s.len()) });
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
help: try this
|
|
|
|
|
LL | let _ = Ok::<_, ()>("42").map(|s| if s.len() < 42 { 0 } else { s.len() });
|
|
| ~~~ ~ ~~~~~~~
|
|
|
|
error: using `Result.or_else(|x| Err(y))`, which is more succinctly expressed as `map_err(|x| y)`
|
|
--> $DIR/bind_instead_of_map_multipart.rs:12:13
|
|
|
|
|
LL | let _ = Err::<(), _>("42").or_else(|s| if s.len() < 42 { Err(s.len() + 20) } else { Err(s.len()) });
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
help: try this
|
|
|
|
|
LL | let _ = Err::<(), _>("42").map_err(|s| if s.len() < 42 { s.len() + 20 } else { s.len() });
|
|
| ~~~~~~~ ~~~~~~~~~~~~ ~~~~~~~
|
|
|
|
error: using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`
|
|
--> $DIR/bind_instead_of_map_multipart.rs:20:5
|
|
|
|
|
LL | / Some("42").and_then(|s| {
|
|
LL | | if {
|
|
LL | | if s == "43" {
|
|
LL | | return Some(43);
|
|
... |
|
|
LL | | }
|
|
LL | | });
|
|
| |______^
|
|
|
|
|
help: try this
|
|
|
|
|
LL ~ Some("42").map(|s| {
|
|
LL | if {
|
|
LL | if s == "43" {
|
|
LL ~ return 43;
|
|
LL | }
|
|
LL | s == "42"
|
|
LL | } {
|
|
LL ~ return 45;
|
|
LL | }
|
|
LL | match s.len() {
|
|
LL ~ 10 => 2,
|
|
LL | 20 => {
|
|
...
|
|
LL | if foo() {
|
|
LL ~ return 20;
|
|
LL | }
|
|
LL | println!("foo");
|
|
LL ~ 3
|
|
LL | };
|
|
LL | }
|
|
LL ~ 20
|
|
LL | },
|
|
LL ~ 40 => 30,
|
|
LL ~ _ => 1,
|
|
|
|
|
|
|
error: using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`
|
|
--> $DIR/bind_instead_of_map_multipart.rs:61:13
|
|
|
|
|
LL | let _ = Some("").and_then(|s| if s.len() == 20 { Some(m!()) } else { Some(Some(20)) });
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
help: try this
|
|
|
|
|
LL | let _ = Some("").map(|s| if s.len() == 20 { m!() } else { Some(20) });
|
|
| ~~~ ~~~~ ~~~~~~~~
|
|
|
|
error: aborting due to 5 previous errors
|
|
|