rust/tests/ui/if_let_some_result.rs

36 lines
565 B
Rust
Raw Normal View History

2020-01-10 00:34:13 +01:00
// run-rustfix
2018-07-28 17:34:52 +02:00
#![warn(clippy::if_let_some_result)]
2016-10-02 22:49:29 +02:00
fn str_to_int(x: &str) -> i32 {
if let Some(y) = x.parse().ok() {
2016-10-02 22:49:29 +02:00
y
} else {
0
}
}
fn str_to_int_ok(x: &str) -> i32 {
if let Ok(y) = x.parse() {
y
} else {
0
}
}
2020-01-19 02:00:34 +01:00
#[rustfmt::skip]
fn strange_some_no_else(x: &str) -> i32 {
2020-01-10 00:34:13 +01:00
{
2020-01-19 13:14:47 +01:00
if let Some(y) = x . parse() . ok () {
2020-01-10 00:34:13 +01:00
return y;
};
0
}
}
2016-10-02 22:49:29 +02:00
fn main() {
2020-01-10 19:05:10 +01:00
let _ = str_to_int("1");
let _ = str_to_int_ok("2");
2020-01-19 02:00:34 +01:00
let _ = strange_some_no_else("3");
2016-10-02 22:49:29 +02:00
}