aboutsummaryrefslogtreecommitdiff
path: root/gopls/internal/lsp/testdata/interfacerank/interface_rank.go
diff options
context:
space:
mode:
Diffstat (limited to 'gopls/internal/lsp/testdata/interfacerank/interface_rank.go')
-rw-r--r--gopls/internal/lsp/testdata/interfacerank/interface_rank.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/gopls/internal/lsp/testdata/interfacerank/interface_rank.go b/gopls/internal/lsp/testdata/interfacerank/interface_rank.go
new file mode 100644
index 000000000..acb5a42e0
--- /dev/null
+++ b/gopls/internal/lsp/testdata/interfacerank/interface_rank.go
@@ -0,0 +1,23 @@
+package interfacerank
+
+type foo interface {
+ foo()
+}
+
+type fooImpl int
+
+func (*fooImpl) foo() {}
+
+func wantsFoo(foo) {}
+
+func _() {
+ var (
+ aa string //@item(irAA, "aa", "string", "var")
+ ab *fooImpl //@item(irAB, "ab", "*fooImpl", "var")
+ )
+
+ wantsFoo(a) //@complete(")", irAB, irAA)
+
+ var ac fooImpl //@item(irAC, "ac", "fooImpl", "var")
+ wantsFoo(&a) //@complete(")", irAC, irAA, irAB)
+}