67 lines
1.2 KiB
Rust
67 lines
1.2 KiB
Rust
#![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 }
|
|
}
|
|
|
|
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() {
|
|
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() {
|
|
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() {}
|