Strange behavior with Void?


#1

Consider the following:

> a = Vector{Void}(100_000_000);
> b = Set(a);   # note: this takes > 1 second
> b.dict
Dict{Void,Void} with 1 entry:
  nothing => nothing

> whos()
...
a      0 bytes  100000000-element Array{Void,1}
b 131072 KB     Set{Void}

What’s going on with the size of b?


#2

The size hint in union! increases the size of the slot numbers in the Dict.


#3

That’s what I was thinking, but perhaps it makes sense to have a specialized case for Sets of Void because the set size can by definition only contain one element?