https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105373
--- Comment #1 from Avi Kivity <avi at scylladb dot com> --- I randomly looked at 023t.ssa (mainly because I recognized the acronym). _45 = frame_ptr_182(D)->__closure; _46 = _45->__this; frame_ptr_182(D)->D.2159984_4_7 = _46->_config.memtable_to_cache_scheduling_group; _47 = &frame_ptr_182(D)->D.2159792_4_7; _48 = frame_ptr_182(D)->__closure; _49 = &_48->__old3; seastar::lw_shared_ptr<replica::memtable>::lw_shared_ptr (_47, _49); _50 = frame_ptr_182(D)->__closure; _51 = _50->__this; frame_ptr_182(D)->D.2159793_4_7.__this = _51; frame_ptr_182(D)->D.2159793_4_7.__old4 = frame_ptr_182(D)->D.2159792_4_7; _52 = frame_ptr_182(D)->__closure; _53 = _52->__newtabs; frame_ptr_182(D)->D.2159793_4_7.__newtabs = _53; _54 = &frame_ptr_182(D)->D.2159793_4_7; frame_ptr_182(D)->D.2160366_4_7 = seastar::with_scheduling_group<replica::table::try_flush_memtable_to_sstable(replica::table::try_flush_memtable_to_sstable(seastar::lw_shared_ptr<replica::memtable>, sstable_write_permit&&)::_ZN7replica5table29try_flush_memtable_to_sstableEN7seastar13lw_shared_ptrINS_8memtableEEEO20sstable_write_permit.Frame*)::<lambda()>::operator()(replica::table::try_flush_memtable_to_sstable(replica::table::try_flush_memtable_to_sstable(seastar::lw_shared_ptr<replica::memtable>, sstable_write_permit&&)::_ZN7replica5table29try_flush_memtable_to_sstableEN7seastar13lw_shared_ptrINS_8memtableEEEO20sstable_write_permit.Frame*)::<lambda()> mutable::_ZZN7replica5table29try_flush_memtable_to_sstableEN7seastar13lw_shared_ptrINS_8memtableEEEO20sstable_write_permitENUlvE_clEv.Frame*)::<lambda()>::operator()(replica::table::try_flush_memtable_to_sstable(replica::table::try_flush_memtable_to_sstable(seastar::lw_shared_ptr<replica::memtable>, sstable_write_permit&&)::_ZN7replica5table29try_flush_memtable_to_sstableEN7seastar13lw_shared_ptrINS_8memtableEEEO20sstable_write_permit.Frame*)::<lambda()>::operator()(replica::table::try_flush_memtable_to_sstable(replica::table::try_flush_memtable_to_sstable(seastar::lw_shared_ptr<replica::memtable>, sstable_write_permit&&)::_ZN7replica5table29try_flush_memtable_to_sstableEN7seastar13lw_shared_ptrINS_8memtableEEEO20sstable_write_permit.Frame*)::<lambda()> mutable::_ZZN7replica5table29try_flush_memtable_to_sstableEN7seastar13lw_shared_ptrINS_8memtableEEEO20sstable_write_permitENUlvE_clEv.Frame*)::<lambda()> mutable::_ZZZN7replica5table29try_flush_memtable_to_sstableEN7seastar13lw_shared_ptrINS_8memtableEEEO20sstable_write_permitENUlvE_clEvENUlvE1_clEv.Frame*)::<lambda()> > (frame_ptr_182(D)->D.2159984_4_7, _54); [return slot optimization] _55 = &frame_ptr_182(D)->D.2160366_4_7; frame_ptr_182(D)->Aw5_4_7 = seastar::operator co_await<void> (_55); [return slot optimization] In the line frame_ptr_182(D)->D.2159793_4_7.__old4 = frame_ptr_182(D)->D.2159792_4_7; Is this not a bitwise copy, which should be instead a call to the copy constructor?