For example:
$ # a[0] is not set, but no error
$ bash -uc 'a=() k=; declare -n r=a[k]; : "$r"; echo ok'
ok
$ # a[0] is not set, error
$ bash -uc 'a=() k=; declare -n r=a[k]; : "${r}"; echo ok'
bash: line 1: r: unbound variable
Can reproduce in bash 5.2.37, and devel branch
On Thu, May 15, 2025 at 02:26:47AM +0200, Emanuele Torre wrote:
> $ # a[0] is not set, but no error
> $ bash -uc 'a=() k=; declare -n r=a[k]; : "$r"; echo ok'
> ok
> $ # a[0] is not set, error
> $ bash -uc 'a=() k=; declare -n r=a[k]; : "${r}"; echo ok'
> bash: line 1: r: un