]> git.lizzy.rs Git - rust.git/blob - src/test/ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.rs
Loop over all opaque types instead of looking at just the first one with the same...
[rust.git] / src / test / ui / type-alias-impl-trait / issue-53678-generator-and-const-fn.rs
1 #![feature(const_impl_trait, generators, generator_trait, rustc_attrs)]
2 // revisions: min_tait full_tait
3 #![feature(min_type_alias_impl_trait)]
4 #![cfg_attr(full_tait, feature(impl_trait_in_bindings, type_alias_impl_trait))]
5 //[full_tait]~^ WARN incomplete
6 //[full_tait]~| WARN incomplete
7
8 use std::ops::Generator;
9
10 type GenOnce<Y, R> = impl Generator<Yield = Y, Return = R>;
11
12 const fn const_generator<Y, R>(yielding: Y, returning: R) -> GenOnce<Y, R> {
13     move || {
14         yield yielding;
15
16         return returning;
17     }
18 }
19
20 const FOO: GenOnce<usize, usize> = const_generator(10, 100); //[min_tait]~ ERROR not permitted here
21
22 #[rustc_error]
23 fn main() {} //[full_tait]~ ERROR