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

    <tr>
        <th>Summary</th>
        <td>
            Unneeded requirement destructor?
        </td>
    </tr>

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

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

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

<pre>
    ````
// clang++ -std=c++17 -stdlib=libc++ t.cpp
#include <memory>

struct ForwardDeclared;

class A {
    public:
        explicit A();
        ~A();
    private:
        std::unique_ptr<ForwardDeclared> m_ptr1 = nullptr;    // not ok
        std::unique_ptr<ForwardDeclared> m_ptr2 {std::unique_ptr<ForwardDeclared>{}};    // not ok
        std::unique_ptr<ForwardDeclared> m_ptr3 {nullptr};    // ok 
        std::unique_ptr<ForwardDeclared> m_ptr4;              // ok
};

int main() {
    A a;
    return 0;
}
````
https://godbolt.org/z/58aGYb

The code compiles with MSVC (/permissive-) and fails to compile with GCC/Clang for m_ptr1 and m_ptr2.

After checking on [stack overflow](https://stackoverflow.com/a/71402928/2466431), I got conflicted answers on which compiler is wrong here, the one quoting the standard indicates the problem is with clang.


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJytVE1z2yAQ_TXShYlHRpIdHXRw7DjTzvTUj5meOghWFjUCBZDd9Nd3wVYcJz10JmUQkpbdt2_hQWPEU50sskvPNkm2SugWO-GK6V1C77CTG-dFkm_46Xe-jAYlG7TheDYTP-PDMGHkUnM1CiBJvu6hN_Ypye_Pk3F03o7ck62xR2bFBjCfBcxy99IJjc6RFUmWZzPBNoyNkjzJVxdTaPBrQLP0BLPfJrR6hpockuX936YGKw_Mwxu8WPMK-6jl4wg_Bm-xljd870kfpuZY6IboUanodxcTnlZSG0_M_j3gNCzAv4aEtVpuQv_PLPLAYqrwNbzZk_dgF2e0S3vGPeshJnypDak96ZnUpy29lsiKsKs9tuBHq0l2gUC408cb_XfeDy5QjwR2RjRG-ZmxeBi2v_Epb9nD9-Ylky8dEG5EGPpBKnDkKH1HPn3-tiaR3XYA20vn5AFuAlemBWmZVI54MwWdYh7Wa3Rfh7NHWmMnbYWAkxJmLxOvWg-W8A74XmKA0SQpUSeM74k5gG2VOSblBilc1xQ9JocZ5kcbw2c5LzJaRcK0WCyKfB7OCl2TD2SH6uFGt3jCPAjk445gXch47CTvpiIskVi8NUimAwsh1uPiGA3kcTQ-kAz_SEALlAGRWkiOh89F82BNo6CPGGEx4hV0VXAq6lxUecVSL72C-qvWAAIJWXgcpYUeUBQCTneLQcFt09Gq-tWWIvbYnOtW6jC9bjD_T-Aef3GvRnBhswtazdOuZs1clJBXOeO8FaKsRFuULOOUc9pW2TxVrAHlalz_hFINRxIh8Bs3IJU1zSjN8qzKlnRBy9ltmZdFwXle8IZniyopMkAtq1ngEbSW2jpSasadw0klnXeXSbwU5Q4rj-kQn42-M7b--G01gE5j5joy_wMlxMBY">