Open
Description
destructure
uses map
, I think from before support for Dict was added elsewhere, hence this fails:
julia> d = Dict(
:a => Dict(
:b => Dict(
:c => 1,
:d => 2,
),
:e => 3,
),
:f => 4,
)
Dict{Symbol, Any} with 2 entries:
:a => Dict{Symbol, Any}(:b=>Dict(:d=>2, :c=>1), :e=>3)
:f => 4
julia> destructure(d)
ERROR: map is not defined on dictionaries
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:35
[2] map(f::Function, ::Dict{Symbol, Any})
@ Base ./abstractarray.jl:3303
[3] (::Optimisers._TrainableStructWalk)(recurse::Function, x::Dict{Symbol, Any})
@ Optimisers ~/.julia/packages/Optimisers/F7eR3/src/destructure.jl:81
[4] (::Functors.ExcludeWalk{…})(::Function, ::Dict{…})
@ Functors ~/.julia/packages/Functors/rlD70/src/walks.jl:106
[5] (::Functors.CachedWalk{…})(::Functors.var"#recurse#19"{…}, ::Dict{…})
@ Functors ~/.julia/packages/Functors/rlD70/src/walks.jl:146 [inlined]
[6] execute(::Functors.CachedWalk{Functors.ExcludeWalk{…}, Functors.NoKeyword}, ::Dict{Symbol, Any})
@ Functors ~/.julia/packages/Functors/rlD70/src/walks.jl:38
[7] fmap(::Function, ::Dict{…}; exclude::Function, walk::Optimisers._TrainableStructWalk, cache::IdDict{…}, prune::Functors.NoKeyword)
@ Functors ~/.julia/packages/Functors/rlD70/src/maps.jl:11
[8] _flatten(x::Dict{Symbol, Any})
@ Optimisers ~/.julia/packages/Optimisers/F7eR3/src/destructure.jl:69 [inlined]
[9] destructure(x::Dict{Symbol, Any})
@ Optimisers ~/.julia/packages/Optimisers/F7eR3/src/destructure.jl:30