gotools/gopls/internal/test/marker/testdata/rename/issue61640.txt

This test verifies that gopls can rename instantiated fields.

-- a.go --
package a

// This file is adapted from the example in the issue.

type builder[S ~[]int] struct {
	elements S //@rename("elements", "elements2", OneToTwo)
}

type BuilderImpl[S ~[]int] struct{ builder[S] }

func NewBuilderImpl[S ~[]int](name string)  *BuilderImpl[S] {
  impl := &BuilderImpl[S]{
	builder[S]{
	  elements: S{},
	},
  }

  _ = impl.elements
  return impl
}
-- @OneToTwo/a.go --
@@ -6 +6 @@
-	elements S //@rename("elements", "elements2", OneToTwo)
+	elements2 S //@rename("elements", "elements2", OneToTwo)
@@ -14 +14 @@
-	  elements: S{},
+	  elements2: S{},
@@ -18 +18 @@
-  _ = impl.elements
+  _ = impl.elements2