<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in constraints-explicit-instantiation.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>5aeaabf3 - [Concepts] Check constraints for explicit template instantiations</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/AST/constraints-explicit-instantiation.cpp#5aeaabf3</link>
        <description>[Concepts] Check constraints for explicit template instantiationsThe standard requires[0] member function constraints to be checked whenexplicitly instantiating classes. This patch adds this constraintscheck.This issue is tracked as #46029 [1].Note that there&apos;s an related open CWG issue (2421[2]) about what to do whenmultiple candidates have satisfied constraints. This is particularly anissue because mangling doesn&apos;t contain function constraints, and so thefollowing code still ICEs with definition with same mangled name&apos;_ZN1BIiE1fEv&apos; as another definition:template&lt;class T&gt;struct B {  int f() requires std::same_as&lt;T, int&gt; {    return 0;  }  int f() requires (std::same_as&lt;T, int&gt; &amp;&amp;                    !std::same_as&lt;T, char&gt;) {    return 1;  }};template struct B&lt;int&gt;;Also note that the constraints checking while instantiating *functions*is still not implemented. I started looking at it but It&apos;s a bit morecomplicated. I believe in such a case we have to consider the partialconstraints order and potentially choose the best candidate out of theset of multiple valid ones.[0]: https://eel.is/c++draft/temp.explicit#10[1]: https://github.com/llvm/llvm-project/issues/46029[2]: https://cplusplus.github.io/CWG/issues/2421.htmlDifferential Revision: https://reviews.llvm.org/D120255

            List of files:
            /llvm-project-15.0.7/clang/test/AST/constraints-explicit-instantiation.cpp</description>
        <pubDate>Thu, 03 Mar 2022 14:17:07 +0000</pubDate>
        <dc:creator>Roy Jacobson &lt;roi.jacobson1@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
