Found it!! The following definition was not updated. It seems very
weird that this triggered an error message while compiling a completely
unrelated routine...
immutable KroneckerOperator{S,V,DS,RS,T}<: BivariateOperator{T}
ops::(S,V)
domainspace::DS
rangespace::RS
end
> On 15 May 2015, at 1:09 am, Yichao Yu <[email protected]> wrote:
>
> On Thu, May 14, 2015 at 11:02 AM, David P. Sanders <[email protected]
> <mailto:[email protected]>> wrote:
>>
>>
>> El miércoles, 13 de mayo de 2015, 23:51:33 (UTC-5), Sheehan Olver escribió:
>>>
>>> This is for latest build of 0.4 on Mac OS X Yosemite
>>>
>>> On Thursday, May 14, 2015 at 2:51:07 PM UTC+10, Sheehan Olver wrote:
>>>>
>>>>
>>>> I get the error message below, and cannot find any sign of the cause.
>>>> With debug statements, I found that its dying trying to call a function
>>>> with
>>>> the signature
>>>>
>>>> function
>>>> linsolve{T<:Operator,N<:Number}(A::Vector{T},b::Array{N};tolerance=0.01,maxlength=1000000)
>>
>>
>> Here, `Array{N}` is a strange type. Do you mean `Array{T, N}`? Or what kind
>> of object should `b` be?
>
> The `N` here should be fine since `N<:Number`. It is indeed a little
> bit confusing given `N` is often used as the name of a number
> parameter but it shouldn't cause any issue.
>
> I guess it will probably help to see the code that is calling this
> function to tell what exactly is wrong.
>
>>
>> David.
>>
>>
>>>>
>>>> ...
>>>> end
>>>>
>>>> Any thoughts? Maybe its a bug in Julia?
>>>>
>>>>
>>>>
>>>> TypeError: subtype: expected Type{T}, got Tuple{TypeVar,TypeVar}
>>>>
>>>> in abstract_call_gf at ./inference.jl:586
>>>>
>>>> in abstract_call at ./inference.jl:857
>>>>
>>>> in abstract_eval_call at ./inference.jl:904
>>>>
>>>> in abstract_eval at ./inference.jl:931
>>>>
>>>> in abstract_eval_call at ./inference.jl:881
>>>>
>>>> in abstract_eval at ./inference.jl:931
>>>>
>>>> in abstract_eval_call at ./inference.jl:881
>>>>
>>>> in abstract_eval at ./inference.jl:931
>>>>
>>>> in typeinf_uncached at ./inference.jl:1591
>>>>
>>>> in typeinf at ./inference.jl:1307
>>>>
>>>> in typeinf at ./inference.jl:1257
>>>>
>>>> in abstract_call_gf at ./inference.jl:696
>>>>
>>>> in abstract_call at ./inference.jl:857
>>>>
>>>> in abstract_eval_call at ./inference.jl:904
>>>>
>>>> in abstract_eval at ./inference.jl:931
>>>>
>>>> in abstract_eval_call at ./inference.jl:881
>>>>
>>>> in abstract_eval at ./inference.jl:931
>>>>
>>>> in typeinf_uncached at ./inference.jl:1591
>>>>
>>>> in typeinf at ./inference.jl:1307
>>>>
>>>> in typeinf at ./inference.jl:1257
>>>>
>>>> in abstract_call_gf at ./inference.jl:696
>>>>
>>>> in abstract_call at ./inference.jl:857
>>>>
>>>> in abstract_eval_call at ./inference.jl:904
>>>>
>>>> in abstract_eval at ./inference.jl:931
>>>>
>>>> in abstract_eval_call at ./inference.jl:881
>>>>
>>>> in abstract_eval at ./inference.jl:931
>>>>
>>>> in typeinf_uncached at ./inference.jl:1591
>>>>
>>>> in typeinf at ./inference.jl:1307
>>>>
>>>> in typeinf at ./inference.jl:1257
>>>>
>>>> in abstract_call_gf at ./inference.jl:696
>>>>
>>>> in abstract_call at ./inference.jl:857
>>>>
>>>> in abstract_eval_call at ./inference.jl:904
>>>>
>>>> in abstract_eval at ./inference.jl:931
>>>>
>>>> in abstract_interpret at ./inference.jl:1080
>>>>
>>>> in typeinf_uncached at ./inference.jl:1518
>>>>
>>>> in typeinf at ./inference.jl:1307
>>>>
>>>> in typeinf at ./inference.jl:1257
>>>>
>>>> in abstract_call_gf at ./inference.jl:696
>>>>
>>>> in abstract_call at ./inference.jl:857
>>>>
>>>> in abstract_call at ./inference.jl:817
>>>>
>>>> in abstract_eval_call at ./inference.jl:904
>>>>
>>>> in abstract_eval at ./inference.jl:931
>>>>
>>>> in typeinf_uncached at ./inference.jl:1591
>>>>
>>>> in typeinf at ./inference.jl:1307
>>>>
>>>> in typeinf at ./inference.jl:1257
>>>>
>>>> in abstract_call_gf at ./inference.jl:696
>>>>
>>>> in abstract_call at ./inference.jl:857
>>>>
>>>> in abstract_call at ./inference.jl:817
>>>>
>>>> in abstract_eval_call at ./inference.jl:904
>>>>
>>>> in abstract_eval at ./inference.jl:931
>>>>
>>>> in abstract_eval_call at ./inference.jl:881
>>>>
>>>> in abstract_eval at ./inference.jl:931
>>>>
>>>> in typeinf_uncached at ./inference.jl:1591
>>>>
>>>> in typeinf at ./inference.jl:1307
>>>>
>>>> in typeinf at ./inference.jl:1257
>>>>
>>>> in abstract_call_gf at ./inference.jl:696
>>>>
>>>> in abstract_call at ./inference.jl:857
>>>>
>>>> in abstract_eval_call at ./inference.jl:904
>>>>
>>>> in abstract_eval at ./inference.jl:931
>>>>
>>>> in typeinf_uncached at ./inference.jl:1591
>>>>
>>>> in typeinf at ./inference.jl:1307
>>>>
>>>> in typeinf at ./inference.jl:1257
>>>>
>>>> in abstract_call_gf at ./inference.jl:696
>>>>
>>>> in abstract_call at ./inference.jl:857
>>>>
>>>> in abstract_eval_call at ./inference.jl:904
>>>>
>>>> in abstract_eval at ./inference.jl:931
>>>>
>>>> in abstract_interpret at ./inference.jl:1080
>>>>
>>>> in typeinf_uncached at ./inference.jl:1518
>>>>
>>>> in typeinf at ./inference.jl:1307
>>>>
>>>> in typeinf at ./inference.jl:1257
>>>>
>>>> in abstract_call_gf at ./inference.jl:696
>>>>
>>>> in abstract_call at ./inference.jl:857
>>>>
>>>> in abstract_eval_call at ./inference.jl:904
>>>>
>>>> in abstract_eval at ./inference.jl:931
>>>>
>>>> in abstract_interpret at ./inference.jl:1080
>>>>
>>>> in typeinf_uncached at ./inference.jl:1518
>>>>
>>>> in typeinf at ./inference.jl:1307
>>>>
>>>> in typeinf at ./inference.jl:1257
>>>>
>>>> in abstract_call_gf at ./inference.jl:696
>>>>
>>>> in abstract_call at ./inference.jl:857
>>>>
>>>> in abstract_eval_call at ./inference.jl:904
>>>>
>>>> in abstract_eval at ./inference.jl:931
>>>>
>>>> in typeinf_uncached at ./inference.jl:1591
>>>>
>>>> in typeinf at ./inference.jl:1307
>>>>
>>>> in typeinf_ext at ./inference.jl:1251
>>>>
>>>> in linsolve at
>>>> /Users/solver/.julia/v0.4/ApproxFun/src/Operators/linsolve.jl:108
>>>>
>>>> in linsolve at
>>>> /Users/solver/.julia/v0.4/ApproxFun/src/Operators/linsolve.jl:126
>>>>
>>>> in linsolve at
>>>> /Users/solver/.julia/v0.4/ApproxFun/src/Operators/linsolve.jl:130
>>>>
>>>> in ./ at
>>>> /Users/solver/.julia/v0.4/ApproxFun/src/Extras/specialfunctions.jl:89