File tree Expand file tree Collapse file tree 3 files changed +16
-2
lines changed
compiler/src/dotty/tools/dotc/transform
tests/neg-custom-args/fatal-warnings Expand file tree Collapse file tree 3 files changed +16
-2
lines changed Original file line number Diff line number Diff line change @@ -590,9 +590,12 @@ object CheckUnused:
590590 private def isInImport (imp : tpd.Import , isAccessible : Boolean , symName : Option [Name ])(using Context ): Option [ImportSelector ] =
591591 val tpd .Import (qual, sels) = imp
592592 val dealiasedSym = dealias(sym)
593- val qualHasSymbol = qual.tpe.member(sym.name).alternatives.map(_.symbol).map(dealias).contains(dealiasedSym)
593+ val typeSelections = sels.flatMap(n => qual.tpe.member(n.name.toTypeName).alternatives)
594+ val termSelections = sels.flatMap(n => qual.tpe.member(n.name.toTermName).alternatives)
595+ val allSelections = typeSelections ::: termSelections ::: qual.tpe.member(sym.name).alternatives
596+ val qualHasSymbol = allSelections.map(_.symbol).map(dealias).contains(dealiasedSym)
594597 def selector = sels.find(sel => (sel.name.toTermName == sym.name || sel.name.toTypeName == sym.name) && symName.map(n => n.toTermName == sel.rename).getOrElse(true ))
595- def dealiasedSelector = sels.flatMap(sel => qual.tpe.member(sym.name).alternatives .map(m => (sel, m.symbol))).collect {
598+ def dealiasedSelector = sels.flatMap(sel => allSelections .map(m => (sel, m.symbol))).collect {
596599 case (sel, sym) if dealias(sym) == dealiasedSym => sel
597600 }.headOption
598601 def wildcard = sels.find(sel => sel.isWildcard && ((sym.is(Given ) == sel.isGiven) || sym.is(Implicit )))
Original file line number Diff line number Diff line change @@ -273,3 +273,14 @@ package foo.test.i16679b:
273273 import Foo .x
274274 case class CoolClass (i : Int )
275275 println(summon[myPackage.CaseClassName [CoolClass ]])
276+
277+ package foo .test .i17156:
278+ package a:
279+ trait Foo [A ]
280+
281+ package b:
282+ type Xd = Foo
283+
284+ package c:
285+ import b .Xd
286+ trait Z derives Xd
You can’t perform that action at this time.
0 commit comments