about summary refs log tree commit diff
path: root/src/test/run-pass/thinlto
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-10-13 04:00:55 +0000
committerbors <bors@rust-lang.org>2017-10-13 04:00:55 +0000
commit86e548747b33023c750c2201e55b065a3f3d275c (patch)
tree032449fd50ab8f856b605b6ccbd7bb9987592829 /src/test/run-pass/thinlto
parent91eb6fe56d6df4a66f11bd3e79f08f74aacbd164 (diff)
parentd6caf737b30f94f4e734f59cde88e7d5295dc4a1 (diff)
downloadrust-86e548747b33023c750c2201e55b065a3f3d275c.tar.gz
rust-86e548747b33023c750c2201e55b065a3f3d275c.zip
Auto merge of #45025 - pnkfelix:mir-borrowck-moves-of-supporting-prefixes-invalidate-uses-too, r=arielb1
MIR-borrowck: moves of prefixes invalidate uses too

I overlooked the fact that when we check if a path is moved, we need to check for interference between the (shallow) prefixes and the use in question.

~~Long term, we may want to revise how this computation is done. For example, it might be better to represent the set of invalidated prefixes in the dataflow computation (the `maybe_uninitialized` dataflow), and thus avoid one of the loops in the code here.~~
 * Update: I was wrong in my original recollection of the dataflow code, which actually does the right thing, in terms of precisely tracking substructure initialization and movement.

Fix #44833

----

Update: The initial version of this PR's description (and the code as well) erroneously focused on supporting prefixes. ~~But the two main cases of interest are: 1. the *shallow* prefixes, and 2. the deref-free prefix built off a local (if the lvalue is indeed built off a local)~~

Update 2: The main cases of interest are in fact: 1. the nearest prefix with a MovePath, and 2. the suffixes.
Diffstat (limited to 'src/test/run-pass/thinlto')
0 files changed, 0 insertions, 0 deletions