-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
ICE when compiling nalgebra 0.25.4 in Release mode #100550
Comments
cc @cjgillot this seems like those mir-inliner bugs 🤔 |
Saw a couple of these in Crater, though typically with some other ICEs too (which is why I didn't file bugs). But tagging as 1.64 and beta regression. |
Indeed, that's the "usual" normalization failure ICE we have with the MIR inliner. @compiler-errors do you know if progress has been made on the normalization front? |
Hmm, maybe this is fixed by #100121, but I don't have time to investigate this right now. Edit: It's not fixed. |
@cjgillot Do you think it may make sense to disable the MIR inliner on beta to give it some more time to bake? I think it was switched on mid-cycle in 1.64, right? |
@Mark-Simulacrum I qualify this as a bug in type normalization that MIR validation exposes. It's not a bug in the MIR inliner. There are 3 ways to address this:
However, I don't think that disabling the MIR inliner will help. |
Stopping to validate MIR sounds like a really bad idea to me. MIR validation (in released compilers) has caught many critical issues already like #98608 (I found it while investigating a MIR validation failure that someone found in the wild because the mir typeck found something typeck let through) and the most recent let_chains problem which was also found because of a MIR validation ICE. |
WG-prioritization assigning priority (Zulip discussion). @rustbot label -I-prioritize +P-critical |
Reduced example: pub trait Trait {
type Associated;
}
impl<T> Trait for T {
type Associated = T;
}
pub struct Struct<T>(<T as Trait>::Associated);
pub fn foo<T>() -> Struct<T>
where
T: Trait,
{
bar()
}
#[inline]
fn bar<T>() -> Struct<T> {
Struct(baz())
}
fn baz<T>() -> T {
unimplemented!()
}
@rustbot label S-bug-has-mcve |
Weird, this one crashes with |
Code
ICE is triggered when building
nalgebra 0.25.4
in filesrc\geometry\quaternion.rs
in release mode. I'm not able to reproduce when building in debug mode. In my situation, thenalgebra
crate is built as part of the dependency tree for a binary crate.Meta
rustc --version --verbose
:Error output
Backtrace
The text was updated successfully, but these errors were encountered: