diff options
| author | Brian Anderson <banderson@mozilla.com> | 2016-09-30 23:56:28 +0000 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2016-11-01 17:08:24 +0000 |
| commit | ee71dc54765c161c51b2a8d860f9ebf95c6d7e12 (patch) | |
| tree | 62dadbc840eeb2d7576ea2e82a84067e59706eb1 /src/libstd | |
| parent | ca30691813836e1c6896e5ba5d4397eb717e7270 (diff) | |
| download | rust-ee71dc54765c161c51b2a8d860f9ebf95c6d7e12.tar.gz rust-ee71dc54765c161c51b2a8d860f9ebf95c6d7e12.zip | |
Document sys_common and sys
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/sys/mod.rs | 22 | ||||
| -rw-r--r-- | src/libstd/sys_common/mod.rs | 14 |
2 files changed, 36 insertions, 0 deletions
diff --git a/src/libstd/sys/mod.rs b/src/libstd/sys/mod.rs index f7e1a0a075a..84f41a1c535 100644 --- a/src/libstd/sys/mod.rs +++ b/src/libstd/sys/mod.rs @@ -8,6 +8,28 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +//! Platform-dependent platform abstraction +//! +//! The `std::sys` module is the abstracted interface through which +//! `std` talks to the underlying operating system. It has different +//! implementations for different operating system families, today +//! just Unix and Windows. +//! +//! The centralization of platform-specific code in this module is +//! enforced by the "platform abstraction layer" tidy script in +//! `tools/tidy/pal.rs`. +//! +//! This module is closely related to the platform-independent system +//! integration code in `std::sys_common`. See that module's +//! documentation for details. +//! +//! In the future it would be desirable for the indepedent +//! implementations of this module to be extracted to their own crates +//! that `std` can link to, thus enabling their implementation +//! out-of-tree via crate replacement. Though due to the complex +//! inter-dependencies within `std` that will be a challenging goal to +//! achieve. + pub use self::imp::*; #[cfg(unix)] diff --git a/src/libstd/sys_common/mod.rs b/src/libstd/sys_common/mod.rs index 2845f895f18..ac2b27844dc 100644 --- a/src/libstd/sys_common/mod.rs +++ b/src/libstd/sys_common/mod.rs @@ -8,6 +8,20 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +//! Platform-independent platform abstraction +//! +//! This is the platform-independent portion of the standard libraries +//! platform abstraction layer, whereas `std::sys` is the +//! platform-specific portion. +//! +//! The relationship between `std::sys_common`, `std::sys` and the +//! rest of `std` is complex, with dependencies going in all +//! directions: `std` depending on `sys_common`, `sys_common` +//! depending on `sys`, and `sys` depending on `sys_common` and `std`. +//! Ideally `sys_common` would be split into two and the dependencies +//! between them all would form a dag, facilitating the extraction of +//! `std::sys` from the standard library. + #![allow(missing_docs)] use sync::Once; |
