diff options
Diffstat (limited to 'libcxx/include/__iterator/concepts.h')
| -rw-r--r-- | libcxx/include/__iterator/concepts.h | 15 | 
1 files changed, 6 insertions, 9 deletions
| diff --git a/libcxx/include/__iterator/concepts.h b/libcxx/include/__iterator/concepts.h index f386887..3b43920 100644 --- a/libcxx/include/__iterator/concepts.h +++ b/libcxx/include/__iterator/concepts.h @@ -117,15 +117,12 @@ template <class _Tp>  concept __signed_integer_like = signed_integral<_Tp>;  template <class _Ip> -concept weakly_incrementable = -    // TODO: remove this once the clang bug is fixed (https://llvm.org/PR48173). -    !same_as<_Ip, bool> && // Currently, clang does not handle bool correctly. -    movable<_Ip> && requires(_Ip __i) { -      typename iter_difference_t<_Ip>; -      requires __signed_integer_like<iter_difference_t<_Ip>>; -      { ++__i } -> same_as<_Ip&>; // not required to be equality-preserving -      __i++;                      // not required to be equality-preserving -    }; +concept weakly_incrementable = movable<_Ip> && requires(_Ip __i) { +  typename iter_difference_t<_Ip>; +  requires __signed_integer_like<iter_difference_t<_Ip>>; +  { ++__i } -> same_as<_Ip&>; // not required to be equality-preserving +  __i++;                      // not required to be equality-preserving +};  // [iterator.concept.inc]  template <class _Ip> | 
