Adding a typed array to an empty untyped array using addAll implicitly fixes the type of the previously untyped array to match that of the added array. As a result, no elements of other types can be added afterward.
The error is reported on the add line in the following example:
var a = new Array<String>[0];var b = [];b.addAll(a); // this worksb.add(3); // error
When the order of operations is reversed, no error occurs:
var a = new Array<String>[0];
var b = [];
b.add(3); // this works
b.addAll(a); // this works