Skip to content

Commit 596c11f

Browse files
dwijnandtgodzik
authored andcommitted
Avoid early widening enum val symbols in provablyDisjointClasses
1 parent 0adb487 commit 596c11f

File tree

3 files changed

+24
-2
lines changed

3 files changed

+24
-2
lines changed

tests/pos/i22266.unenum.scala

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
sealed trait NonPolygon
2+
sealed trait Polygon
3+
4+
sealed trait SymmetryAspect
5+
sealed trait RotationalSymmetry extends SymmetryAspect
6+
sealed trait MaybeRotationalSymmetry extends SymmetryAspect
7+
8+
sealed abstract class Shape
9+
10+
object Shape:
11+
case object Circle extends Shape with NonPolygon with RotationalSymmetry
12+
case object Triangle extends Shape with Polygon with MaybeRotationalSymmetry
13+
case object Square extends Shape with Polygon with RotationalSymmetry
14+
15+
def hasPolygon(
16+
rotationalSyms: Vector[Shape & RotationalSymmetry],
17+
maybeSyms: Vector[Shape & MaybeRotationalSymmetry]
18+
): Boolean =
19+
val all = rotationalSyms.concat(maybeSyms)
20+
all.exists:
21+
case _: Polygon => true
22+
case _ => false

tests/warn/ext-override.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ trait Foo[T]:
77
class Bla:
88
def hi: String = "hi"
99
object Bla:
10-
given Foo[Bla]:
10+
given Foo[Bla] with
1111
extension (x: Bla)
1212
def hi: String = x.hi

tests/warn/i21860.unenum.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ sealed trait Corners { self: Figure => }
33

44
sealed abstract class Shape extends Figure
55
object Shape:
6-
case object Triange extends Shape with Corners
6+
case object Triangle extends Shape with Corners
77
case object Square extends Shape with Corners
88
case object Circle extends Shape
99
case object Ellipsis extends Shape

0 commit comments

Comments
 (0)