summaryrefslogblamecommitdiff
path: root/test/files/pos/implicit-infix-ops.scala
blob: 66f3718e866ddedc88a10badb8ccd363bcee5aec (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11


                             
 


                                                                         



                                  
 






                                                                         
 


                                                                         
object Test {
  import Ordering.Implicits._
  import Numeric.Implicits._

  def f1[T: Numeric](x: T, y: T, z: T)  = x + y + z
  def f2[T: Ordering](x: T, y: T, z: T) = if (x < y) (z > y) else (x < z)
}

object Int {
  import Ordering.Implicits._
  import math.Integral.Implicits._

  def f1[T: Integral](x: T, y: T, z: T)  = (x + y + z) / z
  def f2[T: Ordering](x: T, y: T, z: T) = if (x < y) (z > y) else (x < z)
}

object Frac {
  import Ordering.Implicits._
  import math.Fractional.Implicits._

  def f1[T: Fractional](x: T, y: T, z: T)  = (x + y + z) / z
  def f2[T: Ordering](x: T, y: T, z: T) = if (x < y) (z > y) else (x < z)
}