-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
Normalize closure instance before eagerly monomorphizing it #137035
Normalize closure instance before eagerly monomorphizing it #137035
Conversation
Not sure if we should backport this, since 1.86 branches today (afaict). We could also just disable this eager norm behavior on beta. Or just ignore it, bc |
@@ -1509,6 +1509,13 @@ impl<'v> RootCollector<'_, 'v> { | |||
} | |||
_ => unreachable!(), | |||
}; | |||
let Ok(instance) = self.tcx.try_normalize_erasing_regions( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this code is unnecessarily defensive but i'd rather not turn this into an ICE with an impossible-to-normalize opaque type or something.
71d4523
to
2ada9cc
Compare
@bors r+ rollup |
…kingjubilee Rollup of 10 pull requests Successful merges: - rust-lang#133312 (triagebot: automatically add more rustdoc related labels) - rust-lang#134016 (Stabilize `const_is_char_boundary` and `const_str_split_at`.) - rust-lang#136971 (Add a new check-pass UI test for returning `impl Fn(T) -> impl Trait`) - rust-lang#136983 (Prepare standard library for Rust 2024 migration) - rust-lang#137002 (Fix early lint check desc in query) - rust-lang#137006 (borrowck diagnostics cleanup: remove an unused and a barely-used field) - rust-lang#137032 (Decode metadata buffer in one go) - rust-lang#137035 (Normalize closure instance before eagerly monomorphizing it) - rust-lang#137037 (add x86-sse2 (32bit) ABI that requires SSE2 target feature) - rust-lang#137038 (llvm: Tolerate captures in tests) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#137035 - compiler-errors:eagerly-mono-closures-after-norm, r=saethlin Normalize closure instance before eagerly monomorphizing it We were monomorphizing two versions of the closure (or in the original issue, coroutine) -- one with normalized captures and one with unnormalized captures. This led to a symbol collision. Fixes rust-lang#137009 r? `@saethlin` or reassign
We were monomorphizing two versions of the closure (or in the original issue, coroutine) -- one with normalized captures and one with unnormalized captures. This led to a symbol collision.
Fixes #137009
r? @saethlin or reassign