diff --git a/kmir/src/kmir/kdist/mir-semantics/rt/data.md b/kmir/src/kmir/kdist/mir-semantics/rt/data.md index 087af074d..6d273684d 100644 --- a/kmir/src/kmir/kdist/mir-semantics/rt/data.md +++ b/kmir/src/kmir/kdist/mir-semantics/rt/data.md @@ -128,6 +128,13 @@ Constant operands are simply decoded according to their type. ... requires typeInfoVoidType =/=K lookupTy(TY) + + // Fallback for zero-sized constants whose type metadata was not emitted. + rule operandConstant(constOperand(_, _, mirConst(constantKindZeroSized, TY, _))) + => Aggregate(variantIdx(0), .List) + ... + + requires typeInfoVoidType ==K lookupTy(TY) ``` ### Copying and Moving