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
{{ message }}
Repository navigation
SROA is incompatible with RFC 3943 semantics #163388
// WARNING: This output format is intended for human consumers only// and is subject to change without notice. Knock yourself out.// HINT: See also -Z dump-mir for MIR at specific points during compilation.fnmain() -> (){letmut _0:();letmut _1:(usize, std::mem::MaybeUninit<usize>);letmut _2: std::mem::MaybeUninit<usize>;letmut _3:usize;letmut _4: std::mem::MaybeUninit<usize>;
bb0:{
_3 = const0_usize;
_2 = copy _4;return;}}
I addressed this in #163335. The basic idea is that a write to a place based on _1 has the side-effect of allocating _1. This side effect must be preserved when splitting by emitting StorageAlloc for every field at that point (except the field being written to, since it gets that implicitly from the write anyways).
Activity
Amanieu commentedon Sep 28, 2026
I addressed this in #163335. The basic idea is that a write to a place based on
_1has the side-effect of allocating_1. This side effect must be preserved when splitting by emittingStorageAllocfor every field at that point (except the field being written to, since it gets that implicitly from the write anyways).