[all-commits] [llvm/llvm-project] 0902eb: [libc++] Fix common_iterator for output_iterators

Louis Dionne via All-commits all-commits at lists.llvm.org
Thu Jan 27 07:57:26 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0902eb30ad714da3ed6c6a744337c9b52427f366
      https://github.com/llvm/llvm-project/commit/0902eb30ad714da3ed6c6a744337c9b52427f366
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2022-01-27 (Thu, 27 Jan 2022)

  Changed paths:
    M libcxx/include/__iterator/common_iterator.h
    M libcxx/test/std/iterators/predef.iterators/iterators.common/iterator_traits.compile.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/iterators.common/plus_plus.pass.cpp
    M libcxx/test/std/iterators/predef.iterators/iterators.common/types.h

  Log Message:
  -----------
  [libc++] Fix common_iterator for output_iterators

We were missing a constraint in common_iterator's iterator_traits and
we were eagerly instantiating iter_value_t even when invalid.

Thanks to Casey Carter for finding this bug.

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




More information about the All-commits mailing list