Recently, I looked at the example of implicit chain, implicit def foo[C3 <% C](c: C). I think I am confused about the difference between <% and (implicit c : C). 
If I write implicit def bToC[C3 <: C](c: C)(implicit c3 : C3), it gives a compilation error, but why is that, implicit def should be in the scope?
Edit:
Can someone explain why
implicit def aToB[A1 : A](a: A1)(implicit ev: Int => A1): B = new B(a.n, a.n) 
and
implicit def aToB[A1 <: A](a: A1)(implicit ev: Int => A1): B = new B(a.n, a.n) 
are not working ?
Many thanks in advance
 
     
    