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, ) }) },