mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-11-03 07:54:40 +08:00
- Module globals of type number join the whole-program int32 fixpoint as `global:` candidates, starting non-negative. A candidate needs its module initializer to assign it at the top level (its declaration), and no write by `++`/`--`, for-of or catch; every assignment must evaluate to an int32 under the current facts (an integer literal counts in any function), and a write that may be negative keeps only the int32 fact. - Reads take the proven range through IntegerSlotFacts.locals, so a generator state reduced by a remainder (`seed = (seed * a + c) % m`) takes unsigned integer remainders without the -0 select.