Skip to content

Commit 2b99c20

Browse files
committed
Widen skolem types when adding parent refinements
1 parent f7e5df5 commit 2b99c20

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

compiler/src/dotty/tools/dotc/core/NamerOps.scala

+3-2
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,10 @@ object NamerOps:
4444
try tp1.separateRefinements(cls, refinements)
4545
finally
4646
if refinements != null then
47+
val rinfo1 = rinfo.widenSkolem
4748
refinements(rname) = refinements.get(rname) match
48-
case Some(tp) => tp & rinfo
49-
case None => rinfo
49+
case Some(tp) => tp & rinfo1
50+
case None => rinfo1
5051
case tp @ AnnotatedType(tp1, ann) =>
5152
tp.derivedAnnotatedType(tp1.separateRefinements(cls, refinements), ann)
5253
case tp: RecType =>

tests/pos/i22456.scala

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import language.experimental.modularity
2+
3+
class T(tracked val y: Int)
4+
class C(tracked val x: Int) extends T(x + 1)

0 commit comments

Comments
 (0)