diff --git a/mtags/src/main/scala-2/scala/meta/internal/pc/completions/ArgCompletions.scala b/mtags/src/main/scala-2/scala/meta/internal/pc/completions/ArgCompletions.scala index 65962379327..817a72df999 100644 --- a/mtags/src/main/scala-2/scala/meta/internal/pc/completions/ArgCompletions.scala +++ b/mtags/src/main/scala-2/scala/meta/internal/pc/completions/ArgCompletions.scala @@ -126,7 +126,8 @@ trait ArgCompletions { this: MetalsGlobal => completions match { case members: CompletionResult.ScopeMembers if paramType != definitions.AnyTpe => - members.results + members + .matchingResults(_ => _ => true) .collect { case mem if mem.sym.tpe <:< paramType && notNothingOrNull( diff --git a/tests/cross/src/test/scala/tests/pc/CompletionArgSuite.scala b/tests/cross/src/test/scala/tests/pc/CompletionArgSuite.scala index 77a29261635..d3a3c3b2ddb 100644 --- a/tests/cross/src/test/scala/tests/pc/CompletionArgSuite.scala +++ b/tests/cross/src/test/scala/tests/pc/CompletionArgSuite.scala @@ -1290,4 +1290,28 @@ class CompletionArgSuite extends BaseCompletionSuite { topLines = Some(1) ) + check( + "inaccessible-defaults", + """|/a/src/main/scala/A/package.scala + |package object A { + | private[A] val somePackagePrivStr = "foo" + | private val somePrivStr = "foo" + | val somePubStr = "bar" + |} + |/a/src/main/scala/B/Testing.scala + |package B + | + |import A._ + |object Testing { + | def foo(arg: String): Unit = () + | foo(@@) + |} + |""".stripMargin, + """|arg = : String + |arg = somePubStr : String + |somePubStr: String + |""".stripMargin, + topLines = Some(3) + ) + }