summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/option_map_or_none.rs
blob: bb84f8a48f45d9c2a0710113d6fbe4e3ee6b9426 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// run-rustfix

#![allow(clippy::bind_instead_of_map)]

fn main() {
    let opt = Some(1);
    let r: Result<i32, i32> = Ok(1);
    let bar = |_| Some(1);

    // Check `OPTION_MAP_OR_NONE`.
    // Single line case.
    let _: Option<i32> = opt.map_or(None, |x| Some(x + 1));
    // Multi-line case.
    #[rustfmt::skip]
    let _: Option<i32> = opt.map_or(None, |x| {
                        Some(x + 1)
                       });
    // function returning `Option`
    let _: Option<i32> = opt.map_or(None, bar);
    let _: Option<i32> = opt.map_or(None, |x| {
        let offset = 0;
        let height = x;
        Some(offset + height)
    });

    // Check `RESULT_MAP_OR_INTO_OPTION`.
    let _: Option<i32> = r.map_or(None, Some);
}