honnef.co/go/tools@v0.5.0-0.dev.0.20240520180541-dcae280a5e87/unused/testdata/src/example.com/alias/alias.go (about) 1 package main 2 3 import "net/http" 4 5 type t1 struct{} //@ used("t1", true) 6 type t2 struct{} //@ used("t2", false) 7 type t3 struct{} //@ used("t3", true) 8 9 type alias1 = t1 //@ used("alias1", true) 10 type alias2 = t2 //@ used("alias2", false) 11 type alias3 = t3 //@ used("alias3", false) 12 type alias4 = int //@ used("alias4", false) 13 14 func main() { //@ used("main", true) 15 var _ alias1 //@ used("_", true) 16 var _ t3 //@ used("_", true) 17 } 18 19 type t4 struct { //@ used("t4", true) 20 x int //@ used("x", true) 21 } 22 23 func (t4) foo() {} //@ used("foo", true) 24 25 //lint:ignore U1000 alias5 is ignored, which also ignores t4 26 type alias5 = t4 //@ used("alias5", true) 27 28 //lint:ignore U1000 alias6 is ignored, and we don't incorrectly try to include http.Server's fields and methods in the graph 29 type alias6 = http.Server //@ used("alias6", true) 30 31 //lint:ignore U1000 aliases don't have to be to named types 32 type alias7 = struct { //@ used("alias7", true) 33 x int //@ used("x", true) 34 }