diff options
Diffstat (limited to 'source/slang/slang-check-expr.cpp')
| -rw-r--r-- | source/slang/slang-check-expr.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/slang/slang-check-expr.cpp b/source/slang/slang-check-expr.cpp index cfcb15269..a14ed38d8 100644 --- a/source/slang/slang-check-expr.cpp +++ b/source/slang/slang-check-expr.cpp @@ -1546,7 +1546,12 @@ namespace Slang // it is possible that we are referring to a generic value param if (auto declRefExpr = expr.as<DeclRefExpr>()) { - auto declRef = getDeclRef(m_astBuilder, declRefExpr); + auto checkedExpr = as<DeclRefExpr>(CheckTerm(expr.getExpr())); + if (!checkedExpr) + return nullptr; + + SubstExpr<DeclRefExpr> substExpr(checkedExpr, expr.getSubsts()); + auto declRef = getDeclRef(m_astBuilder, substExpr); if (auto genericValParamRef = declRef.as<GenericValueParamDecl>()) { |
