aboutsummaryrefslogblamecommitdiff
path: root/tests/pending/pos/t5845.scala
blob: b747a025e7d597119015370cb19317592dbf7596 (plain) (tree)
1
2
3
4
5
6
7
8
9





                                    


                                                                                             



                                                                                                
                                             

                  
class Num[T] {
  def mkOps = new Ops
  class Ops { def +++(rhs: T) = () }
}

class A {
  implicit def infixOps[T, CC[X] <: Num[X]](lhs: T)(implicit num: CC[T]): num.Ops = num.mkOps
  implicit val n1: Num[Int] = new Num[Int] { }
  println(5 +++ 5) // should dependent be implicits forbidden?
}

class B {
  implicit def infixOps[T, CC[X] <: Num[X]](lhs: T)(implicit num: CC[T]) : CC[T]#Ops = num.mkOps
  implicit val n1: Num[Int] = new Num[Int] {}
  println(5 +++ 5)
}