Fixed. The issue was that the PQ was being generated based on version, both 
branches of the conditional that tested against VERSION were being 
compiled, and I introduced the @compat syntax only in the branch that 
actually needed it. That meant that the other branch (applicable to 0.3) 
was failing compile. Sorry for the bother.



On Sunday, April 19, 2015 at 6:20:28 PM UTC-7, Seth wrote:
>
> Sorry about this: please don't disregard. It is possible that the 
> TypeError here is being generated during compilation, not during execution, 
> in which case I still need help :)
>
>
>
> On Sunday, April 19, 2015 at 4:54:08 PM UTC-7, Seth wrote:
>>
>> Disregard - this appears to be another issue. Will post separately.
>>
>> On Sunday, April 19, 2015 at 4:17:42 PM UTC-7, Seth wrote:
>>>
>>> Thanks, Matt - this is very helpful.
>>>
>>> I'm running into what a problem with PriorityQueue in Base.Collections, 
>>> though. I changed
>>>
>>>  PriorityQueue((Float64,Array{Edge,1},Int), Float64) 
>>>
>>> to
>>>
>>>  
>>> PriorityQueue(@compat(Tuple{Float64,Array{Edge,1},Int}), Float64)
>>>
>>> and am getting an error:
>>>
>>> ERROR: TypeError: apply_type: in PriorityQueue, expected Type{T}, got 
>>> Tuple{DataType,DataType,DataType}
>>>
>>> What am I doing wrong?
>>>
>>>
>>> On Sunday, April 19, 2015 at 2:17:26 PM UTC-7, Matt Bauman wrote:
>>>>
>>>> I think this is what your after (for Foo = Int and Bar = Float64):
>>>>
>>>> julia> Tuple{Int,Float64}[]
>>>> 0-element Array{Tuple{Int64,Float64},1}
>>>>
>>>>
>>>> julia> push!(ans, (1, 2.))
>>>> 1-element Array{Tuple{Int64,Float64},1}:
>>>>  (1,2.0)
>>>>
>>>> Documentation is unfortunately still in the process of being updated. 
>>>>  Basically, anywhere you had a tuple of types, you now must write 
>>>> `Tuple{Int, Float64}` instead of `(Int, Float64)`.  In cases where you had 
>>>> a vararg tuple specification, you now write `Tuple{Int, Vararg{Float64}}` 
>>>> instead of `(Int, Float64...)`.  That latter vararg syntax is still up for 
>>>> debate.
>>>>
>>>> On the plus side, you no longer need to work around constructing tuples 
>>>> by splatting: (1, (2,3)…) now works as you would expect it to.  And 
>>>> there's 
>>>> no longer a strange type/value duality to ().
>>>>
>>>> On Sunday, April 19, 2015 at 5:06:00 PM UTC-4, Seth wrote:
>>>>>
>>>>> Following up:
>>>>>
>>>>> How does one now write
>>>>>
>>>>> foo = (Foo, Bar)[]
>>>>>
>>>>> ?
>>>>>
>>>>> Sorry for all the questions here. I really don't understand the 
>>>>> changes that were made and I'd like to get my package working again as 
>>>>> quickly as possible.
>>>>>
>>>>> Are there docs anywhere (written for novices, that is) on what changed 
>>>>> and how to adapt?
>>>>>
>>>>>
>>>>> On Sunday, April 19, 2015 at 12:09:27 PM UTC-7, Tony Kelman wrote:
>>>>>>
>>>>>> That will cause the code to not work on 0.3. To get code that works 
>>>>>> on both 0.3 and 0.4, use the Compat.jl package, and
>>>>>>
>>>>>>      function _make_simple_undirected_graph{T<:Integer}(n::T, 
>>>>>> edgelist::Vector{@compat(Tuple{T,T})}) 
>>>>>>
>>>>>>
>>>>>> On Sunday, April 19, 2015 at 11:58:42 AM UTC-7, Avik Sengupta wrote:
>>>>>>>
>>>>>>>
>>>>>>> Try this: 
>>>>>>>
>>>>>>>      function _make_simple_undirected_graph{T<:Integer}(n::T, 
>>>>>>> edgelist::Vector{Tuple{T,T}}) 
>>>>>>>
>>>>>>> On Monday, 20 April 2015 00:18:33 UTC+5:30, Seth wrote:
>>>>>>>>
>>>>>>>> Could someone please explain what's going on here and what I need 
>>>>>>>> to do to fix my package with the latest 0.4 tuple changes?
>>>>>>>>
>>>>>>>> Here's the error (from pkg.julialang.org):
>>>>>>>>
>>>>>>>> ERROR: LoadError: LoadError: LoadError: TypeError: apply_type: in 
>>>>>>>> alias, expected Type{T}, got Tuple{TypeVar,TypeVar}
>>>>>>>>  in include at ./boot.jl:250
>>>>>>>>  in include_from_node1 at ./loading.jl:129
>>>>>>>>  in include at ./boot.jl:250
>>>>>>>>  in include_from_node1 at ./loading.jl:129
>>>>>>>>  in reload_path at ./loading.jl:153
>>>>>>>>  in _require at ./loading.jl:68
>>>>>>>>  in require at ./loading.jl:51
>>>>>>>>  in include at ./boot.jl:250
>>>>>>>>  in include_from_node1 at loading.jl:129
>>>>>>>>  in process_options at ./client.jl:299
>>>>>>>>  in _start at ./client.jl:398
>>>>>>>> while loading 
>>>>>>>> /home/vagrant/testpkg/v0.4/LightGraphs/src/smallgraphs.jl, in 
>>>>>>>> expression starting on line 120
>>>>>>>> while loading 
>>>>>>>> /home/vagrant/testpkg/v0.4/LightGraphs/src/LightGraphs.jl, in 
>>>>>>>> expression starting on line 93
>>>>>>>> while loading /vagrant/nightlyAL/PKGEVAL_LightGraphs_using.jl, in 
>>>>>>>> expression starting on line 4
>>>>>>>>
>>>>>>>>
>>>>>>>> Here's the line in question:
>>>>>>>>
>>>>>>>> function _make_simple_undirected_graph{T<:Integer}(n::T, edgelist::
>>>>>>>> Vector{(T,T)})
>>>>>>>>
>>>>>>>> I confess to not yet fully understanding the new change to tuples, 
>>>>>>>> and I'm lost as to how to fix my code to comply with the new rules.
>>>>>>>>
>>>>>>>> Thanks.
>>>>>>>>
>>>>>>>

Reply via email to