diff options
Diffstat (limited to 'source/slang/check.cpp')
| -rw-r--r-- | source/slang/check.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/source/slang/check.cpp b/source/slang/check.cpp index 7cfb317fb..c4aa9bfba 100644 --- a/source/slang/check.cpp +++ b/source/slang/check.cpp @@ -6944,14 +6944,18 @@ namespace Slang entryPoint->decl = entryPointFuncDecl; // Lookup generic parameter types in global scope + List<RefPtr<Scope>> scopesToTry; + scopesToTry.Add(entryPoint->getTranslationUnit()->SyntaxNode->scope); + for (auto & module : entryPoint->compileRequest->loadedModulesList) + scopesToTry.Add(module->moduleDecl->scope); for (auto name : entryPoint->genericParameterTypeNames) { // parse type name RefPtr<Type> type; - for (auto & module : entryPoint->compileRequest->loadedModulesList) + for (auto & s : scopesToTry) { RefPtr<Expr> typeExpr = entryPoint->compileRequest->parseTypeString(entryPoint->getTranslationUnit(), - name, module->moduleDecl->scope); + name, s); DiagnosticSink nSink; SemanticsVisitor visitor( &nSink, |
