From 18793164edfd8e4b0bc33c1950beceb5837d974d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sosth=C3=A8ne=20Gu=C3=A9don?= Date: Mon, 11 Aug 2025 19:15:52 +0200 Subject: [PATCH 1/2] Enable more features in tests --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3421fa2a21..54e6b8156a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -48,7 +48,7 @@ jobs: components: miri - name: Run miri - run: MIRIFLAGS=-Zmiri-ignore-leaks cargo miri test + run: MIRIFLAGS=-Zmiri-ignore-leaks cargo miri test --features="defmt,mpmc_large,portable-atomic-critical-section,serde,ufmt,bytes" # Run cargo test test: @@ -84,7 +84,7 @@ jobs: toolchain: stable - name: Run cargo test - run: cargo test + run: cargo test --features="defmt,mpmc_large,portable-atomic-critical-section,serde,ufmt,bytes" # Run cargo fmt --check style: From 242a3bceadd69e65f7c5030d690c1c1eb0fa1922 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sosth=C3=A8ne=20Gu=C3=A9don?= Date: Mon, 11 Aug 2025 19:19:13 +0200 Subject: [PATCH 2/2] Fix broken tests and docs --- src/bytes.rs | 6 +++--- src/pool/arc.rs | 4 +++- src/pool/boxed.rs | 1 + src/pool/object.rs | 4 +++- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/bytes.rs b/src/bytes.rs index ef63872287..dec7ac72f8 100644 --- a/src/bytes.rs +++ b/src/bytes.rs @@ -61,13 +61,13 @@ mod tests { #[test] #[should_panic] fn buf_mut_advance_mut_out_of_bounds_view() { - let vec: &mut VecView = &mut Vec::::new(); + let vec: &mut VecView = &mut Vec::::new(); unsafe { vec.advance_mut(9) }; } #[test] fn buf_mut_remaining_mut_view() { - let vec: &mut VecView = &mut Vec::::new(); + let vec: &mut VecView = &mut Vec::::new(); assert_eq!(vec.remaining_mut(), 8); vec.push(42).unwrap(); assert_eq!(vec.remaining_mut(), 7); @@ -75,7 +75,7 @@ mod tests { #[test] fn buf_mut_chunk_mut_view() { - let vec: &mut VecView = &mut Vec::::new(); + let vec: &mut VecView = &mut Vec::::new(); assert_eq!(vec.chunk_mut().len(), 8); unsafe { vec.advance_mut(1) }; assert_eq!(vec.chunk_mut().len(), 7); diff --git a/src/pool/arc.rs b/src/pool/arc.rs index 7007236b4c..135163b64d 100644 --- a/src/pool/arc.rs +++ b/src/pool/arc.rs @@ -3,6 +3,7 @@ //! # Example usage //! //! ``` +//! use core::ptr::addr_of_mut; //! use heapless::{arc_pool, pool::arc::{Arc, ArcBlock}}; //! //! arc_pool!(MyArcPool: u128); @@ -45,6 +46,7 @@ //! to the `ArcPool`. This requires an intermediate `const` value as shown below: //! //! ``` +//! use core::ptr::addr_of_mut; //! use heapless::{arc_pool, pool::arc::ArcBlock}; //! //! arc_pool!(MyArcPool: u128); @@ -54,7 +56,7 @@ //! let blocks: &'static mut [ArcBlock] = { //! const BLOCK: ArcBlock = ArcBlock::new(); // <= //! static mut BLOCKS: [ArcBlock; POOL_CAPACITY] = [BLOCK; POOL_CAPACITY]; -//! unsafe { addr_of_mut!(BLOCK).as_mut().unwrap()S } +//! unsafe { addr_of_mut!(BLOCKS).as_mut().unwrap() } //! }; //! //! for block in blocks { diff --git a/src/pool/boxed.rs b/src/pool/boxed.rs index 770ee575b7..bd3b6ae737 100644 --- a/src/pool/boxed.rs +++ b/src/pool/boxed.rs @@ -61,6 +61,7 @@ //! to the `BoxPool`. This requires an intermediate `const` value as shown below: //! //! ``` +//! use core::ptr::addr_of_mut; //! use heapless::{box_pool, pool::boxed::BoxBlock}; //! //! box_pool!(MyBoxPool: u128); diff --git a/src/pool/object.rs b/src/pool/object.rs index 1a3f21b3b4..f647cdc8c4 100644 --- a/src/pool/object.rs +++ b/src/pool/object.rs @@ -3,6 +3,7 @@ //! # Example usage //! //! ``` +//! use core::ptr::addr_of_mut; //! use heapless::{object_pool, pool::object::{Object, ObjectBlock}}; //! //! object_pool!(MyObjectPool: [u8; 128]); @@ -46,6 +47,7 @@ //! to the `ObjectPool`. This requires an intermediate `const` value as shown below: //! //! ``` +//! use core::ptr::addr_of_mut; //! use heapless::{object_pool, pool::object::ObjectBlock}; //! //! object_pool!(MyObjectPool: [u8; 128]); @@ -55,7 +57,7 @@ //! let blocks: &'static mut [ObjectBlock<[u8; 128]>] = { //! const BLOCK: ObjectBlock<[u8; 128]> = ObjectBlock::new([0; 128]); // <= //! static mut BLOCKS: [ObjectBlock<[u8; 128]>; POOL_CAPACITY] = [BLOCK; POOL_CAPACITY]; -//! unsafe { addr_of_mut!(BLOCK).as_mut().unwrap()S } +//! unsafe { addr_of_mut!(BLOCKS).as_mut().unwrap() } //! }; //! //! for block in blocks {