Uh oh!
There was an error while loading. Please reload this page.
collect all Fuchsia bindings into the fuchsia module - #140656
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
commented
May 5, 2025
rustbot has assigned @workingjubilee. Use |
rustbot
commented
May 5, 2025
Hey friends of Fuchsia! This issue could use some guidance on how this should be |
Nashenas88
commented
May 5, 2025
I'm working on routing this internally to see who's best to review here. Erick is also out this week. |
workingjubilee
commented
May 5, 2025
Thanks! I will give the Fuchsia folks a bit to actually review this then. |
workingjubilee
commented
May 5, 2025
It looks like it's almost entirely just-moving-stuff tho'. |
Nashenas88
commented
May 6, 2025
@workingjubilee my concerns are around the items that are removed, e.g. |
workingjubilee
commented
May 6, 2025
@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. |
Nashenas88
commented
May 6, 2025
Oh I see why I was so confused. I didn't realize everything in the |
workingjubilee
commented
May 6, 2025
Aha! Yes that is a bit confusing, historically. Thanks for the review! @bors r+ rollup |
bors
commented
May 6, 2025
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
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
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
The Fuchsia bindings are currently spread out across multiple modules in
sys/pal/unixleading to unnecessary duplication. This PR moves all of these definitions intosys::pal::unix::fuchsiaand additionally:zx_thread_selfandzx_clock_get_monotonicas safe extern functions@rustbot ping fuchsia