Ce n'est peut-être pas la terminologie la plus correcte, mais ce que je veux dire par type de boîte est que Box[T]
pour le type T
. Donc Option[Int]
est une boîte Int
.
Comment pourrait-on s'y prendre pour extraire ces types ? Ma tentative naïve :
//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
Y a-t-il un moyen de le faire ? En dehors du blog Apocalisp, j'ai du mal à trouver des instructions sur la métaprogrammation au niveau des types en Scala.