这可能不是最正确的术语,但我所说的 boxed type 是指Box[T]
type T
。Option[Int]
盒装的也是如此Int
。
如何提取这些类型?我天真的尝试:
//extractor
type X[Box[E]] = E //doesn't compile. E not found
//boxed
type boxed = Option[Int]
//unboxed
type parameter = X[boxed] //this is the syntax I would like to achieve
implicitly[parameter =:= Int] //this should compile
有没有办法做到这一点?除了 Apocalisp 博客之外,我很难找到有关 Scala 中类型级元编程的说明。