diff --git a/packages/compiler/src/ir/numeric-call-specialization.ts b/packages/compiler/src/ir/numeric-call-specialization.ts index b126fe1dd..ecb7e9447 100644 --- a/packages/compiler/src/ir/numeric-call-specialization.ts +++ b/packages/compiler/src/ir/numeric-call-specialization.ts @@ -169,9 +169,9 @@ export function specializeNumericCalls( ...implementation, name, params: fn.params.map((param) => - ids.has(param.localId) ? { ...param, type: F64 } : param, + ids.has(param.localId) ? { ...param!, type: F64 } : param, ), - locals: fn.locals.map((local) => (ids.has(local.id) ? { ...local, type: F64 } : local)), + locals: fn.locals.map((local) => (ids.has(local.id) ? { ...local!, type: F64 } : local)), body: specializeBody(fn, slots), }; variants.set(fn.name, variant); diff --git a/tests/harness/self-hosting-llvm-emitter.test.ts b/tests/harness/self-hosting-llvm-emitter.test.ts index c5ab38bbd..a37e9254a 100644 --- a/tests/harness/self-hosting-llvm-emitter.test.ts +++ b/tests/harness/self-hosting-llvm-emitter.test.ts @@ -112,6 +112,10 @@ const programs = [ "local-union-storage.ts", "class-callback-storage.ts", "byte-record-windows.ts", + "constant-callback-dispatch.ts", + "constant-number-remainders.ts", + "numeric-call-specialization.ts", + "scalar-string-slices.ts", ]; for (const backend of ["llvm"] as const) {