3 #![feature(generators, generator_trait)]
6 use std
::ops
::{Generator, GeneratorState}
;
9 let mut generator
= static || {
13 assert_eq
!(b
as *const _
, &a
as *const _
);
15 // SAFETY: We shadow the original generator variable so have no safe API to
16 // move it after this point.
17 let mut generator
= unsafe { Pin::new_unchecked(&mut generator) }
;
18 assert_eq
!(generator
.as_mut().resume(()), GeneratorState
::Yielded(()));
19 assert_eq
!(generator
.as_mut().resume(()), GeneratorState
::Complete(()));