diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-09-05 02:58:11 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-09-05 02:58:11 +0900 |
| commit | 871c701fdbce4a3d43e6e8edc436a2ae93322540 (patch) | |
| tree | 715318d8e6b0086fd15088ec9a6d99d5440ab610 /internal | |
| parent | f8bd988752dbee079ea6f1bfa69a5bd3bf16baea (diff) | |
internal/rosa/azalea: handle nil specials
Specials are hacked on, so they do not support regular nil values. This change handles the nil identifier as a special case.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/rosa/azalea/evaluate.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/internal/rosa/azalea/evaluate.go b/internal/rosa/azalea/evaluate.go index b35a056a..26a02c02 100644 --- a/internal/rosa/azalea/evaluate.go +++ b/internal/rosa/azalea/evaluate.go @@ -365,7 +365,13 @@ func evaluateAny(d PF, s []Frame, expr, rp any) bool { panic(ErrInvalidSpecial) } farg.K = names[0] - if err := storeE(&farg.V, arg.V[0]); err != nil { + + v := arg.V[0] + if p, _ok := v.(Ident); _ok && p == "nil" { + v = Nil{} + } + + if err := storeE(&farg.V, v); err != nil { panic(err) } fargs = append(fargs, farg) |
