diff options
Diffstat (limited to 'source/slang/slang-ir-lower-existential.cpp')
| -rw-r--r-- | source/slang/slang-ir-lower-existential.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/slang/slang-ir-lower-existential.cpp b/source/slang/slang-ir-lower-existential.cpp index 2d533b424..f7669a557 100644 --- a/source/slang/slang-ir-lower-existential.cpp +++ b/source/slang/slang-ir-lower-existential.cpp @@ -20,9 +20,10 @@ namespace Slang IRBuilder builderStorage(sharedContext->sharedBuilderStorage); auto builder = &builderStorage; builder->setInsertBefore(inst); - auto value = inst->getWrappedValue(); auto valueType = sharedContext->lowerType(builder, value->getDataType()); + if (valueType->getOp() == kIROp_ComPtrType) + return; auto witnessTableType = cast<IRWitnessTableTypeBase>(inst->getWitnessTable()->getDataType()); auto interfaceType = witnessTableType->getConformanceType(); if (interfaceType->findDecoration<IRComInterfaceDecoration>()) |
