std: Internalize almost all of std::rt

This commit does some refactoring to make almost all of the `std::rt` private.
Specifically, the following items are no longer part of its API:

* DEFAULT_ERROR_CODE
* backtrace
* unwind
* args
* at_exit
* cleanup
* heap (this is just alloc::heap)
* min_stack
* util

The module is now tagged as `#[doc(hidden)]` as the only purpose it's serve is
an entry point for the `panic!` macro via the `begin_unwind` and
`begin_unwind_fmt` reexports.
This commit is contained in:
Alex Crichton
2015-09-08 15:53:46 -07:00
parent 192c37537b
commit f4be2026df
33 changed files with 273 additions and 432 deletions

View File

@@ -167,10 +167,11 @@ use any::Any;
use cell::UnsafeCell;
use fmt;
use io;
use rt::{self, unwind};
use sync::{Mutex, Condvar, Arc};
use sys::thread as imp;
use sys_common::thread_info;
use sys_common::unwind;
use sys_common::util;
use time::Duration;
////////////////////////////////////////////////////////////////////////////////
@@ -260,7 +261,7 @@ impl Builder {
-> io::Result<JoinInner<T>> {
let Builder { name, stack_size } = self;
let stack_size = stack_size.unwrap_or(rt::min_stack());
let stack_size = stack_size.unwrap_or(util::min_stack());
let my_thread = Thread::new(name);
let their_thread = my_thread.clone();
@@ -383,7 +384,7 @@ pub fn catch_panic<F, R>(f: F) -> Result<R>
let mut result = None;
unsafe {
let result = &mut result;
try!(::rt::unwind::try(move || *result = Some(f())))
try!(unwind::try(move || *result = Some(f())))
}
Ok(result.unwrap())
}