<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/108772>108772</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
template typename expantion for a imedite call of a template lambada generate eror when in if
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
MohammedAhmed381
</td>
</tr>
</table>
<pre>
I know you are wondering how all this is jammed in one place.
but trust me you do not want to see the original code
`int main()
{
return 0;
}
template<typename... TCallingP>
bool Func()
{
// generate the error
if
(
(
(
[]<typename TCalling>()
{
return true;
}
).template operator() < TCallingP > ()
) && ...
)
return true;
// Works fine
bool lRes =
(
(
(
[]<typename TCalling>()
{
return true;
}
).template operator() < TCallingP > ()
) && ...
);
return lRes;
};`
The error is
1>FileName.cpp(13,5): error : expression contains unexpanded parameter pack 'TCallingP'
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkVE9vmzAU_zTm8lQENuHPgUObNNIOm6ap0s4Gv4BbYyPbNO23n0yAJD1Mu-8C5uGff3_8bO6c7DRiTXZPZHeI-OR7Y-vvpufDgOKxH1CwMo0aIz7rb_CmzRk-zQTcIpyNFmil7qA3Z-BKge-lA-ngdQaD1GA0wqh4izFJDiR5bCYP3k7Ow4DzQsKANh7OXHvwBhwi-B7BWNlJzRW0RuAFujzzRGoPA5ea0JLQCpZ68XQZAFj0k9WQEPa0_jvcLuFxGBX3SNjef46o-YBxHMPLnisldfeTsOdFrDEKjpNuL0xfiAg9EnqEDjVa7i-y0VpjVx3ytI4Awgr_8jHvwo2wTVUQdaMC4MbwZtnbCTfXYcrhlqeKV-dgxqDZ2DVCtr_aB8Ke4Z5rRgOhOaE5xHF8V_-7irusfhv75uAkNa6gOWL1Cx0Qdvg_4rpPZhMTQviaWnEIlTy5Lb6sbRYO2qWUEvZ8lAp_hE5ux5HQMmWE7ncz3eMyfR59jBadk0ZDa7TnUjuYNH6MXAsUMHLLB_RoYeTtGxBaXA8FLS5kkaiZqFjFI6zTguZZWqVpFvW1oEl5EmXDsG0otllT8CqnIkmrrEywzSNZ04RmSZXu0nyX7rKYVU1zwrzMMtpWebkjWYIDlypW6n2Ije0i6dyEdZqURUEjxRtUbr2pbB1mPTRT50iWKOm8u-K89Arrbf-29pid-mD_ZCxwkAMK6RHacHuZE3DYMIoPDRf8er4xhHjuUYd7TZ4gmqyqe-9HR9jS4J30_dTErRkIPQYxy-thtOYVW0_ocXbkCD0upt5r-icAAP__-7eSOA">