问题描述
我正在处理 Scala 宏,我需要将 Scala 枚举值作为类型传递给现有代码。
我在 ConstantType
中使用了一个技巧,其中任意值 (?) 可以表示为唯一类型:
val c: blackBox.Context
val s: MethodSymbol = ???
c.internal.constantType(Constant(s)) // this gives me a UniqueConstantType instance
问题出现了,我没想到。我的宏无法编译并出现错误:
type arguments [...] do not conform to class coproductInstance's type parameter bounds [...]
...
[info] <notype>(SkyBlue) <: Any?
[info] false
...
其中 <notype>
似乎是新构造类型的(非常奇怪的)字符串表示,而 SkyBlue
是我的符号,表示枚举值。
这怎么可能不是 Any
的子类型?
或者该消息是一个红鲱鱼?
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)