Closed anj00 closed 11 months ago
Hi @anj00 , thank you for reporting this. It is definitely a bug and I will try to fix it soon.
I have tracked down the issue to this: julia internals changed between 1.6 and 1.7 on 1.6
julia> Vararg{Int, 3} isa DataType
true
while on 1.7
julia> Vararg{Int,3} isa DataType
false
Hi @anj00 ,
I think, I implemented a working fix for you in #394 . However, the changes are rather ugly and require extra checks that will be executed many many times, so I'm a bit hesitant to merge it. You're welcome to try it out, though.
Thanks! varargfix branch loads fine both the test file and the real data I had issues with.
A file written in
julia 1.6.5
withJLD2 v0.4.19
save("tmp.jld2", Dict("tmp" => [(x1 = 1, x2 = 2), (x1 = 1, x2 = 2, x3 = 3)]))
Note above: the tuples have different number of fieldsFails to be loaded in
julia 1.7.2
withJLD2 v0.4.22
which obviously makes it hard to migrate. Note, an array of identical NamedTuple is fine. It is only then one adds/removes fields in the NamedTuple in the array the problem shows up.The error