toolsgolang.org/x/tools/go/analysis/passes/unusedwrite Index | Files

package unusedwrite

import "golang.org/x/tools/go/analysis/passes/unusedwrite"

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
}

Index

Variables

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,
}

Analyzer reports instances of writes to struct fields and arrays that are never read.

Source Files

doc.go unusedwrite.go

Version
v0.30.0 (latest)
Published
Feb 10, 2025
Platform
linux/amd64
Imports
7 packages
Last checked
3 hours ago

Tools for package owners.