Describe the bug
MutableArrayData contains logic to skip computing a null mask if the source data contains no nulls. In such a scenario it skips pre-allocating space for the null buffer. However, it continues to then build this null buffer?!
To Reproduce
Run the filter benchmarks, observe memory allocations taking place in build_extend_null_bits::closure
Expected behavior
MutableArrayData should fully skip computing the null mask