JuliaParallel / Blocks.jl

A framework to represent chunks of entities and parallel methods on them.
MIT License
30 stars 6 forks source link

Method ambiguity warnings #4

Closed simonster closed 11 years ago

simonster commented 11 years ago

With the latest Julia, I'm getting a bunch of method ambiguity warnings:

julia> using Blocks
Warning: New definition 
    map(Union(Function,DataType),Block{T}...) at /home/simon/.julia/Blocks/src/mapreduce.jl:11
is ambiguous with 
    map(Union(DataType,Function),Any...) at reduce.jl:112.
Make sure 
    map(Union(Function,DataType),Block{T}...)
is defined first.
Warning: New definition 
    mapreduce(Union(Function,DataType),Function,Block{T}...) at /home/simon/.julia/Blocks/src/mapreduce.jl:86
is ambiguous with 
    mapreduce(Union(DataType,Function),Function,Any) at reduce.jl:133.
Make sure 
    mapreduce(Union(Function,DataType),Function,Block{T})
is defined first.
Warning: New definition 
    mapreduce(Union(Function,DataType),Function,Any,Block{T}...) at /home/simon/.julia/Blocks/src/mapreduce.jl:87
is ambiguous with 
    mapreduce(Union(DataType,Function),Function,Any,Any) at reduce.jl:147.
Make sure 
    mapreduce(Union(Function,DataType),Function,Any,Block{T})
is defined first.
Warning: New definition 
    mapreduce(Union(Function,DataType),Function,Any,Block{T}...) at /home/simon/.julia/Blocks/src/mapreduce.jl:87
is ambiguous with 
    mapreduce(Union(Function,DataType),Function,Block{T}...) at /home/simon/.julia/Blocks/src/mapreduce.jl:86.
Make sure 
    mapreduce(Union(Function,DataType),Function,Block{T},Block{T}...)
is defined first.

The first seems like it might be a bug in Julia, but the rest seem legitimate.

This might be related to the fix for JuliaLang/julia#4413.