File tree 3 files changed +34
-1
lines changed
compiler/src/dotty/tools/dotc/core
3 files changed +34
-1
lines changed Original file line number Diff line number Diff line change @@ -3110,7 +3110,7 @@ object TypeComparer {
3110
3110
3111
3111
def explaining [T ](op : ExplainingTypeComparer => T , short : Boolean = false )(using Context ): T =
3112
3112
comparing(_.explaining(op, short))
3113
-
3113
+
3114
3114
def tracked [T ](op : TrackingTypeComparer => T )(using Context ): T =
3115
3115
comparing(_.tracked(op))
3116
3116
}
Original file line number Diff line number Diff line change
1
+ trait Figure
2
+ sealed trait Corners { self : Figure => }
3
+
4
+ enum Shape extends Figure :
5
+ case Triangle extends Shape with Corners
6
+ case Square extends Shape with Corners
7
+ case Circle extends Shape
8
+ case Ellipsis extends Shape
9
+
10
+ def hasCorners (s : Shape ): Boolean = s match
11
+ case hasCorners : Corners => true // <--- reported as `Unreachable case`
12
+ case _ => false
13
+
14
+ class Test :
15
+ def test (): Unit =
16
+ println(hasCorners(Shape .Circle ))
Original file line number Diff line number Diff line change
1
+ trait Figure
2
+ sealed trait Corners { self : Figure => }
3
+
4
+ sealed abstract class Shape extends Figure
5
+ object Shape :
6
+ case object Triange extends Shape with Corners
7
+ case object Square extends Shape with Corners
8
+ case object Circle extends Shape
9
+ case object Ellipsis extends Shape
10
+
11
+ def hasCorners (s : Shape ): Boolean = s match
12
+ case hasCorners : Corners => true // <--- reported as `Unreachable case`
13
+ case _ => false
14
+
15
+ class Test :
16
+ def test (): Unit =
17
+ println(hasCorners(Shape .Circle ))
You can’t perform that action at this time.
0 commit comments