]> git.proxmox.com Git - rustc.git/blame - src/tools/clippy/tests/ui/manual_ok_or.fixed
New upstream version 1.74.1+dfsg1
[rustc.git] / src / tools / clippy / tests / ui / manual_ok_or.fixed
CommitLineData
f20569fa 1#![warn(clippy::manual_ok_or)]
487cf647 2#![allow(clippy::or_fun_call)]
f2b60f7d 3#![allow(clippy::disallowed_names)]
f20569fa
XL
4#![allow(clippy::redundant_closure)]
5#![allow(dead_code)]
6#![allow(unused_must_use)]
7
8fn main() {
9 // basic case
10 let foo: Option<i32> = None;
11 foo.ok_or("error");
12
13 // eta expansion case
14 foo.ok_or("error");
15
16 // turbo fish syntax
17 None::<i32>.ok_or("error");
18
19 // multiline case
20 #[rustfmt::skip]
21 foo.ok_or(&format!(
22 "{}{}{}{}{}{}{}",
23 "Alice", "Bob", "Sarah", "Marc", "Sandra", "Eric", "Jenifer"));
24
25 // not applicable, closure isn't direct `Ok` wrapping
26 foo.map_or(Err("error"), |v| Ok(v + 1));
27
28 // not applicable, or side isn't `Result::Err`
29 foo.map_or(Ok::<i32, &str>(1), |v| Ok(v));
30
31 // not applicable, expr is not a `Result` value
32 foo.map_or(42, |v| v);
33
34 // TODO patterns not covered yet
35 match foo {
36 Some(v) => Ok(v),
37 None => Err("error"),
38 };
39 foo.map_or_else(|| Err("error"), |v| Ok(v));
40}