blob: b747a025e7d597119015370cb19317592dbf7596 (
plain) (
tree)
|
|
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)
}
|