FillArrays.jl icon indicating copy to clipboard operation
FillArrays.jl copied to clipboard

Piracy of `map(f)`

Open mcabbott opened this issue 3 years ago • 1 comments
trafficstars

This package overwrites Base's behaviour for one-argument map, for example:

julia> map(println)  # calls println()


julia> using FillArrays

julia> map(println)
ERROR: MethodError: reducing over an empty collection is not allowed; consider supplying `init` to the reducer
Stacktrace:
  [1] reduce_empty(op::Base.MappingRF{typeof(length), Base.BottomRF{typeof(min)}}, #unused#::Type{Union{}})
    @ Base ./reduce.jl:356
...
  [9] mapreduce(f::Function, op::Function, itr::Tuple{})
    @ Base ./reduce.jl:302
 [10] map(::Function)
    @ FillArrays ~/.julia/packages/FillArrays/5Arin/src/fillbroadcast.jl:6

julia> @which map(println)
map(f::Function, vs::FillArrays.AbstractFill{<:Any, 1}...)
     @ FillArrays ~/.julia/packages/FillArrays/5Arin/src/fillbroadcast.jl:5

Blame points to #146 unfortunately...

mcabbott avatar Jul 18 '22 17:07 mcabbott

Can you produce a fix please?

dlfivefifty avatar Jul 18 '22 17:07 dlfivefifty