diff options
| author | Michael Goulet <michael@errs.io> | 2023-12-18 23:17:58 +0000 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2023-12-18 23:56:44 +0000 |
| commit | 0f10acf7682b1ce683e48201c4b2bce026329093 (patch) | |
| tree | b71c8492b8a3c3d883283db308f75aa94424547d | |
| parent | bb33200047722e321480f7e5004a74395804958d (diff) | |
| download | rust-0f10acf7682b1ce683e48201c4b2bce026329093.tar.gz rust-0f10acf7682b1ce683e48201c4b2bce026329093.zip | |
Add a test demonstrating that RFC's note on diverging returns is subsumed by just inferring unit as ret type
| -rw-r--r-- | tests/ui/coroutine/return-types-diverge.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/ui/coroutine/return-types-diverge.rs b/tests/ui/coroutine/return-types-diverge.rs new file mode 100644 index 00000000000..5f21c8cbf34 --- /dev/null +++ b/tests/ui/coroutine/return-types-diverge.rs @@ -0,0 +1,20 @@ +// compile-flags: --edition 2024 -Zunstable-options +// check-pass + +#![feature(gen_blocks)] + +fn diverge() -> ! { loop {} } + +async gen fn async_gen_fn() -> i32 { diverge() } + +gen fn gen_fn() -> i32 { diverge() } + +fn async_gen_block() { + async gen { yield (); diverge() }; +} + +fn gen_block() { + gen { yield (); diverge() }; +} + +fn main() {} |
