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

    <tr>
        <th>Summary</th>
        <td>
            Clang 20 breaks deduction for function templates with variadic template template arguments used in the return type
        </td>
    </tr>

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

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

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

<pre>
    A [test in Catch2](https://github.com/catchorg/Catch2/blob/74fcff6e5b190fb833a231b7f7c1829e3c3ac54d/tests/SelfTest/UsageTests/Misc.tests.cpp#L387-L389) fails to build since Clang 20. I have reduced the issue to the difference in the treatment of the deduction of variadic template template arguments. You can see the issue on Godbolt: https://godbolt.org/z/4s8f6PzMa.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMkkuPnTwMhn9N2FiDQkK4LFjMRXz6pBmpUqeLLk1wIG0OOUrCqWZ-fZVzaUddVF2BjR9sv34xRrtsRANTD0w9Fbin1YfhZLW2JHkx-fltuAemHhLFBHaDR0x6FUw9MdGtKR0jk_dMjEyMi03rPpXaH5gYdS7zYWFivBJinJyfmBjb2mhjGlJT1XMzdVKikNXUmlZXnehJaola1TMTY24amRg_kzOvFBMT45eIC71e8y826vJcVOrjkQn5LLv27ll2PRM9GLQuQvIw7dbNEO2mCR4dbgsIXsL_sOKJINC8a5ohrQQ2xp0ykYPZGkOBMmS3cyYFwnSgLYE3l5LMJuu3nDhhsDhbDYkOR4eJfr9gWPbMxRK--h00bhCJPrT0G_zn58m7xOQ9_KHr5UN5UfOdibGOnWk-vb9gWcyDnHvZY0FD1dZtU7eqr4t1oAYb2XdzW3Olhaiw0shr3hsuJWLTF3YQXCiuqp73sley5Fw30ihltFRN21Ws5nRA60rnTofcvDiPOlR1hgqHE7l49o0QOovKRLZFEYYM3E37ElnNnc3H-fWLZJOj4XYDmALh9_hBRuMDmH27BDf5Ivywaf0nfWGPNN_OFSjtYYP0dqRiD274i13zgNfH3TH4b6Sz184LZ59ddz4N4mcAAAD__7PjDKs">