[icl] Request to merge PR#54

Joaquin M López Muñoz via Boost <[email protected]> Mon, 15 Jun 2026 16:08:23 +0200
Newsgroups gmane.comp.lib.boost.devel
Message-ID <[email protected]>
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/6a85c3100499e886e11c87a5c2109eedacea0a61

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.

Thank you,

Joaquín M López Muñoz

_______________________________________________
Boost mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://lists.boost.org/mailman3/lists/boost.lists.boost.org/
Archived at: https://lists.boost.org/archives/list/[email protected]/message/J4QC4VHD3ZHEPCXRUV5OPWLMCVXKOHVR/