[libcxx-commits] [PATCH] D130835: [libc++] Fix a hard error in `contiguous_iterator<NoOperatorArrowIter>`.

Hui via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Aug 4 00:15:48 PDT 2022


huixie90 accepted this revision as: huixie90.
huixie90 added a comment.

LGTM after Louis's comments are addressed



================
Comment at: libcxx/include/__memory/pointer_traits.h:176
 template <class _Pointer, class = __enable_if_t<
-    !is_pointer<_Pointer>::value && !is_array<_Pointer>::value && !is_function<_Pointer>::value
 > >
----------------
I think your fix and Louis's suggestion read better. just out of curiosity, does it work with using `_Lazy` and `_And` ?


================
Comment at: libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.random.access/contiguous_iterator.compile.pass.cpp:237-238
+    self operator+(difference_type n) const;
+    template <bool B1, bool B2>
+    friend no_operator_arrow<B1, B2> operator+(difference_type n, no_operator_arrow<B1, B2> x);
+
----------------
does it work without `template <bool B1, bool B2>` and just use `no_operator_arrow`


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D130835/new/

https://reviews.llvm.org/D130835



More information about the libcxx-commits mailing list