Skip to content

Commit a53a75a

Browse files
committed
Ignore template deduction guides
1 parent 8f1c085 commit a53a75a

File tree

3 files changed

+26
-0
lines changed

3 files changed

+26
-0
lines changed

src/cppconv/cppsemantic1.d

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -514,6 +514,11 @@ void runSemantic(ref SemanticRunInfo semantic, ref Tree tree, Tree parent,
514514
{
515515
continue;
516516
}
517+
if (tree.nonterminalID == nonterminalIDFor!"FunctionDeclaratorTrailing" && realParent.nonterminalID == nonterminalIDFor!"SimpleDeclaration2")
518+
{
519+
// template deduction guide
520+
continue;
521+
}
517522

518523
declaratorInfo.namespaceType = chooseType(declaratorInfo.namespaceType,
519524
ppVersion, false);

tests/single/test375.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
template <typename T>
2+
class QList
3+
{
4+
};
5+
6+
template <typename InputIterator,
7+
typename ValueType = typename InputIterator::value_type>
8+
QList(InputIterator, InputIterator) -> QList<ValueType>;

tests/single/test375.d

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
module test375;
2+
3+
import config;
4+
import cppconvhelpers;
5+
6+
extern(C++, class) struct QList(T)
7+
{
8+
}
9+
10+
/+ template <typename InputIterator,
11+
typename ValueType = typename InputIterator::value_type>
12+
QList(,) -> QList<ValueType>; +/
13+

0 commit comments

Comments
 (0)