File tree 2 files changed +13
-3
lines changed
compiler/src/dotty/tools/dotc/core
2 files changed +13
-3
lines changed Original file line number Diff line number Diff line change @@ -118,10 +118,9 @@ object Types {
118
118
if t.mightBeProvisional then
119
119
t.mightBeProvisional = t match
120
120
case t : TypeRef =>
121
- ! t.currentSymbol.isStatic && {
121
+ t.currentSymbol.isProvisional || ! t.currentSymbol.isStatic && {
122
122
(t : Type ).mightBeProvisional = false // break cycles
123
- t.symbol.isProvisional
124
- || test(t.prefix, theAcc)
123
+ test(t.prefix, theAcc)
125
124
|| t.denot.infoOrCompleter.match
126
125
case info : LazyType => true
127
126
case info : AliasingBounds => test(info.alias, theAcc)
Original file line number Diff line number Diff line change
1
+ object Foo :
2
+ def bar (x : Bar .YOf [Any ]): Unit = ???
3
+
4
+ trait K :
5
+ type CType <: Bar .YOf [Any ]
6
+ def foo : K =
7
+ val x : CType = ???
8
+ x // was: error: Found: CType, Expected: K
9
+
10
+ object Bar :
11
+ type YOf [T ] = K { type M }
You can’t perform that action at this time.
0 commit comments