That makes sense!

It was from someone else's code, and I was admittedly surprised that it worked.

Sent from my iPhone

> On 8 Sep 2015, at 10:27 am, Jameson Nash <[email protected]> wrote:
> 
> This was only "working" in Julia 0.3 because it gave a random answer instead 
> of an appropriate error:
> 
> julia> abstract AbstractFoo{T}
> 
> julia> immutable Foo{T,V} <: AbstractFoo{promote_type(T,V)} end
> 
> julia> promote_type(TypeVar(:T),TypeVar(:V))
> V #nope
> 
> julia> super(Foo{Int,Float64})
> AbstractFoo{Float64} #that looks OK
> 
> julia> super(Foo{Float64,Int})
> AbstractFoo{Int64} # oops: nope, that's wrong
> 
> 
>> On Sun, Sep 6, 2015 at 7:32 PM Sheehan Olver <[email protected]> wrote:
>> The following line code works in 0.3 and not 0.4.  Is this a bug or should 
>> this be done differently now?
>> 
>> abstract AbstractFoo{T}
>> 
>> immutable Foo{T,V} <: AbstractFoo{promote_type(T,V)} end

Reply via email to