1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
//@ run-pass
#![allow(unused_variables)]
#![feature(coroutines)]
use std::cell::RefCell;
struct A;
impl A {
fn test(&self, a: ()) {}
}
fn main() {
// Test that the MIR local with type &A created for the auto-borrow adjustment
// is caught by typeck
#[coroutine] move || { //~ WARN unused coroutine that must be used
A.test(yield);
};
// Test that the std::cell::Ref temporary returned from the `borrow` call
// is caught by typeck
let y = RefCell::new(true);
#[coroutine] static move || { //~ WARN unused coroutine that must be used
yield *y.borrow();
return "Done";
};
}
|