2 #![feature(generators, generator_trait)]
4 use std::ops::Generator;
5 use std::ops::GeneratorState::Yielded;
7 pub struct GenIter<G>(G);
9 impl <G> Iterator for GenIter<G>
15 fn next(&mut self) -> Option<Self::Item> {
17 match self.0.resume() {
18 Yielded(y) => Some(y),
25 fn bug<'a>() -> impl Iterator<Item = &'a str> {
27 let mut s = String::new();
28 yield &s[..] //~ ERROR `s` does not live long enough [E0597]