-
Notifications
You must be signed in to change notification settings - Fork 13.4k
ICE with "--crate-type lib --Z mir-opt-level-3": Unimplemented
selecting Binder(<&str as Foo>, [])
during codegen
#93008
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
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
Uh oh!
There was an error while loading. Please reload this page.
Code
Meta
rustc --version --verbose
:Error output
Backtrace
The text was updated successfully, but these errors were encountered: