diff options
Diffstat (limited to 'source/slang/ir.cpp')
| -rw-r--r-- | source/slang/ir.cpp | 4 |
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(); |
