Skip to content

rustc future incompat warning: overflow evaluating the requirement ... #26199

Open

Description

@bjorn3

Bevy version and features

  • The release number or commit hash of the version you're using: 8550394
  • If you're not using default features, the combination of bevy's cargo features you are using.

[Optional] Relevant system information

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

  • the Rust version you're using (you can get this by running cargo --version)
    rustc 1.101.0-nightly (080cc2714 2026-10-11)
    binary: rustc
    commit-hash: 080cc27146389dbb5c8772c476b1937be9c6110f
    commit-date: 2026-10-11
    host: x86_64-unknown-linux-gnu
    release: 1.101.0-nightly
    LLVM version: 23.1.3

What you did

Build an example with nightly.

What went wrong

I'm getting 3 future incompatibility lints regarding the next trait solver:

warning: overflow evaluating the requirement `bevy_ecs::system::Local<'_, std::vec::Vec<bevy_render::render_resource::BindGroupEntry<'_>>> well-formed`
   --> crates/bevy_pbr/src/render/mesh_view_bindings.rs:708:24
    |
708 |     mut entries_cache: bevy_ecs::system::Local<Vec<BindGroupEntry>>,
    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: which requires `std::vec::Vec<bevy_render::render_resource::BindGroupEntry<'_>>: Send`
    = note: which requires `alloc::raw_vec::RawVec<bevy_render::render_resource::BindGroupEntry<'_>>: Send`
    = note: which requires `PhantomData<bevy_render::render_resource::BindGroupEntry<'_>>: Send`
    = note: which requires `bevy_render::render_resource::BindGroupEntry<'_>: Send`
    = note: which requires `bevy_render::render_resource::BindingResource<'_>: Send`
    = note: which requires `&wgpu::api::external_texture::ExternalTexture: Send`
    = note: which requires `wgpu::api::external_texture::ExternalTexture: Sync`
    = note: which requires `wgpu::dispatch::DispatchExternalTexture: Sync`
    = note: which requires `Arc<wgpu::backend::wgpu_core::CoreExternalTexture>: Sync`
    = note: which requires `wgpu::backend::wgpu_core::CoreExternalTexture: Send`
    = note: which requires `wgpu::backend::wgpu_core::ContextWgpuCore: Send`
    = note: which requires `Arc<wgpu_core::global::Global>: Send`
    = note: which requires `wgpu_core::global::Global: Send`
    = note: which requires `wgpu_core::hub::Hub: Send`
    = note: which requires `wgpu_core::registry::Registry<Arc<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::command::compute::ComputePass>>>: Send`
    = note: and so on...
    = help: consider adding a manual `impl` of auto traits like `Send` for intermediate types, if auto traits are involved
    = help: or consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`bevy_pbr`)
    = note: this lint is attached to the whole crate and can't be disabled on a per-function basis
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
    = note: for more information, see issue #159228 <https://github.com/rust-lang/rust/issues/159228>
    = note: `#[warn(recursion_depth_exceeding_limit)]` (part of `#[warn(future_incompatible)]`) on by default

and two other similar warnings.

Additional information

The next trait solver is currently in FCP: rust-lang/rust#164209 Once it becomes the default this will become a hard error.

Activity

  1. added
    C-BugAn unexpected or incorrect behavior
    S-Needs-TriageThis issue needs to be labelled
    on Oct 16, 2026
  2. SkiFire13 commented on Oct 16, 2026

    @SkiFire13
    Contributor

    Related: #25511

    The proper long term solution is to fix wgpu's Send and Sync chains. They already got two PRs for this in, but they haven't released a new patch/minor bump to include them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-BugAn unexpected or incorrect behaviorS-Needs-TriageThis issue needs to be labelled

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions