Infinite recursion for &_: IntoIterator #16835
-
Bevy version0.15.0 I get this error when i compile my project in 0.15 (worked fine in 0.14 )
I checked the debug file and it shows this
The really sinister and horrid part about this error is
So i am stuck. my project is dead in the water and broken with bevy 0.15 and rust 1.82 stable. the bug is also in rust 1.83. |
Beta Was this translation helpful? Give feedback.
Replies: 8 comments 8 replies
-
I suspect that this is caused by some new or removed implementation of IntoIterator. In order to investigate this further, we're really going to need to identify the root cause somehow. To do that, I would:
Normally I would suggest trying to create a minimal reproduction or disabling some of your code, but you've already tried that. Searching for calls to iterate over a resource might help too. |
Beta Was this translation helpful? Give feedback.
-
more info error: rustc interrupted by SIGSEGV, printing backtrace /home/andy/.rustup/toolchains/1.82-x86_64-unknown-linux-gnu/lib/librustc_driver-2d2db9d3929202cf.so(+0x33b6d83)[0x72ed113b6d83] cycle encountered after 3 frames with period 4/home/andy/.rustup/toolchains/1.82-x86_64-unknown-linux-gnu/lib/librustc_driver-2d2db9d3929202cf.so(+0x4a4130b)[0x72ed12a4130b] recursed 63 times/home/andy/.rustup/toolchains/1.82-x86_64-unknown-linux-gnu/lib/librustc_driver-2d2db9d3929202cf.so(+0x4a4130b)[0x72ed12a4130b] note: rustc unexpectedly overflowed its stack! this is a bug Caused by: |
Beta Was this translation helpful? Give feedback.
-
also could be the same as this but how in the heck can i figure out which of my 50,000 lines of code is doing this.... x.x kind of a gigantic footgun in bevy . blasted my foot to the next solar system |
Beta Was this translation helpful? Give feedback.
-
for anyone else who runs into this brick wall, i figured out what the issue was by telling the compiler to treat the first crash as a bug with
That alerted me to two functions which were instantiating EntityHashSet with ::from [ entity ] that was what was causing the compiler infinite loop... so i think EntityHashSet is really fragile and crazy ... ? |
Beta Was this translation helpful? Give feedback.
-
Did you see my reply? |
Beta Was this translation helpful? Give feedback.
-
yes, it wasnt anything to do with a loop actually in this case. It had to do with me using EntityHashSet::from [ entity ] |
Beta Was this translation helpful? Give feedback.
-
are you passing a |
Beta Was this translation helpful? Give feedback.
-
Here's a simple repro I made that uses #[cfg(test)]
mod tests {
use googletest::prelude::*;
use bevy_ecs::prelude::Res;
use std::collections::HashMap;
#[gtest]
fn it_works() {
let blah = HashMap::<u32, HashMap<u32, u32>>::default();
expect_that!(&blah, unordered_elements_are!((eq(&1), unordered_elements_are!())));
}
} Note I don't use the Res in any way - it is just in scope and that's enough! |
Beta Was this translation helpful? Give feedback.
for anyone else who runs into this brick wall, i figured out what the issue was by telling the compiler to treat the first crash as a bug with
That alerted me to two functions which were instantiating EntityHashSet with ::from [ entity ]
that was what was causing the compiler infinite loop... so i think EntityHashSet is really fragile and crazy ... ?