-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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 with "--crate-type lib --Z mir-opt-level-3": Unimplemented
selecting Binder(<&str as Foo>, [])
during codegen
#93008
Comments
This doesn't require This code is a slight variation of the test case in pub fn foo<'a, T>(s: &'a mut ()) where &'a mut (): Clone {
<&mut () as Clone>::clone(&s);
}
fn main() {} And I'll try to find a way to suppress this ICE. |
…ds, r=estebank Do not ICE when inlining a function with un-satisfiable bounds Fixes rust-lang#93008 This is kinda a hack... but it's the fix I thought had the least blast-radius. We use `normalize_param_env_or_error` to verify that the predicates in the param env are self-consistent, since with RevealAll, a bad predicate like `<&'static () as Clone>` will be evaluated with an empty ParamEnv (since it references no generics), and we'll raise an error for it.
Triage: The test added in #93024 has |
Thanks for catching this. I will look into this and be more careful about reproducing the issue in question. |
…r=Mark-Simulacrum Add some tests for impossible bounds Adds test for rust-lang#93008 Adds test for rust-lang#94680 Closes rust-lang#94999 Closes rust-lang#95640
…r=Mark-Simulacrum Add some tests for impossible bounds Adds test for rust-lang#93008 Adds test for rust-lang#94680 Closes rust-lang#94999 Closes rust-lang#95640
…r=Mark-Simulacrum Add some tests for impossible bounds Adds test for rust-lang#93008 Adds test for rust-lang#94680 Closes rust-lang#94999 Closes rust-lang#95640
Code
Meta
rustc --version --verbose
:Error output
Backtrace
The text was updated successfully, but these errors were encountered: