Skip to content

Commit fc2702c

Browse files
Add regression test
1 parent 66b1ae4 commit fc2702c

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

src/test/ui/generator/issue-69039.rs

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// run-pass
2+
3+
#![feature(generators, generator_trait)]
4+
5+
use std::ops::{Generator, GeneratorState};
6+
7+
fn my_scenario() -> impl Generator<String, Yield = &'static str, Return = String> {
8+
|_arg: String| {
9+
let my_name = yield "What is your name?";
10+
let my_mood = yield "How are you feeling?";
11+
format!("{} is {}", my_name.trim(), my_mood.trim())
12+
}
13+
}
14+
15+
fn main() {
16+
let mut my_session = Box::pin(my_scenario());
17+
18+
assert_eq!(
19+
my_session.as_mut().resume("_arg".to_string()),
20+
GeneratorState::Yielded("What is your name?")
21+
);
22+
assert_eq!(
23+
my_session.as_mut().resume("Your Name".to_string()),
24+
GeneratorState::Yielded("How are you feeling?")
25+
);
26+
assert_eq!(
27+
my_session.as_mut().resume("Sensory Organs".to_string()),
28+
GeneratorState::Complete("Your Name is Sensory Organs".to_string())
29+
);
30+
}

0 commit comments

Comments
 (0)