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

    <tr>
        <th>Summary</th>
        <td>
            clang: Regression trivially constructible and copyable type not trivial
        </td>
    </tr>

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

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

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

<pre>
    [Godbolt link](https://godbolt.org/#z:OYLghAFBqd5QCxAYwPYBMCmBRdBLAF1QCcAaPECAMzwBtMA7AQwFtMQByARg9KtQYEAysib0QXACx8BBAKoBnTAAUAHpwAMvAFYTStJg1DIApACYAQuYukl9ZATwDKjdAGFUtAK4sGIMwCcpK4AMngMmAByPgBGmMQSXKQADqgKhE4MHt6%2B/kGp6Y4CYRHRLHEJXEl2mA6ZQgRMxATZPn6Btpj2RQwNTQQlUbHxibaNza25HQrjA%2BFD5SNVAJS2qF7EyOwc5gDM4cjeWADUJrtuBACeyZgA%2BgTETIQKZ9gmGgCC7x8EmCzJBl%2Bp3OVxuzDYADooccACqvb4zYheBzHKhiJT3U4Adisn2O%2BOOMyYjmQxzQDBmmFUyWIxxiqE8xwAbmIvJhgQARVHozBnXFfLEcvnfBEPZEEY4fbH8gmSiDLTnHLBory0AjCz7fWW/f6A9lnC7XRisTBQiGw%2BF4gkfCBwswANnM9rNCpMOK1soJRJJtyYCiUzWoPPuBphZteIBALO8mFIpzMZnMZmWGqlBLdQs1gtTouJeGQvv98QIEBm6EjeAU92IeCZeDEtEutzQyUuTBi9ANX122Ej0bZcaTSZTu353vzhYDJbLFarD1r9dojduyqYqoIzYEiPFeA7vPO3d7UdZsfjiYTI/5uZ9fqnpYI5ZAlerC7EXYjx5jg4Tw9THFWtCcAArLwfgcFopCoJwbjWNYhLrJs%2BpmLsPCkAQmj/qsADWIBARo%2BicJIoEYZBnC8AoID4eh4H/qQcCwEg5L8MQLCGFs5CUGg/x0PEFGwFxyQ8cQACS5aHIYwDVl4DBYZByQ9BRHAALQAOoNscqlUg8TC0RAAlCaJKAGEYXB4fhqDyZkimqepmmqNpun6fQIlicZwBSBo5mWVunA2UuGkqVpjyOag3HOYZ4kmbsnlyQpvlqf5dkOasemhYJ4WuRJXBmBoSQWXFykJbQAVBTpKVOfEEVuVUuWxVZ8W2YF9nBeVaUGZlJmeXl3kUg1iVNcldEVS5RlZZ5XkFX5xVJS1Q1tRlIDAAozDJAoCCoAQdU%2BYVjWlSFYWVeW7kJltvU7f1e2tQdI1MsgyTJLcTJcAEtx6jMtyqAAHPap2KZhwT4EQNblkkbkRbBlj6LufHygBwHETRpEcB4DDMaxDBbMcABqeCYAA7vExwQLghAkPGKEKlUAD0pm8NRWjLNhuH4YBHBEaQYEQVBHDkZRaEYYzBEcGYCNc2R/M0YLTK8ZkICSEAA)

Given the following source code:
```cpp
#include <type_traits>

template <typename... T>
struct false_t {
    static constexpr bool value = false;
};

struct A {
    A() = default;
template <typename... T>
    A(T&&...) {
        static_assert(false_t<T...>::value, "");
    }
};

static_assert(std::is_trivially_copyable<A>::value, "");
static_assert(std::is_trivially_default_constructible<A>::value, "");

static_assert(std::is_trivial<A>::value, "");
```

clang since version 11.0.0 reports
```shell
error: static assertion failed due to requirement 'std::is_trivial<A>::value':
```

Although it is both `trivially_copyable` and `trivially_default_constructible` and should thus be `trivial`
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyVVlmTqroW_jX2C3W7EEHlwYeEQURRQRzgZRdDmAyDEET89Sdqd-_ue86puy-V0pi11remL0v8MuxnAwHOy9AvMWFwWpwHgjzgpgkhVTMYgQGn0hW_5O9lHT8PRncq2jirOAEqvISCKd2A020daEg5tEK4AurQlALgbRUJGPcOEgNMgNmpxDBhD6xYXBLTUUDfpD5rnoB0m0IIliUsbAD2QKs6YFyB6tg7osdDeQEqIDnAbJ32jEUX2J28zEIwV_cELPlmvjA6KaiWPDCK2MgB7LcxnOeGuTstTSBf4mWi8IZGxgNO4CBN4Dyvxg4vOZZmrTRFPymYy8HYNWPLuAHb3RZjSKqMs8xubZsm3vvaLfW99d3jBM2sM_DEUWVhtz4Afcdd1InSb7pAiGWDDzJ0BPJer0kLgYR6N36px7ZiL8ylK8b5PJakyW2q5NJdh_gprUabw629yw6QyzIIgHS5-vzdSRC8a8sk1e3Rngdh2hTc5qm_2Ri9k-Xm7W7KMM_VfX9c3G7pRZneOuDni6uexCawDlp5h8VJjVZKcC0iqGxdRXH4yNemcb5L5ZVdaCtY1j0LMuk-iY5HWp1oDERcSJOTlTY2NNN598qXj8-RBLumA-vCEOu1VBmb5bApdUvXSe9I6f5-LLfbFlaJS9ACgtVmmquL6m64heHmx_kFw1VoNsOY2GWro7l5vYpTc6HAfKxkCOxFboEkF8kKUVpyN_t9a8NUBOvTkOOUjPXdwLN3rt2OhNH1njiy7q9Ur5aHtRiWWdj2F-dSLu6Okm5VBCbX7WYUTvah20RZ6tgLmpnQumJ0KSpnIbgAo1qaKCcnuwlZzNudaGvqkVDSgnrVRXGglpVU6p2fHddOsqr15tWofNVspTMw84wCXhogH2mmVvkUpoG-KBXHhYU0BeVC5lHCaw81M5A6JRZWU8NcSXO1EaT9_HGTbuxWUeedeuvNaWACaSd42sLp5APmZUhxelOElgbAygSbct0EF7yPp7bEWgBgydOXYK44J8hHyUXu3XOaX1CV55d11RbjyFzgNHA7uIOlkB8PbQG4fTs_Xw5V1m-8eKRtHJc_535T4N6srvgSCeF54zUoTxydP7aWfoI5LHfm8aT2Z903wQHa1fKwiRTl0B727fF2cKdHzlHFAqKDt5-7WM_RCY_O-3iYHtYBDpXDTrCw6wqns3oSbgd9NzSHxMILGYDyLuuglKQSmOH-WT7nkB3xTnWOB3ScnHVMrvtJNEQcMcPF0Gji3tZXga0HQCG3cWaQ_gKAtvUqbukmnc0r5trH57N_tnyIs_GqjbQ-hp2m2FalBJCXZcO7ydA3AgAviM4TyhHl1pmPKXbezpfKEu-BzFb5dG0ds9U6aTXegRpUPDqqzAPU5LNreYrj3KESzB1pHXAW7aHBOit7OXXPC2mnAHrZxQErD1jw-pynV1QwJEFMVGJcdmkRM03Z1gFigjJEjwn70h6zrxVU1ccJN0qLALchYgYjifQV-kVqLyV0KivfPRCUV9gjX1qFl6P393fG_tJrSN0GhIk83FAMZjCBr3OGPg3xSBrQWIqGoFtVM35ZYubq4fYBKL-MBqMPi8FE_r3_jg1-otLgp7QQT4QQRV6LyZfd_473E8EecHRkj6nwifXdwe_Qf3lNg2pC1T_yo7D2w4Si0eKOwDOXAScxA457LvErlAfKI6V_ze2ng4aEL8i0oa1Ir6mHcf8rKKve8zEtkgT-xOmfoX5U7dezMY8Sp_-Hiz929MeAn-z8jh9g70FmSlLEXFHdpGXBDIfv7DvL1Kgqa8rUn8ZNgjB-naG6Lmvq85N_ryAfCJGXYhQyIeUfKSnQpU1rlKOC8pab_GEKk79fq--BA0ySso0TJiVM2lDGk4ShKv_Q0jHLeEX4U_jPnfnQbCgwDul9byku-mZId29oNhzTh59OOfEtnI1CcSR6byQlGM2exXwUxEJxjZpnMb98Mj98PR19hsg8rhBTlORT-62t8ey_3t5SGo__HpQ5_YHx9fPrP1VdZiig3FDTpmlR8_iLnAqT6VsymyB_yIcjPxoJQsAFPCv441AYTyaByLLDQHjDno9w83h5pFwpUMc8IR68EeS3dMaxHDdkOZ7jWLp7H7GsyKNoOBHD6XjkDQc8i3La6fdHHI_Xyrd69gzJb-OGCnHakOa3kNIjjQuEnu4ovtfSDtYzYOy44dvT8ewZ-F_NCGba">