Skip to content

Commit 37c4ca8

Browse files
committed
Don't require metafunction classes of dependent names
1 parent 11dd0c9 commit 37c4ca8

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

‎cpp2rust/rule_preprocessing/cpp_rule_indexer.cpp‎

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,14 @@ void AddRequiredClasses(clang::QualType type,
7878
if (auto name = type->getAs<clang::DependentNameType>()) {
7979
auto qualifier = name->getQualifier();
8080
if (qualifier.getKind() == clang::NestedNameSpecifier::Kind::Type) {
81-
AddRequiredClasses(clang::QualType(qualifier.getAsType(), 0), required);
81+
if (auto spec = qualifier.getAsType()
82+
->getAs<clang::TemplateSpecializationType>()) {
83+
for (const auto &arg : spec->template_arguments()) {
84+
if (arg.getKind() == clang::TemplateArgument::Type) {
85+
AddRequiredClasses(arg.getAsType(), required);
86+
}
87+
}
88+
}
8289
}
8390
return;
8491
}

0 commit comments

Comments
 (0)