//@ 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"; }; }