Skip to content

Commit

Permalink
std: remove a workaround for privacy limitations that isn't necessary…
Browse files Browse the repository at this point in the history
… anymore
  • Loading branch information
swgillespie committed Mar 14, 2017
1 parent fd182c4 commit 1545f4e
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 14 deletions.
4 changes: 2 additions & 2 deletions src/libstd/rt.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ fn lang_start(main: *const u8, argc: isize, argv: *const *const u8) -> isize {
use panic;
use sys;
use sys_common;
use sys_common::thread_info::{self, NewThread};
use sys_common::thread_info;
use thread::Thread;

sys::init();
Expand All @@ -47,7 +47,7 @@ fn lang_start(main: *const u8, argc: isize, argv: *const *const u8) -> isize {
// created. Note that this isn't necessary in general for new threads,
// but we just do this to name the main thread and to give it correct
// info about the stack bounds.
let thread: Thread = NewThread::new(Some("main".to_owned()));
let thread = Thread::new(Some("main".to_owned()));
thread_info::set(main_guard, thread);

// Store our args if necessary in a squirreled away location
Expand Down
7 changes: 1 addition & 6 deletions src/libstd/sys_common/thread_info.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ impl ThreadInfo {
if c.borrow().is_none() {
*c.borrow_mut() = Some(ThreadInfo {
stack_guard: None,
thread: NewThread::new(None),
thread: Thread::new(None),
})
}
Some(f(c.borrow_mut().as_mut().unwrap()))
Expand All @@ -54,8 +54,3 @@ pub fn set(stack_guard: Option<usize>, thread: Thread) {
thread: thread,
}));
}

// a hack to get around privacy restrictions; implemented by `std::thread`
pub trait NewThread {
fn new(name: Option<String>) -> Self;
}
7 changes: 1 addition & 6 deletions src/libstd/thread/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -745,7 +745,7 @@ pub struct Thread {

impl Thread {
// Used only internally to construct a thread object without spawning
fn new(name: Option<String>) -> Thread {
pub(crate) fn new(name: Option<String>) -> Thread {
let cname = name.map(|n| {
CString::new(n).expect("thread name may not contain interior null bytes")
});
Expand Down Expand Up @@ -858,11 +858,6 @@ impl fmt::Debug for Thread {
}
}

// a hack to get around privacy restrictions
impl thread_info::NewThread for Thread {
fn new(name: Option<String>) -> Thread { Thread::new(name) }
}

////////////////////////////////////////////////////////////////////////////////
// JoinHandle
////////////////////////////////////////////////////////////////////////////////
Expand Down

0 comments on commit 1545f4e

Please sign in to comment.