-
-
Notifications
You must be signed in to change notification settings - Fork 680
Description
See the output from my travis build using the latest AssemblyScript 0.18.11 ( upgrading from 0.17.7 )
https://travis-ci.com/github/petersalomonsen/javascriptmusic/jobs/485666265#L267
ERROR TS2469: The '++' operator cannot be applied to type 'assembly/midi/midisynth/MidiVoice'.
for (let n=0; n < numActiveVoices; n++) {
~~~
I would expect that n is interpreted as type i32 and not as MidiVoice.
The exact same code pass in AssemblyScript 0.17.7.
Also tested with 0.17.13 and 0.18.0, and found that the error was introduced in 0.18.0
Test case for reproducing:
class Foo {
}
function test(): void {
const foos = new Array<Foo>(1);
foos[0] = foos[0] = new Foo();
for (let n = 0; n < foos.length; n++) {
const v = foos[n];
}
}
test();
The error is actually caused by a mistake in my code in the line foos[0] = foos[0] = new Foo(); which should have been foos[0] = new Foo();. However the compile error message is misleading, and is not really a compile error.
I'll look into this myself later on, but just wanted to file the issue in case anyone else get an instant idea of what it might be.