blob: 0e630e6a290456ee266f991fbadfdb9c8fd913ca [file] [log] [blame]
#![warn(clippy::match_result_ok)]
#![allow(dead_code)]
#![allow(
clippy::boxed_local,
clippy::uninlined_format_args,
clippy::manual_unwrap_or_default,
clippy::manual_unwrap_or
)]
// Checking `if` cases
fn str_to_int(x: &str) -> i32 {
if let Ok(y) = x.parse() { y } else { 0 }
//~^ match_result_ok
}
fn str_to_int_ok(x: &str) -> i32 {
if let Ok(y) = x.parse() { y } else { 0 }
}
#[rustfmt::skip]
fn strange_some_no_else(x: &str) -> i32 {
{
if let Ok(y) = x . parse() {
//~^ match_result_ok
return y;
};
0
}
}
// Checking `while` cases
struct Wat {
counter: i32,
}
impl Wat {
fn next(&mut self) -> Result<i32, &str> {
self.counter += 1;
if self.counter < 5 {
Ok(self.counter)
} else {
Err("Oh no")
}
}
}
fn base_1(x: i32) {
let mut wat = Wat { counter: x };
while let Ok(a) = wat.next() {
//~^ match_result_ok
println!("{}", a);
}
}
fn base_2(x: i32) {
let mut wat = Wat { counter: x };
while let Ok(a) = wat.next() {
println!("{}", a);
}
}
fn base_3(test_func: Box<Result<i32, &str>>) {
// Expected to stay as is
while let Some(_b) = test_func.ok() {}
}
fn main() {}