-
Notifications
You must be signed in to change notification settings - Fork 13.1k
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
Tracking Issue for restructuring std::sys
#117276
Labels
C-tracking-issue
Category: An issue tracking the progress of sth. like the implementation of an RFC
E-help-wanted
Call for participation: Help is requested to fix this issue.
T-libs
Relevant to the library team, which will review and decide on the PR/issue.
Comments
bors
added a commit
to rust-lang-ci/rust
that referenced
this issue
Jan 12, 2024
…sDenton Move platform modules into `sys::pal` This is the initial step of rust-lang#117276. `sys` just re-exports everything from the current `sys` for now, I'll move the implementations for the individual features one-by-one after this PR merges.
bors
added a commit
to rust-lang-ci/rust
that referenced
this issue
Jan 13, 2024
…sDenton Move platform modules into `sys::pal` This is the initial step of rust-lang#117276. `sys` just re-exports everything from the current `sys` for now, I'll move the implementations for the individual features one-by-one after this PR merges.
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Jan 13, 2024
…isDenton Move personality implementation out of PAL The module already follows the new convention described in rust-lang#117276. This PR also includes a small fix in the tidy pal check, that was just an oversight in rust-lang#117285.
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Jan 14, 2024
Rollup merge of rust-lang#119935 - joboet:move_pal_personality, r=ChrisDenton Move personality implementation out of PAL The module already follows the new convention described in rust-lang#117276. This PR also includes a small fix in the tidy pal check, that was just an oversight in rust-lang#117285.
This was referenced Jan 15, 2024
Merged
Nadrieril
added a commit
to Nadrieril/rust
that referenced
this issue
Jan 21, 2024
Move OS String implementation into `sys` Part of rust-lang#117276. The new structure is really useful here, since we can easily eliminate a number of ugly `#[path]`-based imports. In the future, it might be good to move the WTF-8 implementation directly to the OS string implementation, I cannot see it being used anywhere else. That is a story for another PR, however.
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Jan 21, 2024
Rollup merge of rust-lang#119996 - joboet:move_pal_os_str, r=ChrisDenton Move OS String implementation into `sys` Part of rust-lang#117276. The new structure is really useful here, since we can easily eliminate a number of ugly `#[path]`-based imports. In the future, it might be good to move the WTF-8 implementation directly to the OS string implementation, I cannot see it being used anywhere else. That is a story for another PR, however.
Something that just occurred to me is that we might want to add commits to https://github.com/rust-lang/rust/blob/master/.git-blame-ignore-revs if they're purely moving files. This allows GitHub's blame interface to ignore them. |
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Jan 22, 2024
Move cmath into `sys` Part of rust-lang#117276. r? `@ChrisDenton`
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Jan 22, 2024
Move cmath into `sys` Part of rust-lang#117276. r? ``@ChrisDenton``
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Jan 23, 2024
Rollup merge of rust-lang#120109 - joboet:move_pal_cmath, r=ChrisDenton Move cmath into `sys` Part of rust-lang#117276. r? ``@ChrisDenton``
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Feb 9, 2024
Move path implementations into `sys` Part of rust-lang#117276. r? `@ChrisDenton`
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Feb 9, 2024
Rollup merge of rust-lang#120776 - joboet:move_pal_path, r=ChrisDenton Move path implementations into `sys` Part of rust-lang#117276. r? `@ChrisDenton`
Merged
bors
added a commit
to rust-lang-ci/rust
that referenced
this issue
Feb 19, 2024
Move locks to `sys` Part of rust-lang#117276. r? `@ChrisDenton`
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Mar 2, 2024
…risDenton Move thread local implementation to `sys` Part of rust-lang#117276.
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Mar 2, 2024
…risDenton Move thread local implementation to `sys` Part of rust-lang#117276.
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Mar 2, 2024
…risDenton Move thread local implementation to `sys` Part of rust-lang#117276.
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Mar 2, 2024
Rollup merge of rust-lang#121758 - joboet:move_pal_thread_local, r=ChrisDenton Move thread local implementation to `sys` Part of rust-lang#117276.
jieyouxu
added a commit
to jieyouxu/rust
that referenced
this issue
Feb 5, 2025
std: move network code into `sys` As per rust-lang#117276, this PR moves `sys_common::net` and the `sys::pal::net` into the newly created `sys::net` module. In order to support rust-lang#135141, I've moved all the current network code into a separate `connection` module, future functions like `hostname` can live in separate modules. I'll probably do a follow-up PR and clean up some of the actual code, this is mostly just a reorganization.
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Feb 6, 2025
Rollup merge of rust-lang#136449 - joboet:move_pal_net, r=ChrisDenton std: move network code into `sys` As per rust-lang#117276, this PR moves `sys_common::net` and the `sys::pal::net` into the newly created `sys::net` module. In order to support rust-lang#135141, I've moved all the current network code into a separate `connection` module, future functions like `hostname` can live in separate modules. I'll probably do a follow-up PR and clean up some of the actual code, this is mostly just a reorganization.
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Feb 8, 2025
std: move `io` module out of `pal`, get rid of `sys_common::io` Part of rust-lang#117276. This does two related things: 1. It moves the platform-specific definitions for `IoSlice`, `IoSliceMut` and `is_terminal` out of `pal` and into `sys` and unifies some of them. 2. It gets rid of `sys_common::io`, moving the non-platform-specific test helpers into `std::test_helpers` and the buffer size definition to the new `sys::io` module.
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Feb 8, 2025
std: move `io` module out of `pal`, get rid of `sys_common::io` Part of rust-lang#117276. This does two related things: 1. It moves the platform-specific definitions for `IoSlice`, `IoSliceMut` and `is_terminal` out of `pal` and into `sys` and unifies some of them. 2. It gets rid of `sys_common::io`, moving the non-platform-specific test helpers into `std::test_helpers` and the buffer size definition to the new `sys::io` module.
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Feb 8, 2025
std: move `io` module out of `pal`, get rid of `sys_common::io` Part of rust-lang#117276. This does two related things: 1. It moves the platform-specific definitions for `IoSlice`, `IoSliceMut` and `is_terminal` out of `pal` and into `sys` and unifies some of them. 2. It gets rid of `sys_common::io`, moving the non-platform-specific test helpers into `std::test_helpers` and the buffer size definition to the new `sys::io` module.
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Feb 8, 2025
Rollup merge of rust-lang#135696 - joboet:move_pal_io, r=Noratrieb std: move `io` module out of `pal`, get rid of `sys_common::io` Part of rust-lang#117276. This does two related things: 1. It moves the platform-specific definitions for `IoSlice`, `IoSliceMut` and `is_terminal` out of `pal` and into `sys` and unifies some of them. 2. It gets rid of `sys_common::io`, moving the non-platform-specific test helpers into `std::test_helpers` and the buffer size definition to the new `sys::io` module.
joboet
added a commit
to joboet/rust
that referenced
this issue
Feb 9, 2025
As per rust-lang#117276, this moves the platform definitions of `Stdout` and friends into `sys`. This PR also unifies the UNIX and Hermit implementations and moves the `__rust_print_err` function needed by libunwind on SGX into the dedicated module for such helper functions.
joboet
added a commit
to joboet/rust
that referenced
this issue
Feb 9, 2025
As per rust-lang#117276, this moves the platform definitions of `Stdout` and friends into `sys`. This PR also unifies the UNIX and Hermit implementations and moves the `__rust_print_err` function needed by libunwind on SGX into the dedicated module for such helper functions.
joboet
added a commit
to joboet/rust
that referenced
this issue
Feb 12, 2025
As per rust-lang#117276, this moves the implementations of `Process` and friends out of the `pal` module and into the `sys` module, removing quite a lot of error-prone `#[path]` imports in the process (hah, get it ;-)). I've also made the `zircon` module a dedicated submodule of `pal::unix`, hopefully we can move some other definitions there as well (they are currently quite a lot of duplications in `sys`). Also, the `ensure_no_nuls` function on Windows now lives in `sys::pal::windows` – it's not specific to processes and shared by the argument implementation.
joboet
added a commit
to joboet/rust
that referenced
this issue
Feb 12, 2025
As per rust-lang#117276, this moves the implementations of `Process` and friends out of the `pal` module and into the `sys` module, removing quite a lot of error-prone `#[path]` imports in the process (hah, get it ;-)). I've also made the `zircon` module a dedicated submodule of `pal::unix`, hopefully we can move some other definitions there as well (they are currently quite a lot of duplications in `sys`). Also, the `ensure_no_nuls` function on Windows now lives in `sys::pal::windows` – it's not specific to processes and shared by the argument implementation.
joboet
added a commit
to joboet/rust
that referenced
this issue
Feb 13, 2025
As per rust-lang#117276, this moves the implementations of `Process` and friends out of the `pal` module and into the `sys` module, removing quite a lot of error-prone `#[path]` imports in the process (hah, get it ;-)). I've also made the `zircon` module a dedicated submodule of `pal::unix`, hopefully we can move some other definitions there as well (they are currently quite a lot of duplications in `sys`). Also, the `ensure_no_nuls` function on Windows now lives in `sys::pal::windows` – it's not specific to processes and shared by the argument implementation.
joboet
added a commit
to joboet/rust
that referenced
this issue
Feb 15, 2025
As per rust-lang#117276, this moves the platform definitions of `Stdout` and friends into `sys`. This PR also unifies the UNIX and Hermit implementations and moves the `__rust_print_err` function needed by libunwind on SGX into the dedicated module for such helper functions.
joboet
added a commit
to joboet/rust
that referenced
this issue
Feb 15, 2025
As per rust-lang#117276, this moves the implementations of `Process` and friends out of the `pal` module and into the `sys` module, removing quite a lot of error-prone `#[path]` imports in the process (hah, get it ;-)). I've also made the `zircon` module a dedicated submodule of `pal::unix`, hopefully we can move some other definitions there as well (they are currently quite a lot of duplications in `sys`). Also, the `ensure_no_nuls` function on Windows now lives in `sys::pal::windows` – it's not specific to processes and shared by the argument implementation.
joboet
added a commit
to joboet/rust
that referenced
this issue
Feb 17, 2025
As per rust-lang#117276, this moves the implementations of `Process` and friends out of the `pal` module and into the `sys` module, removing quite a lot of error-prone `#[path]` imports in the process (hah, get it ;-)). I've also made the `zircon` module a dedicated submodule of `pal::unix`, hopefully we can move some other definitions there as well (they are currently quite a lot of duplications in `sys`). Also, the `ensure_no_nuls` function on Windows now lives in `sys::pal::windows` – it's not specific to processes and shared by the argument implementation.
joboet
added a commit
to joboet/rust
that referenced
this issue
Feb 17, 2025
As per rust-lang#117276, this moves the platform definitions of `Stdout` and friends into `sys`. This PR also unifies the UNIX and Hermit implementations and moves the `__rust_print_err` function needed by libunwind on SGX into the dedicated module for such helper functions.
github-actions bot
pushed a commit
to tautschnig/verify-rust-std
that referenced
this issue
Feb 20, 2025
As per rust-lang#117276, this PR moves `sys_common::net` and the `sys::pal::net` into the newly created `sys::net` module. In order to support rust-lang#135141, I've moved all the current network code into a separate `connection` module, future functions like `hostname` can live in separate modules. I'll probably do a follow-up PR and clean up some of the actual code, this is mostly just a reorganization.
github-actions bot
pushed a commit
to tautschnig/verify-rust-std
that referenced
this issue
Feb 20, 2025
As per rust-lang#117276, this PR moves `sys_common::net` and the `sys::pal::net` into the newly created `sys::net` module. In order to support rust-lang#135141, I've moved all the current network code into a separate `connection` module, future functions like `hostname` can live in separate modules. I'll probably do a follow-up PR and clean up some of the actual code, this is mostly just a reorganization.
github-actions bot
pushed a commit
to carolynzech/rust
that referenced
this issue
Feb 20, 2025
As per rust-lang#117276, this PR moves `sys_common::net` and the `sys::pal::net` into the newly created `sys::net` module. In order to support rust-lang#135141, I've moved all the current network code into a separate `connection` module, future functions like `hostname` can live in separate modules. I'll probably do a follow-up PR and clean up some of the actual code, this is mostly just a reorganization.
github-actions bot
pushed a commit
to model-checking/verify-rust-std
that referenced
this issue
Feb 20, 2025
As per rust-lang#117276, this PR moves `sys_common::net` and the `sys::pal::net` into the newly created `sys::net` module. In order to support rust-lang#135141, I've moved all the current network code into a separate `connection` module, future functions like `hostname` can live in separate modules. I'll probably do a follow-up PR and clean up some of the actual code, this is mostly just a reorganization.
joboet
added a commit
to joboet/rust
that referenced
this issue
Feb 21, 2025
As per rust-lang#117276, this moves the platform definitions of `Stdout` and friends into `sys`. This PR also unifies the UNIX and Hermit implementations and moves the `__rust_print_err` function needed by libunwind on SGX into the dedicated module for such helper functions.
github-actions bot
pushed a commit
to thanhnguyen-aws/verify-rust-std
that referenced
this issue
Feb 21, 2025
As per rust-lang#117276, this PR moves `sys_common::net` and the `sys::pal::net` into the newly created `sys::net` module. In order to support rust-lang#135141, I've moved all the current network code into a separate `connection` module, future functions like `hostname` can live in separate modules. I'll probably do a follow-up PR and clean up some of the actual code, this is mostly just a reorganization.
github-actions bot
pushed a commit
to thanhnguyen-aws/verify-rust-std
that referenced
this issue
Feb 21, 2025
As per rust-lang#117276, this PR moves `sys_common::net` and the `sys::pal::net` into the newly created `sys::net` module. In order to support rust-lang#135141, I've moved all the current network code into a separate `connection` module, future functions like `hostname` can live in separate modules. I'll probably do a follow-up PR and clean up some of the actual code, this is mostly just a reorganization.
github-actions bot
pushed a commit
to model-checking/verify-rust-std
that referenced
this issue
Feb 22, 2025
As per rust-lang#117276, this PR moves `sys_common::net` and the `sys::pal::net` into the newly created `sys::net` module. In order to support rust-lang#135141, I've moved all the current network code into a separate `connection` module, future functions like `hostname` can live in separate modules. I'll probably do a follow-up PR and clean up some of the actual code, this is mostly just a reorganization.
github-actions bot
pushed a commit
to carolynzech/rust
that referenced
this issue
Feb 22, 2025
As per rust-lang#117276, this PR moves `sys_common::net` and the `sys::pal::net` into the newly created `sys::net` module. In order to support rust-lang#135141, I've moved all the current network code into a separate `connection` module, future functions like `hostname` can live in separate modules. I'll probably do a follow-up PR and clean up some of the actual code, this is mostly just a reorganization.
github-actions bot
pushed a commit
to tautschnig/verify-rust-std
that referenced
this issue
Feb 22, 2025
As per rust-lang#117276, this PR moves `sys_common::net` and the `sys::pal::net` into the newly created `sys::net` module. In order to support rust-lang#135141, I've moved all the current network code into a separate `connection` module, future functions like `hostname` can live in separate modules. I'll probably do a follow-up PR and clean up some of the actual code, this is mostly just a reorganization.
github-actions bot
pushed a commit
to thanhnguyen-aws/verify-rust-std
that referenced
this issue
Feb 22, 2025
As per rust-lang#117276, this PR moves `sys_common::net` and the `sys::pal::net` into the newly created `sys::net` module. In order to support rust-lang#135141, I've moved all the current network code into a separate `connection` module, future functions like `hostname` can live in separate modules. I'll probably do a follow-up PR and clean up some of the actual code, this is mostly just a reorganization.
How should file descriptors / handles be organized, since they are platform-dependent features? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
C-tracking-issue
Category: An issue tracking the progress of sth. like the implementation of an RFC
E-help-wanted
Call for participation: Help is requested to fix this issue.
T-libs
Relevant to the library team, which will review and decide on the PR/issue.
On Wednesday, the libs-team discussed reorganizing the platform-specific modules inside
std
, namelysys
andsys_common
into a new structure. These modules will be merged into onesys
module with a feature-first organization:sys
, named after the feature they implement, contain all the implementations of the different platforms and provide a uniform interface that the rest ofstd
may depend on. E.g.sys::thread_local
,sys::fs
orsys::thread_parking
.sys::pal
contains platform-specific generic API wrappers likeFileDesc
cvt
(UNIX) used to implement these features. E.g.sys::pal::unix
,sys::pal::windows
or (perhaps)sys::pal::apple
.The rest of
std
, modulostd::os
, should now only depend onsys::feature_name
and notsys::pal
. The implementations themselves may however depend on other parts ofstd
as necessary.Tasks
sys::pal
#117285sys
#119996sys
#120109sys
#120776sys
#121177sys
#121758Once
implementations tosys
#122386sys_common::thread
#123807sys::sync
#124159sys_common::backtrace
tosys
#126546sys
#128134io
module out ofpal
, get rid ofsys_common::io
#135696sys
#136449sys
#136780sys
#136929@rustbot label +T-libs +E-help-wanted
@rustbot claim
The text was updated successfully, but these errors were encountered: