summaryrefslogtreecommitdiff
path: root/tests/examplefiles/scala/extensions.scala
blob: 25420906bb4758d06ef9a5b9f2e454b470a9c8be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
extension (x: String)
   def < (y: String): Boolean = ...
extension (x: Elem)
   def +: (xs: Seq[Elem]): Seq[Elem] = ...
extension (x: Number)
   infix def min (y: Number): Number = ...
extension (ss: Seq[String])
   def longestStrings: Seq[String] =
      val maxLength = ss.map(_.length).max
      ss.filter(_.length == maxLength)
   def longestString: String = longestStrings.head
extension (ss: Seq[String]) {
   def longestStrings: Seq[String] = {
      val maxLength = ss.map(_.length).max
      ss.filter(_.length == maxLength)
   }
  def longestString: String = longestStrings.head
}
extension (i: Int) def isZero: Boolean = i == 0
extension (i: Int) def divide(d: Int): Option[(Int, Int)] = ???
extension (x: Rational)
  infix def min(that Rational): Rational = ...
given [T: Ordering]: Ordering[List[T]] with
  extension (xs: List[T])
      def < (ys: List[T]): Boolean = ...