El 15/06/2026 a las 16:08, Joaquin M López Muñoz escribió:
Hi,
In its version 22, libc++ introduced changes to their implementation of non-heterogeneous lookup for associative containers that break some assumptions Boost.ICL relies on:
https://github.com/llvm/llvm-project/issues/183189
Turns out lookup for associative containers has been poorly specified since forever. I submitted an issue to the WG21 committee positing that a resolution should be adopted that (among other things) would make Boost.ICL assumptions correct:
https://cplusplus.github.io/LWG/issue4572
In the latest meeting in Brno, however, the committee decided against that resolution with the result that, pending an upcoming reformulation of the affected part of the standard, Boost.ICL will be officially relying on undefined behavior.
I've written a PR to circumvent this problem:
https://github.com/boostorg/icl/pull/54
that relies on heterogeneous lookup (well defined and compatible with the asumptions made by Boost.ICL). I contacted the library maintainer some weeks ago but received no answer, so I'm asking here for this PR to be merged before Boost 1.92, since without it, Boost.ICL is currently broken for libc++ v22. FWIW, some users of Boost.ICL are already applying this fix to their local deployments of Boost:
https://github.com/azahar-emu/ext-boost/commit/6a85c3100499e886e11c87a5c2109...
Another contributor has posted a different PR with the same goal:
https://github.com/boostorg/icl/pull/57
My analisys is that this PR is not as comprehensive as PR#54 (it fails to cover intervals of type right_open_interval and related), plus its performance is probably slightly inferior, so I still recommend that PR#54 be used instead.
Hi, I've tried to contact the registered maintainer off-list to no avail. He ceased to respond to issues with the library around February this year and the last commit is from Dec 2025, so I'm afraid we must assume Boost.ICL is currently not maintained. Is there any volunteer? We're still in time to merge PR#54 (which solves an issue real users have complained about in the last few months) so that it ships with Boost 1.92. Thank you, Joaquín M López Muñoz