The parameter to MyType{} needs to be a type, but Joker() is an instance.
Just use MyType{Joker}(4)
Cheers
Lex
On Friday, November 28, 2014 9:50:08 AM UTC+10, [email protected]
wrote:
>
> Hello,
>
> Say I have a parametric type:
>
> type MyType{T}
> var1
> end
>
>
>
> In the most of the case T is a simple integer, and there is no problem
> with that. However, sometimes T is an instance of an singleton type, like:
>
>
> type Joker end
>
>
> Thus I would like to instantiate
>
> MyType{Joker()}(4)
>
> but I have the following error message:
>
> ERROR: type: apply_type: in MyType, expected Type{T<:Top}, got Joker
>
>
>
> Reading this message, I understand that the parameters of the types have
> to be define "at the top"... This seems true while
> MyType{MyType{4}(3)}(2)
> throw a similar error message.
>
> In the documentation :
> http://julia.readthedocs.org/en/latest/manual/types/#man-parametric-types
> there is no mention of such a restriction (or I didn't find it!).
>
> How can I make `MyType{Joker()}(4)` work the way I want ?
>
> Regards,
> Sébastien
>