I want to generate a Dict with undef values so I can later loop over the keys and fill in correct values. I can initialise an such a Dict using concrete types in the following way and it all works fine:

```
currencies = ["USD", "AUD", "GBP"]
struct example
    num::Float64
end
undef_array =  Array{example}(undef,3)
Dict{String,example}(zip(currencies, undef_array))

```

When my struct has an abstract type however I can still generate the undef array but I cannot create the dict. I get an error "UndefRefError: access to undefined reference"

```
abstract type abstract_num end
struct example2
    num::abstract_num
end
undef_array =  Array{example2}(undef,3)
Dict{String,example2}(zip(currencies, undef_array))

```

Although it is possible to create such a Dict with a concrete array:

```
struct numnum <: abstract_num
    num::Float64
end
def_array = [example2(numnum(5.0)), example2(numnum(6.0)), example2(numnum(4.5))]
Dict{String,example2}(zip(currencies, def_array))

```

Question
--------

My question is whether it is possible to generate a Dict with undef values of a type that relies on an abstract type? Is it is possible what is the best way to do it?