From a028add7aed3cd9b343bd89055df54bde9f66045 Mon Sep 17 00:00:00 2001 From: Erin Power Date: Tue, 24 May 2022 10:17:58 +0200 Subject: [PATCH 01/11] Add support for bitvec 1.0.0 --- Cargo.toml | 2 +- src/input.rs | 67 ++++++++++++++++++++-------------------------- src/lib.rs | 4 +-- tests/bitstream.rs | 6 ++--- 4 files changed, 35 insertions(+), 44 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index e57690e..0e86284 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ categories = ["parsing"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -bitvec = "0.22.3" +bitvec = "1" nom = { version = "7.0.0", default-features = false } [features] diff --git a/src/input.rs b/src/input.rs index 47bdce9..eb8c896 100644 --- a/src/input.rs +++ b/src/input.rs @@ -1,4 +1,4 @@ -use bitvec::{prelude::*, slice::BitValIter}; +use bitvec::prelude::*; use core::iter::Enumerate; use core::ops::{Index, Range, RangeFrom, RangeFull, RangeTo}; use nom::error::{ErrorKind, ParseError}; @@ -10,7 +10,7 @@ use crate::lib::std::str::Chars;*/ use crate::BSlice; -impl<'a, O, T> InputLength for BSlice<'a, O, T> +impl<'a, T, O> InputLength for BSlice<'a, T, O> where O: BitOrder, T: 'a + BitStore, @@ -21,7 +21,7 @@ where } } -impl<'a, 'b, O, T> InputLength for &'b BSlice<'a, O, T> +impl<'a, 'b, T, O> InputLength for &'b BSlice<'a, T, O> where O: BitOrder, T: 'a + BitStore, @@ -32,26 +32,17 @@ where } } -impl<'a, O, T> Offset for BSlice<'a, O, T> +impl<'a, T, O> Offset for BSlice<'a, T, O> where O: BitOrder, T: BitStore, { #[inline(always)] fn offset(&self, second: &Self) -> usize { - second.0.offset_from(&self.0) as usize + unsafe { second.0.as_bitptr().offset_from(self.0.as_bitptr()) as usize } } } -impl<'a, O> AsBytes for BSlice<'a, O, u8> -where - O: BitOrder, -{ - #[inline(always)] - fn as_bytes(&self) -> &[u8] { - self.0.as_raw_slice() - } -} /* macro_rules! as_bytes_array_impls { ($($N:expr)+) => { @@ -83,14 +74,14 @@ as_bytes_array_impls! { 30 31 32 }*/ -impl<'a, O, T> InputIter for BSlice<'a, O, T> +impl<'a, T, O> InputIter for BSlice<'a, T, O> where O: BitOrder, T: 'a + BitStore, { type Item = bool; type Iter = Enumerate; - type IterElem = BitValIter<'a, O, T>; + type IterElem = Box + 'a>; #[inline] fn iter_indices(&self) -> Self::Iter { @@ -99,7 +90,7 @@ where #[inline] fn iter_elements(&self) -> Self::IterElem { - self.0.iter().by_val() + Box::from(self.0.iter().by_vals()) } #[inline] @@ -120,7 +111,7 @@ where } } -impl<'a, O, T> InputTake for BSlice<'a, O, T> +impl<'a, T, O> InputTake for BSlice<'a, T, O> where O: BitOrder, T: 'a + BitStore, @@ -138,7 +129,7 @@ where } /* -impl<'a, 'b, O, T> InputTake for &'b BSlice<'a, O, T> +impl<'a, 'b, T, O> InputTake for &'b BSlice<'a, T, O> where O: BitOrder, T: 'a + BitStore, @@ -156,7 +147,7 @@ where } */ -impl<'a, O, T> InputTakeAtPosition for BSlice<'a, O, T> +impl<'a, T, O> InputTakeAtPosition for BSlice<'a, T, O> where O: BitOrder, T: 'a + BitStore, @@ -169,7 +160,7 @@ where { self.0 .iter() - .by_val() + .by_vals() .position(predicate) .map(|i| { let (a, b) = self.0.split_at(i); @@ -186,7 +177,7 @@ where where P: Fn(Self::Item) -> bool, { - match self.0.iter().by_val().position(predicate) { + match self.0.iter().by_vals().position(predicate) { Some(0) => { let s = BSlice(self.0.split_at(0).1); Err(Err::Error(E::from_error_kind(s, e))) @@ -228,7 +219,7 @@ where where P: Fn(Self::Item) -> bool, { - match self.0.iter().by_val().position(predicate) { + match self.0.iter().by_vals().position(predicate) { Some(0) => { let s = BSlice(self.0.split_at(0).1); Err(Err::Error(E::from_error_kind(s, e))) @@ -250,7 +241,7 @@ where } } -impl<'a, 'b, O1, O2, T1, T2> Compare> for BSlice<'a, O1, T1> +impl<'a, 'b, O1, O2, T1, T2> Compare> for BSlice<'a, T1, O1> where O1: BitOrder, O2: BitOrder, @@ -258,7 +249,7 @@ where T2: 'a + BitStore, { #[inline] - fn compare(&self, other: BSlice<'b, O2, T2>) -> CompareResult { + fn compare(&self, other: BSlice<'b, T2, O2>) -> CompareResult { match self.0.iter().zip(other.0.iter()).position(|(a, b)| a != b) { Some(_) => CompareResult::Error, None => { @@ -272,39 +263,39 @@ where } #[inline(always)] - fn compare_no_case(&self, other: BSlice<'b, O2, T2>) -> CompareResult { + fn compare_no_case(&self, other: BSlice<'b, T2, O2>) -> CompareResult { self.compare(other) } } -impl<'a, O, T> FindToken for BSlice<'a, O, T> +impl<'a, T, O> FindToken for BSlice<'a, T, O> where O: BitOrder, T: 'a + BitStore, { fn find_token(&self, token: bool) -> bool { - self.0.iter().by_val().any(|i| i == token) + self.0.iter().any(|i| i == token) } } -impl<'a, O, T> FindToken<(usize, bool)> for BSlice<'a, O, T> +impl<'a, T, O> FindToken<(usize, bool)> for BSlice<'a, T, O> where O: BitOrder, T: 'a + BitStore, { fn find_token(&self, token: (usize, bool)) -> bool { - self.0.iter().by_val().enumerate().any(|i| i == token) + self.0.iter().enumerate().any(|(i, t)| (i, *t) == token) } } -impl<'a, 'b, O1, O2, T1, T2> FindSubstring> for BSlice<'a, O1, T1> +impl<'a, 'b, O1, O2, T1, T2> FindSubstring> for BSlice<'a, T1, O1> where O1: BitOrder, O2: BitOrder, T1: 'a + BitStore, T2: 'b + BitStore, { - fn find_substring(&self, substr: BSlice) -> Option { + fn find_substring(&self, substr: BSlice) -> Option { if substr.0.len() > self.0.len() { return None; } @@ -329,7 +320,7 @@ macro_rules! impl_fn_slice { macro_rules! slice_range_impl { ( BSlice, $ty:ty ) => { - impl<'a, O, T> Slice<$ty> for BSlice<'a, O, T> + impl<'a, T, O> Slice<$ty> for BSlice<'a, T, O> where O: BitOrder, T: BitStore, @@ -351,16 +342,16 @@ macro_rules! slice_ranges_impl { slice_ranges_impl! {BSlice} #[cfg(feature = "alloc")] -impl<'a, O, T> ExtendInto for BSlice<'a, O, T> +impl<'a, T, O> ExtendInto for BSlice<'a, T, O> where O: BitOrder, T: BitStore, { type Item = bool; - type Extender = BitVec; + type Extender = BitVec; #[inline] - fn new_builder(&self) -> BitVec { + fn new_builder(&self) -> BitVec { BitVec::new() } @@ -370,7 +361,7 @@ where } } -impl<'a, O, T> Index for BSlice<'a, O, T> +impl<'a, T, O> Index for BSlice<'a, T, O> where O: BitOrder, T: BitStore, @@ -383,7 +374,7 @@ where } /* -impl<'a, O, T> Index> for BSlice<'a, O, T> +impl<'a, T, O> Index> for BSlice<'a, T, O> where O: BitOrder, T: BitStore, diff --git a/src/lib.rs b/src/lib.rs index 861aecb..c01cfac 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -20,5 +20,5 @@ mod input; #[derive(Copy, Clone, Debug, PartialEq, Eq)] #[repr(transparent)] -pub struct BSlice<'a, O: BitOrder, T: BitStore>(pub &'a BitSlice); -pub struct BArray(pub BitArray); +pub struct BSlice<'a, T: BitStore, O: BitOrder>(pub &'a BitSlice); +pub struct BArray(pub BitArray); diff --git a/tests/bitstream.rs b/tests/bitstream.rs index 2eb1899..d2f51fb 100644 --- a/tests/bitstream.rs +++ b/tests/bitstream.rs @@ -11,7 +11,7 @@ fn parse_bitstream() { let data = [0xA5u8, 0x69, 0xF0, 0xC3]; let bits = data.view_bits::(); - fn parser(bits: BSlice) -> IResult, BSlice> { + fn parser(bits: BSlice) -> IResult, BSlice> { tag(BSlice(bits![1, 0, 1, 0]))(bits) } @@ -26,8 +26,8 @@ fn parse_bitstream_map() { let data = [0b1000_0000]; let bits = data.view_bits::(); - fn parser(bits: BSlice) -> IResult, bool> { - map(take(1_u8), |val: BSlice| val[0])(bits) + fn parser(bits: BSlice) -> IResult, bool> { + map(take(1_u8), |val: BSlice| val[0])(bits) } assert_eq!(parser(BSlice(bits)), Ok((BSlice(&bits[1..]), true))); From c69595dbe3c3a4d3fea7725d90f8ab7b9af07ef3 Mon Sep 17 00:00:00 2001 From: Erin Power Date: Wed, 25 May 2022 08:05:30 +0200 Subject: [PATCH 02/11] Impl From bitvec types --- src/lib.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index c01cfac..8b7f894 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -22,3 +22,15 @@ mod input; #[repr(transparent)] pub struct BSlice<'a, T: BitStore, O: BitOrder>(pub &'a BitSlice); pub struct BArray(pub BitArray); + +impl<'a, T: BitStore, O: BitOrder> From<&'a BitSlice> for BSlice<'a, T, O> { + fn from(slice: &'a BitSlice) -> Self { + Self(slice) + } +} + +impl From> for BArray { + fn from(slice: BitArray) -> Self { + Self(slice) + } +} From 7a24194b2034aa5583579d904b0898d77b75db5b Mon Sep 17 00:00:00 2001 From: Erin Power Date: Fri, 1 Jul 2022 14:38:00 +0200 Subject: [PATCH 03/11] Add #[no_std] support --- src/input.rs | 4 ++-- src/lib.rs | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/input.rs b/src/input.rs index eb8c896..4c9d25a 100644 --- a/src/input.rs +++ b/src/input.rs @@ -81,7 +81,7 @@ where { type Item = bool; type Iter = Enumerate; - type IterElem = Box + 'a>; + type IterElem = alloc::boxed::Box + 'a>; #[inline] fn iter_indices(&self) -> Self::Iter { @@ -90,7 +90,7 @@ where #[inline] fn iter_elements(&self) -> Self::IterElem { - Box::from(self.0.iter().by_vals()) + alloc::boxed::Box::from(self.0.iter().by_vals()) } #[inline] diff --git a/src/lib.rs b/src/lib.rs index 8b7f894..204e9ab 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -14,6 +14,10 @@ //! //! assert_eq!(parser(bits), Ok((&bits[..4], &bits[4..]))); //! ``` +#![no_std] + +extern crate alloc; + use bitvec::prelude::*; mod input; From 44a9916f15d7cde2fb99c6e9fe197f893fa21767 Mon Sep 17 00:00:00 2001 From: Erin Power Date: Fri, 1 Jul 2022 14:38:36 +0200 Subject: [PATCH 04/11] impl core::ops::Deref for wrapper types --- src/lib.rs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index 204e9ab..14f2b9c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -33,8 +33,36 @@ impl<'a, T: BitStore, O: BitOrder> From<&'a BitSlice> for BSlice<'a, T, O> } } +impl<'a, T: BitStore, O: BitOrder> From> for &'a BitSlice { + fn from(slice: BSlice<'a, T, O>) -> Self { + slice.0 + } +} + +impl<'a, T: BitStore, O: BitOrder> core::ops::Deref for BSlice<'_, T, O> { + type Target = BitSlice; + + fn deref(&self) -> &Self::Target { + self.0 + } +} + impl From> for BArray { fn from(slice: BitArray) -> Self { Self(slice) } } + +impl From> for BitArray { + fn from(slice: BArray) -> Self { + slice.0 + } +} + +impl<'a, T: BitStore, O: BitOrder> core::ops::Deref for BArray { + type Target = BitArray; + + fn deref(&self) -> &Self::Target { + &self.0 + } +} From 397d466124aa8368b1b4f827befe21783a387fba Mon Sep 17 00:00:00 2001 From: Erin Power Date: Wed, 26 Oct 2022 12:55:21 +0200 Subject: [PATCH 05/11] Add back AsBytes impl --- src/input.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/input.rs b/src/input.rs index 4c9d25a..1728fb1 100644 --- a/src/input.rs +++ b/src/input.rs @@ -43,6 +43,21 @@ where } } +impl<'a, O> AsBytes for BSlice<'a, u8, O> +where + O: BitOrder, +{ + #[inline(always)] + fn as_bytes(&self) -> &[u8] { + let domain = self.0.domain(); + let region = domain + .region() + .expect("expected memory region from bit slice"); + + region.1 + } +} + /* macro_rules! as_bytes_array_impls { ($($N:expr)+) => { From d9fbdf9fabe23ba5040520d29bc2d553389e92af Mon Sep 17 00:00:00 2001 From: Erin Power Date: Wed, 26 Oct 2022 12:56:40 +0200 Subject: [PATCH 06/11] Rename crate --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 0e86284..eb5df08 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "nom-bitvec" +name = "bitvec-nom" version = "0.2.0" edition = "2018" description = "Bit level parsing for nom with bitvec" From a85b838a9ee8f6179eae8573b02b17a6a6deb28c Mon Sep 17 00:00:00 2001 From: Erin Power Date: Tue, 11 Jul 2023 16:50:35 +0200 Subject: [PATCH 07/11] New name --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index eb5df08..81246b9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "bitvec-nom" +name = "bitvec-nom2" version = "0.2.0" edition = "2018" description = "Bit level parsing for nom with bitvec" From f7b806749f364bbe4332393f7ac20a57cd461692 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20Bro=C5=84ski?= Date: Sat, 15 Jun 2024 00:36:21 +0200 Subject: [PATCH 08/11] Disable default `bitvec` features to avoid `std`. --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 81246b9..a95a489 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ categories = ["parsing"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -bitvec = "1" +bitvec = { version = "1", default-features = false, features = ["alloc"] } nom = { version = "7.0.0", default-features = false } [features] From 685e37c1ac67472e2ad82809a40b1bf91ff85fb9 Mon Sep 17 00:00:00 2001 From: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com> Date: Fri, 16 Aug 2024 12:44:14 +0200 Subject: [PATCH 09/11] Create release-plz.yaml --- .github/workflows/release-plz.yaml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/workflows/release-plz.yaml diff --git a/.github/workflows/release-plz.yaml b/.github/workflows/release-plz.yaml new file mode 100644 index 0000000..6a072b7 --- /dev/null +++ b/.github/workflows/release-plz.yaml @@ -0,0 +1,28 @@ +name: Release-plz + +permissions: + pull-requests: write + contents: write + +on: + push: + branches: + - main + +jobs: + + release-plz: + name: Release-plz + runs-on: ubuntu-22.04 + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@stable + - name: Run release-plz + uses: MarcoIeni/release-plz-action@v0.5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} From 549a30ec099ed5127112d054bdef3178507c6070 Mon Sep 17 00:00:00 2001 From: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com> Date: Fri, 16 Aug 2024 12:45:42 +0200 Subject: [PATCH 10/11] Create rust.yml --- .github/workflows/rust.yml | 191 +++++++++++++++++++++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 .github/workflows/rust.yml diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml new file mode 100644 index 0000000..1c727c8 --- /dev/null +++ b/.github/workflows/rust.yml @@ -0,0 +1,191 @@ +name: Mean Bean CI + +on: [push, pull_request] + +jobs: + # This job downloads and stores `cross` as an artifact, so that it can be + # redownloaded across all of the jobs. Currently this copied pasted between + # `ci.yml` and `deploy.yml`. Make sure to update both places when making + # changes. + install-cross: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + with: + depth: 50 + - uses: XAMPPRocky/get-github-release@v1 + id: cross + with: + owner: rust-embedded + repo: cross + matches: ${{ matrix.platform }} + token: ${{ secrets.GITHUB_TOKEN }} + - uses: actions/upload-artifact@v1 + with: + name: cross-${{ matrix.platform }} + path: ${{ steps.cross.outputs.install_path }} + strategy: + matrix: + platform: [linux-musl, apple-darwin] + + windows: + runs-on: windows-latest + # Windows technically doesn't need this, but if we don't block windows on it + # some of the windows jobs could fill up the concurrent job queue before + # one of the install-cross jobs has started, so this makes sure all + # artifacts are downloaded first. + needs: install-cross + steps: + - uses: actions/checkout@v2 + with: + depth: 50 + - run: ci/set_rust_version.bash ${{ matrix.channel }} ${{ matrix.target }} + shell: bash + - run: ci/build.bash cargo ${{ matrix.target }} + shell: bash + - run: ci/test.bash cargo ${{ matrix.target }} + shell: bash + - run: ci/fmt-check.bash cargo + shell: bash + - run: ci/clippy.bash cargo + if: matrix.target == 'stable' + shell: bash + + strategy: + fail-fast: true + matrix: + channel: [stable, beta, nightly] + target: + # MSVC + - i686-pc-windows-msvc + - x86_64-pc-windows-msvc + # GNU: You typically only need to test Windows GNU if you're + # specifically targetting it, and it can cause issues with some + # dependencies if you're not so it's disabled by self. + # - i686-pc-windows-gnu + # - x86_64-pc-windows-gnu + + macos: + runs-on: macos-latest + needs: install-cross + steps: + - uses: actions/checkout@v2 + with: + depth: 50 + + - uses: actions/download-artifact@v1 + with: + name: cross-apple-darwin + path: /usr/local/bin/ + + - run: chmod +x /usr/local/bin/cross + + - run: ci/set_rust_version.bash ${{ matrix.channel }} ${{ matrix.target }} + - run: ci/build.bash cross ${{ matrix.target }} + # Only test on macOS platforms since we can't simulate the others. + - run: ci/test.bash cross ${{ matrix.target }} + if: matrix.target == 'x86_64-apple-darwin' + - run: ci/fmt-check.bash cargo + shell: bash + - run: ci/clippy.bash cargo + if: matrix.target == 'stable' + shell: bash + + strategy: + fail-fast: true + matrix: + channel: [stable, beta, nightly] + target: + # macOS + - x86_64-apple-darwin + # iOS + - aarch64-apple-ios + - x86_64-apple-ios + + linux: + runs-on: ubuntu-latest + needs: install-cross + steps: + - uses: actions/checkout@v2 + with: + depth: 50 + + - name: Download Cross + uses: actions/download-artifact@v1 + with: + name: cross-linux-musl + path: /tmp/ + - run: chmod +x /tmp/cross + - run: ci/set_rust_version.bash ${{ matrix.channel }} ${{ matrix.target }} + - run: ci/build.bash /tmp/cross ${{ matrix.target }} + # These targets have issues with being tested so they are disabled + # by default. You can try disabling to see if they work for + # your project. + - run: ci/test.bash /tmp/cross ${{ matrix.target }} + if: | + !contains(matrix.target, 'android') && + !contains(matrix.target, 'bsd') && + !contains(matrix.target, 'solaris') && + matrix.target != 'armv5te-unknown-linux-musleabi' && + matrix.target != 'sparc64-unknown-linux-gnu' + - run: ci/fmt-check.bash cargo + shell: bash + - run: ci/clippy.bash cargo + if: matrix.target == 'stable' + shell: bash + + strategy: + fail-fast: true + matrix: + channel: [stable, beta, nightly] + target: + # WASM, off by default as most rust projects aren't compatible yet. + # - wasm32-unknown-emscripten + # Linux + - aarch64-unknown-linux-gnu + - aarch64-unknown-linux-musl + - arm-unknown-linux-gnueabi + - arm-unknown-linux-gnueabihf + - arm-unknown-linux-musleabi + - arm-unknown-linux-musleabihf + - armv5te-unknown-linux-musleabi + - armv7-unknown-linux-gnueabihf + - armv7-unknown-linux-musleabihf + - i586-unknown-linux-gnu + - i586-unknown-linux-musl + - i686-unknown-linux-gnu + - i686-unknown-linux-musl + # - mips-unknown-linux-gnu + # - mips-unknown-linux-musl + # - mips64-unknown-linux-gnuabi64 + # - mips64el-unknown-linux-gnuabi64 + # - mipsel-unknown-linux-gnu + # - mipsel-unknown-linux-musl + - s390x-unknown-linux-gnu + - x86_64-unknown-linux-gnu + - x86_64-unknown-linux-musl + # - sparc64-unknown-linux-gnu + # Android + # - aarch64-linux-android + # - arm-linux-androideabi + # - armv7-linux-androideabi + # - i686-linux-android + # - x86_64-linux-android + # *BSD + # The FreeBSD targets can have issues linking so they are disabled + # by default. + # - i686-unknown-freebsd + # - x86_64-unknown-freebsd + # - x86_64-unknown-netbsd + # DragonFly (Doesn't currently work) + # - x86_64-unknown-dragonfly + # Solaris + # - sparcv9-sun-solaris + # - x86_64-sun-solaris + # Bare Metal + # These are no-std embedded targets, so they will only build if your + # crate is `no_std` compatible. + # - thumbv6m-none-eabi + # - thumbv7em-none-eabi + # - thumbv7em-none-eabihf + # - thumbv7m-none-eabi From dcb55c50615b078ac3f7217db11dbe2967769108 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 28 Aug 2024 09:15:30 +0200 Subject: [PATCH 11/11] chore: release (#2) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- CHANGELOG.md | 14 ++++++++++++++ Cargo.toml | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..4ba217d --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,14 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.2.1](https://github.com/XAMPPRocky/nom-bitvec/compare/v0.2.0...v0.2.1) - 2024-08-16 + +### Other +- Create rust.yml +- Create release-plz.yaml +- Disable default `bitvec` features to avoid `std`. diff --git a/Cargo.toml b/Cargo.toml index a95a489..09b25d2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bitvec-nom2" -version = "0.2.0" +version = "0.2.1" edition = "2018" description = "Bit level parsing for nom with bitvec" license = "MIT"