about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/lib.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-09-30 13:23:09 +0000
committerbors <bors@rust-lang.org>2021-09-30 13:23:09 +0000
commit6dc08b909b469d58dd8fa54c57ab193b8cf95257 (patch)
treee36e8cf2e12a47008d6c4cb8935d8d860af4febf /compiler/rustc_codegen_llvm/src/lib.rs
parentc6007fdc7059c677a6c089e8d2915b264c0d1326 (diff)
parent6ff5b471ef7806c40e57b9e83107ce4d62012d1b (diff)
downloadrust-6dc08b909b469d58dd8fa54c57ab193b8cf95257.tar.gz
rust-6dc08b909b469d58dd8fa54c57ab193b8cf95257.zip
Auto merge of #87998 - nneonneo:master, r=oli-obk
Avoid spurious "previous iteration of loop" errors

Only follow backwards edges during `get_moved_indexes` if the move path is definitely initialized at loop entry. Otherwise, the error occurred prior to the loop, so we ignore the backwards edges to avoid generating misleading "value moved here, in previous iteration of loop" errors.

This patch also slightly improves the analysis of inits, including `NonPanicPathOnly` initializations (which are ignored by `drop_flag_effects::for_location_inits`). This is required for the definite initialization analysis, but may also help find certain skipped reinits in rare cases.

Patch passes all non-ignored src/test/ui testcases.

Fixes #72649.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/lib.rs')
0 files changed, 0 insertions, 0 deletions