From a0bb347979a3981c0d6931360062d03fcfb051dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Wed, 11 Nov 2026 15:35:29 +0100 Subject: [PATCH] codegen: the int32-key element read passes the split helper its key-fact argument (main did not compile) --- changelog.d/codegen-int32-key-split-argument.md | 1 + crates/perry-codegen/src/expr/index_get.rs | 5 +++++ 2 files changed, 6 insertions(+) create mode 100644 changelog.d/codegen-int32-key-split-argument.md diff --git a/changelog.d/codegen-int32-key-split-argument.md b/changelog.d/codegen-int32-key-split-argument.md new file mode 100644 index 0000000000..00095583b0 --- /dev/null +++ b/changelog.d/codegen-int32-key-split-argument.md @@ -0,0 +1 @@ +codegen: the int32-key element read passes the split helper its key-fact argument (`None`: the key is already an i32), so `perry-codegen` compiles again after key signs (#14458) met int32 local ranges (#14453). diff --git a/crates/perry-codegen/src/expr/index_get.rs b/crates/perry-codegen/src/expr/index_get.rs index 4b66cf1b83..778901632a 100644 --- a/crates/perry-codegen/src/expr/index_get.rs +++ b/crates/perry-codegen/src/expr/index_get.rs @@ -1498,6 +1498,11 @@ pub(crate) fn lower(ctx: &mut FnCtx<'_>, expr: &Expr) -> Result { false, repair_slot.as_deref(), proven, + // The key is already its i32 here + // (`int32_key::lower`): the split + // takes it as a native key, so no + // key-sign fact applies to it. + None, ) }) },