Skip to content

Commit 498abec

Browse files
committed
Fix WUnused for accessible symbols that are renamed
1 parent d577300 commit 498abec

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
@@ -603,7 +603,7 @@ object CheckUnused:
603603
case (sel, sym) if dealias(sym) == dealiasedSym => sel
604604
}.headOption else None
605605
def wildcard = sels.find(sel => sel.isWildcard && ((sym.is(Given) == sel.isGiven) || sym.is(Implicit)))
606-
if qualHasSymbol && !isAccessible && sym.exists then
606+
if qualHasSymbol && (!isAccessible || symName.exists(_ != sym.name)) && sym.exists then
607607
selector.orElse(dealiasedSelector).orElse(wildcard) // selector with name or wildcard (or given)
608608
else
609609
None

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

+14
Original file line numberDiff line numberDiff line change
@@ -287,3 +287,17 @@ package foo.test.i17156:
287287
package c:
288288
import b.Xd
289289
trait Z derives Xd
290+
291+
package foo.test.i17117:
292+
package example {
293+
object test1 {
294+
val test = "test"
295+
}
296+
297+
object test2 {
298+
299+
import example.test1 as t1
300+
301+
val test = t1.test
302+
}
303+
}

0 commit comments

Comments
 (0)