下面的Scala示例显示了这样一种情况:作用域中的两个隐式方法a和b都可以提供必需的隐式参数(类型为TC[C])。但是当运行时,没有歧义结果,并且输出"B“。object Example extends App{ trait B extends A}
请注意,隐式方法a和b之间唯一的区别是类型界限,并且它们都可以
我试图将隐式参数与案例类结合起来,但是我被困住了。case class C(i: Int)(implicit b: Boolean)implicit val b = truec1, but wanted: if (b) i else 0 根据Scala语言规范,这是由于编译器为case类生成的提取器对象:我的隐式Boole