blob: 823c722c145d268825fecbdbf224a6fe8c641879 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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.mkOps
implicit val n1 = new Num[Int] { }
println(5 +++ 5)
}
class B {
implicit def infixOps[T, CC[X] <: Num[X]](lhs: T)(implicit num: CC[T]) : CC[T]#Ops = num.mkOps
implicit val n1 = new Num[Int] {}
println(5 +++ 5)
}
|