-
Notifications
You must be signed in to change notification settings - Fork 66
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
chore: bump Rust and cargo update #735
Conversation
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.
RSLGTM
// SAFETY: transerialization assumptions imply `T` is still alive. | ||
let x: &mut T = unsafe { opaque_deref_mut(self.opaque) }; | ||
let x: &T = |
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 was not only unsafe, but UB -- we turned a ref into a pointer into a u64 into a &mut
.
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.
LGTM, looks a lot better (and is now not clearly unsound)
Includes a Rust 1.78.0 fix: denoland/deno_core#735 Fixes deno homebrew crashes: #23767 #23766 #23763 and Homebrew/homebrew-core#171317
Includes a Rust 1.78.0 fix: denoland/deno_core#735 Fixes deno homebrew crashes: #23767 #23766 #23763 and Homebrew/homebrew-core#171317
We bump Rust to 1.78, but for the tests to pass we need to remove the UB that we've been relying on:
&mut
from a u64 that comes from a&
(UB)Lots of sketchiness left in serde_v8 but hopefully this fixes the major fire.
serde_v8 is considered deprecated so we're likely not going to touch this code much more than this band-aid.