I tried that on my example code, doesn't compile as well (same msg).
Why would this solve the problem?
> However if it is in an external library, then it's out of your hands. In this case you can create a wildcard type that will bypass the type system (read: it's a hack)...
>
> package object foo {
> val Recursor: { type Recursive <: Record[Recursive] } = null
> type WildcardRecord = Recursor.type#Recursive
> }
>
> Of course you will still have to cast into WildcardRecord at some point, but in fewer places.
Ah, so it's basically a type of a non-existing implementation. And this would work because no actual casting would take place, because of erasure.
Thanks,
Adam
--
Adam Warski
http://twitter.com/#!/adamwarski
http://www.softwaremill.com
http://www.warski.org