]>
Commit | Line | Data |
---|---|---|
f20569fa XL |
1 | // run-rustfix |
2 | #![deny(clippy::bind_instead_of_map)] | |
3 | ||
4 | // need a main anyway, use it get rid of unused warnings too | |
5 | pub fn main() { | |
6 | let x = Some(5); | |
7 | // the easiest cases | |
8 | let _ = x; | |
9 | let _ = x.map(|o| o + 1); | |
10 | // and an easy counter-example | |
11 | let _ = x.and_then(|o| if o < 32 { Some(o) } else { None }); | |
12 | ||
13 | // Different type | |
14 | let x: Result<u32, &str> = Ok(1); | |
15 | let _ = x; | |
16 | } | |
17 | ||
18 | pub fn foo() -> Option<String> { | |
19 | let x = Some(String::from("hello")); | |
20 | Some("hello".to_owned()).and_then(|s| Some(format!("{}{}", s, x?))) | |
21 | } | |
22 | ||
23 | pub fn example2(x: bool) -> Option<&'static str> { | |
24 | Some("a").and_then(|s| Some(if x { s } else { return None })) | |
25 | } |