[libcxx-commits] [PATCH] D93424: [libc++] ADL-proof vector<bool> by adding _VSTD:: qualification on calls.
Arthur O'Dwyer via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Dec 16 15:32:23 PST 2020
Quuxplusone created this revision.
Quuxplusone added a reviewer: ldionne.
Quuxplusone added a project: libc++.
Herald added a subscriber: kristof.beyls.
Quuxplusone requested review of this revision.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.
This affects only vectors with weird/malicious allocators, the same corner case covered in D91708 <https://reviews.llvm.org/D91708>, but for `vector<bool>` this time.
Also ADL-proof <__tree>, which affects only sets and maps with weird/malicious allocators where the ADL trap is in the **fancy pointer type**.
Also drive-by _VSTD:: qualification in the guts of std::bind, std::packaged_task, std::condition_variable.
I think this is likely the last of my ADL-proofing patches for a while; I know I've left some harmless (primitive-type-only) helpers in <locale> and <charconv>, but basically everything is ADL-proofed that can be, now, AFAIK. After this I'll probably spend a little time looking at constexpr algorithms again.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D93424
Files:
libcxx/include/__bit_reference
libcxx/include/__mutex_base
libcxx/include/__tree
libcxx/include/array
libcxx/include/bitset
libcxx/include/functional
libcxx/include/future
libcxx/include/iomanip
libcxx/include/mutex
libcxx/test/libcxx/containers/sequences/vector/robust_against_adl.pass.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D93424.312314.patch
Type: text/x-patch
Size: 25134 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20201216/ecdc784f/attachment-0001.bin>
More information about the libcxx-commits
mailing list