File tree Expand file tree Collapse file tree 5 files changed +10
-9
lines changed Expand file tree Collapse file tree 5 files changed +10
-9
lines changed Original file line number Diff line number Diff line change @@ -1500,10 +1500,7 @@ object SymDenotations {
1500
1500
val decls1 = newScope
1501
1501
for (tparam <- tparams) decls1.enter(decls.lookup(tparam.name))
1502
1502
for (sym <- decls) if (! typeParams.contains(sym)) decls1.enter(sym)
1503
- val ci = classInfo
1504
- // dotty deviation; overloading resolution on next line fails if prefix `ci` is not a value.
1505
- // See test pending/pos/overloaddefault.scala
1506
- info = ci.derivedClassInfo(decls = decls1)
1503
+ info = classInfo.derivedClassInfo(decls = decls1)
1507
1504
myTypeParams = null
1508
1505
}
1509
1506
Original file line number Diff line number Diff line change @@ -246,7 +246,7 @@ class Constructors extends MiniPhaseTransform with SymTransformer { thisTransfor
246
246
247
247
// Drop accessors that are not retained from class scope
248
248
if (dropped.nonEmpty) {
249
- val clsInfo = cls.classInfo // TODO investigate: expand clsInfo to cls.info => dotty type error
249
+ val clsInfo = cls.classInfo
250
250
cls.copy(
251
251
info = clsInfo.derivedClassInfo(
252
252
decls = clsInfo.decls.filteredScope(! dropped.contains(_))))
Original file line number Diff line number Diff line change @@ -48,9 +48,8 @@ class RestoreScopes extends MiniPhaseTransform with IdentityDenotTransformer { t
48
48
}
49
49
50
50
pkg.enter(cls)
51
- val cinfo = cls.classInfo
52
51
tree.symbol.copySymDenotation(
53
- info = cinfo. derivedClassInfo( // Dotty deviation: Cannot expand cinfo inline without a type error
52
+ info = cls.classInfo. derivedClassInfo(
54
53
decls = restoredDecls : Scope )).installAfter(thisTransform)
55
54
tree
56
55
}
Original file line number Diff line number Diff line change @@ -262,8 +262,13 @@ trait Applications extends Compatibility { self: Typer =>
262
262
val receiver : Tree = methPart(normalizedFun) match {
263
263
case Select (receiver, _) => receiver
264
264
case mr => mr.tpe.normalizedPrefix match {
265
- case mr : TermRef => ref(mr)
266
- case _ => EmptyTree
265
+ case mr : TermRef =>
266
+ ref(mr)
267
+ case mr : TypeRef if this .isInstanceOf [TestApplication [_]] =>
268
+ // In this case it is safe to skolemize now; we will produce a stable prefix for the actual call.
269
+ ref(mr.narrow)
270
+ case _ =>
271
+ EmptyTree
267
272
}
268
273
}
269
274
val getterPrefix =
File renamed without changes.
You can’t perform that action at this time.
0 commit comments