diff options
Diffstat (limited to 'source/slang/slang-ir-lower-generic-function.cpp')
| -rw-r--r-- | source/slang/slang-ir-lower-generic-function.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/source/slang/slang-ir-lower-generic-function.cpp b/source/slang/slang-ir-lower-generic-function.cpp index 0f94f137d..806ea8826 100644 --- a/source/slang/slang-ir-lower-generic-function.cpp +++ b/source/slang/slang-ir-lower-generic-function.cpp @@ -268,6 +268,8 @@ namespace Slang IRInst* interfaceRequirementVal = nullptr; auto witnessTableType = as<IRWitnessTableType>(lookupInst->getWitnessTable()->getDataType()); if (!witnessTableType) return; + if (witnessTableType->getConformanceType()->findDecoration<IRComInterfaceDecoration>()) + return; auto interfaceType = maybeLowerInterfaceType(cast<IRInterfaceType>(witnessTableType->getConformanceType())); interfaceRequirementVal = sharedContext->findInterfaceRequirementVal(interfaceType, lookupInst->getRequirementKey()); lookupInst->setFullType((IRType*)interfaceRequirementVal); |
