[libcxx-commits] [PATCH] D119685: [libc++] [test] Qualify `distance` as `std::distance` in a lot of tests. NFCI.

Arthur O'Dwyer via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sun Feb 13 19:03:47 PST 2022


Quuxplusone created this revision.
Quuxplusone added reviewers: ldionne, Mordante, libc++.
Quuxplusone added a project: libc++.
Quuxplusone requested review of this revision.
Herald added a subscriber: libcxx-commits.
Herald added 1 blocking reviewer(s): libc++.

We shouldn't be calling `distance` via ADL -- and neither should anybody in the wild be calling it via ADL, so it's not like we need to test this ADL ability of `distance` in particular.

This and D119677 <https://reviews.llvm.org/D119677> came out of my running the tests with a modified version of D119670 <https://reviews.llvm.org/D119670> to look for all the places we call `std::` functions unqualified. I claim that almost every time we do this, it's either accidental or unwise or both.

If this `std::distance` patch looks good to folks, then I've got similar patches lined up for

- `std::next`
- `std::prev`
- `std::move`
- `std::getline`
- `std::atomic_flag_{clear,test}`
- iomanip functions (`std::hex`, `std::showpoint`, et al) in std/localization/
- iomanip functions (`std::hex`, `std::showpoint`, et al) in std/input.output/iostream.format/
- `using std::optional; using std::make_optional;` in std/utilities/optional/
- `using std::any; using std::any_cast;` in std/utilities/any/ (this one is not purely mechanical, though)

where I propose to post at least the first 8 as one giant PR just to poke CI, and then land it as 8 individual commits if CI is green. @ldionne @Mordante any objections to that plan?


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D119685

Files:
  libcxx/test/std/containers/associative/map/map.cons/assign_initializer_list.pass.cpp
  libcxx/test/std/containers/associative/map/map.cons/copy.pass.cpp
  libcxx/test/std/containers/associative/map/map.cons/copy_alloc.pass.cpp
  libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp
  libcxx/test/std/containers/associative/map/map.cons/initializer_list.pass.cpp
  libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare.pass.cpp
  libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare_alloc.pass.cpp
  libcxx/test/std/containers/associative/map/map.cons/iter_iter.pass.cpp
  libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp.pass.cpp
  libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp_alloc.pass.cpp
  libcxx/test/std/containers/associative/map/map.cons/move.pass.cpp
  libcxx/test/std/containers/associative/map/map.modifiers/insert_initializer_list.pass.cpp
  libcxx/test/std/containers/associative/multimap/multimap.cons/assign_initializer_list.pass.cpp
  libcxx/test/std/containers/associative/multimap/multimap.cons/initializer_list.pass.cpp
  libcxx/test/std/containers/associative/multimap/multimap.cons/initializer_list_compare.pass.cpp
  libcxx/test/std/containers/associative/multimap/multimap.cons/initializer_list_compare_alloc.pass.cpp
  libcxx/test/std/containers/associative/multimap/multimap.cons/iter_iter.pass.cpp
  libcxx/test/std/containers/associative/multimap/multimap.cons/iter_iter_comp.pass.cpp
  libcxx/test/std/containers/associative/multimap/multimap.cons/iter_iter_comp_alloc.pass.cpp
  libcxx/test/std/containers/associative/multimap/multimap.cons/move.pass.cpp
  libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_initializer_list.pass.cpp
  libcxx/test/std/containers/associative/multiset/insert_initializer_list.pass.cpp
  libcxx/test/std/containers/associative/multiset/multiset.cons/assign_initializer_list.pass.cpp
  libcxx/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp
  libcxx/test/std/containers/associative/multiset/multiset.cons/copy_alloc.pass.cpp
  libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp
  libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list.pass.cpp
  libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare.pass.cpp
  libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare_alloc.pass.cpp
  libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter.pass.cpp
  libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_alloc.pass.cpp
  libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_comp.pass.cpp
  libcxx/test/std/containers/associative/multiset/multiset.cons/move.pass.cpp
  libcxx/test/std/containers/associative/set/insert_initializer_list.pass.cpp
  libcxx/test/std/containers/associative/set/set.cons/assign_initializer_list.pass.cpp
  libcxx/test/std/containers/associative/set/set.cons/copy.pass.cpp
  libcxx/test/std/containers/associative/set/set.cons/copy_alloc.pass.cpp
  libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp
  libcxx/test/std/containers/associative/set/set.cons/initializer_list.pass.cpp
  libcxx/test/std/containers/associative/set/set.cons/initializer_list_compare.pass.cpp
  libcxx/test/std/containers/associative/set/set.cons/initializer_list_compare_alloc.pass.cpp
  libcxx/test/std/containers/associative/set/set.cons/iter_iter.pass.cpp
  libcxx/test/std/containers/associative/set/set.cons/iter_iter_alloc.pass.cpp
  libcxx/test/std/containers/associative/set/set.cons/iter_iter_comp.pass.cpp
  libcxx/test/std/containers/associative/set/set.cons/move.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.capacity/resize_size.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.capacity/resize_size_value.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.cons/assign_iter_iter.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.cons/assign_size_value.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.cons/iter_iter.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.cons/iter_iter_alloc.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.cons/size.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.cons/size_value.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.cons/size_value_alloc.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.modifiers/clear.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.modifiers/emplace.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.modifiers/emplace_front.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.modifiers/erase_iter.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.modifiers/erase_iter_iter.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_iter_iter.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_rvalue.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_size_value.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_value.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.modifiers/pop_back.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.modifiers/pop_front.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.modifiers/push_front.pass.cpp
  libcxx/test/std/containers/sequences/deque/deque.modifiers/push_front_rvalue.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/clear.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_after.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_front.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_many.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_one.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_const.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_init.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_range.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_rv.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_size_value.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/pop_front.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_const.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_rv.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size_value.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/reverse.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/sort.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/sort_pred.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_flist.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_one.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_range.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/member_swap.pass.cpp
  libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/non_member_swap.pass.cpp
  libcxx/test/std/containers/sequences/list/list.modifiers/erase_iter.pass.cpp
  libcxx/test/std/containers/sequences/list/list.modifiers/erase_iter_iter.pass.cpp
  libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_iter_iter.pass.cpp
  libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_value.pass.cpp
  libcxx/test/std/containers/sequences/list/list.ops/sort.pass.cpp
  libcxx/test/std/containers/sequences/list/list.ops/sort_comp.pass.cpp
  libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list.pass.cpp
  libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list_iter.pass.cpp
  libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list_iter_iter.pass.cpp
  libcxx/test/std/containers/sequences/list/list.special/swap.pass.cpp
  libcxx/test/std/containers/sequences/vector.bool/erase_iter.pass.cpp
  libcxx/test/std/containers/sequences/vector.bool/erase_iter_iter.pass.cpp
  libcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter.pass.cpp
  libcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter_iter.pass.cpp
  libcxx/test/std/containers/sequences/vector/vector.special/swap.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D119685.408314.patch
Type: text/x-patch
Size: 205427 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220214/4a6cc571/attachment-0001.bin>


More information about the libcxx-commits mailing list