in src/arraytypes/bool.jl [55:78]
function arrowvector(::BoolKind, x, i, nl, fi, de, ded, meta; kw...)
validity = ValidityBitmap(x)
len = length(x)
blen = cld(len, 8)
bytes = Vector{UInt8}(undef, blen)
b = 0xff
j = k = 1
for y in x
if y === false
b = setbit(b, false, j)
end
j += 1
if j == 9
@inbounds bytes[k] = b
b = 0xff
j = 1
k += 1
end
end
if j > 1
bytes[k] = b
end
return BoolVector{eltype(x)}(bytes, 1, validity, len, meta)
end