You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
there's a hack in object_id that allows recursive types to give a stable hash after the bind field gets corrupted at the end of creating a type. however, this might still be allowing the creation of invalid type objects:
julia> type A{T} end
julia> type B{T,S}
a::A{B{Int,S}}end
julia> A.name.cache
svec()
julia> A.name.linearcache
svec() # expected A{B{Int}} here
julia> B.types[1] === A{B{Int}}
true# good
julia> A{B{Int}}.instance
A{B{Int64,S}}()
julia> A{B{Int}}.instance === B.types[1].instance
false#oops
fwiw, however, i don't seem to be able to find anything that this breaks
The text was updated successfully, but these errors were encountered:
there's a hack in object_id that allows recursive types to give a stable hash after the bind field gets corrupted at the end of creating a type. however, this might still be allowing the creation of invalid type objects:
fwiw, however, i don't seem to be able to find anything that this breaks
The text was updated successfully, but these errors were encountered: