<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/103016>103016</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
CTAD: Don't ignore explicit deduction guides defined after the first use of the alias template
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang:frontend
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
hokein
</td>
</tr>
</table>
<pre>
For alias CTAD, if an explicit deduction guide is written after the first use of the alias template, this deduction guide is not included.
The upcoming CTAD for inherited constructors (#98788) also has the same limitation.
See the test in [clang/test/SemaCXX/cxx20-ctad-type-alias.cpp.](https://github.com/llvm/llvm-project/blob/main/clang/test/SemaCXX/cxx20-ctad-type-alias.cpp#L224-L242)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUksFunDAQhp_GXEaLYAwBDhw2WXHKLTnkauwB3Bob2UOavH0F26qXVmoutjSyvn9--VMp2dkT9aJ-FPUtUzsvIfZL-E7WZ2Mwn_0QIihnVYKn1-tN4BPYCZQH-tic1ZbBkNk12-Bh3q0hsAl-RMtMHtTEFIEXgsnGxLAngjCdgzuSad2cYjqwvNj0N5gPDNZrtxsyOYjiJorr60Kwbzqs1s_nXjCFCNYvFC2TAR184rhrDjGBwFag7NqmbQV2oFwKsBzhC0FSK4Gzq2V1pOZ3_P18ITrfMKVjAxD1o3bKzwKHYyRweKFVPb29CRz0xwcWF83KXPhzo8tZL9fblov6JrBdmLck5FXgIHCYLS_7mOuwChyce_99XbYYvpE-0KMLo8BhVdYf-C_nCpTPiNXlGSsU2GWml6aTncqoLxuUtZQPbZMtfTXJup4qNbZ6HEdNqsOOHsqyNuOop6LIbI8FVkVbyqLBEptcyqnt2rJEVY1ERSOqglZlXX40yEOcM5vSTn1ZyKJ8yJwayaVTMMR7D3mdYvBM3gjEQ7vYn-3HfU6iKpxNnP7Q2LKj_pRPXgFuwQtsGOzsQ6R_anioNFlP5v8lzPbo-i9_1Fk2CRx-9X3v8WcAAAD__51rGLA">