[libcxx-commits] [PATCH] D99873: [libcxx] adds `std::ranges::iter_move` and `std::iter_rvalue_reference_t`

Tim Song via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sat Apr 17 20:33:49 PDT 2021


tcanens added inline comments.


================
Comment at: libcxx/include/concepts:252
+  is_class_v<remove_cvref_t<_Tp>> ||
+  is_union_v<remove_cvref_t<_Tp>> ||
+  is_enum_v<remove_cvref_t<_Tp>>;
----------------
ldionne wrote:
> Why are we checking for `union` here? Is it because the spec says `has class or enumeration type`, and a union is technically a class type even though `is_class` returns false for it? @tcanens Do you know what the intent of the spec is in that regard?
More or less what Arthur said below. There is no reason to treat unions differently from other classes in the contexts at issue.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D99873



More information about the libcxx-commits mailing list