fix some major issues with `map(f, ::BitArray...)` (#61895)
previously: ```julia # WRONG. output should be length 5, not 6. the last value here is junk from `similar` julia> map(&, rand(6) .> 0.5, rand(5) .> 0.5) 6-element BitVector: 0 0 0 1 0 0 julia> dest = falses(64); julia> map!(&, dest, trues(65), trues(64)); # what on earth?? should be 64 julia> count(dest) 1 ``` the `and_iteratorsize` change is slightly drive-by but it makes the implementation nicer (and more parallel to `Array`, so if one changes they'll stay in sync). incidentally, it actually helps performance for some `collect(zip(..))` calls too ```julia julia> using BenchmarkTools julia> @btime collect(z) setup=z=zip(1:10000, rand(100, 100)); 15.875 μs (16 allocations: 437.53 KiB) # master 3.344 μs (3 allocations: 160.06 KiB) # PR ``` codeveloped (mostly tests) with codex 5.5 --------- Co-authored-by: Nathan Zimmerberg <39104088+nhz2@users.noreply.github.com>
A
Andy Dienes committed
8cb3325be27eda2dc8c798f22b4be4f822f1b848
Parent: 9f531e1
Committed by GitHub <noreply@github.com>
on 5/26/2026, 1:44:34 PM