Skip to content
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

Fix incorrect memory layout on Rust >= 1.67.0 #28

Merged
merged 1 commit into from Sep 11, 2023
Merged

Conversation

pstuecker
Copy link
Contributor

Since Rust 1.67.0, the Rust compiler groups fields in a struct if it improves alignment. See rust-lang/rust#102750 for details. Prior to that change, in some cases repr(Rust) and repr(C) structs had the same memory layout, which now differs, breaking C<=>Rust interfacing.

We've had a few instances in the code where we (implicitly) relied on the memory layout being equivalent to repr(C), which stopped some of the browser functions from working if compiled with a newer Rust version.

@github-actions
Copy link

License summary

❌ Not yet vetted dependencies:

Dependency License Status Ticket
-/-/-/chromium/113.0.5672.93 unknown restricted none
-/-/chromiumembedded/cef/113.1.5 unknown restricted none
  • Committers can request a license review via by commenting /request-license-review.
  • After all reviews have concluded, Committers can re-run the license-vetting check by commenting /license-check

Workflow run (with attached summary files):
https://github.com/eclipse-set/browser/actions/runs/6143753050

@TruongQuangSB TruongQuangSB merged commit aad4a68 into main Sep 11, 2023
4 checks passed
@TruongQuangSB TruongQuangSB deleted the issue/rust-1.67 branch September 11, 2023 08:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants