例として shapeless ライブラリを使用します。
import shapeless.test.illTyped
関数を別の関数でラップしたいと仮定して、illType
これを行うために 2 つの異なる方法を試しました。
(値による)
def shouldTypeError(v: String) = illTyped(v, ".*")
[ERROR] ... : exception during macro expansion:
scala.MatchError: v (of class scala.reflect.internal.Trees$Ident)
at shapeless.test.IllTypedMacros.applyImpl(typechecking.scala:43)
(名前で)
def shouldTypeError(v: => String) = illTyped(v, ".*")
[ERROR ... ]: exception during macro expansion:
scala.MatchError: v (of class scala.reflect.internal.Trees$Ident)
at shapeless.test.IllTypedMacros.applyImpl(typechecking.scala:43)
そのため、どれも意図したとおりに機能しません。これは最新のscalaまたはdottyで可能ですか?