1
Fork 0

sync: Move underneath libstd

This commit is the final step in the libstd facade, #13851. The purpose of this
commit is to move libsync underneath the standard library, behind the facade.
This will allow core primitives like channels, queues, and atomics to all live
in the same location.

There were a few notable changes and a few breaking changes as part of this
movement:

* The `Vec` and `String` types are reexported at the top level of libcollections
* The `unreachable!()` macro was copied to libcore
* The `std::rt::thread` module was moved to librustrt, but it is still
  reexported at the same location.
* The `std::comm` module was moved to libsync
* The `sync::comm` module was moved under `sync::comm`, and renamed to `duplex`.
  It is now a private module with types/functions being reexported under
  `sync::comm`. This is a breaking change for any existing users of duplex
  streams.
* All concurrent queues/deques were moved directly under libsync. They are also
  all marked with #![experimental] for now if they are public.
* The `task_pool` and `future` modules no longer live in libsync, but rather
  live under `std::sync`. They will forever live at this location, but they may
  move to libsync if the `std::task` module moves as well.

[breaking-change]
This commit is contained in:
Alex Crichton 2014-06-07 11:13:26 -07:00
parent c690191a84
commit b1c9ce9c6f
61 changed files with 383 additions and 362 deletions

View file

@ -126,6 +126,7 @@ extern crate alloc;
extern crate core;
extern crate core_collections = "collections";
extern crate core_rand = "rand";
extern crate core_sync = "sync";
extern crate libc;
extern crate rustrt;
@ -172,6 +173,8 @@ pub use core_collections::vec;
pub use rustrt::c_str;
pub use rustrt::local_data;
pub use core_sync::comm;
// Run tests with libgreen instead of libnative.
//
// FIXME: This egregiously hacks around starting the test runner in a different
@ -234,10 +237,8 @@ pub mod collections;
/* Tasks and communication */
pub mod task;
pub mod comm;
pub mod sync;
/* Runtime and platform support */
pub mod c_vec;