0 | pass | pass | Open proc (any number of args) |
1 | pass | pass | Closed proc with no args, passed too many |
2 | pass | pass | Open proc has ARGV |
3 | pass | pass | Closed proc has empty "$@" or ARGV |
4 | pass | pass | Proc with default args |
5 | pass | pass | Proc with word params |
6 | pass | pass | Proc with ... "rest" word params |
7 | pass | pass | word rest params 2 |
8 | pass | pass | proc with typed args |
9 | pass | pass | Proc name-with-hyphen |
10 | pass | pass | Proc with block arg |
11 | pass | pass | proc returning wrong type |
12 | pass | pass | proc returning invalid string |
13 | pass | pass | 'return' doesn't accept expressions |
14 | pass | pass | procs are in same namespace as shell functions |
15 | pass | pass | Nested proc is disallowed at parse time |
16 | pass | pass | Procs defined inside compound statements (with redefine_proc) |
17 | pass | pass | Block can be passed literally, or as expression in third arg group |
18 | pass | pass | Pass through all 4 kinds of args |
19 | pass | pass | Global and local ARGV, like "$@" |
20 | pass | pass | Mutating global ARGV |
21 | pass | pass | Mutating local ARGV |
22 | pass | pass | typed proc allows all kinds of args |