Skip to content

Conversation

@cart
Copy link
Member

@cart cart commented Nov 12, 2025

Objective

heapless just deprecated their mpmc module in a minor version, which broke our no_std builds (because we choose to break our break our builds on warnings).

rust-embedded/heapless#583
https://docs.rs/heapless/latest/heapless/mpmc/index.html

Solution

Short term, fix our builds by allowing this usage of a deprecated function. However it is worth investigating: #21819

@cart cart added C-Bug An unexpected or incorrect behavior O-Embedded Weird hardware and no_std platforms labels Nov 12, 2025
target_has_atomic = "64",
target_has_atomic = "ptr"
)))]
#[allow(deprecated)]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You might have to allow allow_attribute

use core::cell::Cell;

use bevy_tasks::{block_on, futures_lite::{pending, poll_once}};
use bevy_tasks::{
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Weird unrelated change. I expect that rustfmt prevents this.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this is actually because this file wasnt rustfmt-ed for some reason.

@mockersf
Copy link
Member

mockersf commented Nov 12, 2025

the no std job is not required by CI so its failures are not blocking, and the deprecation is used there to mark a real issue. I would prefer to have the investigation in #21819

from their doc:

The current implementation of mpmc is marked as deprecated due to not being truly lock-free

and

In that case you can safely ignore the warnings using #[expect(deprecated)] when new is called

So it's not actually deprecated, but used to mark that it doesn't work as expected in some cases

@alice-i-cecile alice-i-cecile added S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it P-High This is particularly urgent, and deserves immediate attention labels Nov 16, 2025
@alice-i-cecile alice-i-cecile added this pull request to the merge queue Nov 16, 2025
Merged via the queue into bevyengine:main with commit 0fe71f9 Nov 16, 2025
45 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C-Bug An unexpected or incorrect behavior O-Embedded Weird hardware and no_std platforms P-High This is particularly urgent, and deserves immediate attention S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants