]> git.proxmox.com Git - rustc.git/blob - src/test/run-make-fulldeps/coverage/yield.rs
New upstream version 1.63.0+dfsg1
[rustc.git] / src / test / run-make-fulldeps / coverage / yield.rs
1 #![feature(generators, generator_trait)]
2 #![allow(unused_assignments)]
3
4 use std::ops::{Generator, GeneratorState};
5 use std::pin::Pin;
6
7 fn main() {
8 let mut generator = || {
9 yield 1;
10 return "foo"
11 };
12
13 match Pin::new(&mut generator).resume(()) {
14 GeneratorState::Yielded(1) => {}
15 _ => panic!("unexpected value from resume"),
16 }
17 match Pin::new(&mut generator).resume(()) {
18 GeneratorState::Complete("foo") => {}
19 _ => panic!("unexpected value from resume"),
20 }
21
22 let mut generator = || {
23 yield 1;
24 yield 2;
25 yield 3;
26 return "foo"
27 };
28
29 match Pin::new(&mut generator).resume(()) {
30 GeneratorState::Yielded(1) => {}
31 _ => panic!("unexpected value from resume"),
32 }
33 match Pin::new(&mut generator).resume(()) {
34 GeneratorState::Yielded(2) => {}
35 _ => panic!("unexpected value from resume"),
36 }
37 }