2024-02-16 20:02:50 +00:00
|
|
|
//@ run-pass
|
2017-09-13 22:40:48 +02:00
|
|
|
// Check that closures implement `Copy`.
|
|
|
|
|
|
|
|
fn call<T, F: FnOnce() -> T>(f: F) -> T { f() }
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let a = 5;
|
|
|
|
let hello = || {
|
|
|
|
println!("Hello {}", a);
|
|
|
|
a
|
|
|
|
};
|
|
|
|
|
|
|
|
assert_eq!(5, call(hello.clone()));
|
|
|
|
assert_eq!(5, call(hello));
|
|
|
|
assert_eq!(5, call(hello));
|
|
|
|
}
|