File tree Expand file tree Collapse file tree 3 files changed +24
-2
lines changed Expand file tree Collapse file tree 3 files changed +24
-2
lines changed Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change @@ -7,6 +7,6 @@ trait Foo[T]:
7
7
class Bla :
8
8
def hi : String = " hi"
9
9
object Bla :
10
- given Foo [Bla ]:
10
+ given Foo [Bla ] with
11
11
extension (x : Bla )
12
12
def hi : String = x.hi
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ sealed trait Corners { self: Figure => }
3
3
4
4
sealed abstract class Shape extends Figure
5
5
object Shape :
6
- case object Triange extends Shape with Corners
6
+ case object Triangle extends Shape with Corners
7
7
case object Square extends Shape with Corners
8
8
case object Circle extends Shape
9
9
case object Ellipsis extends Shape
You can’t perform that action at this time.
0 commit comments