Tracking Issue for restructuring `std::sys`
Open
@joboet is already working on this.
Since Oct 27, 2023.
C-tracking-issue
E-help-wanted
T-libs
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
On Wednesday, the libs-team discussed reorganizing the platform-specific modules inside std, namely sys and sys_common into a new structure. These modules will be merged into one sys module with a feature-first organization:
- the submodules of
sys, named after the feature they implement, contain all the implementations of the different platforms and provide a uniform interface that the rest ofstdmay depend on. E.g.sys::thread_local,sys::fsorsys::thread_parking. sys::palcontains platform-specific generic API wrappers likeFileDesccvt(UNIX) used to implement these features. E.g.sys::pal::unix,sys::pal::windowsor (perhaps)sys::pal::apple.
The rest of std, modulo std::os, should now only depend on sys::feature_name and not sys::pal. The implementations themselves may however depend on other parts of std as necessary.
- #117285
- https://github.com/rust-lang/rust/pull/119935
- https://github.com/rust-lang/rust/pull/119996
- https://github.com/rust-lang/rust/pull/120109
- https://github.com/rust-lang/rust/pull/120776
- https://github.com/rust-lang/rust/pull/121177
- https://github.com/rust-lang/rust/pull/121758
- https://github.com/rust-lang/rust/pull/122386
- https://github.com/rust-lang/rust/pull/123807
- https://github.com/rust-lang/rust/pull/124159
- https://github.com/rust-lang/rust/pull/126523
- https://github.com/rust-lang/rust/pull/126546
- https://github.com/rust-lang/rust/pull/128134
- https://github.com/rust-lang/rust/pull/135696
- https://github.com/rust-lang/rust/pull/136449
- https://github.com/rust-lang/rust/pull/137650
- https://github.com/rust-lang/rust/pull/136780
- https://github.com/rust-lang/rust/pull/136929
- #140393
- #139092
- #139710
- #139868
- #140143
- #145177
- #146794 (alternative: #146801)
- #147077
- #149930
- #150047
- #151161
- #152657
- #153130
- Move remaining features from
sys::palintosys
@rustbot label +T-libs +E-help-wanted
@rustbot claim
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.