summaryrefslogtreecommitdiff
path: root/source/slang/slang-check-type.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-check-type.cpp')
-rw-r--r--source/slang/slang-check-type.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/source/slang/slang-check-type.cpp b/source/slang/slang-check-type.cpp
index bd7b89e16..dc0d69f04 100644
--- a/source/slang/slang-check-type.cpp
+++ b/source/slang/slang-check-type.cpp
@@ -131,7 +131,6 @@ namespace Slang
// assume that if it is overloaded, we want a type
exp = resolveOverloadedExpr(overloadedExpr, LookupMask::type);
}
-
if (auto typeType = as<TypeType>(exp->type))
{
return typeType->type;
@@ -142,6 +141,10 @@ namespace Slang
}
else
{
+ if (!exp->type.type)
+ {
+ CheckExpr(exp);
+ }
return ExtractGenericArgInteger(exp);
}
}
@@ -269,7 +272,6 @@ namespace Slang
// ignore non-parameter members
}
}
-
if (outProperType)
{
*outProperType = InstantiateGenericType(genericDeclRef, args);