Rust does not permit the use of custom proxy structures in place of true reference primitives, so APIs that specify references (like IndexMut
or DerefMut
) cannot be implemented by types that cannot manifest &mut
references directly. Since bitvec
cannot produce an &mut bool
reference within a BitSlice
, it instead uses the BitRef
proxy type defined in this module to provide reference-like work generally, and simply does not define IndexMut<usize>
.