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 }