diff options
author | Moritz Sichert <sichert@in.tum.de> | 2021-03-23 15:47:37 +0000 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2021-03-23 16:34:42 +0000 |
commit | 09f08fef71fb776a1d850a7b854c7ccf8a3d6c11 (patch) | |
tree | f051c588b5bae5a173ee331a864f4fb2dd4ccd67 /gcc | |
parent | 6b1f841ce0ccf30eda7896ba5ab0aa94c72307b2 (diff) | |
download | gcc-09f08fef71fb776a1d850a7b854c7ccf8a3d6c11.zip gcc-09f08fef71fb776a1d850a7b854c7ccf8a3d6c11.tar.gz gcc-09f08fef71fb776a1d850a7b854c7ccf8a3d6c11.tar.bz2 |
libstdc++: Avoid accidental ADL when calling make_reverse_iterator
std::ranges::reverse_view uses make_reverse_iterator in its
implementation as described in [range.reverse.view]. This accidentally
allows ADL as an unqualified name is used in the call. According to
[contents], however, this should be treated as a qualified lookup into
the std namespace.
This leads to errors due to ambiguous name lookups when another
make_reverse_iterator function is found via ADL.
libstdc++-v3/Changelog:
* include/std/ranges (reverse_view::begin, reverse_view::end):
Qualify make_reverse_iterator calls to avoid ADL.
* testsuite/std/ranges/adaptors/reverse.cc: Test that
views::reverse works when make_reverse_iterator is defined
in an associated namespace.
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions