diff --git a/mtags/src/main/scala-3/scala/meta/internal/pc/MetalsInteractive.scala b/mtags/src/main/scala-3/scala/meta/internal/pc/MetalsInteractive.scala index 71619a6fd3d..20a1e56e688 100644 --- a/mtags/src/main/scala-3/scala/meta/internal/pc/MetalsInteractive.scala +++ b/mtags/src/main/scala-3/scala/meta/internal/pc/MetalsInteractive.scala @@ -259,6 +259,9 @@ object MetalsInteractive: indexed.ctx.source, ) then List((head.symbol, head.typeOpt)) + // https://github.com/lampepfl/dotty/issues/15937 + else if head.isInstanceOf[TypeTree] then + enclosingSymbolsWithExpressionType(path.tail, pos, indexed) else Nil else val recovered = recoverError(head, indexed) diff --git a/tests/cross/src/test/scala/tests/pc/CompletionKeywordSuite.scala b/tests/cross/src/test/scala/tests/pc/CompletionKeywordSuite.scala index 4a8e7d106d3..a6f3354a278 100644 --- a/tests/cross/src/test/scala/tests/pc/CompletionKeywordSuite.scala +++ b/tests/cross/src/test/scala/tests/pc/CompletionKeywordSuite.scala @@ -290,6 +290,8 @@ class CompletionKeywordSuite extends BaseCompletionSuite { |""".stripMargin, """|return |""".stripMargin, + // methods add in 3.2.1 + filter = item => !item.contains("retains"), ) check( @@ -302,6 +304,8 @@ class CompletionKeywordSuite extends BaseCompletionSuite { |} |""".stripMargin, "", + // methods add in 3.2.1 + filter = item => !item.contains("retains"), ) check( @@ -319,6 +323,8 @@ class CompletionKeywordSuite extends BaseCompletionSuite { compat = Map( "3" -> "" ), + // methods add in 3.2.1 + filter = item => !item.contains("retains"), ) check( @@ -329,6 +335,8 @@ class CompletionKeywordSuite extends BaseCompletionSuite { |ret@@ |""".stripMargin, "", + // methods add in 3.2.1 + filter = item => !item.contains("retains"), ) check(