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

    <tr>
        <th>Summary</th>
        <td>
            Not general copy constructor in class template can be defaulted
        </td>
    </tr>

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

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

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

<pre>
    The following program:
```
template<typename T>
struct A {
    A() {}
    A(const A<int> &) = default;
};

int main() {
    A<int> a;
}
```
is rejected by GCC and MSVC, but accepted by Clang. Demo: https://gcc.godbolt.org/z/Mn6nMbe1x
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxtUcty3CAQ_Bp0mbJKQq_VgcNaa-e0ucSVO49ZiRQCFaAkm68Pkncd2xUKENOjaXoa4dSVvUwIF2eM-6XtCIt3o-czqY6kOJHiSNriNvcw4rwYHpFUQ7wuaPmM8EKqp9dsiH6VEY5AusdXBNI4EnogtN_B7vQRl86GVJDotI2JBwht93-rEyi88NUk9Ma1Fb-d9z3VwMy1fXfBO_Y3Tv6B4n9t6QAef6CMqEBc4cswALcKzt--D4QOINYIXEpcbvnBcDvmcMLZJaNginEJm2P0Oc1Rynx0SjgTc-fHhPxJ62xbexZY_s4Uq1Rf9TyLOhpkX12EES16bkC65Qq7JZuPzoO2IA0PAe6-g-QWBN69QZWt3rBPAnScVpFLN6fAmJ_3z0N6263HFOoQVgzp0DRt1WcTo5e-75OuknZYy6bmddkdurZsm7ITlcDMcIEmMNI8kuaUaUYLSouG0rKrq_KQH5q6LppO8rpF1bQXUheYXsbk28WbDZlnuwaxjiEljQ4x_EumFvVoEe_8fI2T8-wZlc92rWwX-hfm1Mww">