array->vector on array from share-array gives incorrect vector
In some cases of using array->vector on an array created with share-array, the returned vector contains too many items. A siimple example is below. array-flatten seems to do the right thing (or at least matches what I expected).
Possibly this issue is related to recently reported (and fixed) Issue #66 (closed).
$ cat w.scm
(let* ((a (make-array (shape 0 4) 100 101 102 103))
(b (share-array a (shape 0 2) values)))
(write a)
(newline)
(write b)
(newline)
(write (array->vector b))
(newline)
(write (array-flatten b))
(newline))
$ kawa w.scm
#(100 101 102 103)
#(100 101)
#(100 101 102 103)
#(100 101)
$ kawa --version
Kawa 3.1.1 (git describe: 3.1.1-0-gc47de33ad-dirty)
Copyright (C) 2020 Per Bothner
$ java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-8u242-b08-1~deb9u1-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
$