Andrey Semashev

Results 222 comments of 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).