Update Rust crate heapless to 0.9.0 #14

Open
renovate wants to merge 1 commit from renovate/heapless-0.x into main
Collaborator

This PR contains the following updates:

Package Type Update Change
heapless dependencies minor 0.8.00.9.0

Release Notes

rust-embedded/heapless (heapless)

v0.9.2

Compare Source

  • Added from_bytes_truncating_at_nul to CString
  • Added missing ?Sized bounds in PartialEq implementations
  • Make PartialEq implementation for DequeInner and HistoryBufInner generic over the storage of the RHS

v0.9.1

Compare Source

Added
  • Added String::insert and String::insert_str.
Added
  • Added optional embedded_io::Write impl for Vec.
Changed
  • bytes::BufMut is now implemented on VecInner.
  • Removed generic from history_buf::OldestOrdered.
  • Made LenType opt-in.
  • Minor fixes to pool::boxed docs.
  • Add missing Debug derive to vec::IntoIter.
  • Removed generic from spsc::Consumer, spsc::Producer and spsc::Iter.
  • Added LinearMap::entry() API.
  • Added LinearMap::retain().
Fixed
  • CI now uses flags specified in Cargo.toml for rustdoc tests.
  • Fixed clippy lints.
  • Fixed the memory layout of the internal UnionNode<T> type, fixing possible Undefined Behaviour.
Removed
  • Removed invalid bytes::Buf implementation.
  • Removed DefaultLenType struct.

v0.9.0

Compare Source

Added
  • Added bytes::Buf and bytes::BufMut implementations for Vec.
  • Added format macro.
  • Added String::from_utf16.
  • Added is_full, recent_index, oldest, and oldest_index to HistoryBuffer
  • Added is_full to BinaryHeap
  • Added is_full to IndexMap
  • Added is_full to IndexSet
  • Added is_full to LinearMap
  • Added infallible conversions from arrays to Vec.
  • Added Vec::spare_capacity_mut.
  • Added Extend impls for Deque.
  • Added Deque::make_contiguous.
  • Added VecView, the !Sized version of Vec.
  • Added pool implementations for 64-bit architectures.
  • Added IntoIterator implementation for LinearMap
  • Added Deque::{get, get_mut, get_unchecked, get_unchecked_mut}.
  • Added serde::Serialize and serde::Deserialize implementations to HistoryBuffer.
  • Added Vec::drain.
  • Added String::drain.
  • Implemented DoubleEndedIterator for OldestOrdered.
  • Added std Entry methods to indexmap Entry.
  • Added StringView, the !Sized version of String.
  • Added BinaryHeapView, the !Sized version of BinaryHeap.
  • Added MpMcQueueView, the !Sized version of MpMcQueue.
  • Added LinearMapView, the !Sized version of LinearMap.
  • Added HistoryBufferView, the !Sized version of HistoryBuffer.
  • Added DequeView, the !Sized version of Deque.
  • Added QueueView, the !Sized version of Queue.
  • Added SortedLinkedListView, the !Sized version of SortedLinkedList.
  • Added implementation of Borrow and BorrowMut for String and Vec.
  • Added Deque::{swap, swap_unchecked, swap_remove_front, swap_remove_back}.
  • Make String::from_utf8_unchecked const.
  • Implemented PartialEq and Eq for Deque.
  • Added alloc feature to enable alloc-Vec interoperability.
  • Added TryFrom<alloc::vec::Vec> impl for Vec.
  • Added TryFrom<Vec> impl for alloc::vec::Vec.
  • Added truncate to IndexMap.
  • Added get_index and get_index_mut to IndexMap.
  • Added String::uDisplay.
  • Added CString.
  • Added LenT generic to Vec<T, N> and VecView<T> to save memory when using a sane capacity value.
  • Added the index_set module.
  • Added the index_map module.
  • Migrated Idx generic for SortedLinkedList to use the new LenType trait, allowing for Idx inference.
  • Added similar LenT generic to String.
  • Optimize size of zero capacity Vec<T, 0> to be 0 bytes
Changed
  • Updated defmt from 0.3 to 1.0.1
    • Changed the feature name from defmt-03 to defmt.
  • Changed the error type of these methods from () to CapacityError.
    • String::push_str
    • String::push
    • Vec::extend_from_slice
    • Vec::from_slice
    • Vec::resize_default
    • Vec::resize
  • Renamed FromUtf16Error::DecodeUtf16Error to FromUtf16Error::DecodeUtf16.
  • Changed stable_deref_trait to a platform-dependent dependency.
  • Changed SortedLinkedList::pop return type from Result<T, ()> to Option<T> to match std::vec::pop.
  • Vec::capacity is no longer a const function.
  • Relaxed bounds on PartialEq for IndexMap from V: Eq to V1: PartialEq<V2>.
  • Relaxed bounds on PartialEq for LinearMap from V: PartialEq to V1: PartialEq<V2>.
  • The FnvIndexSet type is now inside the index_set module.
  • The IndexSetIter type is now inside the index_set module and has been renamed to Iter.
  • The Bucket type is now inside the index_map module.
  • The Entry type is now inside the index_map module.
  • The FnvIndexMap type is now inside the index_map module.
  • The IndexMapIter type is now inside the index_map module and has been renamed to Iter.
  • The IndexMapIterMut type is now inside the index_map module and has been renamed to IterMut.
  • The IndexMapKeys type is now inside the index_map module and has been renamed to Keys.
  • The OccupiedEntry type is now inside the index_map module.
  • The Pos type is now inside the index_map module.
  • The VacantEntry type is now inside the index_map module.
  • The VacantEntry type is now inside the index_map module.
  • The IndexMapValues type is now inside the index_map module and has been renamed to Values.
  • The IndexMapValuesMut type is now inside the index_map module and has been renamed to ValuesMut.
  • The histbuf module has been renamed to history_buf.
  • The HistoryBuffer type has been renamed to HistoryBuf.
  • The HistoryBufferView type has been renamed to HistoryBufView.
  • The OwnedHistBufStorage type has been renamed to OwnedHistoryBufStorage.
  • The ViewHistBufStorage type has been renamed to ViewHistoryBufStorage.
  • The MpMcQueue type has been renamed to Queue.
  • The MpMcQueueView type has been renamed to QueueView.
  • The MpMcQueueInner type has been renamed to QueueInner.
  • Remove Q* type aliases for MpMcQueue, and rename it to just Queue
  • Changed Queue::split to be const.
Fixed
  • Fixed bug in IndexMap::truncate that left the map in an inconsistent state.
  • Fixed compilation on thumbv6m-none-eabi without portable-atomic feature.
  • Fixed clippy lints.
  • Fixed {arc,box,object}_pool! emitting clippy lints.
  • Fixed the list of implemented data structures in the crate docs, by adding Deque,
    HistoryBuffer and SortedLinkedList to the list.
  • Fixed MpMcQueue with mpmc_large feature.
  • Fix missing Drop for MpMcQueue
Removed
  • Vec::storage_capacity has been removed and Vec::capacity must be used instead.
  • Removed sorted_linked_list::Iter and sorted_linked_list::IterInner.
  • Removed sorted_linked_list::FindMut and sorted_linked_list::FindMutInner.
  • The Q2, Q4, Q8, Q16, Q32 and Q64 aliases for MpMcQueue have been removed.
  • doc_auto_cfg feature which was merged into doc_cfg. Presence of the feature led to doc
    build failures on nightly.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), 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, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [heapless](https://github.com/rust-embedded/heapless) | dependencies | minor | `0.8.0` → `0.9.0` | --- ### Release Notes <details> <summary>rust-embedded/heapless (heapless)</summary> ### [`v0.9.2`](https://github.com/rust-embedded/heapless/blob/HEAD/CHANGELOG.md#v092-2025-11-12) [Compare Source](https://github.com/rust-embedded/heapless/compare/v0.9.1...v0.9.2) - Added `from_bytes_truncating_at_nul` to `CString` - Added missing `?Sized` bounds in `PartialEq` implementations - Make `PartialEq` implementation for `DequeInner` and `HistoryBufInner` generic over the storage of the RHS ### [`v0.9.1`](https://github.com/rust-embedded/heapless/blob/HEAD/CHANGELOG.md#v091---2025-08-19) [Compare Source](https://github.com/rust-embedded/heapless/compare/v0.9.0...v0.9.1) ##### Added - Added `String::insert` and `String::insert_str`. ##### Added - Added optional `embedded_io::Write` impl for `Vec`. ##### Changed - `bytes::BufMut` is now implemented on `VecInner`. - Removed generic from `history_buf::OldestOrdered`. - Made `LenType` opt-in. - Minor fixes to `pool::boxed` docs. - Add missing `Debug` derive to `vec::IntoIter`. - Removed generic from `spsc::Consumer`, `spsc::Producer` and `spsc::Iter`. - Added `LinearMap::entry()` API. - Added `LinearMap::retain()`. ##### Fixed - CI now uses flags specified in `Cargo.toml` for `rustdoc` tests. - Fixed clippy lints. - Fixed the memory layout of the internal `UnionNode<T>` type, fixing possible Undefined Behaviour. ##### Removed - Removed invalid `bytes::Buf` implementation. - Removed `DefaultLenType` struct. ### [`v0.9.0`](https://github.com/rust-embedded/heapless/blob/HEAD/CHANGELOG.md#v090---2025-04-28-YANKED) [Compare Source](https://github.com/rust-embedded/heapless/compare/v0.8.0...v0.9.0) ##### Added - Added `bytes::Buf` and `bytes::BufMut` implementations for `Vec`. - Added `format` macro. - Added `String::from_utf16`. - Added `is_full`, `recent_index`, `oldest`, and `oldest_index` to `HistoryBuffer` - Added `is_full` to `BinaryHeap` - Added `is_full` to `IndexMap` - Added `is_full` to `IndexSet` - Added `is_full` to `LinearMap` - Added infallible conversions from arrays to `Vec`. - Added `Vec::spare_capacity_mut`. - Added `Extend` impls for `Deque`. - Added `Deque::make_contiguous`. - Added `VecView`, the `!Sized` version of `Vec`. - Added pool implementations for 64-bit architectures. - Added `IntoIterator` implementation for `LinearMap` - Added `Deque::{get, get_mut, get_unchecked, get_unchecked_mut}`. - Added `serde::Serialize` and `serde::Deserialize` implementations to `HistoryBuffer`. - Added `Vec::drain`. - Added `String::drain`. - Implemented `DoubleEndedIterator` for `OldestOrdered`. - Added std `Entry` methods to indexmap `Entry`. - Added `StringView`, the `!Sized` version of `String`. - Added `BinaryHeapView`, the `!Sized` version of `BinaryHeap`. - Added `MpMcQueueView`, the `!Sized` version of `MpMcQueue`. - Added `LinearMapView`, the `!Sized` version of `LinearMap`. - Added `HistoryBufferView`, the `!Sized` version of `HistoryBuffer`. - Added `DequeView`, the `!Sized` version of `Deque`. - Added `QueueView`, the `!Sized` version of `Queue`. - Added `SortedLinkedListView`, the `!Sized` version of `SortedLinkedList`. - Added implementation of `Borrow` and `BorrowMut` for `String` and `Vec`. - Added `Deque::{swap, swap_unchecked, swap_remove_front, swap_remove_back}`. - Make `String::from_utf8_unchecked` const. - Implemented `PartialEq` and `Eq` for `Deque`. - Added `alloc` feature to enable `alloc`-Vec interoperability. - Added `TryFrom<alloc::vec::Vec>` impl for `Vec`. - Added `TryFrom<Vec>` impl for `alloc::vec::Vec`. - Added `truncate` to `IndexMap`. - Added `get_index` and `get_index_mut` to `IndexMap`. - Added `String::uDisplay`. - Added `CString`. - Added `LenT` generic to `Vec<T, N>` and `VecView<T>` to save memory when using a sane capacity value. - Added the `index_set` module. - Added the `index_map` module. - Migrated `Idx` generic for `SortedLinkedList` to use the new `LenType` trait, allowing for `Idx` inference. - Added similar `LenT` generic to `String`. - Optimize size of zero capacity `Vec<T, 0>` to be 0 bytes ##### Changed - Updated defmt from 0.3 to 1.0.1 - Changed the feature name from `defmt-03` to `defmt`. - Changed the error type of these methods from `()` to `CapacityError`. - `String::push_str` - `String::push` - `Vec::extend_from_slice` - `Vec::from_slice` - `Vec::resize_default` - `Vec::resize` - Renamed `FromUtf16Error::DecodeUtf16Error` to `FromUtf16Error::DecodeUtf16`. - Changed `stable_deref_trait` to a platform-dependent dependency. - Changed `SortedLinkedList::pop` return type from `Result<T, ()>` to `Option<T>` to match `std::vec::pop`. - `Vec::capacity` is no longer a `const` function. - Relaxed bounds on `PartialEq` for `IndexMap` from `V: Eq` to `V1: PartialEq<V2>`. - Relaxed bounds on `PartialEq` for `LinearMap` from `V: PartialEq` to `V1: PartialEq<V2>`. - The `FnvIndexSet` type is now inside the `index_set` module. - The `IndexSetIter` type is now inside the `index_set` module and has been renamed to `Iter`. - The `Bucket` type is now inside the `index_map` module. - The `Entry` type is now inside the `index_map` module. - The `FnvIndexMap` type is now inside the `index_map` module. - The `IndexMapIter` type is now inside the `index_map` module and has been renamed to `Iter`. - The `IndexMapIterMut` type is now inside the `index_map` module and has been renamed to `IterMut`. - The `IndexMapKeys` type is now inside the `index_map` module and has been renamed to `Keys`. - The `OccupiedEntry` type is now inside the `index_map` module. - The `Pos` type is now inside the `index_map` module. - The `VacantEntry` type is now inside the `index_map` module. - The `VacantEntry` type is now inside the `index_map` module. - The `IndexMapValues` type is now inside the `index_map` module and has been renamed to `Values`. - The `IndexMapValuesMut` type is now inside the `index_map` module and has been renamed to `ValuesMut`. - The `histbuf` module has been renamed to `history_buf`. - The `HistoryBuffer` type has been renamed to `HistoryBuf`. - The `HistoryBufferView` type has been renamed to `HistoryBufView`. - The `OwnedHistBufStorage` type has been renamed to `OwnedHistoryBufStorage`. - The `ViewHistBufStorage` type has been renamed to `ViewHistoryBufStorage`. - The `MpMcQueue` type has been renamed to `Queue`. - The `MpMcQueueView` type has been renamed to `QueueView`. - The `MpMcQueueInner` type has been renamed to `QueueInner`. - Remove `Q*` type aliases for `MpMcQueue`, and rename it to just `Queue` - Changed `Queue::split` to be `const`. ##### Fixed - Fixed bug in `IndexMap::truncate` that left the map in an inconsistent state. - Fixed compilation on `thumbv6m-none-eabi` without `portable-atomic` feature. - Fixed clippy lints. - Fixed `{arc,box,object}_pool!` emitting clippy lints. - Fixed the list of implemented data structures in the crate docs, by adding `Deque`, `HistoryBuffer` and `SortedLinkedList` to the list. - Fixed `MpMcQueue` with `mpmc_large` feature. - Fix missing `Drop` for `MpMcQueue` ##### Removed - `Vec::storage_capacity` has been removed and `Vec::capacity` must be used instead. - Removed `sorted_linked_list::Iter` and `sorted_linked_list::IterInner`. - Removed `sorted_linked_list::FindMut` and `sorted_linked_list::FindMutInner`. - The `Q2`, `Q4`, `Q8`, `Q16`, `Q32` and `Q64` aliases for `MpMcQueue` have been removed. - `doc_auto_cfg` feature which was merged into `doc_cfg`. Presence of the feature led to doc build failures on nightly. </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My43Ni4zIiwidXBkYXRlZEluVmVyIjoiNDMuNzYuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Update Rust crate heapless to 0.9.0
Some checks failed
renovate/artifacts Artifact file update failure
8235e10eda
Author
Collaborator

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --workspace
    Updating crates.io index
    Updating git repository `https://github.com/smoltcp-rs/smoltcp`
From https://github.com/smoltcp-rs/smoltcp
 * [new ref]         dd43c8f189178b0ab3bda798ed8578b5b0a6f094 -> refs/commit/dd43c8f189178b0ab3bda798ed8578b5b0a6f094
    Updating git repository `https://github.com/embassy-rs/stm32-data-generated`
From https://github.com/embassy-rs/stm32-data-generated
 * [new ref]             e442835159a7a311410cd4a2879da52c6f57af52 -> refs/commit/e442835159a7a311410cd4a2879da52c6f57af52
error: failed to select a version for `heapless`.
    ... required by package `go-tracker v0.1.0 (/tmp/renovate/repos/forgejo/malled/go-tracker)`
versions that meet the requirements `^0.9.0` are: 0.9.2, 0.9.1

package `go-tracker` depends on `heapless` with feature `defmt-03` but `heapless` does not have that feature.
 package `heapless` does have feature `defmt`


failed to select a version for `heapless` which could resolve this conflict

### ⚠️ Artifact update problem Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is. ♻ Renovate will retry this branch, including artifacts, only when one of the following happens: - any of the package files in this branch needs updating, or - the branch becomes conflicted, or - you click the rebase/retry checkbox if found above, or - you rename this PR's title to start with "rebase!" to trigger it manually The artifact failure details are included below: ##### File name: Cargo.lock ``` Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --workspace Updating crates.io index Updating git repository `https://github.com/smoltcp-rs/smoltcp` From https://github.com/smoltcp-rs/smoltcp * [new ref] dd43c8f189178b0ab3bda798ed8578b5b0a6f094 -> refs/commit/dd43c8f189178b0ab3bda798ed8578b5b0a6f094 Updating git repository `https://github.com/embassy-rs/stm32-data-generated` From https://github.com/embassy-rs/stm32-data-generated * [new ref] e442835159a7a311410cd4a2879da52c6f57af52 -> refs/commit/e442835159a7a311410cd4a2879da52c6f57af52 error: failed to select a version for `heapless`. ... required by package `go-tracker v0.1.0 (/tmp/renovate/repos/forgejo/malled/go-tracker)` versions that meet the requirements `^0.9.0` are: 0.9.2, 0.9.1 package `go-tracker` depends on `heapless` with feature `defmt-03` but `heapless` does not have that feature. package `heapless` does have feature `defmt` failed to select a version for `heapless` which could resolve this conflict ```
Some checks failed
renovate/artifacts Artifact file update failure
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/heapless-0.x:renovate/heapless-0.x
git switch renovate/heapless-0.x

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff renovate/heapless-0.x
git switch renovate/heapless-0.x
git rebase main
git switch main
git merge --ff-only renovate/heapless-0.x
git switch renovate/heapless-0.x
git rebase main
git switch main
git merge --no-ff renovate/heapless-0.x
git switch main
git merge --squash renovate/heapless-0.x
git switch main
git merge --ff-only renovate/heapless-0.x
git switch main
git merge renovate/heapless-0.x
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
malled/go-tracker!14
No description provided.