Results for var-op-slice.test.sh

statusbashmkshkshtoyshsushbrushosh
pass 20586131320
ok 0100002
N-I 1600000
BUG 11000000
FAIL 001416990
total22222222222222
casebashmkshkshtoyshsushbrushoshdescription
0pass pass pass pass pass pass pass String slice
1pass pass pass FAIL FAIL FAIL ok Cannot take length of substring slice
detailsdetailsdetailsdetails
2pass BUG FAIL pass pass pass pass Out of range string slice: begin
detailsdetails
3pass BUG pass pass pass pass pass Out of range string slice: length
details
4pass pass pass pass pass FAIL pass Negative start index
details
5pass BUG pass FAIL pass FAIL pass Negative start index respects unicode
detailsdetailsdetails
6pass BUG FAIL pass FAIL FAIL pass Negative second arg is position, not length!
detailsdetailsdetailsdetails
7pass BUG FAIL FAIL FAIL FAIL pass Negative start index respects unicode
detailsdetailsdetailsdetailsdetails
8pass pass pass pass pass pass pass String slice with math
9pass BUG FAIL FAIL FAIL FAIL pass Slice undefined
detailsdetailsdetailsdetailsdetails
10pass BUG pass FAIL pass pass pass Slice UTF-8 String
detailsdetails
11BUG BUG FAIL FAIL FAIL FAIL pass Slice string with invalid UTF-8 results in empty string and warning
detailsdetailsdetailsdetailsdetailsdetails
12N-I N-I FAIL FAIL FAIL FAIL pass Slice string with invalid UTF-8 with strict_word_eval
detailsdetailsdetailsdetailsdetailsdetails
13pass pass pass FAIL pass pass pass Slice with an index that's an array -- silent a[0] decay
details
14pass N-I FAIL FAIL pass pass pass Slice with an assoc array
detailsdetailsdetails
15pass N-I FAIL FAIL pass pass pass Simple ${@:offset}
detailsdetailsdetails
16pass N-I FAIL FAIL FAIL pass pass ${@:offset} and ${*:offset}
detailsdetailsdetailsdetails
17pass N-I FAIL FAIL FAIL pass pass ${@:offset:length} and ${*:offset:length}
detailsdetailsdetailsdetails
18pass N-I FAIL FAIL pass pass pass ${@:0:1}
detailsdetailsdetails
19pass BUG FAIL FAIL pass pass pass Permutations of implicit begin and length
detailsdetailsdetails
20pass BUG FAIL FAIL pass FAIL ok ${array[@]:} vs ${array[@]: } - bash and zsh inconsistent
detailsdetailsdetailsdetailsdetails
21pass ok FAIL FAIL FAIL pass pass ${array[@]::} has implicit length of zero - for ble.sh
detailsdetailsdetailsdetails
85 passed, 3 OK, 7 not implemented, 11 BUG, 48 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

toysh1 Cannot take length of substring slice

[toysh status] Expected 1, got 0

stdout:
stderr: 
sush1 Cannot take length of substring slice

[sush status] Expected 1, got 0

stdout:
stderr: 
brush1 Cannot take length of substring slice

[brush status] Expected 1, got 0

stdout:
${#v:1:3}
stderr:
osh1 Cannot take length of substring slice

stdout:
stderr: 
  echo ${#v:1:3}
           ^
[ stdin ]:2: Expected } after length expression
mksh2 Out of range string slice: begin

stdout:
0
stderr:
ksh2 Out of range string slice: begin

[ksh stdout] Expected '_\n0\n', got '\n0\n'

stdout:
0
stderr:
mksh3 Out of range string slice: length

stdout:
_defg
0
stderr:
brush4 Negative start index

[brush stdout] Expected 'def\n', got 'abc\n'

stdout:
abc
stderr:
mksh5 Negative start index respects unicode

stdout:
stderr:
toysh5 Negative start index respects unicode

[toysh stdout] Expected 'd-\xce\xbc\n', got '-\xce\xbc\n'

stdout:
stderr:
brush5 Negative start index respects unicode

[brush stdout] Expected 'd-\xce\xbc\n', got 'abc\n'

stdout:
abc
stderr:
mksh6 Negative second arg is position, not length!

stdout:
defg defg defg
stderr:
ksh6 Negative second arg is position, not length!

[ksh stdout] Expected 'def de d\n', got 'defg defg defg\n'

stdout:
defg defg defg
stderr:
sush6 Negative second arg is position, not length!

[sush stdout] Expected 'def de d\n', got '\n'

stdout:
stderr: 
brush6 Negative second arg is position, not length!

[brush stdout] Expected 'def de d\n', got 'defg defg defg\n'

stdout:
defg defg defg
stderr:
mksh7 Negative start index respects unicode

stdout:
d-μ-
stderr:
ksh7 Negative start index respects unicode

[ksh stdout] Expected 'cd\n', got 'cd-\xce\xbc-\n'

stdout:
cd-μ-
stderr:
toysh7 Negative start index respects unicode

[toysh stdout] Expected 'cd\n', got 'd-\n'

stdout:
d-
stderr:
sush7 Negative start index respects unicode

[sush stdout] Expected 'cd\n', got '\n'

stdout:
stderr: 
brush7 Negative start index respects unicode

[brush stdout] Expected 'cd\n', got 'abcd-\n'

stdout:
abcd-
stderr:
mksh9 Slice undefined

stdout:
--
--
-done-
stderr:
ksh9 Slice undefined

[ksh stdout] Expected '--\n', got '--\n--\n-done-\n'
[ksh status] Expected 1, got 0

stdout:
--
--
-done-
stderr:
toysh9 Slice undefined

[toysh stdout] Expected '--\n', got '\n\n-done-\n'
[toysh status] Expected 1, got 0

stdout:

-done-
stderr:
set: bad -o nounset
sush9 Slice undefined

[sush stdout] Expected '--\n', got '--\n--\n-done-\n'
[sush status] Expected 1, got 0

stdout:
--
--
-done-
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: set: nounset: invalid option name
brush9 Slice undefined

[brush stdout] Expected '--\n', got '--\n--\n-done-\n'
[brush status] Expected 1, got 0

stdout:
--
--
-done-
stderr:
mksh10 Slice UTF-8 String

stdout:
stderr:
toysh10 Slice UTF-8 String

[toysh stdout] Expected '-\xce\xbc-\n', got '-\xce\xbc\n'

stdout:
stderr:
bash11 Slice string with invalid UTF-8 results in empty string and warning

stdout:
-bcd-
stderr:
mksh11 Slice string with invalid UTF-8 results in empty string and warning

stdout:
-bcd-
stderr:
ksh11 Slice string with invalid UTF-8 results in empty string and warning

[ksh stdout] Expected '--\n', got '-bcd-\n'
[ksh stderr] Expected '[??? no location ???] warning: UTF-8 decode: Bad encoding at offset 0 in string of 6 bytes\n' Got ''

stdout:
-bcd-
stderr:
toysh11 Slice string with invalid UTF-8 results in empty string and warning

[toysh stdout] Expected '--\n', got '-\xbfbc-\n'
[toysh stderr] Expected '[??? no location ???] warning: UTF-8 decode: Bad encoding at offset 0 in string of 6 bytes\n' Got ''

stdout:
'-\xbfbc-\n'
stderr:
sush11 Slice string with invalid UTF-8 results in empty string and warning

[sush stdout] Expected '--\n', got '-cde-\n'
[sush stderr] Expected '[??? no location ???] warning: UTF-8 decode: Bad encoding at offset 0 in string of 6 bytes\n' Got ''

stdout:
-cde-
stderr:
brush11 Slice string with invalid UTF-8 results in empty string and warning

[brush stdout] Expected '--\n', got '-bcd-\n'
[brush stderr] Expected '[??? no location ???] warning: UTF-8 decode: Bad encoding at offset 0 in string of 6 bytes\n' Got ''

stdout:
-bcd-
stderr:
bash12 Slice string with invalid UTF-8 with strict_word_eval

stdout:
slice
-bcd-
stderr:
bash: line 1: shopt: strict_word_eval: invalid shell option name
mksh12 Slice string with invalid UTF-8 with strict_word_eval

stdout:
slice
-bcd-
stderr:
mksh: <stdin>[1]: shopt: not found
ksh12 Slice string with invalid UTF-8 with strict_word_eval

[ksh stdout] Expected 'slice\n', got 'slice\n-bcd-\n'
[ksh status] Expected 1, got 0

stdout:
slice
-bcd-
stderr:
E: ksh: <stdin>[1]: shopt: inaccessible or not found
toysh12 Slice string with invalid UTF-8 with strict_word_eval

[toysh stdout] Expected 'slice\n', got 'slice\n-\xbfbc-\n'
[toysh status] Expected 1, got 0

stdout:
'slice\n-\xbfbc-\n'
stderr:
sh: shopt: No such file or directory
sush12 Slice string with invalid UTF-8 with strict_word_eval

[sush stdout] Expected 'slice\n', got 'slice\n-cde-\n'
[sush status] Expected 1, got 0

stdout:
slice
-cde-
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: shopt: strict_word_eval: not supported yet
brush12 Slice string with invalid UTF-8 with strict_word_eval

[brush stdout] Expected 'slice\n', got 'slice\n-bcd-\n'
[brush status] Expected 1, got 0

stdout:
slice
-bcd-
stderr:
shopt: strict_word_eval: invalid shell option name
toysh13 Slice with an index that's an array -- silent a[0] decay

[toysh stdout] Expected 'assigned\nde\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: 3
mksh14 Slice with an assoc array

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '(' unexpected
ksh14 Slice with an assoc array

[ksh stdout] Expected 'assigned\nab\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected '('
toysh14 Slice with an assoc array

[toysh stdout] Expected 'assigned\nab\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: )
mksh15 Simple ${@:offset}

stdout:
stderr: 
mksh: <stdin>[3]: ${@: 0}: bad substitution
mksh: <stdin>[6]: ${@: 1}: bad substitution
ksh15 Simple ${@:offset}

[ksh stdout] Expected "['SHELL', '4', '5', '6']\n['4', '5', '6']\n['5', '6']\n" Got '\n'
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[3]: ${@: 0}: bad substitution
E: ksh: <stdin>[6]: ${@: 1}: bad substitution
toysh15 Simple ${@:offset}

[toysh stdout] Expected "['SHELL', '4', '5', '6']\n['4', '5', '6']\n['5', '6']\n" Got '[]\n[]\n[]\n'

stdout:
[]
[]
[]
stderr:
set: bad --
mksh16 ${@:offset} and ${*:offset}

stdout:
stderr: 
mksh: <stdin>[28]: ${*: 0}: bad substitution
ksh16 ${@:offset} and ${*:offset}

[ksh stdout] Expected "['-SHELL', 'a', '1', 'b', '2', 'c', '3-']\n['-a', '1', 'b', '2', 'c', '3-']\n['-c', '3-']\n['--']\n['--']\n['-SHELL', 'a', '1', 'b', '2', 'c', '3-']\n['-a', '1', 'b', '2', 'c', '3-']\n['-c', '3-']\n['--']\n['--']\n['-SHELL a 1 b 2 c 3-']\n['-a 1 b 2 c 3-']\n['-c 3-']\n['--']\n['--']\n['-SHELL', 'a 1', 'b 2', 'c 3-']\n['-a 1', 'b 2', 'c 3-']\n['-c 3-']\n['--']\n['--']\n" Got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[28]: ${*: 0}: bad substitution
toysh16 ${@:offset} and ${*:offset}

[toysh stdout] Expected "['-SHELL', 'a', '1', 'b', '2', 'c', '3-']\n['-a', '1', 'b', '2', 'c', '3-']\n['-c', '3-']\n['--']\n['--']\n['-SHELL', 'a', '1', 'b', '2', 'c', '3-']\n['-a', '1', 'b', '2', 'c', '3-']\n['-c', '3-']\n['--']\n['--']\n['-SHELL a 1 b 2 c 3-']\n['-a 1 b 2 c 3-']\n['-c 3-']\n['--']\n['--']\n['-SHELL', 'a 1', 'b 2', 'c 3-']\n['-a 1', 'b 2', 'c 3-']\n['-c 3-']\n['--']\n['--']\n" Got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: (
sush16 ${@:offset} and ${*:offset}

[sush stdout] Expected "['-SHELL', 'a', '1', 'b', '2', 'c', '3-']\n['-a', '1', 'b', '2', 'c', '3-']\n['-c', '3-']\n['--']\n['--']\n['-SHELL', 'a', '1', 'b', '2', 'c', '3-']\n['-a', '1', 'b', '2', 'c', '3-']\n['-c', '3-']\n['--']\n['--']\n['-SHELL a 1 b 2 c 3-']\n['-a 1 b 2 c 3-']\n['-c 3-']\n['--']\n['--']\n['-SHELL', 'a 1', 'b 2', 'c 3-']\n['-a 1', 'b 2', 'c 3-']\n['-c 3-']\n['--']\n['--']\n" Got '[]\n'
[sush status] Expected 0, got 127

stdout:
[]
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: Unexpected token: ()
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: Unexpected token: }

/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 8: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 10: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 11: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 12: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 13: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 14: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 15: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 16: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 17: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 18: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 19: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 20: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 21: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 22: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 23: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 24: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 25: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 26: argv.shell-name-checked: command not found
mksh17 ${@:offset:length} and ${*:offset:length}

stdout:
stderr: 
mksh: <stdin>[28]: ${*: 0:2}: bad substitution
ksh17 ${@:offset:length} and ${*:offset:length}

[ksh stdout] Expected "['-SHELL', 'a', '1-']\n['-a', '1', 'b', '2-']\n['-c', '3-']\n['--']\n['--']\n['-SHELL', 'a', '1-']\n['-a', '1', 'b', '2-']\n['-c', '3-']\n['--']\n['--']\n['-SHELL a 1-']\n['-a 1 b 2-']\n['-c 3-']\n['--']\n['--']\n['-SHELL', 'a 1-']\n['-a 1', 'b 2-']\n['-c 3-']\n['--']\n['--']\n" Got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[28]: ${*: 0:2}: bad substitution
toysh17 ${@:offset:length} and ${*:offset:length}

[toysh stdout] Expected "['-SHELL', 'a', '1-']\n['-a', '1', 'b', '2-']\n['-c', '3-']\n['--']\n['--']\n['-SHELL', 'a', '1-']\n['-a', '1', 'b', '2-']\n['-c', '3-']\n['--']\n['--']\n['-SHELL a 1-']\n['-a 1 b 2-']\n['-c 3-']\n['--']\n['--']\n['-SHELL', 'a 1-']\n['-a 1', 'b 2-']\n['-c 3-']\n['--']\n['--']\n" Got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: (
sush17 ${@:offset:length} and ${*:offset:length}

[sush stdout] Expected "['-SHELL', 'a', '1-']\n['-a', '1', 'b', '2-']\n['-c', '3-']\n['--']\n['--']\n['-SHELL', 'a', '1-']\n['-a', '1', 'b', '2-']\n['-c', '3-']\n['--']\n['--']\n['-SHELL a 1-']\n['-a 1 b 2-']\n['-c 3-']\n['--']\n['--']\n['-SHELL', 'a 1-']\n['-a 1', 'b 2-']\n['-c 3-']\n['--']\n['--']\n" Got '[]\n'
[sush status] Expected 0, got 127

stdout:
[]
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: Unexpected token: ()
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: Unexpected token: }

/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 8: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 10: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 11: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 12: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 13: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 14: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 15: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 16: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 17: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 18: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 19: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 20: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 21: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 22: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 23: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 24: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 25: argv.shell-name-checked: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 26: argv.shell-name-checked: command not found
mksh18 ${@:0:1}

stdout:
stderr: 
mksh: <stdin>[2]: ${@: 0:1}: bad substitution
ksh18 ${@:0:1}

[ksh stdout] Expected 'SHELL\n', got '\n'

stdout:
stderr: 
E: ksh: <stdin>[2]: ${@: 0:1}: bad substitution
toysh18 ${@:0:1}

[toysh stdout] Expected 'SHELL\n', got '\n'

stdout:
stderr: 
main: line 2: sh: }: 0:1}
mksh19 Permutations of implicit begin and length

stdout:
['1', '2', '3']
stderr:
mksh: <stdin>[5]: ${array[@]: 0}: bad substitution
ksh19 Permutations of implicit begin and length

[ksh stdout] Expected "['1', '2', '3']\n['1', '2', '3']\n[]\n\n['1', '2', '3']\n['1', '2', '3']\n[]\n\n['123']\n['123']\n['']\n" Got "['1', '2', '3']\n"
[ksh status] Expected 0, got 1

stdout:
['1', '2', '3']
stderr:
E: ksh: <stdin>[5]: ${array[@]: 0}: bad substitution
toysh19 Permutations of implicit begin and length

[toysh stdout] Expected "['1', '2', '3']\n['1', '2', '3']\n[]\n\n['1', '2', '3']\n['1', '2', '3']\n[]\n\n['123']\n['123']\n['']\n" Got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: 1
mksh20 ${array[@]:} vs ${array[@]: } - bash and zsh inconsistent

stdout:
['space', '123']
stderr:
mksh: ${array[@]:}: bad substitution
mksh: ${array[@]: }: bad substitution
mksh: ${s:}: bad substitution
ksh20 ${array[@]:} vs ${array[@]: } - bash and zsh inconsistent

[ksh stdout] Expected "['space', '1', '2', '3']\n['space', '123']\n" Got "['space', '123']\n"

stdout:
['space', '123']
stderr:
E: ksh: ${array[@]:}: bad substitution
E: ksh: ${array[@]: }: bad substitution
E: ksh: ${s:}: bad substitution
toysh20 ${array[@]:} vs ${array[@]: } - bash and zsh inconsistent

[toysh stdout] Expected "['space', '1', '2', '3']\n['space', '123']\n" Got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
-c: line 1: sh: syntax error: 1
-c: line 1: sh: syntax error: 1
-c: line 1: sh: bad ${s:} @ 4
-c: line 1: sh: bad ${s: } @ 5
brush20 ${array[@]:} vs ${array[@]: } - bash and zsh inconsistent

[brush stdout] Expected "['space', '1', '2', '3']\n['space', '123']\n" Got "['1', '2', '3']\n['123']\n"

stdout:
['1', '2', '3']
['123']
stderr:
ERROR error: arithmetic evaluation error: failed to parse expression: ' '
ERROR error: arithmetic evaluation error: failed to parse expression: ' '
osh20 ${array[@]:} vs ${array[@]: } - bash and zsh inconsistent

stdout:
['1', '2', '3']
['space', '1', '2', '3']
['123']
['space', '123']
stderr:
mksh21 ${array[@]::} has implicit length of zero - for ble.sh

stdout:
stderr: 
mksh: <stdin>[2]: ${array[@]:0:}: bad substitution
ksh21 ${array[@]::} has implicit length of zero - for ble.sh

[ksh stdout] Expected '[]\n[]\n\n[]\n[]\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${array[@]:0:}: bad substitution
toysh21 ${array[@]::} has implicit length of zero - for ble.sh

[toysh stdout] Expected '[]\n[]\n\n[]\n[]\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: 1
sush21 ${array[@]::} has implicit length of zero - for ble.sh

[sush stdout] Expected '[]\n[]\n\n[]\n[]\n', got '\n'
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: `': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 8: `': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: `': bad substitution