-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
Hack fix for ICE as seen in CI #23295
Conversation
// #3 [analysis] running analysis passes on this crate | ||
// end of query stack | ||
// | ||
// Yoloing a `Sync` onto it avoids the auto trait evaluation and thus the ICE. |
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.
Which is safe because the compiler was cool with the same types in tuple form before #23233, right?
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.
True, but how about adding some extra checks to ensure that our assumptions aren't broken in the future. Here are my suggested changes: t-nelson#32
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.
I'm not sure I understand the benefit. Commented over there
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.
@jstarry what assumptions are you referring to that may be broken in the future?
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.
@jackcmay the unsafe impl can introduce undefined behavior because the compiler won't complain if they are added for types which are not thread-safe.
(cherry picked from commit 5e0086c) # Conflicts: # runtime/src/builtins.rs
(cherry picked from commit 5e0086c) # Conflicts: # runtime/src/builtins.rs
(cherry picked from commit 5e0086c) # Conflicts: # runtime/src/builtins.rs Co-authored-by: Trent Nelson <[email protected]>
This reverts commit 5e0086c.
Problem
#23233 added
BuiltinFeatureTransition
to
Bank
which triggers rust-lang/rust#92987 whileattempting to resolve
Sync
onBankRc
inAccountsBackgroundService::new
ala,Summary of Changes
Yoloing a
Sync
onto it avoids the auto trait evaluation and thus the ICE.We should remove this when upgrading to Rust 1.60.0, where the bug has been
fixed by rust-lang/rust#93064