2 #![warn(clippy::manual_ok_or)]
3 #![allow(clippy::blacklisted_name)]
4 #![allow(clippy::redundant_closure)]
6 #![allow(unused_must_use)]
10 let foo: Option<i32> = None;
11 foo.map_or(Err("error"), |v| Ok(v));
14 foo.map_or(Err("error"), Ok);
17 None::<i32>.map_or(Err("error"), |v| Ok(v));
21 foo.map_or(Err::<i32, &str>(
24 "Alice", "Bob", "Sarah", "Marc", "Sandra", "Eric", "Jenifer")
29 // not applicable, closure isn't direct `Ok` wrapping
30 foo.map_or(Err("error"), |v| Ok(v + 1));
32 // not applicable, or side isn't `Result::Err`
33 foo.map_or(Ok::<i32, &str>(1), |v| Ok(v));
35 // not applicable, expr is not a `Result` value
36 foo.map_or(42, |v| v);
38 // TODO patterns not covered yet
43 foo.map_or_else(|| Err("error"), |v| Ok(v));