Skip to content

v0.1.6

Choose a tag to compare

@rawframe-release rawframe-release released this 03 Nov 13:37
614dd80

0.1.6 (2026-11-03)

Fixed

  • A function is not carried into its caller when the two frames, or the two stacks, would come to more than 65535 slots together; it is called instead, which is the same answer. The caller's frame was given the sum less 65536, and the verifier refused the body as a fault in the compiler: with C a constant of type [[[bool; 25]; 25]; 40] (25000 slots), a fn copied that copies its argument into a local and returns it, and main holding C and copied(C), the program was refused under kest and kest-debug, by kest emit and by kest build --release with K0408 ("store.n at 15 names slot 50000 of the 34464 there are"), and ran only under KEST_PLAIN=1. A program that never comes near 65535 slots compiles exactly as before. (#200)
  • The verifier ends its walk of a body whose operand stack reaches all 65535 slots it may be given. A place reached at that depth was taken for a place not reached yet and walked again: a chunk of load.n 0, 65535 and a loop onto itself, with room for 65535 slots, was still being walked by kest_module_prove after a minute, where the same chunk one slot shallower is refused at once with K0411. It is now refused with K0411 too. A body whose stack stays under 65535 slots is walked exactly as before. (#197)