[libcxx-commits] [PATCH] D153140: [libc++][NFC] Apply clang-format on large parts of the code base

Nikolas Klauser via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Jun 19 08:09:45 PDT 2023


philnik added inline comments.


================
Comment at: libcxx/include/__type_traits/is_convertible.h:52
 
+// clang-format off
 template <class _Tp,
----------------
ldionne wrote:
> philnik wrote:
> > In this case I don't get why you didn't just clang-format it. Also for the similar ones below.
> It's really helpful to align these definitions:
> 
> ```
> template <class _Tp> struct __is_array_function_or_void<_Tp, true, false, false> { enum { value = 1 }; };
> template <class _Tp> struct __is_array_function_or_void<_Tp, false, true, false> { enum { value = 2 }; };
> template <class _Tp> struct __is_array_function_or_void<_Tp, false, false, true> { enum { value = 3 }; };
> ```
> 
> Otherwise, which specialization handles which combination of `is_array`/`is_function`/`is_void` isn't nearly as clear. A similar reasoning applies in other places.
> 
> I've left things as-is.
```
template <class _Tp>
struct __is_array_function_or_void<_Tp, true, false, false> {
  enum { value = 1 };
};
template <class _Tp>
struct __is_array_function_or_void<_Tp, false, true, false> {
  enum { value = 2 };
};
template <class _Tp>
struct __is_array_function_or_void<_Tp, false, false, true> {
  enum { value = 3 };
};
```
is the formatted version, which looks just as readable to me. the `true, false, false` etc. are still aligned.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D153140



More information about the libcxx-commits mailing list