导入与 class 中方法同名的隐式值时隐式解析失败

Implicit resolution failure on import of implicit value with same name as method in class

今天我突然想到以下隐式值解析问题,如 REPL 片段所示:

scala> case class X(s:String,implicit val a:Int)
defined class X

scala> class C(i:X) {
  def a:Int = 1
  def b:Int = {
    import i.a
    implicitly[Int]
  } 
}
<console>:17: error: could not find implicit value for parameter e: Int
           implicitly[Int]
                                                                     ^

scala> class C(i:X) { 
  def a:Int = 1
  def b:Int = {
    import i.{a=>c}
    implicitly[Int]
  }
}
defined class C

虽然导入的隐式值a隐藏了同名方法,但隐式解析失败应该是没有原因的。 谁能阐明为什么 import i.{a=>c} 重命名是必要的?

我很确定这是一个错误,尽管我无法快速识别现有的错误报告。它在没有重命名的情况下工作。