【发布时间】:2021-01-15 05:23:09
【问题描述】:
我什至不知道如何问这个问题。
我有一个宏,它为T 类型创建IsEnum[T] 的实例。
我正在对其进行测试,并希望确保未找到未密封类型的隐式,或者通常不满足枚举的要求。
所以我创建了这个方法来测试
def enumOf[T](implicit isEnum:IsEnum[T] = null) = isEnum
然后我确保enumOf[NotAnEnum] == null
但是,它在编译时失败了。
一件事是宏错误。另一件事是宏只是不适用于给定案例。创建宏时如何区分?
编辑:我使用过c.abort 和c.error,两者的结果相同。
【问题讨论】:
-
@Pᴇʜ (offtopic) 你为什么删除标签
macros?
标签: scala implicit scala-macros