Vectors are not read from archive because the _ArrayOverwrite primitive fails.
_ArrayOverwrite expects arrays of the same type.
A solution that worked for me was to add this function to the AbstractVector Class. Unfortunately it makes the Archive much slower to be read.
overWrite { arg aCollection, pos=0;
var array, grow;
// _ArrayOverwrite
// ^this.primitiveFailed
array = this.growClear(pos + aCollection.size - this.size);
grow = pos + aCollection.size - this.size;
if (grow > 0, { array = this ++ this.class.newClear(grow); },{ array = this });
aCollection.do({ arg item, i; array.put(pos + i, item); });
^array
}
Vectors are not read from archive because the _ArrayOverwrite primitive fails.
_ArrayOverwrite expects arrays of the same type.
A solution that worked for me was to add this function to the AbstractVector Class. Unfortunately it makes the Archive much slower to be read.
`
`