diff options
| author | Brad Fitzpatrick <bradfitz@tailscale.com> | 2026-03-05 21:13:57 +0000 |
|---|---|---|
| committer | Brad Fitzpatrick <brad@danga.com> | 2026-03-06 13:32:03 -0800 |
| commit | bd2a2d53d3a4d632c9fae7c1b6426c3b5ef34010 (patch) | |
| tree | f41bf3a863ef2c4061d284d552e28c2c0cb0aa25 /control/controlknobs/controlknobs.go | |
| parent | 4453cc5f531f1570904e7e0633647fe5418a67d4 (diff) | |
| download | tailscale-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.go | 12 |
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 |
