# TypeError: in typeassert in Julia 1.6.3

**URL:** <https://discourse.julialang.org/t/typeerror-in-typeassert-in-julia-1-6-3/69945>\
**Category:** General Usage\
**Tags:** question, error, dictionary\
**Created:** [October 17, 2021, 8:07pm UTC](https://discourse.julialang.org/t/typeerror-in-typeassert-in-julia-1-6-3/69945 "2021-10-17T20:07:58Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![daneshvar.amrollahi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/daneshvar.amrollahi/32/30018_2.png) [@daneshvar.amrollahi](https://discourse.julialang.org/u/daneshvar.amrollahi)\
**Post date:** [October 17, 2021, 8:07pm UTC](https://discourse.julialang.org/t/typeerror-in-typeassert-in-julia-1-6-3/69945/1 "2021-10-17T20:07:58Z")

</div>

I am new to Julia. I am working on a Julia package which the writer is not available.

This is the part of the code where I have a problem with:

```julia
function find_partition(model::Model, ms)
        ps = Dict{Z3Expr,Vector{Int}}()
        for (i, m) in enumerate(ms)
            mval = Z3.eval(model, m, false)
            println(ps)
            println(mval)
            println(typeof(mval))
            if haskey(ps, mval)
                push!(ps[mval], i)
            else
                push!(ps, mval=>Int[i])
            end
        end
        values(ps)
    end

```

Here is the output:

```julia
Dict{Z3.Expr, Vector{Int64}}()
    1.0
    Z3.ExprAllocated
    ERROR: TypeError: in typeassert, expected UInt64, got a value of type UInt32
    Stacktrace:
      [1] hashindex(key::Z3.ExprAllocated, sz::Int64)
        @ Base ./dict.jl:169
      [2] ht_keyindex(h::Dict{Z3.Expr, Vector{Int64}}, key::Z3.ExprAllocated)
        @ Base ./dict.jl:284
      [3] haskey(h::Dict{Z3.Expr, Vector{Int64}}, key::Z3.ExprAllocated)
        @ Base ./dict.jl:550
      [4] find_partition(model::Z3.ModelAllocated, ms::Vector{Z3.ExprAllocated})
        @ Absynth.NLSat ~/Desktop/faoc/Absynth/src/nlsat/cfinitesolver.jl:101

```

I tried following it and found out that somewhere inside `dict.jl` in Julia, there are such lines

```julia
sz = length(h.keys)
 ...
index = hashindex(key, sz)

```

And this is the hashindex written somewhere in dict.jl:

```
hashindex(key, sz) = (((hash(key)::UInt % Int) & (sz-1)) + 1)::Int

```

It seems that the version of Z3 used in this package is not compatible with the current version of Julia. I am not sure if this package was working in the beginning at all.

Is there any quick fix to this? Like rewriting this part of the code:

```julia
if haskey(ps, mval)
    push!(ps[mval], i)
else
    push!(ps, mval=>Int[i])

```

in a way that this won’t happen? I tried writing like `merge!(ps,Dict(mval=>Int[i]))` but it’s eventually reaching this hashindex function again.  
If I install the older versions of Julia, would it be possible to solve this issue or the problem is somewhere else?

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [October 17, 2021, 9:29pm UTC](https://discourse.julialang.org/t/typeerror-in-typeassert-in-julia-1-6-3/69945/2 "2021-10-17T21:29:50Z")

</div>


