Eric Holk
7c43784cb0
gate gen fn behind gen_blocks
2023-12-04 11:23:06 -08:00
Tomasz Miąsko
5161b22143
Fix coroutine validation for mixed panic strategy
...
Validation introduced in #113124 allows UnwindAction::Continue and
TerminatorKind::Resume to occur only in functions with ABI that can
unwind. The function ABI depends on the panic strategy, which can vary
across crates.
Usually MIR is built and validated in the same crate. The coroutine drop
glue thus far was an exception. As a result validation could fail when
mixing different panic strategies.
Avoid the problem by executing AbortUnwindingCalls along with the
validation.
2023-11-28 21:11:24 +01:00
Nilstrieb
9b80d85722
Manual find replace updates
2023-11-24 21:04:51 +01:00
Nilstrieb
41e8d152dc
Show number in error message even for one error
...
Co-authored-by: Adrian <adrian.iosdev@gmail.com>
2023-11-24 19:15:52 +01:00
Michael Goulet
4f958a4802
Allow defining opaques in check_coroutine_obligations
2023-11-22 03:44:13 +00:00
Matthias Krüger
ca3a02836e
Rollup merge of #117338 - workingjubilee:asmjs-meets-thanatos, r=b-naber
...
Remove asmjs
Fulfills [MCP 668](https://github.com/rust-lang/compiler-team/issues/668 ).
`asmjs-unknown-emscripten` does not work as-specified, and lacks essential upstream support for generating asm.js, so it should not exist at all.
2023-11-17 23:04:21 +01:00
lcnr
86fa1317a3
rename ReLateBound
to ReBound
...
other changes:
- `Region::new_late_bound` -> `Region::new_bound`
- `Region::is_late_bound` -> `Region::is_bound`
2023-11-13 14:13:54 +00:00
lcnr
a42eca42df
generator layout: ignore fake borrows
2023-11-08 22:55:28 +01:00
lcnr
57253552de
dropck_outlives check generator witness needs_drop
2023-11-02 17:20:13 +01:00
Oli Scherer
224ddf8fd9
Only run panic tests on targets that can unwind
2023-10-30 16:32:53 +00:00
Oli Scherer
bc926f7c33
Add a custom panic message for resuming gen
blocks after they panicked
2023-10-30 10:23:57 +00:00
Oli Scherer
745c600617
Talk about gen fn
in diagnostics about gen fn
2023-10-30 10:13:12 +00:00
Jubilee Young
e9a009fd1a
Remove asmjs from tests
2023-10-28 23:11:03 -07:00
Oli Scherer
eb66d10cc3
Fuse gen
blocks
2023-10-27 15:20:44 +00:00
Oli Scherer
bb90c4bf35
Use targetted diagnostic for borrow across yield error
2023-10-27 13:05:49 +00:00
Oli Scherer
6223744078
Prevent generators from being movable
2023-10-27 13:05:49 +00:00
Oli Scherer
4ac25faf9f
Handle move
generators
2023-10-27 13:05:48 +00:00
Oli Scherer
cece90c65f
Feature gate coroutine yield
usage
2023-10-27 13:05:48 +00:00
Oli Scherer
2e5b36741b
Demonstrate issue with yield
checks
2023-10-27 13:05:48 +00:00
Oli Scherer
638d2d6fc1
Feature gate gen
blocks, even in 2024 edition
2023-10-27 13:05:48 +00:00
Oli Scherer
c892b28c02
Basic generators work
2023-10-27 13:05:48 +00:00
Oli Scherer
998a816106
Make gen
blocks implement the Iterator
trait
2023-10-27 13:05:48 +00:00
Oli Scherer
621494382d
Add gen blocks to ast and do some broken ast lowering
2023-10-27 13:05:48 +00:00
Oli Scherer
a61cf673cd
Reserve gen
keyword for gen {}
blocks and gen fn
in 2024 edition
2023-10-26 06:49:17 +00:00
Oli Scherer
5c1872d7ae
Rename generator
folder
2023-10-20 21:14:02 +00:00