В Go 1.26 переписали старушку go fix (команда появилась ещё в 2011 — 16 мая 2026 г. в 11:28:56.938
В Go 1.26 переписали старушку go fix (команда появилась ещё в 2011 ). Товарищи из гугла переживают , что LLM’ки обучились на куче устаревшего кода и генерируют вам дичь, поэтому без тулы, модернизирующей код до последних фичей языка, не обойтись. Пример устаревшего копирования мапы: ```go func AppendTo(err error, fields Fields) error { if nil == err { return nil } if len(fields) == 0 { return err } withCtx := &withCtxError{ err: err, ctx: make(Fields, len(fields)), } for k, v := range fields { withCtx.ctx[k] = v } return withCtx } ``` ```bash $ go fix -diff ./tasks/05-errors-best-practices/error-context @@ -14,9 +16,7 @@ err: err, ctx: make(Fields, len(fields)), } - for k, v := range fields { - withCtx.ctx[k] = v - } + maps.Copy(withCtx.ctx, fields) return withCtx } ``` Чтобы это работало, нужно, чтобы в go.mod стояла актуальная версия языка или был прописан соответствующий //go:build тег. We recommend running go fix over your project each time you update your build to a newer Go toolchain release. Ещё больше деталей: https://go.dev/blog/gofix P.S. Кто-нибудь знает, почему выше go fix не предложил maps.Clone? 🤔

