rust/tests/ui/type-alias-impl-trait/issue-53678-coroutine-and-c...

24 lines
505 B
Rust

#![feature(coroutines, coroutine_trait, rustc_attrs)]
#![feature(type_alias_impl_trait)]
//@ check-pass
mod gen {
use std::ops::Coroutine;
pub type CoroOnce<Y, R> = impl Coroutine<Yield = Y, Return = R>;
pub const fn const_coroutine<Y, R>(yielding: Y, returning: R) -> CoroOnce<Y, R> {
#[coroutine]
move || {
yield yielding;
return returning;
}
}
}
const FOO: gen::CoroOnce<usize, usize> = gen::const_coroutine(10, 100);
fn main() {}