Re: [PATCH] libstdc++: Make std::basic_stacktrace swappable with unequal allocators

2024-11-29 Thread Jonathan Wakely
Patch v2 fixes the bug in the slow path for swap, and improves the test so that it fails with the old buggy code. commit 44214429d428f4fe5a148c7636b844600a10f9a4 Author: Jonathan Wakely Date: Thu Nov 28 13:59:09 2024 libstdc++: Make std::basic_stacktrace swappable with unequal allocators

Re: [PATCH] libstdc++: Make std::basic_stacktrace swappable with unequal allocators

2024-11-29 Thread Jonathan Wakely
On Thu, 28 Nov 2024 at 18:59, Jonathan Wakely wrote: > > The standard says that it's undefined to swap two containers if the > allocators are not equal and do not propagate. This ensures that swap is > always O(1) and non-throwing, but has other undesirable consequences > such as LWG 2152. The 201

[PATCH] libstdc++: Make std::basic_stacktrace swappable with unequal allocators

2024-11-28 Thread Jonathan Wakely
The standard says that it's undefined to swap two containers if the allocators are not equal and do not propagate. This ensures that swap is always O(1) and non-throwing, but has other undesirable consequences such as LWG 2152. The 2016 paper P0178 ("Allocators and swap") proposed making the non-me