# Named tuple parsing bug on master?

**URL:** <https://discourse.julialang.org/t/named-tuple-parsing-bug-on-master/22692>\
**Category:** General Usage\
**Created:** [April 3, 2019, 1:14pm UTC](https://discourse.julialang.org/t/named-tuple-parsing-bug-on-master/22692 "2019-04-03T13:14:06Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![bramtayl](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bramtayl/32/3614_2.png) [@bramtayl](https://discourse.julialang.org/u/bramtayl)\
**Post date:** [April 3, 2019, 1:14pm UTC](https://discourse.julialang.org/t/named-tuple-parsing-bug-on-master/22692/1 "2019-04-03T13:14:06Z")

</div>

```julia
julia> using LightQuery

julia> test(x) = transform(x, b = 1.0)
test (generic function with 1 method)

julia> test((a = 1,))
(a = 1, b = 1.0)

julia> transform((a = 1,), b = 1.0)
ERROR: MethodError: no method matching merge(::Tuple{Int64}, ::NamedTuple{(:b,),Tuple{Float64}})
Closest candidates are:
  merge(::Missing, ::NamedTuple) at C:\Users\hp\.julia\dev\LightQuery\src\columns.jl:190
  merge(::NamedTuple{(),T} where T<:Tuple, ::NamedTuple) at namedtuple.jl:228
  merge(::NamedTuple{an,T} where T<:Tuple, ::NamedTuple{bn,T} where T<:Tuple) where {an, bn} at namedtuple.jl:216
  ...
Stacktrace:
 [1] #transform#4(::Base.Iterators.Pairs{Symbol,Float64,Tuple{Symbol},NamedTuple{(:b,),Tuple{Float64}}}, ::typeof(transform), ::Tuple{Int64}) at .\REPL[13]:1
 [2] (::getfield(LightQuery, Symbol("#kw##transform")))(::NamedTuple{(:b,),Tuple{Float64}}, ::typeof(transform), ::Tuple{Int64}) at .\none:0
 [3] top-level scope at REPL[39]:100:

```

What’s going on?

---

<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:** [April 3, 2019, 1:15pm UTC](https://discourse.julialang.org/t/named-tuple-parsing-bug-on-master/22692/2 "2019-04-03T13:15:05Z")

</div>

Can you give an MWE (no LightQuery)?

---

<div class="post-metadata">

**Author:** ![bramtayl](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bramtayl/32/3614_2.png) [@bramtayl](https://discourse.julialang.org/u/bramtayl)\
**Post date:** [April 3, 2019, 1:18pm UTC](https://discourse.julialang.org/t/named-tuple-parsing-bug-on-master/22692/3 "2019-04-03T13:18:02Z")

</div>

`transform(it; assignments...) = merge(it, assignments)`

---

<div class="post-metadata">

**Author:** ![piever](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/piever/32/1815_2.png) [@piever](https://discourse.julialang.org/u/piever)\
**Post date:** [April 3, 2019, 1:25pm UTC](https://discourse.julialang.org/t/named-tuple-parsing-bug-on-master/22692/4 "2019-04-03T13:25:06Z")

</div>

In the example `assignments` is not a `NamedTuple` but a pair iterator. You should do `merge(it, values(assignments))`, I think.

---

<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:** [April 3, 2019, 1:26pm UTC](https://discourse.julialang.org/t/named-tuple-parsing-bug-on-master/22692/5 "2019-04-03T13:26:00Z")

</div>

This looks odd:

```julia
julia> transform(it; assignments...) = @show it
transform (generic function with 1 method)

julia> transform((a = 1,));
it = (a = 1,)

julia> transform((a = 1,), b = 1.0);
it = (1,)

```

Open an issue please.

---

<div class="post-metadata">

**Author:** ![bramtayl](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bramtayl/32/3614_2.png) [@bramtayl](https://discourse.julialang.org/u/bramtayl)\
**Post date:** [April 3, 2019, 1:27pm UTC](https://discourse.julialang.org/t/named-tuple-parsing-bug-on-master/22692/6 "2019-04-03T13:27:02Z")

</div>

> [@piever](#):
>
> `merge(it, values(assignments))`

tried that didn’t help

---

<div class="post-metadata">

**Author:** ![bramtayl](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bramtayl/32/3614_2.png) [@bramtayl](https://discourse.julialang.org/u/bramtayl)\
**Post date:** [April 3, 2019, 1:28pm UTC](https://discourse.julialang.org/t/named-tuple-parsing-bug-on-master/22692/8 "2019-04-03T13:28:56Z")

</div>

> <https://github.com/JuliaLang/julia/issues/31596>
>
> \`\`\`
> julia\> transform(it; assignments...) = @show it
> transform (generic functio…n with 1 method)
> 
> julia\> transform((a = 1,));
> it = (a = 1,)
> 
> julia\> transform((a = 1,), b = 1.0);
> it = (1,)
> \`\`\`

---

<div class="post-metadata">

**Author:** ![piever](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/piever/32/1815_2.png) [@piever](https://discourse.julialang.org/u/piever)\
**Post date:** [April 3, 2019, 1:30pm UTC](https://discourse.julialang.org/t/named-tuple-parsing-bug-on-master/22692/9 "2019-04-03T13:30:39Z")

</div>

ups you are right, definitely something funny going on.
