【发布时间】:2019-11-16 17:55:20
【问题描述】:
我想为接受 1 个类型参数的类生成函数
case class C[T] (t: T)
取决于T 类型参数。
我想生成的函数是由T 上可用的函数派生的。
我真正想要的是让T 的所有功能都可用,C 也可用。
作为C[Int] 的示例,我希望能够在C 上调用Int 上可用的任何函数,并将函数调用分派到C 中包含的Int。
val c1 = new C(1)
assert(c1 + 1 == 2)
如何通过使用 Scala 2 或 dotty 宏来实现这一点? 或者,这可以通过其他方式实现吗?
【问题讨论】:
-
@MarioGalic 在那个问题中,一个类是单态的,这里是多态的,这会有所不同。
export现在好像不行了。
标签: scala macros metaprogramming implicit dotty