diff --git a/tests/compile-fail/ok_if_let.rs b/tests/compile-fail/ok_if_let.rs new file mode 100644 index 000000000000..3676f473bcd0 --- /dev/null +++ b/tests/compile-fail/ok_if_let.rs @@ -0,0 +1,27 @@ +#![feature(plugin)] +#![plugin(clippy)] + +#![deny(if_let_some_result)] + +fn str_to_int(x: &str) -> i32 { + if let Some(y) = x.parse().ok() { + //~^ERROR Matching on `Some` with `ok()` is redundant + y + } else { + 0 + } +} + +fn str_to_int_ok(x: &str) -> i32 { + if let Ok(y) = x.parse() { + y + } else { + 0 + } +} + +fn main() { + let y = str_to_int("1"); + let z = str_to_int_ok("2"); + println!("{}{}", y, z); +}