rust/src
bors 6bf3fca8ff auto merge of #12900 : alexcrichton/rust/rewrite-sync, r=brson
* Remove clone-ability from all primitives. All shared state will now come
  from the usage of the primitives being shared, not the primitives being
  inherently shareable. This allows for fewer allocations for stack-allocated
  primitives.
* Add `Mutex<T>` and `RWLock<T>` which are stack-allocated primitives for purely
  wrapping a piece of data
* Remove `RWArc<T>` in favor of `Arc<RWLock<T>>`
* Remove `MutexArc<T>` in favor of `Arc<Mutex<T>>`
* Shuffle around where things are located
  * The `arc` module now only contains `Arc`
  * A new `lock` module contains `Mutex`, `RWLock`, and `Barrier`
  * A new `raw` module contains the primitive implementations of `Semaphore`,
    `Mutex`, and `RWLock`
* The Deref/DerefMut trait was implemented where appropriate
* `CowArc` was removed, the functionality is now part of `Arc` and is tagged
  with `#[experimental]`.
* The crate now has #[deny(missing_doc)]
* `Arc` now supports weak pointers

This is not a large-scale rewrite of the functionality contained within the
`sync` crate, but rather a shuffling of who does what an a thinner hierarchy of
ownership to allow for better composability.
2014-03-24 18:11:51 -07:00
..
compiler-rt@f4b221571c Update compiler-rt 2014-02-17 19:58:47 -08:00
compiletest auto merge of #12900 : alexcrichton/rust/rewrite-sync, r=brson 2014-03-24 18:11:51 -07:00
doc auto merge of #12900 : alexcrichton/rust/rewrite-sync, r=brson 2014-03-24 18:11:51 -07:00
driver Snapshot cleanup 2014-03-23 09:45:13 -07:00
etc sync: Move the concurrent queue to using &self 2014-03-23 09:45:19 -07:00
gyp@1e46da1000 Update bundled gyp 2013-12-28 10:42:25 -08:00
libarena Register new snapshots 2014-03-23 11:37:31 +01:00
libbacktrace Bundle libbacktrace with the compiler 2014-03-11 21:02:34 -07:00
libcollections auto merge of #13102 : huonw/rust/totaleq-deriving, r=thestinger 2014-03-23 08:36:51 -07:00
libflate Add #[deny(deprecated_owned_vector)] to several modules. 2014-03-22 01:08:57 +11:00
libfourcc Add #[deny(deprecated_owned_vector)] to several modules. 2014-03-22 01:08:57 +11:00
libgetopts getopts: remove all uses of ~[]. 2014-03-22 01:08:57 +11:00
libglob iter: remove to_owned_vec 2014-03-23 05:41:23 -04:00
libgreen std: Move NativeMutex from &mut self to &self 2014-03-23 09:45:19 -07:00
libhexfloat Add #[deny(deprecated_owned_vector)] to several modules. 2014-03-22 01:08:57 +11:00
liblog Add #[deny(deprecated_owned_vector)] to several modules. 2014-03-22 01:08:57 +11:00
libnative auto merge of #12900 : alexcrichton/rust/rewrite-sync, r=brson 2014-03-24 18:11:51 -07:00
libnum std: remove the equals method from TotalEq. 2014-03-23 23:48:10 +11:00
librand auto merge of #13049 : alexcrichton/rust/io-fill, r=huonw 2014-03-24 12:06:58 -07:00
librustc auto merge of #13074 : pczarn/rust/build-rlib, r=alexcrichton 2014-03-23 14:01:52 -07:00
librustdoc test: Update all tests with the sync changes 2014-03-24 17:17:46 -07:00
librustuv Register new snapshots 2014-03-23 11:37:31 +01:00
libsemver Add #[deny(deprecated_owned_vector)] to several modules. 2014-03-22 01:08:57 +11:00
libserialize auto merge of #13095 : alexcrichton/rust/serialize-tuple, r=huonw 2014-03-23 15:16:48 -07:00
libstd auto merge of #12900 : alexcrichton/rust/rewrite-sync, r=brson 2014-03-24 18:11:51 -07:00
libsync sync: Wire up all of the previous commits 2014-03-24 17:17:46 -07:00
libsyntax auto merge of #12998 : huonw/rust/log_syntax, r=alexcrichton 2014-03-24 07:11:59 -07:00
libterm Documentation sprint: Terminfo 2014-03-24 12:16:15 +01:00
libtest use TotalEq for HashMap 2014-03-23 01:59:11 -04:00
libtime Add #[deny(deprecated_owned_vector)] to several modules. 2014-03-22 01:08:57 +11:00
liburl Make url::Url derive TotalEq. 2014-03-23 15:32:18 +01:00
libuuid auto merge of #13102 : huonw/rust/totaleq-deriving, r=thestinger 2014-03-23 08:36:51 -07:00
libuv@800b56fe6a Make priavcy checking aware that a use directive can point to two defintions (namespaces) with different privacy. Closes #4110 2014-02-19 14:47:10 +13:00
libworkcache test: Update all tests with the sync changes 2014-03-24 17:17:46 -07:00
llvm@263c617d66 Update LLVM 2014-02-25 09:37:30 -08:00
rt rand: Rewrite OsRng in Rust for windows 2014-03-21 12:03:13 -07:00
rustllvm rustc: Fix support for LLVM 3.3 2014-03-05 18:05:05 -08:00
test auto merge of #12900 : alexcrichton/rust/rewrite-sync, r=brson 2014-03-24 18:11:51 -07:00
README.md Update source code layout in src/ 2014-02-24 21:22:27 -08:00
snapshots.txt Register new snapshots 2014-03-23 11:37:31 +01:00

This is a preliminary version of the Rust compiler, libraries and tools.

Source layout:

Path Description
librustc/ The self-hosted compiler
libstd/ The standard library (imported and linked by default)
libextra/ The "extras" library (slightly more peripheral code)
libgreen/ The M:N runtime library
libnative/ The 1:1 runtime library
libsyntax/ The Rust parser and pretty-printer
libcollections/ A collection of useful data structures and containers
libnum/ Extended number support library (complex, rational, etc)
libtest/ Rust's test-runner code
------------------- ---------------------------------------------------------
libarena/ The arena (a fast but limited) memory allocator
libflate/ Simple compression library
libfourcc/ Data format identifier library
libgetopts/ Get command-line-options library
libglob/ Unix glob patterns library
libsemver/ Rust's semantic versioning library
libserialize/ Encode-Decode types library
libsync/ Concurrency mechanisms and primitives
libterm/ ANSI color library for terminals
libtime/ Time operations library
libuuid/ UUID's handling code
------------------- ---------------------------------------------------------
rt/ The runtime system
rt/rust_*.c - Some of the runtime services
rt/vg - Valgrind headers
rt/msvc - MSVC support
rt/sundown - The Markdown library used by rustdoc
------------------- ---------------------------------------------------------
compiletest/ The test runner
test/ Testsuite
test/codegen - Tests for the LLVM IR infrastructure
test/compile-fail - Tests that should fail to compile
test/debug-info - Tests for the debuginfo tool
test/run-fail - Tests that should compile, run and fail
test/run-make - Tests that depend on a Makefile infrastructure
test/run-pass - Tests that should compile, run and succeed
test/bench - Benchmarks and miscellaneous
test/pretty - Pretty-printer tests
test/auxiliary - Dependencies of tests
------------------- ---------------------------------------------------------
librustdoc/ The Rust API documentation tool
libuv/ The libuv submodule
librustuv/ Rust libuv support code
------------------- ---------------------------------------------------------
llvm/ The LLVM submodule
rustllvm/ LLVM support code
------------------- ---------------------------------------------------------
etc/ Scripts, editors support, misc

NOTE: This list (especially the second part of the table which contains modules and libraries) is highly volatile and subject to change.