summaryrefslogtreecommitdiffhomepage
path: root/control/controlknobs/controlknobs.go
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@tailscale.com>2026-03-05 21:13:57 +0000
committerBrad Fitzpatrick <brad@danga.com>2026-03-06 13:32:03 -0800
commitbd2a2d53d3a4d632c9fae7c1b6426c3b5ef34010 (patch)
treef41bf3a863ef2c4061d284d552e28c2c0cb0aa25 /control/controlknobs/controlknobs.go
parent4453cc5f531f1570904e7e0633647fe5418a67d4 (diff)
downloadtailscale-bd2a2d53d3a4d632c9fae7c1b6426c3b5ef34010.tar.xz
tailscale-bd2a2d53d3a4d632c9fae7c1b6426c3b5ef34010.zip
all: use Go 1.26 things, run most gofix modernizers
I omitted a lot of the min/max modernizers because they didn't result in more clear code. Some of it's older "for x := range 123". Also: errors.AsType, any, fmt.Appendf, etc. Updates #18682 Change-Id: I83a451577f33877f962766a5b65ce86f7696471c Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
Diffstat (limited to 'control/controlknobs/controlknobs.go')
-rw-r--r--control/controlknobs/controlknobs.go12
1 files changed, 5 insertions, 7 deletions
diff --git a/control/controlknobs/controlknobs.go b/control/controlknobs/controlknobs.go
index 1861a122e..14f30d9ce 100644
--- a/control/controlknobs/controlknobs.go
+++ b/control/controlknobs/controlknobs.go
@@ -205,17 +205,15 @@ func (k *Knobs) AsDebugJSON() map[string]any {
return nil
}
ret := map[string]any{}
- rt := reflect.TypeFor[Knobs]()
rv := reflect.ValueOf(k).Elem() // of *k
- for i := 0; i < rt.NumField(); i++ {
- name := rt.Field(i).Name
- switch v := rv.Field(i).Addr().Interface().(type) {
+ for sf, fv := range rv.Fields() {
+ switch v := fv.Addr().Interface().(type) {
case *atomic.Bool:
- ret[name] = v.Load()
+ ret[sf.Name] = v.Load()
case *syncs.AtomicValue[opt.Bool]:
- ret[name] = v.Load()
+ ret[sf.Name] = v.Load()
default:
- panic(fmt.Sprintf("unknown field type %T for %v", v, name))
+ panic(fmt.Sprintf("unknown field type %T for %v", v, sf.Name))
}
}
return ret