|
8 | 8 | // option. This file may not be copied, modified, or distributed
|
9 | 9 | // except according to those terms.
|
10 | 10 |
|
11 |
| -//! Runtime services, including the task scheduler and I/O dispatcher |
| 11 | +//! Runtime services |
12 | 12 | //!
|
13 |
| -//! The `rt` module provides the private runtime infrastructure necessary to support core language |
14 |
| -//! features like the exchange and local heap, logging, local data and unwinding. It also |
15 |
| -//! implements the default task scheduler and task model. Initialization routines are provided for |
16 |
| -//! setting up runtime resources in common configurations, including that used by `rustc` when |
17 |
| -//! generating executables. |
18 |
| -//! |
19 |
| -//! It is intended that the features provided by `rt` can be factored in a way such that the core |
20 |
| -//! library can be built with different 'profiles' for different use cases, e.g. excluding the task |
21 |
| -//! scheduler. A number of runtime features though are critical to the functioning of the language |
22 |
| -//! and an implementation must be provided regardless of the execution environment. |
23 |
| -//! |
24 |
| -//! Of foremost importance is the global exchange heap, in the module `heap`. Very little practical |
25 |
| -//! Rust code can be written without access to the global heap. Unlike most of `rt` the global heap |
26 |
| -//! is truly a global resource and generally operates independently of the rest of the runtime. |
27 |
| -//! |
28 |
| -//! All other runtime features are task-local, including the local heap, local storage, logging and |
29 |
| -//! the stack unwinder. |
30 |
| -//! |
31 |
| -//! The relationship between `rt` and the rest of the core library is not entirely clear yet and |
32 |
| -//! some modules will be moving into or out of `rt` as development proceeds. |
33 |
| -//! |
34 |
| -//! Several modules in `core` are clients of `rt`: |
35 |
| -//! |
36 |
| -//! * `std::task` - The user-facing interface to the Rust task model. |
37 |
| -//! * `std::local_data` - The interface to local data. |
38 |
| -//! * `std::unstable::lang` - Miscellaneous lang items, some of which rely on `std::rt`. |
39 |
| -//! * `std::cleanup` - Local heap destruction. |
40 |
| -//! * `std::io` - In the future `std::io` will use an `rt` implementation. |
41 |
| -//! * `std::logging` |
42 |
| -//! * `std::comm` |
| 13 | +//! The `rt` module provides a narrow set of runtime services, |
| 14 | +//! including the global heap (exported in `heap`) and unwinding and |
| 15 | +//! backtrace support. The APIs in this module are highly unstable, |
| 16 | +//! and should be considered as private implementation details for the |
| 17 | +//! time being. |
43 | 18 |
|
44 | 19 | #![experimental]
|
45 | 20 |
|
|
0 commit comments