From e260f980fc07f49e25e388592d43d1b6cc3ed1e2 Mon Sep 17 00:00:00 2001 From: Stevengre Date: Fri, 7 Nov 2025 11:17:23 +0800 Subject: [PATCH] fix(mir-semantics): Handle zero sized function constant decode --- kmir/src/kmir/kdist/mir-semantics/rt/data.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kmir/src/kmir/kdist/mir-semantics/rt/data.md b/kmir/src/kmir/kdist/mir-semantics/rt/data.md index 7adc8dd0f..6ebbf92b1 100644 --- a/kmir/src/kmir/kdist/mir-semantics/rt/data.md +++ b/kmir/src/kmir/kdist/mir-semantics/rt/data.md @@ -1468,6 +1468,9 @@ Zero-sized types can be decoded trivially into their respective representation. // zero-sized array rule #decodeConstant(constantKindZeroSized, _TY, typeInfoArrayType(_, _)) => Range(.List) ... + // zero-sized function item (e.g., closures without captures) + rule #decodeConstant(constantKindZeroSized, _TY, typeInfoFunType(_)) + => Aggregate(variantIdx(0), .List) ... ``` Allocated constants of reference type with a single provenance map entry are decoded as references