blob: 01d3b08ffa27c119bf0a4688f9d2acb3a9f3a706 [file] [log] [blame]
//@ check-pass
#![feature(ergonomic_clones)]
#![allow(incomplete_features)]
use std::clone::UseCloned;
use std::future::Future;
fn ergonomic_clone_closure_no_captures() -> i32 {
let cl = use || {
1
};
cl()
}
fn ergonomic_clone_closure_move() -> String {
let s = String::from("hi");
let cl = use || {
s
};
cl()
}
#[derive(Clone)]
struct Foo;
impl UseCloned for Foo {}
fn ergonomic_clone_closure_use_cloned() -> Foo {
let f = Foo;
let f1 = use || {
f
};
let f2 = use || {
f
};
f
}
fn ergonomic_clone_closure_copy() -> i32 {
let i = 1;
let i1 = use || {
i
};
let i2 = use || {
i
};
i
}
fn main() {}