<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJztVU1v2zgQ_TXyZWCBpiw7OujgJA02QBd7aNprQYkjm1uK1JKUs_n3HVJyYidF9rBFT4VpiR_DN2-GT8PGyqf6D3QIyoMA3wutAf8V_aARwkEEkNhb44MTAT3NIDTjPit2GbvN2C7bsKm1wzDP8EKZVo8SIStujsIpYUJWfJhXZ5s7avA5KK2CItjOOni07psye3hU4QA-yOij2M0AOTyIb2igc7a_wDiEMPhomoZociLisKOATIt5S9b87pH-kR-_G5PHJ-qdiFFPeRXO2QWk4CnayL_Vwvs8J_fk5APRcmMbwB7RaSskSrLZ0Vq0yLbXMPoYwYOfuNsBKWvWZfwq4xXZZMU1md3S6z89vbig3ckBQcDy1VJxMy1Rek-Y09OIHv0gWgTjI7PztaNVkjJuJ1ovq_Am64SvYo5uQNqx0Ri9H589ndunHPKrM2qEWlK7pVkxBgsZ36Q2B0G4kAjQyVWTZcqgwzA6A2bUegjulDBqROIYTZ_jpLlzSW1p_ySJ89hfqXQa7rqALmquFyHQgf1W8281_yI1v9buu6r9iZKfng9T9QahvQUxDCicB9Wlqj5TDU9Dugpo53M-RqP-GfFriiClcEoFHdOG5XBPV4Ql1RsbZkx4PJC4X4NGI5PxbYCDOGJ0MONQhyLFfJ_HySmVkX9-Tv0e_OgHJLmmSymez9YTfhSchHQiBd-u1hsQRsbBmm2qdQRuxgD3ZN0nhi26IJS5wI6-SLBmv5xqQmT0piRMw2vhUf5lPoWnqJ8dfPz45c93Eh5LyRkwLJckKa-secfFxYbZHFZFznIWNXaH0joxTyyLvGuLMorkEmoh60JWRSUWJNeDdbVowtWGrRaj0_VlldlThRqbubhofTy9loOzf1PCaai8H9FTp-TVulgcataxUpZXvF0h7yRbd2XZdaxi3RqZbLfFQosGta-nE178f5eq5oxztqLflrFilWPFyhV9mW1blauO82zNsBdK5xEnt26_cHWCJL17WtTKB_-ySNVJ7Q3iiWFQQWN9b1rrXBTZy-UAtgMt-kYK-lSMV3QTNC5-acpQtReEK0I8oR9q_kCbZg8poDpF8x2bfcaJ>52943</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Incorrect formatting of lambdas inside brace initialisation when the return type has []
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          abt8601
      </td>
    </tr>
</table>

<pre>
    Here is a small example that demonstrates the bug:
```cpp
#include <variant>

// Utilities for working with std::variant. Taken from
// https://en.cppreference.com/w/cpp/utility/variant/visit

template <class... Ts> struct overloaded : Ts... { using Ts::operator()...; };
template <class... Ts> overloaded(Ts...) -> overloaded<Ts...>;

namespace ns {

void foo() {
  std::variant<int, double> v;
  std::visit(overloaded{[](auto &&) -> int (*)[] { return nullptr; }}, v);
}

} // namespace ns
```
After formatting:
```cpp
#include <variant>

// Utilities for working with std::variant. Taken from
// https://en.cppreference.com/w/cpp/utility/variant/visit

template <class... Ts> struct overloaded : Ts... { using Ts::operator()...; };
template <class... Ts> overloaded(Ts...) -> overloaded<Ts...>;

namespace ns {

void foo() {
  std::variant<int, double> v;
  std::visit(overloaded{[](auto &&) -> int (*)[] { return nullptr;
}
} // namespace ns
, v);
}

} // namespace ns
```

The bug also appears if the return type is `std::unique_ptr<int[]>`. It does not appear when the return type doesn't have `[]`, e.g. `int *`.

I suspect that it's related to #27146 and #40694, but I'm not certain.

`.clang-format`:
```
BasedOnStyle: LLVM
```

`clang-format --version`:
```
clang-format version 13.0.0 (Fedora 13.0.0-3.fc35)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztVcFu4zYQ_Rr5MrBAk7IcHXRwkg0aYIsemva6oKSRzS5FqiTlNH_fISUndrZIL4s9LUxLImf45s3wadTY7qX-BR2C8iDBD1JrwH_kMGqEcJQBOhys8cHJgJ5WEJrpkIl9xu4zts9KNo92HJcVLpRp9dQhZOLuJJ2SJmTi02JdfB5owB9BaRUUwfbWwbN1X5U5wLMKR_ChizHEfgHI4Ul-RQO9s8MVxjGE0UfXNEWTExGHPSVkWsxb8uYPz_SP_PjDlCK-0NOZGD0pr8Ilu4CUPGUb-bdaep_nFJ6CfCJabmoD2BM6bWWHHfnsyRY9st0tTD5m8ORn7nZEqpp1Gb_JeEU-mbglt3u6_W-ktxC0OwUgCFi_M4m72UTlPWPOVyMH9KNsEYyPzC5tJ6s6qridab1Z4ZuqE76KNbqDzk6Nxhj99Brp0j_VkN9cUCPULY17WpVTsJDxMo0lCcKFRIBOrpo9UwUdhskZMJPWY3DngtEgEqfo-ponrV1Kakf7Z0lc5v5OpfN03wd0UXODDIEO7Keaf6r5B6n5vXY_VO13lPx8fZq7N0jtLchxROk8qD519YVqeBnTp4B2vtZjMurvCb-kDFIJ51LQMZUsh0f6RFhSvbFhwYTnI4n7PWh0MhnfBTjKE8YACw49UKaYH_K4OJcy8s8vqT-Cn_yIJNf0UYrns_OEHwXXQToRwXebogRpujgpWFkVEbiZAjyS95AYtuiCVOYKO8YiwZrDeu4JkdE3LWGe3kqP3W_m9_AS9bOHz5___PWDgsdWcgEM6zVJyitrPghxtWFxh43IWc6ixh6ws04uC2uR963YRpFcQ626WnSVqOQqqKCxfjStdS6W763tge1By6HpJInAeEU9rnFRQ8pQH5NaeRli7P88zSNtms9vNTldXzeuAzW9qVn6ldan8209OvsXkaCp8n5CTw9bXhVidawlbxgv2Y0sKlG0KFlbNLwUu7Ioy6bri5WWDWpfL0FVzRnnbEO_HWNik2PFtht6Vdu22m56zrOC4SCVzmPg3LrDytWJA70AnoyUXvBvRmpX6mAQz_j0lh-tq2UTbkq2WSW6deL6L2YEsKs">