24 lines
479 B
Rust
24 lines
479 B
Rust
|
// check that moves due to a closure capture give a special note
|
||
|
//@ run-rustfix
|
||
|
#![allow(unused_variables, unused_must_use, dead_code)]
|
||
|
|
||
|
fn move_after_move(x: String) {
|
||
|
|| x.clone();
|
||
|
let y = x; //~ ERROR
|
||
|
}
|
||
|
|
||
|
fn borrow_after_move(x: String) {
|
||
|
|| x.clone();
|
||
|
let y = &x; //~ ERROR
|
||
|
}
|
||
|
|
||
|
fn borrow_mut_after_move(mut x: String) {
|
||
|
|| x.clone();
|
||
|
let y = &mut x; //~ ERROR
|
||
|
}
|
||
|
|
||
|
fn fn_ref<F: Fn()>(f: F) -> F { f }
|
||
|
fn fn_mut<F: FnMut()>(f: F) -> F { f }
|
||
|
|
||
|
fn main() {}
|