diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-06-08 14:19:11 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-06-08 14:58:24 +0900 |
| commit | f869ff95a12756de97827b4afd93763f9661f144 (patch) | |
| tree | 6f5445ae623f44ceb99c8f7ddb5bb4cd1fb04aa0 /internal/rosa | |
| parent | 725f2e0ef3eaba1ad46b597604a684125ab93911 (diff) | |
all: apply modernisers
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa')
| -rw-r--r-- | internal/rosa/azalea/evaluate.go | 11 | ||||
| -rw-r--r-- | internal/rosa/azalea/evaluate_test.go | 2 | ||||
| -rw-r--r-- | internal/rosa/report.go | 5 | ||||
| -rw-r--r-- | internal/rosa/state.go | 2 |
4 files changed, 10 insertions, 10 deletions
diff --git a/internal/rosa/azalea/evaluate.go b/internal/rosa/azalea/evaluate.go index 32c4f066..044e6826 100644 --- a/internal/rosa/azalea/evaluate.go +++ b/internal/rosa/azalea/evaluate.go @@ -6,6 +6,7 @@ import ( "maps" "reflect" "slices" + "strings" "unique" ) @@ -107,8 +108,8 @@ func (e TypeError) Error() string { } func (e TypeError) Is(err error) bool { - var v TypeError - return errors.As(err, &v) && + v, ok := errors.AsType[TypeError](err) + return ok && e.Asserted == v.Asserted && e.Concrete == v.Concrete } @@ -233,14 +234,14 @@ func evaluateAny(d PF, s []Frame, expr, rp any) bool { return evaluateAny(d, s, e[0], rp) } } - var v string + var v strings.Builder for i := range e { var _r string if evaluate(d, s, e[i], &_r) { - v += _r + v.WriteString(_r) } } - store(rp, v) + store(rp, v.String()) return true case Array: diff --git a/internal/rosa/azalea/evaluate_test.go b/internal/rosa/azalea/evaluate_test.go index 801b07a3..4a6c2f56 100644 --- a/internal/rosa/azalea/evaluate_test.go +++ b/internal/rosa/azalea/evaluate_test.go @@ -214,7 +214,7 @@ func TestEvaluate(t *testing.T) { } var errEquals bool - if errors.As(err, new(TypeError)) { + if _, ok := errors.AsType[TypeError](err); ok { errEquals = errors.Is(err, tc.err) } else { errEquals = reflect.DeepEqual(err, tc.err) diff --git a/internal/rosa/report.go b/internal/rosa/report.go index 54f60fb3..a97ff8e8 100644 --- a/internal/rosa/report.go +++ b/internal/rosa/report.go @@ -212,11 +212,10 @@ func (r *Report) HandleAccess(errP *error) func() { *errP = err } - var runtimeError interface { + if runtimeError, ok := errors.AsType[interface { Addr() uintptr runtime.Error - } - if errors.As(*errP, &runtimeError) { + }](*errP); ok { offset := int(runtimeError.Addr() - uintptr(unsafe.Pointer(unsafe.SliceData(r.data)))) // best effort for fragile uintptr if offset >= 0 { diff --git a/internal/rosa/state.go b/internal/rosa/state.go index feb06f82..8f9aba6d 100644 --- a/internal/rosa/state.go +++ b/internal/rosa/state.go @@ -1063,7 +1063,7 @@ func (ctx *evalContext) pf( checksum, ok := kc.(string) if !ok { err = azalea.TypeError{ - Concrete: reflect.TypeOf(checksum), + Concrete: reflect.TypeOf(kc), Asserted: reflect.TypeFor[string](), } return |
