-
Couldn't load subscription status.
- Fork 13.9k
Closed
Labels
A-technical-debtArea: Internal cleanup workArea: Internal cleanup workC-cleanupCategory: PRs that clean code up or issues documenting cleanup.Category: PRs that clean code up or issues documenting cleanup.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
The relationship between
std::sys_common,std::sysand the rest ofstdis complex, with dependencies going in all directions:stddepending onsys_common,sys_commondepending onsys, andsysdepending onsys_commonandstd. Ideallysys_commonwould be split into two and the dependencies between them all would form a dag.
There is a lot of interdependence between std, sys and sys_common, this is because sys_common contains several types of code:
- abstractions over the different platform implementations in std::sys (for example
std::sys_common::mutex) - code shared between platforms (for example
std::sys_common::alloc) - code that is not platform-dependent (for example
std::sys_common::poison)
In order to reduce the interdependence, sys_common will be restructured:
- A new module
sys::commonis introduced; code that is shared by all platforms will be moved fromsys_commonto this new module. - Code that is shared between some but not all platforms will be moved to
sysand shared using#[path]instead. - Code that is not platform-dependent will be moved out of
sys_commonto the appropriate place instd.
Ideally the end-result of this is sys_common again only containing platform-independent abstractions on top of sys.
Metadata
Metadata
Assignees
Labels
A-technical-debtArea: Internal cleanup workArea: Internal cleanup workC-cleanupCategory: PRs that clean code up or issues documenting cleanup.Category: PRs that clean code up or issues documenting cleanup.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.