rust/tests/ui/coroutine
Matthias Krüger 1dd36119d0
Rollup merge of #118871 - tmiasko:coroutine-maybe-uninit-fields, r=compiler-errors
Coroutine variant fields can be uninitialized

Wrap coroutine variant fields in MaybeUninit to indicate that they might be uninitialized. Otherwise an uninhabited field will make the entire variant uninhabited and introduce undefined behaviour.

The analogous issue in the prefix of coroutine layout was addressed by 6fae7f8071.
2023-12-13 18:03:33 +01:00
..
auxiliary Fix coroutine validation for mixed panic strategy 2023-11-28 21:11:24 +01:00
print Show number in error message even for one error 2023-11-24 19:15:52 +01:00
addassign-yield.rs Rename generator folder 2023-10-20 21:14:02 +00:00
async-coroutine-issue-67158.rs Rename generator folder 2023-10-20 21:14:02 +00:00
async-coroutine-issue-67158.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
async-gen-deduce-yield.rs Actually parse async gen blocks correctly 2023-12-12 20:13:37 +00:00
async_gen_fn.e2024.stderr Add tests 2023-12-08 17:23:26 +00:00
async_gen_fn.none.stderr Add tests 2023-12-08 17:23:26 +00:00
async_gen_fn.rs Add tests 2023-12-08 17:23:26 +00:00
async_gen_fn_iter.rs Make async generators fused by default 2023-12-08 22:25:12 +00:00
auto-trait-regions.rs Rename generator folder 2023-10-20 21:14:02 +00:00
auto-trait-regions.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
borrow-in-tail-expr.rs Rename generator folder 2023-10-20 21:14:02 +00:00
borrowing.rs Rename generator folder 2023-10-20 21:14:02 +00:00
borrowing.stderr dropck_outlives check generator witness needs_drop 2023-11-02 17:20:13 +01:00
clone-impl-async.rs Rename generator folder 2023-10-20 21:14:02 +00:00
clone-impl-async.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
clone-impl-static.rs Rename generator folder 2023-10-20 21:14:02 +00:00
clone-impl-static.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
clone-impl.rs Rename generator folder 2023-10-20 21:14:02 +00:00
clone-impl.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
clone-rpit.rs Allow defining opaques in check_coroutine_obligations 2023-11-22 03:44:13 +00:00
conditional-drop.rs Rename generator folder 2023-10-20 21:14:02 +00:00
control-flow.rs remove redundant imports 2023-12-10 10:56:22 +08:00
coroutine-region-requirements.migrate.stderr Manual find replace updates 2023-11-24 21:04:51 +01:00
coroutine-region-requirements.rs Rename generator folder 2023-10-20 21:14:02 +00:00
coroutine-region-requirements.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
coroutine-resume-after-panic.rs Rename generator folder 2023-10-20 21:14:02 +00:00
coroutine-with-nll.rs Rename generator folder 2023-10-20 21:14:02 +00:00
coroutine-with-nll.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
coroutine-yielding-or-returning-itself.rs Rename generator folder 2023-10-20 21:14:02 +00:00
coroutine-yielding-or-returning-itself.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
derived-drop-parent-expr.rs Rename generator folder 2023-10-20 21:14:02 +00:00
discriminant.rs remove redundant imports 2023-12-10 10:56:22 +08:00
drop-and-replace.rs Rename generator folder 2023-10-20 21:14:02 +00:00
drop-control-flow.rs Rename generator folder 2023-10-20 21:14:02 +00:00
drop-env.rs Rename generator folder 2023-10-20 21:14:02 +00:00
drop-track-addassign-yield.rs Rename generator folder 2023-10-20 21:14:02 +00:00
drop-tracking-parent-expression.rs Rename generator folder 2023-10-20 21:14:02 +00:00
drop-tracking-parent-expression.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
drop-tracking-yielding-in-match-guards.rs Rename generator folder 2023-10-20 21:14:02 +00:00
drop-yield-twice.rs Rename generator folder 2023-10-20 21:14:02 +00:00
drop-yield-twice.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
dropck-resume.rs Rename generator folder 2023-10-20 21:14:02 +00:00
dropck-resume.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
dropck.rs Rename generator folder 2023-10-20 21:14:02 +00:00
dropck.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
gen_block.e2024.stderr Feature gate coroutine yield usage 2023-10-27 13:05:48 +00:00
gen_block.none.stderr Feature gate coroutine yield usage 2023-10-27 13:05:48 +00:00
gen_block.rs Feature gate coroutine yield usage 2023-10-27 13:05:48 +00:00
gen_block_is_coro.rs Feature gate gen blocks, even in 2024 edition 2023-10-27 13:05:48 +00:00
gen_block_is_coro.stderr Make gen blocks implement the Iterator trait 2023-10-27 13:05:48 +00:00
gen_block_is_iter.rs Feature gate gen blocks, even in 2024 edition 2023-10-27 13:05:48 +00:00
gen_block_is_no_future.rs Feature gate gen blocks, even in 2024 edition 2023-10-27 13:05:48 +00:00
gen_block_is_no_future.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
gen_block_iterate.rs Fuse gen blocks 2023-10-27 15:20:44 +00:00
gen_block_move.fixed Handle move generators 2023-10-27 13:05:48 +00:00
gen_block_move.rs Handle move generators 2023-10-27 13:05:48 +00:00
gen_block_move.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
gen_block_panic.rs Only run panic tests on targets that can unwind 2023-10-30 16:32:53 +00:00
gen_block_panic.stderr Only run panic tests on targets that can unwind 2023-10-30 16:32:53 +00:00
gen_fn.e2024.stderr gate gen fn behind gen_blocks 2023-12-04 11:23:06 -08:00
gen_fn.none.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
gen_fn.rs gate gen fn behind gen_blocks 2023-12-04 11:23:06 -08:00
gen_fn_iter.rs Merge Async and Gen into CoroutineKind 2023-12-04 12:48:01 -08:00
gen_fn_lifetime_capture.rs Address code review feedback 2023-12-04 14:33:46 -08:00
issue-44197.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-45729-unsafe-in-coroutine.mir.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-45729-unsafe-in-coroutine.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-45729-unsafe-in-coroutine.thir.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-48048.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-48048.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-52304.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-52398.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-52398.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
issue-53548-1.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-53548.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-57017.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-57084.rs rename ReLateBound to ReBound 2023-11-13 14:13:54 +00:00
issue-57084.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
issue-57478.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-58888.rs Remove asmjs from tests 2023-10-28 23:11:03 -07:00
issue-61442-stmt-expr-with-drop.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-62506-two_awaits.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-64620-yield-array-element.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-64620-yield-array-element.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-68112.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-68112.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
issue-69017.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-69039.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-87142.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-88653.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-88653.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-91477.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-91477.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-93161.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-102645.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-102645.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
issue-105084.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-105084.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
issue-110929-coroutine-conflict-error-ice.rs dropck_outlives check generator witness needs_drop 2023-11-02 17:20:13 +01:00
issue-113279.rs Rename generator folder 2023-10-20 21:14:02 +00:00
issue-113279.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
iterator-count.rs remove redundant imports 2023-12-10 10:56:22 +08:00
layout-error.rs Rename generator folder 2023-10-20 21:14:02 +00:00
layout-error.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
live-upvar-across-yield.rs Rename generator folder 2023-10-20 21:14:02 +00:00
match-bindings.rs Rename generator folder 2023-10-20 21:14:02 +00:00
match-bindings.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
metadata-sufficient-for-layout.rs Rename generator folder 2023-10-20 21:14:02 +00:00
metadata-sufficient-for-layout.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
nested_coroutine.rs Rename generator folder 2023-10-20 21:14:02 +00:00
niche-in-coroutine.rs Rename generator folder 2023-10-20 21:14:02 +00:00
non-static-is-unpin.rs remove redundant imports 2023-12-10 10:56:22 +08:00
not-send-sync.rs Rename generator folder 2023-10-20 21:14:02 +00:00
not-send-sync.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
overlap-locals.rs Rename generator folder 2023-10-20 21:14:02 +00:00
panic-drops-resume.rs Rename generator folder 2023-10-20 21:14:02 +00:00
panic-drops.rs Rename generator folder 2023-10-20 21:14:02 +00:00
panic-safe.rs Rename generator folder 2023-10-20 21:14:02 +00:00
parent-expression.rs Rename generator folder 2023-10-20 21:14:02 +00:00
parent-expression.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
partial-drop.rs Rename generator folder 2023-10-20 21:14:02 +00:00
partial-initialization-across-yield.rs Rename generator folder 2023-10-20 21:14:02 +00:00
partial-initialization-across-yield.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
pattern-borrow.rs Rename generator folder 2023-10-20 21:14:02 +00:00
pattern-borrow.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
pin-box-coroutine.rs Rename generator folder 2023-10-20 21:14:02 +00:00
reborrow-mut-upvar.rs Rename generator folder 2023-10-20 21:14:02 +00:00
reborrow-mut-upvar.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
ref-escapes-but-not-over-yield.rs Rename generator folder 2023-10-20 21:14:02 +00:00
ref-escapes-but-not-over-yield.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
ref-upvar-not-send.rs Rename generator folder 2023-10-20 21:14:02 +00:00
ref-upvar-not-send.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
reinit-in-match-guard.rs Rename generator folder 2023-10-20 21:14:02 +00:00
resume-after-return.rs Rename generator folder 2023-10-20 21:14:02 +00:00
resume-arg-late-bound.rs Rename generator folder 2023-10-20 21:14:02 +00:00
resume-arg-late-bound.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
resume-arg-size.rs Rename generator folder 2023-10-20 21:14:02 +00:00
resume-live-across-yield.rs Rename generator folder 2023-10-20 21:14:02 +00:00
retain-resume-ref.rs Rename generator folder 2023-10-20 21:14:02 +00:00
retain-resume-ref.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
self_referential_gen_block.rs Use targetted diagnostic for borrow across yield error 2023-10-27 13:05:49 +00:00
self_referential_gen_block.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
size-moved-locals.rs Remove asmjs from tests 2023-10-28 23:11:03 -07:00
sized-yield.rs Rename generator folder 2023-10-20 21:14:02 +00:00
sized-yield.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
smoke-resume-args.rs remove redundant imports 2023-12-10 10:56:22 +08:00
smoke.rs Rename generator folder 2023-10-20 21:14:02 +00:00
static-coroutine.rs Rename generator folder 2023-10-20 21:14:02 +00:00
static-mut-reference-across-yield.rs Rename generator folder 2023-10-20 21:14:02 +00:00
static-not-unpin.current.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
static-not-unpin.next.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
static-not-unpin.rs Rename generator folder 2023-10-20 21:14:02 +00:00
static-reference-across-yield.rs Rename generator folder 2023-10-20 21:14:02 +00:00
too-live-local-in-immovable-gen.rs Rename generator folder 2023-10-20 21:14:02 +00:00
too-live-local-in-immovable-gen.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
too-many-parameters.rs Rename generator folder 2023-10-20 21:14:02 +00:00
too-many-parameters.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
type-mismatch-error.rs Rename generator folder 2023-10-20 21:14:02 +00:00
type-mismatch-error.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
type-mismatch-signature-deduction.rs Rename generator folder 2023-10-20 21:14:02 +00:00
type-mismatch-signature-deduction.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
uninhabited-field.rs Coroutine variant fields can be uninitialized 2023-12-12 00:00:00 +00:00
unresolved-ct-var.rs Rename generator folder 2023-10-20 21:14:02 +00:00
unresolved-ct-var.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
unsized-capture-across-yield.rs Rename generator folder 2023-10-20 21:14:02 +00:00
unsized-capture-across-yield.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
unsized-local-across-yield.rs Rename generator folder 2023-10-20 21:14:02 +00:00
unsized-local-across-yield.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
unwind-abort-mix.rs Fix coroutine validation for mixed panic strategy 2023-11-28 21:11:24 +01:00
witness-ignore-fake-reads.rs generator layout: ignore fake borrows 2023-11-08 22:55:28 +01:00
xcrate-reachable.rs Rename generator folder 2023-10-20 21:14:02 +00:00
xcrate.rs Rename generator folder 2023-10-20 21:14:02 +00:00
yield-in-args-rev.rs Rename generator folder 2023-10-20 21:14:02 +00:00
yield-in-args-rev.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
yield-in-args.rs Rename generator folder 2023-10-20 21:14:02 +00:00
yield-in-args.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
yield-in-const.rs Rename generator folder 2023-10-20 21:14:02 +00:00
yield-in-const.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
yield-in-function.rs Rename generator folder 2023-10-20 21:14:02 +00:00
yield-in-function.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
yield-in-initializer.rs Rename generator folder 2023-10-20 21:14:02 +00:00
yield-in-initializer.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
yield-in-static.rs Rename generator folder 2023-10-20 21:14:02 +00:00
yield-in-static.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
yield-outside-coroutine-issue-78653.rs Rename generator folder 2023-10-20 21:14:02 +00:00
yield-outside-coroutine-issue-78653.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
yield-subtype.rs Rename generator folder 2023-10-20 21:14:02 +00:00
yield-subtype.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
yield-while-iterating.rs Rename generator folder 2023-10-20 21:14:02 +00:00
yield-while-iterating.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
yield-while-local-borrowed.rs Rename generator folder 2023-10-20 21:14:02 +00:00
yield-while-local-borrowed.stderr Rename generator folder 2023-10-20 21:14:02 +00:00
yield-while-ref-reborrowed.rs Rename generator folder 2023-10-20 21:14:02 +00:00
yield-while-ref-reborrowed.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
yielding-in-match-guards.rs Rename generator folder 2023-10-20 21:14:02 +00:00