ok so I think the root cause is s.dict.slots
is not updated due to the way you deleted an element in the keys of s.dict
.
This is not limited to Set of Sets, you can reproduce this behavior even with a Set of Arrays
julia> s = Set([[1,2,3]])
Set{Array{Int64,1}} with 1 element:
[1, 2, 3]
julia> [1,2,3] ∈ s
true
julia> deleteat!(only(s), 2)
2-element Array{Int64,1}:
1
3
julia> s
Set{Array{Int64,1}} with 1 element:
[1, 3]
julia> [1,2,3] ∈ s
false
julia> [1,3] ∈ s
false