var called: string = "";
class A {
foo<T>(x: T): void {
called = "A";
}
}
class B extends A {
foo(x: i32): void { // non-generic overrides generic
called = "B";
}
}
// Static dispatch: B.foo called directly
var b = new B();
b.foo(1);
assert(called == "B");
called = "";
// Virtual dispatch through A reference: which gets called?
var a: A = new B();
a.foo<i32>(1);
assert(called == "B"); // if vtable works, "B"; if fallback to base, "A"
Bug description
compiler crashed when generic function override non generic function
Steps to reproduce
build above code
AssemblyScript version
v0.28.12