<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/55800>55800</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [C++20] Clang doesn't consider aggregate type as trivially constructible
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    This is related to https://github.com/llvm/llvm-project/issues/55799. This works in GCC and MSVC when building C++20:

```cpp
#include <type_traits>

struct S {
    int i;
};

static_assert(std::is_trivially_constructible_v<S, int>, "");
```

GCC: https://godbolt.org/z/r1xdzP4oo
MSVC: https://godbolt.org/z/c7s7ezE16
Clang: https://godbolt.org/z/cGbqro5jE

```
<source>:7:1: error: static_assert failed due to requirement 'std::is_trivially_constructible_v<S, int>' ""
static_assert(std::is_trivially_constructible_v<S, int>, "");
^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzFVMFu2zAM_Rr5QixwJCuODz60TtbTgAEddg1kiXHUqlIqye3ar5_kJEta7FBsGCbQNimBj-Qj5d6pl_bbTgdI4tGIiAqig12M-0DYFaGfkww67sZ-Jt1DMox5On0-7b27QxmTqUMYMSSF87ppZjBhPjt_n5At3HQdCKvgy-33Dp53aKEftVHaDtARep2EljlauSLl6b0oDyL3--MOZdpKMyoEwrr4ssdN9ELHlOf60jNEP8oIt0Dq68MOpKVtBE3YcYfUq7N-9BJRy40IAX0qaBmiyhmxKx1SGP2khTEvG-nsAV73BjdPKY9bQrsMnpNIGqF0kuYMfyrkMloiJEG_p9mp3pk4c35I1mt6_PyHev1aOXfwyvR9xE3WocbX9XxxcOuMsMOH_G76R-_43fq3jTiarAtu9BJzweyqTs88Y6P3zmflDZGwFdqkkVIj5rHy-Dhqjw-YmkFo_Ucc1yeO_3Hb-BouF6nX_02mhOYHimFAiz7f09m7_hSqZaphjSiijgZbwq_Pl4uvYBoDUA6DTSxGyKRohR7EMHgcEiTkSwUiwC_m4A1zxehN-ze_hmVZFrt2q7jqFa-kXDQMOauXlDfbZV8vt7yRVV8Y0aMJuYDUFIvPMEHkBvFVoVtaUlpyNp_X1bKks4ZLrqpKsIVgrFQVqUp8SGM3y3nk6S58O6XUj0NIh0aHGM6HaXT0YHHiK-OLMe6cb5Ww4v6umCK3U-Y_AYaGhVM">