Issue |
132248
|
Summary |
[clang-format] incorrect formatting of type trait in assigment
|
Labels |
clang-format
|
Assignees |
|
Reporter |
stmuench
|
$ cat bug.cpp
```
#include <cstdint>
#include <type_traits>
namespace foo
{
enum class TypeKind : std::uint8_t
{
KindA = 0,
KindB
};
constexpr auto kTypeKind =
#ifdef TYPE_KIND_A
TypeKind::KindA;
#else
TypeKind::KindB;
#endif
namespace detail
{
constexpr auto kBpfMtu = 1512;
constexpr auto kIoSockMtu = 1518;
constexpr std::uint16_t kMTU = std::conditional<kTypeKind == TypeKind::KindA,
std::integral_constant<std::uint16_t, kBpfMtu>,
std::integral_constant<std::uint16_t, kIoSockMtu>>::type::value;
} // namespace detail
} // namespace foo
```
run: `clang-format bug.cpp`
expected formatting:
```
constexpr std::uint16_t kMTU = std::conditional<kTypeKind == TypeKind::KindA,
std::integral_constant<std::uint16_t, kBpfMtu>,
std::integral_constant<std::uint16_t, kIoSockMtu>>::type::value;
```
actual formatting:
```
constexpr std::uint16_t kMTU = std::conditional < kTypeKind == TypeKind::KindA,
std::integral_constant<std::uint16_t, kBpfMtu>,
std::integral_constant < std::uint16_t,
kIoSockMtu >> ::type::value;
```
Worked fine with clang-format-15
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs