mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-26 08:44:35 +00:00
Rollup merge of #97731 - JohnTitor:issue-87142, r=compiler-errors
Add regresion test for #87142 Closes #87142 r? `@compiler-errors`
This commit is contained in:
commit
c857265b51
32
src/test/ui/generator/issue-87142.rs
Normal file
32
src/test/ui/generator/issue-87142.rs
Normal file
@ -0,0 +1,32 @@
|
||||
// compile-flags: -Cdebuginfo=2
|
||||
// build-pass
|
||||
|
||||
// Regression test for #87142
|
||||
// This test needs the above flags and the "lib" crate type.
|
||||
|
||||
#![feature(type_alias_impl_trait, generator_trait, generators)]
|
||||
#![crate_type = "lib"]
|
||||
|
||||
use std::ops::Generator;
|
||||
|
||||
pub trait GeneratorProviderAlt: Sized {
|
||||
type Gen: Generator<(), Return = (), Yield = ()>;
|
||||
|
||||
fn start(ctx: Context<Self>) -> Self::Gen;
|
||||
}
|
||||
|
||||
pub struct Context<G: 'static + GeneratorProviderAlt> {
|
||||
pub link: Box<G::Gen>,
|
||||
}
|
||||
|
||||
impl GeneratorProviderAlt for () {
|
||||
type Gen = impl Generator<(), Return = (), Yield = ()>;
|
||||
fn start(ctx: Context<Self>) -> Self::Gen {
|
||||
move || {
|
||||
match ctx {
|
||||
_ => (),
|
||||
}
|
||||
yield ();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user