golang.org/x/tools@v0.21.0/go/analysis/passes/unusedwrite/doc.go (about)

     1  // Copyright 2023 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Package unusedwrite checks for unused writes to the elements of a struct or array object.
     6  //
     7  // # Analyzer unusedwrite
     8  //
     9  // unusedwrite: checks for unused writes
    10  //
    11  // The analyzer reports instances of writes to struct fields and
    12  // arrays that are never read. Specifically, when a struct object
    13  // or an array is copied, its elements are copied implicitly by
    14  // the compiler, and any element write to this copy does nothing
    15  // with the original object.
    16  //
    17  // For example:
    18  //
    19  //	type T struct { x int }
    20  //
    21  //	func f(input []T) {
    22  //		for i, v := range input {  // v is a copy
    23  //			v.x = i  // unused write to field x
    24  //		}
    25  //	}
    26  //
    27  // Another example is about non-pointer receiver:
    28  //
    29  //	type T struct { x int }
    30  //
    31  //	func (t T) f() {  // t is a copy
    32  //		t.x = i  // unused write to field x
    33  //	}
    34  package unusedwrite