【发布时间】:2018-09-07 11:59:25
【问题描述】:
我有一个宏注释,用于将隐式类型类注入伴随方法。
@MyMacro case class MyClass[T](a: String, b: Int, t: T)
大多数时候它按预期工作,但是当我使用类型约束表示法时它会中断:
@MyMacro case class MyClass[T: TypeClass](a: String, b: Int, t: T)
// private[this] not allowed for case class parameters
这个错误是described on SO 和reported as a bug。
问题是:不再维护宏 (v1),所以我不能指望这会得到修复。
所以我想知道的是:我可以自己在宏中解决这个问题吗?这种对 AST 的更改是否以某种我可以撤消的方式进行?我想尝试在宏中修复它,而不是强制所有用户将他们的代码重写为...(implicit tc: TypeClass[T])。
【问题讨论】:
标签: scala scala-macros scala-macro-paradise