-
Notifications
You must be signed in to change notification settings - Fork 13.3k
collect all Fuchsia bindings into the fuchsia
module
#140656
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
Conversation
The Fuchsia bindings are currently spread out across multiple modules in `sys/pal/unix` leading to unnecessary duplication. This PR moves all of these definitions into `sys::pal::unix::fuchsia` and additionally: * deduplicates the definitions * makes the error names consistent * marks some extern functions as safe * removes unused items (there's no need to maintain these bindings if we're not going to use them) * removes the documentation for the definitions (contributors should always consult the platform documentation, duplicating that here is just an extra maintenance burden)
rustbot has assigned @workingjubilee. Use |
Hey friends of Fuchsia! This issue could use some guidance on how this should be |
I'm working on routing this internally to see who's best to review here. Erick is also out this week. |
Thanks! I will give the Fuchsia folks a bit to actually review this then. |
It looks like it's almost entirely just-moving-stuff tho'. |
@workingjubilee my concerns are around the items that are removed, e.g. |
@Nashenas88 How would it break anything downstream? If the Rust standard library makes the declaration internally, then that doesn't introduce the declaration into other Rust namespaces. It may induce linkage in some cases, because linkage in ELF, as I understand it, is often a fundamentally "global" phenomenon even if you have "local" declarations. However, if you are obtaining linkage to something via |
...and I do understand that question is something you may not know how to answer for certain, for what it's worth, which is er, why you are asking around for a reviewer, I'm just really curious if there's a way for that to even hypothetically be a problem given what we know. It's an interesting puzzle. |
Oh I see why I was so confused. I didn't realize everything in the |
Aha! Yes that is a bit confusing, historically. Thanks for the review! @bors r+ rollup |
Rollup of 9 pull requests Successful merges: - rust-lang#134273 (de-stabilize bench attribute) - rust-lang#139534 (Added support for `apxf` target feature) - rust-lang#140419 (Move `in_external_macro` to `SyntaxContext`) - rust-lang#140483 (Comment on `Rc` abort-guard strategy without naming unrelated fn) - rust-lang#140607 (support duplicate entries in the opaque_type_storage) - rust-lang#140656 (collect all Fuchsia bindings into the `fuchsia` module) - rust-lang#140668 (Implement `VecDeque::truncate_front()`) - rust-lang#140709 (rustdoc: remove unportable markdown lint and old parser) - rust-lang#140713 (Structurally resolve in `check_ref_cast` in new solver) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#140656 - joboet:fuchsia_pal, r=workingjubilee collect all Fuchsia bindings into the `fuchsia` module The Fuchsia bindings are currently spread out across multiple modules in `sys/pal/unix` leading to unnecessary duplication. This PR moves all of these definitions into `sys::pal::unix::fuchsia` and additionally: * deduplicates the definitions * makes the error names consistent * marks `zx_thread_self` and `zx_clock_get_monotonic` as safe extern functions * removes unused items (there's no need to maintain these bindings if we're not going to use them) * removes the documentation for the definitions (contributors should always consult the platform documentation, duplicating that here is just an extra maintenance burden) `@rustbot` ping fuchsia
The Fuchsia bindings are currently spread out across multiple modules in
sys/pal/unix
leading to unnecessary duplication. This PR moves all of these definitions intosys::pal::unix::fuchsia
and additionally:zx_thread_self
andzx_clock_get_monotonic
as safe extern functions@rustbot ping fuchsia