You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It looks like I got the logic around this wrong. Basically, to goal was to have it so that consumes of a projection (e.g. drop(x.y)) are ignored, and reinitializations (x.y = foo) count as reinitializing all of x. It seems the code that ignores projections is too aggressive in ignoring things.
For example:
The
TryFrom<&PlaceWithHirId<'_>> for TrackedValue
fails for places with projections, so in that case borrow is never recorded:rust/compiler/rustc_typeck/src/check/generator_interior/drop_ranges.rs
Lines 133 to 143 in 4c55c83
rust/compiler/rustc_typeck/src/check/generator_interior/drop_ranges/record_consumed_borrow.rs
Lines 93 to 102 in 4c55c83
The text was updated successfully, but these errors were encountered: