Issue 132334
Summary [clang-format] Inconsistent indentation of &&-qualified member functions with requires clauses
Labels
Assignees
Reporter jacobsa
    clang-format seems to become confused by the use of `&&` qualifications of member functions in combination with `requires` clauses on those methods. This causes it to use weirdly inconsistent indentation and bracket placement.

For example, it turns this:

```c++
Co<Final> Join() &&
 requires(!std::is_void_v<Final>)
{
  return std::move(run_stream).Join();
}

Co<k3::EmptyStruct> Join() &&
  requires std::is_void_v<Final>
{
  co_return k3::EmptyStruct{};
}
```

into this:

```c++
Co<Final> Join() &&
    requires(!std::is_void_v<Final>) { return std::move(run_stream).Join(); }

    Co<k3::EmptyStruct> Join() &&
 requires std::is_void_v<Final>
{
  co_return k3::EmptyStruct{};
}
```
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to