# Passing on function keyword collections in 0.7

**URL:** <https://discourse.julialang.org/t/passing-on-function-keyword-collections-in-0-7/12028>\
**Category:** General Usage\
**Created:** [June 28, 2018, 9:44am UTC](https://discourse.julialang.org/t/passing-on-function-keyword-collections-in-0-7/12028 "2018-06-28T09:44:37Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Daneel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/daneel/32/175_2.png) [@Daneel](https://discourse.julialang.org/u/Daneel)\
**Post date:** [June 28, 2018, 9:44am UTC](https://discourse.julialang.org/t/passing-on-function-keyword-collections-in-0-7/12028/1 "2018-06-28T09:44:37Z")

</div>

I have a function with multiple methods and one of those methods just prepares an input to pass it on to the main method. How do I pass on all the keyword arguments in 0.7?

Here is a simple example.

```julia
julia> arg_test(test::Array{T,1};a=1,b=42) where T <: String = (test,a,b)
julia> arg_test(test::String;kwargs...) = arg_test([test],kwargs...)
julia> arg_test("Hello World",b=0)

ERROR: MethodError: no method matching arg_test(::Array{String,1}, ::Pair{Symbol,Int64})
Closest candidates are:
  arg_test(::Array{T<:String,1}; a, b) where T<:String at REPL[1]:1
Stacktrace:
 [1] #arg_test#4 at ./REPL[2]:1 [inlined]
 [2] (::getfield(Main, Symbol("#kw##arg_test")))(::NamedTuple{(:b,),Tuple{Int64}}, ::typeof(arg_test), ::String) at ./none:0
 [3] top-level scope at none:0

```

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [June 28, 2018, 9:46am UTC](https://discourse.julialang.org/t/passing-on-function-keyword-collections-in-0-7/12028/2 "2018-06-28T09:46:49Z")

</div>

```julia
arg_test(test::String;kwargs...) = arg_test([test]; kwargs...)

```

---

<div class="post-metadata">

**Author:** ![pfitzseb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pfitzseb/32/45566_2.png) [@pfitzseb](https://discourse.julialang.org/u/pfitzseb)\
**Post date:** [June 28, 2018, 9:47am UTC](https://discourse.julialang.org/t/passing-on-function-keyword-collections-in-0-7/12028/3 "2018-06-28T09:47:37Z")

</div>

```julia
julia> g(;a=2) = a
g (generic function with 1 method)

julia> f(x; kwargs...) = g(;kwargs...)
f (generic function with 1 method)

julia> f(2, a=3)
3

```

Edit: Meh, too slow…

---

<div class="post-metadata">

**Author:** ![Daneel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/daneel/32/175_2.png) [@Daneel](https://discourse.julialang.org/u/Daneel)\
**Post date:** [June 28, 2018, 10:54am UTC](https://discourse.julialang.org/t/passing-on-function-keyword-collections-in-0-7/12028/4 "2018-06-28T10:54:35Z")

</div>

I tried so many variations I can’t believe that wasn’t one of them.

The built-in facepalm is not enough…

[https://www.geek.com/wp-content/uploads/2014/06/picard-facepalm-face-palm.jpg](https://www.geek.com/wp-content/uploads/2014/06/picard-facepalm-face-palm.jpg)
