NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2440 most downloaded on crates.io
Bit-vectors and bit-slices
Last release 7 years ago
no release in 18 months
Release timing varies
gaps range from 2 weeks to 1.2 years
Most releases are documented
notes for 27 of 31 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
31 releases · first in 2018
(cargo-release) version 0.11.1
(cargo-release) version 0.11.1
(cargo-release) version 0.11.0
(cargo-release) version 0.11.0
BitVec::get takes &self, not &mut self.One column per quarter.
(cargo-release) version 0.10.0
(cargo-release) version 0.10.0
BitsMutExt extension trait with methods bit_assign,
bit_zip_assign, bit_and_assign, bit_or_assign, and bit_xor_assign.BitSliceableMut helper trait with one method, bit_slice_mut. This
trait is automatically implemented for all BitSliceable types that slice to
a BitsMut type. Calling bit_slice_mut forces auto-ref to choose such a
type.Bits::get_raw_block method, which may return spurious bits in the
last block of a bit vector. This enables some fast paths where we don't
mind the spurious bits.From<Box<[Block]>> and From<Vec<Block>> impls for BitVec<Block>.Bits is now a super trait of BitSliceable<R>, and the block type of
the slice matches the block type of Self.BitsExt::bit_zip no longer takes a third, usize
argument.BlockType::last_block_bits in favor of BlockType::block_bits.BitsExt is moved in the adapter module. (Deprecated in
0.8.1.)(cargo-release) version 0.9.0
(cargo-release) version 0.9.0
Bits and BitsMut for Vec<Block>. The impls for [Block]
already caught most causes because of autoderef, but this is helpful
when you want to pass a Vec to a generic method.BitSlice::from_raw_parts and BitSliceMut::from_raw_parts now take
an offset of type u64 rather than u8, and the offset doesn't have to
be less than the block size.BitSliceable impls for array slices with two blanket impls.
I don't believe this is a breaking change.BitVec operations are significantly faster now.&[bool] and &mut [bool] using BitSliceable now requires
u64 ranges rather than usize ranges. Now all BitSliceable instances
use u64 ranges.(cargo-release) version 0.8.2
(cargo-release) version 0.8.2
(cargo-release) version 0.8.1
(cargo-release) version 0.8.1
BitsExt::bit_zip method generalizes bit_and, bit_or, etc.BlockType::block_bits static method, for finding out the number
of bits in the block at the given position.BitsExt is moved from the adapter module to the root. (There's
still a pub use for it in adapter, but that alias is deprecated and will
be removed in 0.10.0.)BitVec::block_reserve, which was growing way
too much.(cargo-release) version 0.8.0
(cargo-release) version 0.8.0
adapter module, including:
BitsExt trait, for adapter operations over types that
implement Bits. Methods include:
bit_not, bit_and, bit_or, and bit_xor;bit_concat and bit_pad.BitFill;BoolAdapter for adapting unpacked Vec<bool> or &[bool]; andBitSliceAdapter. (Note that BitSliceAdapter does
not replace the more specialized BitSlice.)Bits::to_bit_vec method, which copies the bits of a Bits into a new
BitVec.bit_vec! macro allows trailing comma.BitVec::get and BitVec::set methods, aliasing Bits::get_bit and
BitsMut::set_bit, respectively.From impls for converting array slices to BitSlice, mutable array
slices to BitSliceMut, and BitSliceMut to BitSlice.Bits, BitsMut, and BitSliceable impls for sized arrays from sizes 0
to 31.BitSliceMut::as_immut renamed to BitSliceMut::as_bit_slice.Bits::bit_offset method. Blocks returned from a Bits instance are now
assumed to be aligned. This makes BitSlice more complicated but
significantly simplifies everything else and removes some infelicities.BitSliceBlockIter struct and methods for creating it. I'm rethinking how
iteration over bit vectors and bit-vector-likes should work.(cargo-release) version 0.7.4
(cargo-release) version 0.7.4
(cargo-release) version 0.7.3
(cargo-release) version 0.7.3
(cargo-release) version 0.7.2
(cargo-release) version 0.7.2
html_doc_root for cross-linking of docs.### Fixed - Documentation, in many places.
Renamed about half the types in the library. Doing this while it has no users! Changes are:
BitVec{,Mut,Push} -> Bits{,Mut,Push}Bv -> BitVecbv -> bit_vecbv! -> bit_vec!### Added - Support for inclusive ranges.
Nothing published for this version
Optional serde support, via Cargo feature "serde".
serde support, via Cargo feature "serde"."u128", as u128 support is now detected.Nothing published for this version
Nothing published for this version
Nothing published for this version
Support for u128 is now detected.
u128 is now detected.num-traits crate.Support for u128, enabled by Cargo feature "u128".
u128, enabled by Cargo feature "u128".Version number in example toml.
Methods BitSlice::is_empty and BitSliceMut::is_empty.
Default for BV.BitSlice::is_empty and BitSliceMut::is_empty.Added a necessary lifetime parameter.
BV::align_block and BV::resize.
BV::align_block and BV::resize.Impl BitSliceable for [bool] and Vec .
BitSliceable for [bool] and Vec<bool>.BitSliceable::slice to BitSliceable::bit_slice.### Added - More tests. ### Fixed - Bug in block_len method.
block_len method.BitSlice::len and BitSliceMut::len methods.
bv! macro.BitSlice::len and BitSliceMut::len methods.BV::resize method.impl BitVec and BitVecMut for [bool].
BitVec and BitVecMut for [bool].Better crate summary in README.
### Fixed - Crate metadata.
Initial release.
Initial release.
Your coding agent can read these notes before it upgrades. Set up the MCP server →