-
Notifications
You must be signed in to change notification settings - Fork 13.9k
Open
Labels
C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCE-help-wantedCall for participation: Help is requested to fix this issue.Call for participation: Help is requested to fix this issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.Relevant to the library team, which will review and decide on the PR/issue.
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.
- Move platform modules into
sys::pal#117285 - Move personality implementation out of PAL #119935
- Move OS String implementation into
sys#119996 - Move cmath into
sys#120109 - Move path implementations into
sys#120776 - Move locks to
sys#121177 - Move thread local implementation to
sys#121758 - Move
Onceimplementations tosys#122386 - Remove
sys_common::thread#123807 - Move thread parking to
sys::sync#124159 - std: refactor the TLS implementation #126523
- std: move
sys_common::backtracetosys#126546 - std: move allocators to
sys#128134 - std: move
iomodule out ofpal, get rid ofsys_common::io#135696 - std: move network code into
sys#136449 - Move
fsintosys#137650 - std: move stdio to
sys#136780 - std: move process implementations to
sys#136929 - std: get rid of
sys_common::process#140393 - Move
fdintostd::sys#139092 - Move
argsintostd::sys#139710 - Move
pal::envtostd::sys::env_consts#139868 - Move
sys::pal::os::Envintosys::env#140143 - std: move
threadintosys#145177 - std: reorganize pipe implementations #146794 (alternative: Move
pipeintosys#146801) - std: move
kernel_copytosys#147077 - Move remaining features from
sys_commonandsys::palintosys
tgross35, thaliaarchi and kvcache
Metadata
Metadata
Assignees
Labels
C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCE-help-wantedCall for participation: Help is requested to fix this issue.Call for participation: Help is requested to fix this issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.Relevant to the library team, which will review and decide on the PR/issue.