summaryrefslogtreecommitdiff
path: root/source/slang/slang-check-decl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-check-decl.cpp')
-rw-r--r--source/slang/slang-check-decl.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/slang/slang-check-decl.cpp b/source/slang/slang-check-decl.cpp
index 58fbb4689..c27e0c6f0 100644
--- a/source/slang/slang-check-decl.cpp
+++ b/source/slang/slang-check-decl.cpp
@@ -2520,18 +2520,22 @@ namespace Slang
// and likely a crash.
//
// Accessing the members via index side steps the issue.
+
+ Index parameterIndex = 0;
const auto& members = genericDecl->members;
for (Index i = 0; i < members.getCount(); ++i)
{
Decl* m = members[i];
- if (auto typeParam = as<GenericTypeParamDecl>(m))
+ if (auto typeParam = as<GenericTypeParamDeclBase>(m))
{
ensureDecl(typeParam, DeclCheckState::ReadyForReference);
+ typeParam->parameterIndex = parameterIndex++;
}
else if (auto valParam = as<GenericValueParamDecl>(m))
{
ensureDecl(valParam, DeclCheckState::ReadyForReference);
+ valParam->parameterIndex = parameterIndex++;
}
else if (auto constraint = as<GenericTypeConstraintDecl>(m))
{