summaryrefslogtreecommitdiffstats
path: root/source/slang/ir.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/ir.cpp')
-rw-r--r--source/slang/ir.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/source/slang/ir.cpp b/source/slang/ir.cpp
index 45ad71b67..f65af2ba4 100644
--- a/source/slang/ir.cpp
+++ b/source/slang/ir.cpp
@@ -4889,8 +4889,10 @@ namespace Slang
{
if (auto subDeclRefType = subtypeWitness->sub.As<DeclRefType>())
{
- auto genericWitnessTableName = getMangledNameForConformanceWitness(DeclRef<Decl>(subDeclRefType->declRef.getDecl(), nullptr), subtypeWitness->sup);
+ auto defaultSubst = createDefaultSubstitutions(entryPointRequest->compileRequest->mSession, subDeclRefType->declRef.getDecl());
+ auto genericWitnessTableName = getMangledNameForConformanceWitness(DeclRef<Decl>(subDeclRefType->declRef.getDecl(), defaultSubst), subtypeWitness->sup);
table = findWitnessTableByName(genericWitnessTableName);
+ SLANG_ASSERT(table);
WitnessTableSpecializationWorkItem workItem;
workItem.srcTable = (IRWitnessTable*)table;
workItem.dstTable = context->builder->createWitnessTable();