Changelog
*Sourced from [bitvec's changelog](https://github.com/myrrlyn/bitvec/blob/master/CHANGELOG.md).*
> ## 0.16.0
>
> ### Added
>
> - `Cursor` now provides a `mask` function, which produces a one-hot mask usable
> for direct memory access. Implementors of `Cursor` may use the default, or
> provide their own.
> - `Bits` and `BitsMut` renamed their methods to `bits` and `bits_mut`,
> respectively; `as_bitslice` and `as_mut_bitslice` are marked deprecated and
> will be removed in `0.17`.
> - The `BitField` trait allows `BitSlice` and
> `BitSlice` to provide behavior analagous to bitfields in C
> and C++ `struct` definitions. This trait provides `load` and `store` methods
> on `BitSlice`s with those two `Cursor`s which allow for parallel access to the
> underlying memory. This trait is currently not able to be implemented by
> downstream crates; this restriction may ease in the future.
>
> The `load` and `store` methods are generic over `BitStore` value types,
> allowing users to load and store values of any of the four fundamental widths
> out of and into a `BitSlice` of any storage type. Users are able to, for
> example, use this trait to load and store `u32` values into `BitSlice<_, u8>`
> byte sequences.
>
> The behavior implemented in this crate follows local memory conventions as
> best it can. When storing a value into memory, the least significant part of
> the value will be in the least significant storage element of the slice, and
> the bits in each storage element’s region for value storage will be in
> standard memory order. This behavior *should* provide maximum compatibility
> for interoperability with the bitfield implementations in C and C++, and the
> bitstring implementation in Erlang.
> - The `cursor::Local` type alias is a default bit ordering. Big-endian targets
> set it to `cursor::BigEndian`; all other targets set it to
> `cursor::LittleEndian`.
> - The `store::Word` type alias is a default unit size. Targets with 32-bit CPU
> words set it to `u32`; 64-bit CPU word targets set it to `u64`; all other
> targets set it to `u8`.
> - `BitSlice` is able to provide mutable borrowing access through iteration and
> inherent methods by using the `BitGuard` custom referential type. This type is
> not able to be used as an `&mut bool`, so the API is still not an exact mirror
> of the standard library.
>
> ### Changed
>
> - The default order and storage type parameters for all type constructors in the
> library have been changed. This means that `BitSlice`, `BitBox`, `BitVec`, and
> the `bitbox!` and `bitvec!` macros, are all changing the produced type if you
> have not specified their ordering and storage. The new default storage type is
> the target CPU word (`u32` on 32-bit systems, `u64` on 64-bit, `u8` on other)
> and the new default order type is the target byte ordering (`BigEndian` on
> big-endian, `LittleEndian` on little-endian and unknown).
> ... (truncated)
Commits
- See full diff in [compare view](https://github.com/myrrlyn/bitvec/commits)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Bumps bitvec from 0.15.2 to 0.16.0.
Changelog
*Sourced from [bitvec's changelog](https://github.com/myrrlyn/bitvec/blob/master/CHANGELOG.md).* > ## 0.16.0 > > ### Added > > - `Cursor` now provides a `mask` function, which produces a one-hot mask usable > for direct memory access. Implementors of `Cursor` may use the default, or > provide their own. > - `Bits` and `BitsMut` renamed their methods to `bits` and `bits_mut`, > respectively; `as_bitslice` and `as_mut_bitslice` are marked deprecated and > will be removed in `0.17`. > - The `BitField` trait allows `BitSliceCommits
- See full diff in [compare view](https://github.com/myrrlyn/bitvec/commits)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)