Skip to content

Commit 002d013

Browse files
committed
Assert on unhandleded template argument kind
1 parent 79920eb commit 002d013

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

‎cpp2rust/converter/rules/rules_loader.cpp‎

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -205,10 +205,21 @@ class RuleUsageCollector
205205

206206
void AddTemplateArgs(llvm::ArrayRef<clang::TemplateArgument> args) {
207207
for (const auto &arg : args) {
208-
if (arg.getKind() == clang::TemplateArgument::Type) {
208+
switch (arg.getKind()) {
209+
case clang::TemplateArgument::Type:
209210
AddType(arg.getAsType());
210-
} else if (arg.getKind() == clang::TemplateArgument::Pack) {
211+
break;
212+
case clang::TemplateArgument::Pack:
211213
AddTemplateArgs(arg.pack_elements());
214+
break;
215+
case clang::TemplateArgument::Null:
216+
case clang::TemplateArgument::Integral:
217+
case clang::TemplateArgument::NullPtr:
218+
case clang::TemplateArgument::Expression:
219+
break;
220+
default:
221+
assert(0 && "template argument kind is not scanned");
222+
break;
212223
}
213224
}
214225
}

0 commit comments

Comments
 (0)