[all-commits] [llvm/llvm-project] 045781: [libc++] [test] Don't assume iterators are class t...

Quuxplusone via All-commits all-commits at lists.llvm.org
Wed Apr 28 07:15:12 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 045781a5ce4f8022bf306e86a0ec9f860973e720
      https://github.com/llvm/llvm-project/commit/045781a5ce4f8022bf306e86a0ec9f860973e720
  Author: Arthur O'Dwyer <arthur.j.odwyer at gmail.com>
  Date:   2021-04-28 (Wed, 28 Apr 2021)

  Changed paths:
    M libcxx/test/std/containers/associative/map/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/associative/multimap/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/associative/multiset/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/associative/set/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/deque/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/list/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/vector/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/views/span.iterators/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/incrementable.traits/iter_difference_t.pass.cpp
    M libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/readable.traits/iter_value_t.pass.cpp
    M libcxx/test/std/strings/basic.string/string.iterators/iterator_concept_conformance.compile.pass.cpp

  Log Message:
  -----------
  [libc++] [test] Don't assume iterators are class types.

In particular, `span<int>::iterator` may be a raw pointer type
and thus have no nested typedef `iterator::value_type`. However,
we already know that the value_type we expect for `span<int>` is just `int`.
Fix up all other iterator_concept_conformance tests in the same way.

Differential Revision: https://reviews.llvm.org/D101420




More information about the All-commits mailing list