File tree Expand file tree Collapse file tree 3 files changed +33
-1
lines changed
compiler/src/dotty/tools/dotc/ast Expand file tree Collapse file tree 3 files changed +33
-1
lines changed Original file line number Diff line number Diff line change @@ -869,7 +869,7 @@ trait TypedTreeInfo extends TreeInfo[Type] { self: Trees.Instance[Type] =>
869869 case RefinedType (parent, rname, rinfo) =>
870870 rname == tree.name || hasRefinement(parent)
871871 case tp : TypeProxy =>
872- hasRefinement(tp.underlying )
872+ hasRefinement(tp.superType )
873873 case tp : AndType =>
874874 hasRefinement(tp.tp1) || hasRefinement(tp.tp2)
875875 case tp : OrType =>
Original file line number Diff line number Diff line change 1+ object Minimized :
2+ type Pointer [S <: Int ] <: S
3+
4+ type Break = Int {
5+ def boom : Unit
6+ }
7+
8+ def test = {
9+ val ptrBreak : Pointer [Break ] = ???
10+ ptrBreak.boom // error Required: Selectable, was boom crashes the compiler
11+ }
Original file line number Diff line number Diff line change 1+ object SelectableBreaks1 {
2+ object opaques {
3+ opaque type Pointer [S ] <: S = S
4+ object Pointer {
5+ implicit class PointerSelectable [S ](private val f : Pointer [S ]) extends Selectable {
6+ def selectDynamic (name : String ): Any = ???
7+ def applyDynamic (name : String )(): Any = ???
8+ }
9+ }
10+ }
11+ import opaques .*
12+
13+ type Break = AnyRef {
14+ def boom (): Nothing
15+ }
16+
17+ def makeBreak (): Pointer [Break ] = ???
18+
19+ makeBreak().boom()
20+ }
21+
You can’t perform that action at this time.
0 commit comments