This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| bitvec (source) | dependencies | major | 0.22
-> 1.0
|
Release Notes
bitvecto-rs/bitvec
๐จ THIS IS A BREAKING CHANGE RELEASE! ๐จ
Your code has broken. You will need to change it in order to use this. This
work on your part is worth it.
This release has a great deal of changes from the 0.22
development series!
Most breaking changes should have reasonable error messages indicating how they
can be repaired.
Removed APIs do not have deprecation notices! Use of removed APIs will fail to
compile. You must check this changelog, or the crate documentation, to find
out appropriate replacements.
Type Parameter Reรถrdering
The <O, T>
type parameter pair that has existed since 0.10
is reversed
to be <T, O>
! This will cause all of your type definitions to fail, as
suddenly all of your chosen type arguments do not satisfy the demanded traits.
This change was made in accordance with [Issue #โ136], requested by GitHub user
[@โchanghe3].
Additional Changes
- The MSRV is raised to
1.56
.
BitField
now supports signed integers! BitMemory
is completely removed.
BitSlice::from_slice{,_mut}
are now infallible constructors, and panic when
the source is too long. The original fallible behavior is renamed to
BitSlice::try_from_slice{,_mut}
.
- the
{Bit,}DomainMut
types have been removed. The {Bit,}Domain
types now
take a Mutability
type parameter instead. The .{bit_,}domain{,_mut}()
methods on BitSlice
exist as normal, but have changed their return types to
specify a Const
or Mut
type parameter rather than {Bit,}Domain
or
{Bit,}DomainMut
, respectively.
Iter::by_{ref,val}
are renamed to by_{ref,val}s
, to prevent collision with
Iterator::by_ref
.
- The long-standing behavior of the
&=
, |=
, and ^=
operators has been
changed! They now operate directly on data structures, rather than routing
through iterators. If you want to perform boolean arithmetic using arbitrary
bool
streams, use iterator combinators like
.iter_mut().zip(stream).for_each(|(mut orig, new)| *orig ^= new)
. This
change allows the arithmetic implementations to be accelerated when working
between bit-slices of equal types.
BitSlice::set_all
is removed, as the standard-library API [T]::fill
replaces it.
BitSlice::offset_from
is removed. Use .as_bitptr().offset_from()
.
BitSlice::as_raw_slice
is removed. Use .domain()
to access the underlying
memory.
Documentation
Module and type documentation have been lifted into the doc/
tree as Markdown
files. The [user guide], in book/
has been more thoroughly rewritten.
Please file any problems or confusions about the documentation as an issue! The
documentation is a project artifact equally, if not more, important as the
Rust library.
Dependency Raises
As part of the migration of incidental logic out of bitvec
, the following
utility libraries have been updated:
funty 2.0
provides a more comprehensive coverage of the language primitives.
wyz 0.5
contains more logic formerly in the utility module, as well as a
stronger system for generalizing over references.
Configuration
๐
Schedule: Branch creation - "before 4am every weekend" in timezone Asia/Tokyo, Automerge - At any time (no schedule defined).
๐ฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.
โป Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
๐ Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, click this checkbox.
This PR has been generated by Mend Renovate. View repository job log here.
dependencies renovate