Skip to content

bevy_asset fails to build on current nightly #20558

@janhohenheim

Description

@janhohenheim

Bevy version

main

[Optional] Relevant system information

If you cannot get Bevy to build or run on your machine, please include:

nightly-x86_64-unknown-linux-gnu unchanged - rustc 1.91.0-nightly (8e62bfd31 2025-08-12)
on Fedora 42.

What you did

cargo build

What went wrong

error message (long!)
error[E0275]: overflow evaluating the requirement `async_executor::Executor<'_>: Sync`
     |
     = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`bevy_asset`)
note: required because it appears within the type `bevy_tasks::executor::Executor<'_>`
    --> /home/hhh/git/bevy/crates/bevy_tasks/src/executor.rs:38:12
     |
  38 | pub struct Executor<'a>(ExecutorInner<'a>);
     |            ^^^^^^^^
     = note: required because it appears within the type `&bevy_tasks::executor::Executor<'_>`
note: required because it appears within the type `bevy_tasks::Scope<'_, '_, ()>`
    --> /home/hhh/git/bevy/crates/bevy_tasks/src/task_pool.rs:627:12
     |
 627 | pub struct Scope<'scope, 'env: 'scope, T> {
     |            ^^^^^
     = note: required for `&bevy_tasks::Scope<'_, '_, ()>` to implement `core::marker::Send`
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
     = note: required for `Unique<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>` to implement `core::marker::Send`
note: required because it appears within the type `Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:231:12
     |
 231 | pub struct Box<
     |            ^^^
note: required because it appears within the type `Pin<Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/pin.rs:1094:12
     |
1094 | pub struct Pin<Ptr> {
     |            ^^^
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
     = note: required for `Unique<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>` to implement `core::marker::Send`
note: required because it appears within the type `Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:231:12
     |
 231 | pub struct Box<
     |            ^^^
note: required because it appears within the type `Pin<Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/pin.rs:1094:12
     |
1094 | pub struct Pin<Ptr> {
     |            ^^^
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
     = note: required for `Unique<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>` to implement `core::marker::Send`
note: required because it appears within the type `Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:231:12
     |
 231 | pub struct Box<
     |            ^^^
note: required because it appears within the type `Pin<Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/pin.rs:1094:12
     |
1094 | pub struct Pin<Ptr> {
     |            ^^^
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
     = note: required for `Unique<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>` to implement `core::marker::Send`
note: required because it appears within the type `Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:231:12
     |
 231 | pub struct Box<
     |            ^^^
note: required because it appears within the type `Pin<Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/pin.rs:1094:12
     |
1094 | pub struct Pin<Ptr> {
     |            ^^^
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
     = note: required for `Unique<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>` to implement `core::marker::Send`
note: required because it appears within the type `Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:231:12
     |
 231 | pub struct Box<
     |            ^^^
note: required because it appears within the type `Pin<Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/pin.rs:1094:12
     |
1094 | pub struct Pin<Ptr> {
     |            ^^^
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
     = note: required for `Unique<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>` to implement `core::marker::Send`
note: required because it appears within the type `Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:231:12
     |
 231 | pub struct Box<
     |            ^^^
note: required because it appears within the type `Pin<Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/pin.rs:1094:12
     |
1094 | pub struct Pin<Ptr> {
     |            ^^^
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
     = note: required for `Unique<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>` to implement `core::marker::Send`
note: required because it appears within the type `Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:231:12
     |
 231 | pub struct Box<
     |            ^^^
note: required because it appears within the type `Pin<Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/pin.rs:1094:12
     |
1094 | pub struct Pin<Ptr> {
     |            ^^^
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
     = note: required for `Unique<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>` to implement `core::marker::Send`
note: required because it appears within the type `Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:231:12
     |
 231 | pub struct Box<
     |            ^^^
note: required because it appears within the type `Pin<Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/pin.rs:1094:12
     |
1094 | pub struct Pin<Ptr> {
     |            ^^^
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
     = note: required for `Unique<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>` to implement `core::marker::Send`
note: required because it appears within the type `Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:231:12
     |
 231 | pub struct Box<
     |            ^^^
note: required because it appears within the type `Pin<Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/pin.rs:1094:12
     |
1094 | pub struct Pin<Ptr> {
     |            ^^^
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
     = note: required for `Unique<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>` to implement `core::marker::Send`
note: required because it appears within the type `Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:231:12
     |
 231 | pub struct Box<
     |            ^^^
note: required because it appears within the type `Pin<Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/pin.rs:1094:12
     |
1094 | pub struct Pin<Ptr> {
     |            ^^^
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
     = note: required for `Unique<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>` to implement `core::marker::Send`
note: required because it appears within the type `Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:231:12
     |
 231 | pub struct Box<
     |            ^^^
note: required because it appears within the type `Pin<Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/pin.rs:1094:12
     |
1094 | pub struct Pin<Ptr> {
     |            ^^^
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
     = note: required for `Unique<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>` to implement `core::marker::Send`
note: required because it appears within the type `Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:231:12
     |
 231 | pub struct Box<
     |            ^^^
note: required because it appears within the type `Pin<Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/pin.rs:1094:12
     |
1094 | pub struct Pin<Ptr> {
     |            ^^^
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
     = note: required for `Unique<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>` to implement `core::marker::Send`
note: required because it appears within the type `Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:231:12
     |
 231 | pub struct Box<
     |            ^^^
note: required because it appears within the type `Pin<Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/pin.rs:1094:12
     |
1094 | pub struct Pin<Ptr> {
     |            ^^^
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
     = note: required for `Unique<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>` to implement `core::marker::Send`
note: required because it appears within the type `Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:231:12
     |
 231 | pub struct Box<
     |            ^^^
note: required because it appears within the type `Pin<Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/pin.rs:1094:12
     |
1094 | pub struct Pin<Ptr> {
     |            ^^^
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
     = note: required for `Unique<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>` to implement `core::marker::Send`
note: required because it appears within the type `Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:231:12
     |
 231 | pub struct Box<
     |            ^^^
note: required because it appears within the type `Pin<Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/pin.rs:1094:12
     |
1094 | pub struct Pin<Ptr> {
     |            ^^^
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
     = note: required for `Unique<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>` to implement `core::marker::Send`
note: required because it appears within the type `Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:231:12
     |
 231 | pub struct Box<
     |            ^^^
note: required because it appears within the type `Pin<Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/pin.rs:1094:12
     |
1094 | pub struct Pin<Ptr> {
     |            ^^^
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
     = note: required for `Unique<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>` to implement `core::marker::Send`
note: required because it appears within the type `Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:231:12
     |
 231 | pub struct Box<
     |            ^^^
note: required because it appears within the type `Pin<Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/pin.rs:1094:12
     |
1094 | pub struct Pin<Ptr> {
     |            ^^^
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
     = note: required for `Unique<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>` to implement `core::marker::Send`
note: required because it appears within the type `Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:231:12
     |
 231 | pub struct Box<
     |            ^^^
note: required because it appears within the type `Pin<Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/pin.rs:1094:12
     |
1094 | pub struct Pin<Ptr> {
     |            ^^^
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
     = note: required for `Unique<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>` to implement `core::marker::Send`
note: required because it appears within the type `Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:231:12
     |
 231 | pub struct Box<
     |            ^^^
note: required because it appears within the type `Pin<Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/pin.rs:1094:12
     |
1094 | pub struct Pin<Ptr> {
     |            ^^^
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
     = note: required for `Unique<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>` to implement `core::marker::Send`
note: required because it appears within the type `Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:231:12
     |
 231 | pub struct Box<
     |            ^^^
note: required because it appears within the type `Pin<Box<impl futures_lite::Future<Output = core::result::Result<(), AssetReaderError>>>>`
    --> /home/hhh/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/pin.rs:1094:12
     |
1094 | pub struct Pin<Ptr> {
     |            ^^^
note: required because it's used within this `async` fn body
    --> crates/bevy_asset/src/processor/mod.rs:546:39
     |
 546 |       ) -> Result<(), AssetReaderError> {
     |  _______________________________________^
 547 | |         if source.reader().is_directory(&path).await? {
 548 | |             let mut path_stream = source.reader().read_directory(&path).await?;
 549 | |             while let Some(path) = path_stream.next().await {
...    |
 559 | |         Ok(())
 560 | |     }
     | |_____^
note: required because it's used within this `async` block
    --> crates/bevy_asset/src/processor/mod.rs:425:25
     |
 425 |             scope.spawn(async move {
     |                         ^^^^^^^^^^

For more information about this error, try `rustc --explain E0275`.
error: could not compile `bevy_asset` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

nightly-2025-08-07 works. Not sure if anything newer also works.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-AssetsLoad files from disk to use for things like images, models, and soundsC-BugAn unexpected or incorrect behaviorP-Compile-FailureA failure to compile Bevy appsS-Needs-ReproductionNeeds an up-to-date or minimal reproduction

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions