# Recursive type of named tuple

**URL:** https://discourse.julialang.org/t/recursive-type-of-named-tuple/17911
**Category:** New to Julia
**Created:** [November 23, 2018, 3:39pm UTC](https://discourse.julialang.org/t/recursive-type-of-named-tuple/17911 "2018-11-23T15:39:22Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![ilanggear](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ilanggear/32/862_2.png) [@ilanggear](https://discourse.julialang.org/u/ilanggear)
#### Post date: [November 23, 2018, 3:39pm UTC](https://discourse.julialang.org/t/recursive-type-of-named-tuple/17911/1 "2018-11-23T15:39:23Z")

</div>

I want to create an array of named tuples of type T, where one field of the tuple, named ‘bak’, is recursive. Or, in other words, it can be either ‘nothing’ or of type T. How do I do this?

```julia
tmp=[(bak=nothing)]
push!(tmp,(bak=(bak=nothing,),))

ERROR: MethodError: Cannot `convert` an object of type NamedTuple{(:bak,),Tuple{Nothing}} to an object of type Nothing

```

---

<div class="post-metadata">

### Author: ![Simon\_Bolland](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/simon_bolland/32/8920_2.png) [@Simon\_Bolland](https://discourse.julialang.org/u/Simon_Bolland)
#### Post date: [November 23, 2018, 4:37pm UTC](https://discourse.julialang.org/t/recursive-type-of-named-tuple/17911/2 "2018-11-23T16:37:11Z")

</div>

```julia
tmp=Array{NamedTuple{(:bak,),T} where T<:Tuple,1}()
push!(tmp,(bak=nothing,))
push!(tmp,(bak=(bak=nothing,),))

```

---

<div class="post-metadata">

### Author: ![ilanggear](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ilanggear/32/862_2.png) [@ilanggear](https://discourse.julialang.org/u/ilanggear)
#### Post date: [November 23, 2018, 4:41pm UTC](https://discourse.julialang.org/t/recursive-type-of-named-tuple/17911/3 "2018-11-23T16:41:06Z")

</div>

Thank you!
