Skip to content

Commit 2071642

Browse files
committed
Fix WUnused for accessible symbols that are renamed
1 parent d640193 commit 2071642

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

compiler/src/dotty/tools/dotc/transform/CheckUnused.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -568,7 +568,7 @@ object CheckUnused:
568568
val qualHasSymbol = qual.tpe.member(sym.name).alternatives.map(_.symbol).contains(sym)
569569
def selector = sels.find(sel => (sel.name.toTermName == sym.name || sel.name.toTypeName == sym.name) && symName.map(n => n.toTermName == sel.rename).getOrElse(true))
570570
def wildcard = sels.find(sel => sel.isWildcard && ((sym.is(Given) == sel.isGiven) || sym.is(Implicit)))
571-
if qualHasSymbol && !isAccessible && sym.exists then
571+
if qualHasSymbol && (!isAccessible || symName.exists(_ != sym.name)) && sym.exists then
572572
selector.orElse(wildcard) // selector with name or wildcard (or given)
573573
else
574574
None

tests/neg-custom-args/fatal-warnings/i15503i.scala

+14
Original file line numberDiff line numberDiff line change
@@ -245,3 +245,17 @@ package foo.test.i16679b:
245245
import Foo.x
246246
case class CoolClass(i: Int)
247247
println(summon[myPackage.CaseClassName[CoolClass]])
248+
249+
package foo.test.i17117:
250+
package example {
251+
object test1 {
252+
val test = "test"
253+
}
254+
255+
object test2 {
256+
257+
import example.test1 as t1
258+
259+
val test = t1.test
260+
}
261+
}

0 commit comments

Comments
 (0)