File tree 1 file changed +10
-3
lines changed
compiler/src/dotty/tools/dotc/typer
1 file changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -270,9 +270,16 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit
270
270
if (isSelfDenot(defDenot)) curOwner.enclosingClass.thisType
271
271
else {
272
272
val effectiveOwner =
273
- if (curOwner.isTerm && defDenot.symbol.maybeOwner.isType) defDenot.symbol.owner
274
- else curOwner
275
- // println(i"typed ID $name in $curOwner, ${defDenot.symbol.owner}")
273
+ if (curOwner.isTerm && defDenot.symbol.isType)
274
+ // Don't mix NoPrefix and thisType prefixes, since type comparer
275
+ // would not detect types to be compatible. Note: If we replace the
276
+ // 2nd condition by `defDenot.symbol.maybeOwner.isType` we get lots
277
+ // of failures in the `tastyBootstrap` test. Trying to compile these
278
+ // files in isolation works though.
279
+ // TODO: Investigate why that happens.
280
+ defDenot.symbol.owner
281
+ else
282
+ curOwner
276
283
effectiveOwner.thisType.select(name, defDenot)
277
284
}
278
285
if (! (curOwner is Package ) || isDefinedInCurrentUnit(defDenot))
You can’t perform that action at this time.
0 commit comments