rust/tests/ui/functions-closures/clone-closure.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

19 lines
321 B
Rust
Raw Normal View History

//@ run-pass
2017-09-13 20:40:48 +00:00
// Check that closures implement `Clone`.
#[derive(Clone)]
struct S(i32);
fn main() {
let mut a = S(5);
let mut hello = move || {
a.0 += 1;
println!("Hello {}", a.0);
a.0
};
let mut hello2 = hello.clone();
assert_eq!(6, hello2());
assert_eq!(6, hello());
}