about summary refs log tree commit diff
path: root/tests/ui/feature-gates/feature-gate-ergonomic-clones.rs
blob: c2e44064cfad759e28c7f1fd4ec11cd9858216dc (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
use std::clone::UseCloned;
//~^ ERROR use of unstable library feature `ergonomic_clones` [E0658]

fn ergonomic_clone(x: i32) -> i32 {
    x.use
    //~^ ERROR ergonomic clones are experimental [E0658]
}

#[derive(Clone)]
struct Foo;

fn foo<T: UseCloned>() {}
//~^ ERROR use of unstable library feature `ergonomic_clones` [E0658]

impl UseCloned for Foo {}
//~^ ERROR use of unstable library feature `ergonomic_clones` [E0658]

fn ergonomic_closure_clone() {
    let f1 = Foo;

    let f2 = use || {
        //~^ ERROR ergonomic clones are experimental [E0658]
        f1
    };

    let f3 = use || {
        //~^ ERROR ergonomic clones are experimental [E0658]
        f1
    };
}

fn main() {}