| Issue |
160908
|
| Summary |
[clang-format] Multiline requires _expression_ breaks formatting
|
| Labels |
clang-format
|
| Assignees |
|
| Reporter |
adriankwiat
|
When requires _expression_ that has multiple statements is used as operand of binary operator (and some longer _expression_), code is formatted incorrectly (doesn't respect column limit).
Example input:
```cpp
template <class>
inline constexpr bool some_long_name_just_for_example{true};
template <class T>
using Typ = T;
template <class Type>
concept C = requires {
typename Typ<Type>;
typename Typ<Type &>;
}
&& some_long_name_just_for_example<Type>
&& some_long_name_just_for_example<Type &>
&& some_long_name_just_for_example<const Type>;
int main() {}
```
Output:
```cpp
template <class> inline constexpr bool some_long_name_just_for_example{true};
template <class T> using Typ = T;
template <class Type>
concept C = requires {
typename Typ<Type>;
typename Typ<Type &>;
} && some_long_name_just_for_example<Type> && some_long_name_just_for_example<Type &> && some_long_name_just_for_example<const Type>;
int main() {}
```
`.clang_format`:
```yaml
BreakBeforeBinaryOperators: All
ColumnLimit: 80
```
clang-format version 20.1.8 (Fedora 20.1.8-4.fc42)
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs