about summary refs log tree commit diff
path: root/tests/ui/ergonomic-clones/closure/print.rs
blob: c24a4cc5094bea12ebb544fe29558866cd8fe4c9 (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
#![feature(ergonomic_clones)]
#![allow(incomplete_features)]

fn to_fn_once<F: FnOnce()>(f: F) -> F {
    f
}

fn f<T: std::fmt::Display>(y: T) {
    struct Foo<U: std::fmt::Display> {
        x: U,
    };

    let foo = Foo { x: "x" };

    let c = to_fn_once(use || {
        println!("{} {}", foo.x, y);
    });

    c();
    c();
    //~^ ERROR use of moved value
}

fn main() {
    f("S");
}