<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/62050>62050</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Templated constructor in derived class erroneously hides inherited base class constructor
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
pkasting
</td>
</tr>
</table>
<pre>
The following code compiles in gcc and MSVC, but not Clang:
```
#include <type_traits>
template <typename T>
class Base {
public:
template <typename M, typename = std::enable_if_t<!std::is_same_v<M, int>>>
Base(M&& m);
};
template <typename T>
class Derived : public Base<T> {
public:
using Base<T>::Base;
/*template <typename M, typename = std::enable_if_t<!std::is_same_v<M, int>>>
Derived(M&& m);*/
template <typename U, typename = std::enable_if_t<std::is_same_v<U, int>>, typename = void>
Derived(U&& value);
};
void foo() {
Derived<int> d(0L);
}
```
(See https://godbolt.org/z/jMvT7rvM1 )
If the commented-out constructor is uncommented, this works.
Possible dupe of https://github.com/llvm/llvm-project/issues/61988 ?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0lFGL4zgMxz-N8iK2JHabNg95mGkvcHCFg52512LHauJdxw6x02Hu0x9Ost12KMvAsWDa2pb_-kmqJLzXjSUqYfMMm0MixtC6oey_Cx-0bRLp1Hv50hKenTHuTdsGa6cIa9f12pBHbbGpaxRW4fHrP3tge5RjQOsC7o2wDfAnSA-QPkGeLmveMq5tbUZFCHwf3ns6hUHo4IH_sVhMn4G63ohwtbKiI3y5GtVGeI_PwhPC9nk-w36URtdXz4gPRY6R9boDfkAfVHzEn8gKaeikz6cAfA8su95of_Kio9MF-H4S0DZEmHkt7iIOsN0RWA4sxw5YAXyBg-3h5-_PR3igQV9IIfAf4c1e-D5a_ir20cei3RjPgcwHdyCIwCpgj4F-X7aW0B4kjD1FoDvCh2yvn2V7CPZ6D_ZR6uK0ekj7utBehBnp1yWOGnh2DtgOWHFTrasc388EGJXTvz7KPeygpY92X4mwDaH3MbZYwapxSjoTVm5ogFX_Aqu-HS8v2-FyzDBK37z_84yhnfq5IxtIfXFjwNpZH4axDm5A7XG01-spPa32-OaG7351q_S3815LQ6jGntCdPzLp0I5yVbsOWGXM5cfXl35w36gOwCrt_UgeWJVnxW6HwKtElVwVvBAJlVm-y7J1vmabpC1rVdecs_Vuc2aF3BBTPBVbkWaiyKSUItElSxlP11mabdNtulmpTUFFIeV5J_KtKHJYp9QJbVYRImYqmdyXOUs3aWKEJOOnqciYpTecLoGxOCSHcgKXY-NhnRrtg_-pEnQwVL4s_1N1n0uLamnkua1pGJwlN3rzjq1W0zxtadDxoYxDbTa70UjGwZT_I7Mxuv8CAAD__z-Hyc0">