//@ run-pass | |
//@ compile-flags: -g | |
#![feature(coroutines, coroutine_trait)] | |
use std::ops::Coroutine; | |
struct Database; | |
impl Database { | |
fn get_connection(&self) -> impl Iterator<Item = ()> { | |
Some(()).into_iter() | |
} | |
fn check_connection(&self) -> impl Coroutine<Yield = (), Return = ()> + '_ { | |
#[coroutine] | |
move || { | |
let iter = self.get_connection(); | |
for i in iter { | |
yield i | |
} | |
} | |
} | |
} | |
fn main() { | |
let _ = Database.check_connection(); | |
} |