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

    <tr>
        <th>Summary</th>
        <td>
            [clang] Improve is_deducible diagnostic for CTAD alias.
        </td>
    </tr>

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

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

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

<pre>
    After , when the is_deducible constraint is not satisfied for a CTAD alias deduction guide, clang emits the diagnostic note: `because '__is_deducible(BFoo, Foo<int *>)' evaluated to false`. The diagnostic mentions an internal-only type-trait.

Per the discussion, we should emit a more user-friendly and descriptive diagnostic for that, something like: `can not deduce template argument for BFoo from 'Foo<int *>`

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxkks9u4zwMxJ9GvhAJHPlfcvDBbb4A320PvReyRdvcylIg0lnk7Rdysui2ezEBAxzO_DSGmSaP2KrqRWk9hw8kr7RW1Tkzq8whto9_WR_sve1GwQhKv8KvGT3IjED8btGuA_UOYQieJRryAsTggwAbIR4JLYwhgoHXt-4MxpFh2NaEgodpJYtJdXDGT4ALCW_ilszkAwsNSQxV0YGq8x4HszKC0s37-9_3lT6-XEJISmkUr8mI0p0q_lP6pHQDeDNuNYIWJMBoHKOq8z28fb21oE--GIwH8oLRG7cL3t1B7lfcpYSyV_lZ5d3j-wPj0y8PKzMFvzFC4Dmszm6JwMASIsLKGHdjJPTW3cF4CxZ5iHQVun1xkYDJbCRJcVhQZvITOPr4w2EwfmO85UcQXK7OCIKJ05oibAoJCIwxLAnXP1Tq_BEgs21hT8XJZNgemkPV1IfidMzm1uamaurioDGvdY1YoK5GHEp9GqqyKZuMWp3rMq8OVX7UxeG4Hw5HW2NvsLFlY2pUZY6LIbd37rbsQ5wyYl6xPWmtq8yZHh0_67c9vyq6MQYv6O2ziLFNq7t-nViVuSMW_hQTErfV97FcneH_5RrD7Vszv3H9rOE-W6NrZ5Erq6JT-qL0ZSKZ134_hEXpS7r0HLtrDD9xEKUvWwZW-rLF-B0AAP__IOIVuA">