On Wed, Jan 27, 2016 at 10:35 AM, Tommy Hofmann <[email protected]> wrote:
> 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.

Looks like a bug to me. You should probably open an issue about this.

>
> Thanks,
> Tommy
>
>

Reply via email to