<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/125290>125290</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Possible bug in implementation of P3310
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
higher-performance
</td>
</tr>
</table>
<pre>
I think #124137 may have introduced a bug. The following code no longer compiles: https://godbolt.org/z/G77fMj1nh
```
struct None {};
template<class T>
struct Node { using Tail = T; };
template <template<class> class Fixture, typename List>
struct Recursive {
static void foo() {
return Recursive<Fixture, typename List::Tail>::foo();
}
};
template <template<class> class Fixture>
struct Recursive<Fixture, None> {
static void foo() {}
};
template <class>
class Monadic {};
template <class...>
class Variadic {};
int main() {
Recursive<Monadic, Node<None> >::foo(); // success
Recursive<Variadic, Node<None> >::foo(); // error
}
```
It seems that the partial specialization `struct Recursive<Fixture, None>` is completely missed by the compiler now... but only when the `Fixture` is variadic. I assume this is not supposed to be the case?
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJycVE2P2zYQ_TWjy2AFirSt-KCDdjcqFmiKoFj0TlFjiylFCvzw1vn1BSXvZp26bRCAgD448-a9GfLJEPTREjWwvYftYyFTHJ1vRn0cyd_N5A_OT9IqKno3nJsnjKO2fyJwUfFNJWqc5BlHeSLUNno3JEUDSuzTscTnkfDgjHEv2h5RuYHQOjTOHsmjctOsDQUQLY4xzvkFeAe8O7qhdyaWzh-Bd1-Bd7_U9eHTl8qOwNq8duyyWBuiTyrib84SQn0P9SOIe2BtpGk2MhKIB2VkCPgM4uP7-GGJxxQyt2epDYJ4zFH3-AbyDgdBPHyPCeIjruCd_ismT8AfMJ5nsnIi_FWHeFXzd1LJB31aibIWMUQZtcKT0wMenAP-Afj-dddTTN5-ywLx8O9lWhBtFpELLh9vcKsSXESx9uel3VRyzSkPISf-v7z_5PJKAFi7UvjkrBy0uprvrZyyLN-n_SG9vpWnbcRJanvd7itRl4qrqCH_edN2q8GI68nFkJSiEP6B90rlhwEveOS985dWXZ97YO1TxEA0BYyjjBhHwln6qKXBMJPS0uivMmpnEXbshwYHO4Y6LDfTUCRzxkmHQAP25wX-cmU9WvdSliX2KaKz5owvI9klAnbsFXbFOl2El_iEMoQ0UTaQkLesixjSPLtcITrsaS0iA4HoiqERw17sZUFNVYsPYrurhCjGZie5Utst70WlZMWHfU0Dk2yot0qqHe0K3XDGt6wSFWcbXolysz-Iqu7Zpt6o_UbsYcNoktqUxpym7DKFDiFRU_Et37PCyJ5MWPyQc0svuOwC59kefZOT7vp0DLBhRocYvsFEHQ01n10IujeUPRC1RZ27OZGN6zDcAT8LUbEiedN8Z3w6jqkvlZuAdxn18ribvftCKgLvFi4BeHche2r43wEAAP__eErLFA">