On 7/26/18 3:15 PM, Grisha Levit wrote: > It seems that in general the array type is inherited just fine, there is an > issue only in the case that: > * the `A' attribute is inherited but not explicitly supplied > * we are creating the local variable with the `declare' command > (i.e. it is not already an existing local variable) > * we are performing a compound assignment/append operation in the > same declare command
Exactly. Look at the third point. A statement like `declare x+=( [0]=foo)' means to create a local array variable, since the -A option is not supplied. Bash is consistent in defaulting to indexed array variables when you don't specify -A and assign a value using the compound assignment syntax. So you create a local indexed array variable, and when you attempt to inherit the value from a global associative array before performing any specified assignment, you should either ignore the inherited value or throw an error. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU c...@case.edu http://tiswww.cwru.edu/~chet/