2018-03-21 20:32:44 -05:00
|
|
|
#![feature(generators, generator_trait)]
|
2016-12-26 07:34:03 -06:00
|
|
|
|
2018-10-04 13:49:38 -05:00
|
|
|
use std::marker::Unpin;
|
2017-08-09 15:56:19 -05:00
|
|
|
use std::ops::Generator;
|
|
|
|
|
2020-01-25 13:03:10 -06:00
|
|
|
pub fn foo() -> impl Generator<(), Yield = (), Return = ()> {
|
2017-08-09 15:56:19 -05:00
|
|
|
|| {
|
2017-08-09 18:38:05 -05:00
|
|
|
if false {
|
2017-08-09 15:56:19 -05:00
|
|
|
yield;
|
|
|
|
}
|
|
|
|
}
|
2017-07-11 14:57:05 -05:00
|
|
|
}
|
2017-08-09 18:38:05 -05:00
|
|
|
|
2020-01-25 13:03:10 -06:00
|
|
|
pub fn bar<T: 'static>(t: T) -> Box<Generator<(), Yield = T, Return = ()> + Unpin> {
|
2017-08-09 18:38:05 -05:00
|
|
|
Box::new(|| {
|
|
|
|
yield t;
|
|
|
|
})
|
|
|
|
}
|