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. >>>>>>> >>>>>>