Open
Description
Bug description
I have updated my package version from 0.27.23
to 0.27.27
.
There is now a compiling issue where:
ERROR TS2454: Variable 'zj' is used before being assigned.
Steps to reproduce
Here is the code block:
let zn: i32 = gMinlen;
let zvec: i32;
let zj: u8;
for (zvec = getBits(gMinlen, state); zvec > unchecked(gLimit[zn]); zvec = (zvec << 1) | zj) {
zn++;
zj = getBit(state);
}
The fix is simple like:
let zn: i32 = gMinlen;
let zvec: i32;
let zj: u8 = 0; // <=== FIX
for (zvec = getBits(gMinlen, state); zvec > unchecked(gLimit[zn]); zvec = (zvec << 1) | zj) {
zn++;
zj = getBit(state);
}
I do not know if this is intended or not, here is valid Java code for example:
int zn = gMinlen;
int zvec;
byte zj;
for (zvec = getBits(gMinlen, s); zvec > gLimit[zn]; zvec = zvec << 1 | zj) {
zn++;
zj = getBit(s);
}
It seems this problem is still occurring, if it helps, this is the full source code to my project using this:
https://github.com/2004scape/Client2/blob/main/assembly/bz2.ts
I've cleaned everything so I don't believe it is me.
Ty!
AssemblyScript version
0.27.27