about summary refs log tree commit diff
path: root/src/tools/clippy/tests/ui/cloned_instead_of_copied.fixed
blob: 0a1a59ddf9b83e6370f516693ab1b79431f5b1e9 (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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#![warn(clippy::cloned_instead_of_copied)]
#![allow(unused)]
#![allow(clippy::useless_vec)]

fn main() {
    // yay
    let _ = [1].iter().copied();
    //~^ cloned_instead_of_copied
    let _ = vec!["hi"].iter().copied();
    //~^ cloned_instead_of_copied
    let _ = Some(&1).copied();
    //~^ cloned_instead_of_copied
    let _ = Box::new([1].iter()).copied();
    //~^ cloned_instead_of_copied
    let _ = Box::new(Some(&1)).copied();
    //~^ cloned_instead_of_copied

    // nay
    let _ = [String::new()].iter().cloned();
    let _ = Some(&String::new()).cloned();
}

#[clippy::msrv = "1.34"]
fn msrv_1_34() {
    let _ = [1].iter().cloned();
    let _ = Some(&1).cloned();
}

#[clippy::msrv = "1.35"]
fn msrv_1_35() {
    let _ = [1].iter().cloned();
    let _ = Some(&1).copied(); // Option::copied needs 1.35
    //
    //~^^ cloned_instead_of_copied
}

#[clippy::msrv = "1.36"]
fn msrv_1_36() {
    let _ = [1].iter().copied(); // Iterator::copied needs 1.36
    //
    //~^^ cloned_instead_of_copied
    let _ = Some(&1).copied();
    //~^ cloned_instead_of_copied
}