Current behavior is this:
julia> f(;kwargs...) = kwargs
f (generic function with 1 method)
julia> f(a=1, b=2)
pairs(::NamedTuple) with 2 entries:
:a => 1
:b => 2
julia> f(f(a=1, b=2)...)
ERROR: MethodError: no method matching f(::Pair{Symbol,Int64}, ::Pair{Symbol,Int64})
Stacktrace:
[1] top-level scope at none:0
Shouldn’t this be true?
f(f(a=1, b=2)...) == f(a=1, b=2)
This would allow things such as calls to a function is more dynamic ways than just passing an unpacked tuple or vector. Such as below:
julia> d = Dict(:a => 1, :b => 2)
Dict{Symbol,Int64} with 2 entries:
:a => 1
:b => 2
Dict(f(d...)) == d
I apologize ahead of time for lack of good writing style. I have done about 3 forum posts in my life.