diff options
Diffstat (limited to 'source/slang/slang-check-overload.cpp')
| -rw-r--r-- | source/slang/slang-check-overload.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/source/slang/slang-check-overload.cpp b/source/slang/slang-check-overload.cpp index 42fab94a6..38754d170 100644 --- a/source/slang/slang-check-overload.cpp +++ b/source/slang/slang-check-overload.cpp @@ -1573,10 +1573,15 @@ namespace Slang { for (auto item : overloadExpr->lookupResult2.items) { + auto funcType = as<FuncType>(GetTypeForDeclRef(item.declRef, item.declRef.decl->loc)); + if (!funcType) + continue; + funcType = as<FuncType>(processJVPFuncType(funcType)); + if (!funcType) + continue; OverloadCandidate candidate; candidate.flavor = OverloadCandidate::Flavor::Expr; - candidate.funcType = as<FuncType>(processJVPFuncType( - as<FuncType>(GetTypeForDeclRef(item.declRef, item.declRef.decl->loc)))); + candidate.funcType = funcType; candidate.resultType = candidate.funcType->getResultType(); candidate.item = LookupResultItem(item.declRef); |
