【发布时间】:2015-01-08 17:35:41
【问题描述】:
我想要一些如下所示的隐含证据:
def foo[A, B](implicit ev: ???[A, B]) = ev
foo[Int, Int] //○ (compiles)
foo[Any, Int] //× (fails)
foo[Seq[Int], Seq[Int]] //○
foo[Seq[Any], Seq[Int]] //○
foo[Seq[Int], List[Int]] //×
所以两个类型必须属于同一个类,但是它们的类型参数无关紧要(就像ClassTag。)你如何实现这样的功能?你用宏吗?
谢谢!
【问题讨论】:
标签: scala macros types implicit