aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-06-08 14:19:11 +0900
committerOphestra <cat@gensokyo.uk>2026-06-08 14:58:24 +0900
commitf869ff95a12756de97827b4afd93763f9661f144 (patch)
tree6f5445ae623f44ceb99c8f7ddb5bb4cd1fb04aa0 /internal/rosa
parent725f2e0ef3eaba1ad46b597604a684125ab93911 (diff)
all: apply modernisers
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa')
-rw-r--r--internal/rosa/azalea/evaluate.go11
-rw-r--r--internal/rosa/azalea/evaluate_test.go2
-rw-r--r--internal/rosa/report.go5
-rw-r--r--internal/rosa/state.go2
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