golang.org/x/tools/gopls@v0.15.3/internal/test/marker/testdata/references/issue61618.txt (about) 1 Regression test for 'references' bug golang/go#61618: 2 references to instantiated fields were missing. 3 4 -- go.mod -- 5 module example.com 6 go 1.18 7 8 -- a.go -- 9 package a 10 11 // This file is adapted from the example in the issue. 12 13 type builder[S ~[]F, F ~string] struct { 14 name string 15 elements S //@loc(def, "elements"), refs(def, def, assign, use) 16 elemData map[F][]ElemData[F] 17 } 18 19 type ElemData[F ~string] struct { 20 Name F 21 } 22 23 type BuilderImpl[S ~[]F, F ~string] struct{ builder[S, F] } 24 25 func NewBuilderImpl[S ~[]F, F ~string](name string) *BuilderImpl[S, F] { 26 impl := &BuilderImpl[S,F]{ 27 builder[S, F]{ 28 name: name, 29 elements: S{}, //@loc(assign, "elements"), refs(assign, def, assign, use) 30 elemData: map[F][]ElemData[F]{}, 31 }, 32 } 33 34 _ = impl.elements //@loc(use, "elements"), refs(use, def, assign, use) 35 return impl 36 }