aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/serializer
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2025-12-19 12:52:30 +0100
committerAleksandr Nogikh <nogikh@google.com>2025-12-22 02:13:00 +0000
commita83befa0d111a0ba6fac52d763e93c76a2ef94d4 (patch)
tree7d3c28b24229429936a631e8ceb24135856b257d /pkg/serializer
parent8fb7048c5117ccb592deb5e8e4a62027e6d399cf (diff)
all: use any instead of interface{}
Any is the preferred over interface{} now in Go.
Diffstat (limited to 'pkg/serializer')
-rw-r--r--pkg/serializer/serializer.go6
-rw-r--r--pkg/serializer/serializer_test.go4
2 files changed, 5 insertions, 5 deletions
diff --git a/pkg/serializer/serializer.go b/pkg/serializer/serializer.go
index 3f7770009..c9063c510 100644
--- a/pkg/serializer/serializer.go
+++ b/pkg/serializer/serializer.go
@@ -16,7 +16,7 @@ import (
// does not write package names before types, omits struct fields with default values,
// omits type names where possible, etc. On the other hand, it currently does not
// support all types (e.g. channels and maps).
-func Write(ww io.Writer, i interface{}) {
+func Write(ww io.Writer, i any) {
w := writer{ww}
v := reflect.ValueOf(i)
if v.Kind() == reflect.Slice && (v.IsNil() || v.Len() == 0) {
@@ -27,7 +27,7 @@ func Write(ww io.Writer, i interface{}) {
w.do(v, false)
}
-func WriteString(i interface{}) string {
+func WriteString(i any) string {
var sb strings.Builder
Write(&sb, i)
return sb.String()
@@ -92,7 +92,7 @@ func (w *writer) doInterface(v reflect.Value) {
elem := v.Elem()
// Handling of user types that has underlying primitive types. Consider:
// type T int
- // var obj interface{} = T(42)
+ // var obj any = T(42)
// T has kind reflect.Int. But if we serialize obj as just "42", it will be turned into plain int.
// Detect this case and serialize obj as "T(42)".
if (elem.Kind() == reflect.Bool || elem.Kind() == reflect.String ||
diff --git a/pkg/serializer/serializer_test.go b/pkg/serializer/serializer_test.go
index e4efa6719..94e8fc445 100644
--- a/pkg/serializer/serializer_test.go
+++ b/pkg/serializer/serializer_test.go
@@ -18,7 +18,7 @@ func TestSerializer(t *testing.T) {
B: true,
S: "a\x09b",
T: T1,
- I: []interface{}{
+ I: []any{
nil,
Y{V: 42},
new(Y),
@@ -71,7 +71,7 @@ type X struct {
B bool
S string
T T
- I []interface{}
+ I []any
F func()
}