diff options
| author | Philippe Altherr <philippe.altherr@gmail.com> | 2025-10-26 17:31:02 -0700 |
|---|---|---|
| committer | Bart Schaefer <schaefer@zsh.org> | 2025-10-26 17:31:02 -0700 |
| commit | b66a2e2524ac0dc1794b8675292986056c5339a8 (patch) | |
| tree | 00e874d1c1a4dade84c513e71f6aae8d797d241d /Test | |
| parent | 53790: corrections to reference loop detection (diff) | |
| download | zsh-b66a2e2524ac0dc1794b8675292986056c5339a8.tar zsh-b66a2e2524ac0dc1794b8675292986056c5339a8.tar.gz zsh-b66a2e2524ac0dc1794b8675292986056c5339a8.tar.bz2 zsh-b66a2e2524ac0dc1794b8675292986056c5339a8.tar.lz zsh-b66a2e2524ac0dc1794b8675292986056c5339a8.tar.xz zsh-b66a2e2524ac0dc1794b8675292986056c5339a8.tar.zst zsh-b66a2e2524ac0dc1794b8675292986056c5339a8.zip | |
53798: report reference loops created when a reference goes out of scope
Diffstat (limited to 'Test')
| -rw-r--r-- | Test/K01nameref.ztst | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/Test/K01nameref.ztst b/Test/K01nameref.ztst index bc9054093..460bc7260 100644 --- a/Test/K01nameref.ztst +++ b/Test/K01nameref.ztst @@ -1315,4 +1315,43 @@ F:previously this could create an infinite recursion and crash >ref1=var2 >ref2=var2 + typeset -n ref1 + typeset -n ref2=ref1; + () { + typeset ref2=foo + ref1=ref2 + } + echo reached + echo $ref1 + echo NOT REACHED +1:expansion of incidental reference loop triggers error +>reached +*?*: ref1: invalid self reference + + typeset -n ref1 + typeset -n ref2=ref1; + () { + typeset ref2=foo + ref1=ref2 + } + echo reached + ref1=foo + echo NOT REACHED +1:assignment to incidental reference loop triggers error +>reached +*?*: ref1: invalid self reference + + typeset -n ref1 + typeset -n ref2=ref1; + () { + typeset ref2=foo + ref1=ref2 + } + echo reached + typeset -n ref3=ref1 + echo NOT REACHED +1:reference to incidental reference loop triggers error +>reached +*?*: ref1: invalid self reference + %clean |
