Andrey Semashev
Andrey Semashev
They can specialize for their specific `std::vector` types. Or, if they really insist, they can specialize for `__gnu_cxx::__normal_iterator`, if they know they only need to support libstdc++. Other standard libraries...
This works as expected for me with Boost 1.84 but not 1.85. gcc 11.4, `-O2`, Kubuntu 22.04.
Ah, sorry, I missed that you were using `-O3`. With it, it also fails with Boost 1.84.
With that commit applied to 1.85, this test produces the expected result for me: ``` Next timestamp: 6000 Time: 6000, TaskType: 0 Time: 10000, TaskType: 1 ``` gcc 11.4, `-O3`,...
Bisect shows that the first bad commit is 1a4a205ea6ef7b4e67a2faab7c7d745711807695. Reverting this commit on 1.85 (with resolved conflicts) fixes the crash. [container_revert_inline_conversion.patch.gz](https://github.com/boostorg/container/files/15045677/container_revert_inline_conversion.patch.gz)
Thanks, the commit does fix the problem. It is probably worth attaching this patch to the 1.85.0 [release notes](https://www.boost.org/users/history/version_1_85_0.html).
The patch is better placed on the website and linked in 1.85 release notes. See an example of a PR doing this [here](https://github.com/boostorg/website/pull/751).
That's a good question. Ideally, I would assume the arguments would be perfectly forwarded, but I can see this could cause problems when inserting more than one element. I suppose,...
@mclow Perhaps we could make this change conditional on a config macro, disabled by default + a note in release notes. After N releases we could switch the default to...
There's an ongoing discussion on the boost-maint list regarding this PR. A slightly different solution has been proposed (not involving a config macro).