honnef.co/go/tools@v0.5.0-0.dev.0.20240520180541-dcae280a5e87/unused/testdata/src/example.com/nocopy/nocopy.go (about)

     1  package bar
     2  
     3  type myNoCopy1 struct{}    //@ used("myNoCopy1", true)
     4  type myNoCopy2 struct{}    //@ used("myNoCopy2", true)
     5  type stdlibNoCopy struct{} //@ used("stdlibNoCopy", true)
     6  type locker struct{}       //@ used("locker", false)
     7  type someStruct struct {   //@ used("someStruct", false)
     8  	x int //@ quiet("x")
     9  }
    10  
    11  func (myNoCopy1) Lock()      {} //@ used("Lock", true)
    12  func (recv myNoCopy2) Lock() {} //@ used("Lock", true), used("recv", true)
    13  func (locker) Lock()         {} //@ used("Lock", false)
    14  func (locker) Foobar()       {} //@ used("Foobar", false)
    15  func (someStruct) Lock()     {} //@ used("Lock", false)
    16  
    17  func (stdlibNoCopy) Lock()   {} //@ used("Lock", true)
    18  func (stdlibNoCopy) Unlock() {} //@ used("Unlock", true)
    19  
    20  type T struct { //@ used("T", true)
    21  	noCopy1 myNoCopy1    //@ used("noCopy1", true)
    22  	noCopy2 myNoCopy2    //@ used("noCopy2", true)
    23  	noCopy3 stdlibNoCopy //@ used("noCopy3", true)
    24  	field1  someStruct   //@ used("field1", false)
    25  	field2  locker       //@ used("field2", false)
    26  	field3  int          //@ used("field3", false)
    27  }