File tree Expand file tree Collapse file tree 2 files changed +19
-1
lines changed
compiler/src/dotty/tools/dotc/typer Expand file tree Collapse file tree 2 files changed +19
-1
lines changed Original file line number Diff line number Diff line change @@ -868,7 +868,7 @@ class Typer(@constructorOnly nestingLevel: Int = 0) extends Namer
868868 && pt != LhsProto
869869 then
870870 val pre = if ! TypeOps .isLegalPrefix(qual.tpe) then SkolemType (qual.tpe) else qual.tpe
871- val fieldsType = pre.select(tpnme.Fields ).dealias .simplified
871+ val fieldsType = pre.select(tpnme.Fields ).widenDealias .simplified
872872 val fields = fieldsType.namedTupleElementTypes
873873 typr.println(i " try dyn select $qual, $selName, $fields" )
874874 fields.find(_._1 == selName) match
Original file line number Diff line number Diff line change 1+ import scala .language .experimental .namedTuples
2+
3+ class SelectableNT [A <: NamedTuple .AnyNamedTuple ](val nt : A ) extends Selectable :
4+ type Fields = A
5+ def selectDynamic (x : String ) = ???
6+
7+ object Test :
8+
9+ val a = (name = " foo" , age = 1 )
10+
11+ val sa = SelectableNT (a)
12+ sa.name // ok
13+
14+ type B = a.type
15+ val b : B = a
16+
17+ val sb = SelectableNT (b)
18+ sb.name // fails
You can’t perform that action at this time.
0 commit comments