...
Package unusedwrite
import "golang.org/x/tools/go/analysis/passes/unusedwrite"
- Overview
- Index
Package unusedwrite checks for unused writes to the elements of a struct or array object.
Analyzer unusedwrite
unusedwrite: checks for unused writes
The analyzer reports instances of writes to struct fields and
arrays that are never read. Specifically, when a struct object
or an array is copied, its elements are copied implicitly by
the compiler, and any element write to this copy does nothing
with the original object.
For example:
type T struct { x int }
func f(input []T) {
for i, v := range input { // v is a copy
v.x = i // unused write to field x
}
}
Another example is about non-pointer receiver:
type T struct { x int }
func (t T) f() { // t is a copy
t.x = i // unused write to field x
}
Variables
Analyzer reports instances of writes to struct fields and arrays
that are never read.
var Analyzer = &analysis.Analyzer{
Name: "unusedwrite",
Doc: analysisutil.MustExtractDoc(doc, "unusedwrite"),
URL: "https://pkg.go.dev/golang.org/x/tools/go/analysis/passes/unusedwrite",
Requires: []*analysis.Analyzer{buildssa.Analyzer},
Run: run,
}