<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/59200>59200</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Clang rejects valid program with default argument
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ranaanoop
</td>
</tr>
</table>
<pre>
The following[ valid](https://cplusplus.github.io/CWG/issues/2608.html) program is rejected by clang. [Demo](https://godbolt.org/z/8eP8xTdeq)
```
template <typename T> class Container {
public:
template<typename U = T>
std::enable_if_t<std::is_same_v<T, int>> foo(const T&)
{
}
};
template<typename T>
void func(T&& callable)
{
Container<int> c;
(c.*callable)(4);
}
int main(){
func(&Container<int>::foo); //works with gcc but not with clang and msvc
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztVsmSmzAQ_Rpx6QqFxWI4cPDYk1xzcCpHl0ACKxESQcLO5OvTgvE248ucpioTFYuW5rXoVr96leFP5XYvoDFKmaPULUkf4MCU5CTdEJrvnestiVeEfsar7tVo_R220u3HKpQGZ9ffv-BTWjsKix2aRXm4d50itIB-MO3AOpAWBvFD1E5wqJ6gVky3IaCzjejMPVet4ZVRLjRDi6M_eOfia_57y8UvxCXRhkSrm2cWPV_T0ImuV8wJIPHaPfVCs07AlsSP3rW1sDbaManFAGT5AB-wzWHyvX6slKwx8O-9pXdrl1j8b29rt5E7Fd11zX3DCtzMlXdrbB33xR6v0K5SYiebncMPz9PS7iwC7A44uSV0DVLj-qMHagzSTl4bbR0i0-xMCOdtLR9e5_SlyeaZOLATf0gKuLRrIr2XRJ--efVgJIdm1DUmYA59BjVTyqfwwsvX4T8zLQLOKQQkmysDn8qQ0NU1DM0T_zqZnZOFANAhGhr49X-fuj8gNZ1--fmU4Ql7fYRmiph4wJ8SmDXD0Qw_LRxRmkBb11CNDrRx88SkOIBpDp091DfKYbmBuxoiEOUiy4o4p0mRBLyMeREXLHDSKVGuJ7xZ09hZMZ3FzuSQi4aNygEb2rET2gXjoMoXGmcWUbXpcKDU4fT6hEAe91pVpQWNomBfJnVTxFmURHyR5kWSMNpw2qQVDgreiCjAGhLKliitCKVaHGGCwD6qrECWNKJ0saDpIqYLugzzKGVVnDciYWlSCUGSSGCBqdDvw4uvYCinLVVja3FRSevsZRGllGy1EJM7xGej25uhHJhmTBvTB5Pzctr8X4c-TTI">