当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Scala annotation.implicitAmbiguous用法及代码示例


用法:

@getter
final class implicitAmbiguous(msg: String) extends ConstantAnnotation

要自定义在隐式搜索找到多个不明确值时发出的错误消息,请注释至少一个隐式值 @implicitAmbiguous.假设隐式值是带有类型参数 X1,..., XN 的方法,错误消息将是用相应类型参数 Ti 的字符串表示形式替换字符串 msg 中所有出现的 ${Xi} 的结果。

如果收集了多个 @implicitAmbiguous 注释,编译器可以自由选择其中的任何一个来显示。

好的错误可以指导用户修复导入,甚至告诉他们为什么代码故意不编译。

trait =!=[C, D]

implicit def neq[E, F] : E =!= F = null

@annotation.implicitAmbiguous("Could not prove ${J} =!= ${J}")
implicit def neqAmbig1[G, H, J] : J =!= J = null
implicit def neqAmbig2[I] : I =!= I = null

implicitly[Int =!= Int]

源码:

implicitAmbiguous.scala

相关用法


注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 annotation.implicitAmbiguous。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。