I am trying to define two parametric types with circular dependency as
follows.
abstract abstest
type t1{A <: abstest, B}
x::A
y::B
end
type t2{C, B} <: abstest
x::C
y::t1{t2{C, B}, B}
end
Unfortunately it doesn't work:
ERROR: TypeError: t1: in A, expected A<:abstest, got Type{t2{C,B}}
Apparently he is complaining about the definition of field y in the
definition of type t2. But t2{C, B} is a subtype of abstest, so {t2{C, B},
B} should be valid parameters for type t1. Probably I am missing something
here.
Thanks,
Tommy