Skip to content

overflow evaluating the requirement &_: IntoIterator #15165

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
ShadowMitia opened this issue Sep 11, 2024 · 2 comments
Open

overflow evaluating the requirement &_: IntoIterator #15165

ShadowMitia opened this issue Sep 11, 2024 · 2 comments
Labels
C-Bug An unexpected or incorrect behavior P-Compile-Failure A failure to compile Bevy apps S-Blocked This cannot move forward until something else changes

Comments

@ShadowMitia
Copy link
Contributor

ShadowMitia commented Sep 11, 2024

Bevy version

0.14.2

What you did

Refactored.... 😄
So an unfortunate refactor started giving me the error.
I had a Query argument that got changed to a Res, but there was a for-loop that was iterating over said argument that never got changed...

Here is a minimal example that reproduces the problem:

use bevy::prelude::*;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_systems(Startup, setup)
        .run();
}

#[derive(Resource)]
struct Test;

// fn setup(mut toto: Query<...things...>) { // before refactoring
fn setup(mut toto: Res<Test>) {
    for toto in &mut toto { // Ruh roh
        println!("toto");
    }
}

What went wrong

Got the error "error[E0275]: overflow evaluating the requirement &_: IntoIterator" without any line information or concrete information of any kind...
Fortunately I hadn't made many modifications and could quickly track down the source of the problem.

Full error:

   Compiling brackeys-12 v0.1.0 (/home/dimitri/Sync/brackeys-12)
error[E0275]: overflow evaluating the requirement `&_: IntoIterator`
  |
  = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`brackeys_12`)
  = note: required for `&bevy::prelude::Res<'_, _>` to implement `IntoIterator`
  = note: 126 redundant requirements hidden
  = note: required for `&Res<'_, Res<'_, Res<'_, Res<'_, Res<'_, Res<'_, Res<'_, Res<'_, Res<'_, Res<'_, Res<'_, Res<'_, Res<'_, Res<'_, Res<'_, ...>>>>>>>>>>>>>>>` to implement `IntoIterator`
  = note: the full name for the type has been written to '/home/dimitri/Sync/brackeys-12/target/debug/deps/brackeys_12-fa5e68070df7b6bc.long-type-6635115335326429453.txt'
  = note: consider using `--verbose` to print the full type name to the console

For more information about this error, try `rustc --explain E0275`.
error: could not compile `brackeys-12` (bin "brackeys-12") due to 1 previous error

Additional information

Seems related to rust-lang/rust#118476 for the part where there is no line information whatsoever.

The full type name just because it's amusing:

&bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, bevy::prelude::Res<'_, _>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
@ShadowMitia ShadowMitia added C-Bug An unexpected or incorrect behavior S-Needs-Triage This issue needs to be labelled labels Sep 11, 2024
@MrGVSV
Copy link
Member

MrGVSV commented Sep 11, 2024

Related: #14799

@BenjaminBrienen BenjaminBrienen added the P-Compile-Failure A failure to compile Bevy apps label Sep 25, 2024
@LiamGallagher737 LiamGallagher737 removed the S-Needs-Triage This issue needs to be labelled label Oct 8, 2024
@BenjaminBrienen
Copy link
Contributor

This code compiles fine with -Znext-solver, so it may be a limitation of the current trait solver.

I think we should just wait for that.

@BenjaminBrienen BenjaminBrienen added the S-Blocked This cannot move forward until something else changes label Jan 7, 2025
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 P-Compile-Failure A failure to compile Bevy apps S-Blocked This cannot move forward until something else changes
Projects
None yet
Development

No branches or pull requests

4 participants