25 lines
359 B
Rust
25 lines
359 B
Rust
|
// compile-flags: -Zverbose
|
||
|
|
||
|
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(move|| {
|
||
|
println!("{} {}", foo.x, y);
|
||
|
});
|
||
|
|
||
|
c();
|
||
|
c();
|
||
|
//~^ ERROR use of moved value
|
||
|
}
|
||
|
|
||
|
|
||
|
fn main() {
|
||
|
f("S");
|
||
|
}
|