STL icon indicating copy to clipboard operation
STL copied to clipboard

`<sstream>`: Don't swap `basic_stringbuf`s in move assignment and allocator-extended construction

Open frederick-vs-ja opened this issue 1 year ago • 2 comments
trafficstars

Fixes #4232.

Notes:

  1. Exception specification strengthening for move assignment is made conditional (similar to standard specifications for containers).
  2. The _Copy_into_self_and_tidy function actually copies the buffer, which is needed when both allocators are not equal.
  3. The old _Assign_rv is sometimes replaced with _Assign_rv_no_alias, which should avoid redundant address comparison.

frederick-vs-ja avatar Dec 05 '23 17:12 frederick-vs-ja

There are runtime test failures.

StephanTLavavej avatar Dec 05 '23 22:12 StephanTLavavej

The CLA bot is stuck, so I'm going to close and reopen this (the only way that we can get it to rerun).

StephanTLavavej avatar Dec 06 '23 12:12 StephanTLavavej

Thanks! :heart_eyes_cat: I pushed a couple of bugfixes and I think this is ready to go.

StephanTLavavej avatar Jan 24 '24 03:01 StephanTLavavej

I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed.

StephanTLavavej avatar Jan 24 '24 09:01 StephanTLavavej

Thanks for fixing this libcxx failure! :tada: :heart_eyes_cat: :rocket:

StephanTLavavej avatar Jan 24 '24 23:01 StephanTLavavej