Doc is a documentation string.
const Doc = `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
}
`
Analyzer reports instances of writes to struct fields and arrays that are never read.
var Analyzer = &analysis.Analyzer{ Name: "unusedwrite", Doc: Doc, Requires: []*analysis.Analyzer{buildssa.Analyzer}, Run: run, }