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

     1  package pkg
     2  
     3  func Fn1() { //@ used("Fn1", true)
     4  	type Foo[T any] struct { //@ used("Foo", true), used("T", true)
     5  		Id   int `json:"id"`   //@ used("Id", true)
     6  		Data T   `json:"data"` //@ used("Data", true)
     7  	}
     8  	type Bar struct { //@ used("Bar", true)
     9  		X int `json:"x"` //@ used("X", true)
    10  		Y int `json:"y"` //@ used("Y", true)
    11  	}
    12  	v := Foo[[]Bar]{} //@ used("v", true)
    13  	_ = v
    14  }
    15  
    16  func Fn2() { //@ used("Fn2", true)
    17  	type Foo[T any] struct{} //@ used("Foo", true), used("T", true)
    18  	type Bar struct{}        //@ used("Bar", true)
    19  	v := Foo[[]Bar]{}        //@ used("v", true)
    20  	_ = v                    // just use it, but could be some json.Unmarshal, for instance
    21  }