Commit Graph

25080 Commits

Author SHA1 Message Date
Kevin Ballard 1db746474d Add /doc/{rustc,syntax} to .gitignore 2013-12-29 14:30:34 -05:00
Kevin Ballard 01209f1e3a Add method .as_mut_slice() to MutableVector
This method is primarily intended to allow for converting a [T, ..N] to
a &mut [T].
2013-12-29 13:27:59 -05:00
Kevin Ballard b3ae7b13ec Add /doc/{green,native} to .gitignore 2013-12-29 13:24:48 -05:00
bors aa5d779a35 auto merge of #11134 : lucab/rust/lucab/libstd-doc, r=cmr
Uniform the short title of modules provided by libstd, in order to make their roles more explicit when glancing at the index.
2013-12-29 08:22:04 -08:00
eliovir 466065946f rust.md : update crate attributes.
#[ author = "Jane Doe" ]; raises "warning: unknown crate attribute"
2013-12-29 12:37:51 +01:00
bors afe8f6e106 auto merge of #11177 : cmr/rust/native_and_green_docs, r=alexcrichton
Some people have requested this, and I think it's quite useful to have
documentation for the compiler libraries. libnative and libgreen are
self-explanatory I think.
2013-12-28 21:36:59 -08:00
Corey Richardson 7b382e58b1 Fix rustdoc bug involving PatLit 2013-12-29 00:13:29 -05:00
Corey Richardson e53e86a3f3 Add a compiler-docs target 2013-12-29 00:13:19 -05:00
Steven Fackler 933def408c Stop passing duplicate parameters in expand 2013-12-28 21:16:03 -07:00
Steven Fackler 711d5106bc Remove unecessary extern "Rust" specifiers 2013-12-28 21:16:03 -07:00
Steven Fackler 0607c138ca Stop using @ExtCtxt 2013-12-28 21:16:03 -07:00
Alex Crichton f3370295b7 Implement a Once primitive for initialization
Of the 8 static mutexes that are currently in-use by the compiler and its
libraries, 4 of them are currently used for one-time initialization. The
unforunate side effect of using a static mutex is that the mutex is leaked.

This primitive should provide the basis for efficiently keeping track of
one-time initialization as well as ensuring that it does not leak the internal
mutex that is used.

I have chosen to put this in libstd because libstd is currently making use of a
static initialization mutex (rt::local_ptr), but I can also see a more refined
version of this type being suitable to initialize FFI bindings (such as
initializing LLVM and initializing winsock networking on windows). I also intend
on adding "helper threads" to libnative, and those will greatly benefit from a
simple "once" primitive rather than always reinventing the wheel by using
mutexes and bools.

I would much rather see this primitive built on a mutex that blocks green
threads appropriately, but that does not exist at this time, so it does not
belong outside of `std::unstable`.
2013-12-28 19:44:02 -08:00
bors 38a5edbfe6 auto merge of #11180 : alexcrichton/rust/fix-deferred-send, r=cmr
I forgot to add this back in after I removed can_resched and then realized I had
to add it back.
2013-12-28 19:06:57 -08:00
bors b90989a728 auto merge of #11179 : alexcrichton/rust/update-gyp, r=cmr
Closes #11152
2013-12-28 17:37:06 -08:00
bors c0d4abf8c5 auto merge of #11150 : huonw/rust/moar-docs, r=alexcrichton
(I removed the `fn main` from the `std::rand` examples to make it consistent with the rest of the codebase.)
2013-12-28 16:06:59 -08:00
Huon Wilson 8715736117 std::hashmap: add an example with the basic methods. 2013-12-29 10:32:56 +11:00
bors 2922697087 auto merge of #11175 : klutzy/rust/ice, r=alexcrichton
`ln_str` caused ICE if `RUST_LOG=rustc::middle::liveness` is given
due to borrow failure.
2013-12-28 14:12:01 -08:00
bors 482f75f595 auto merge of #11171 : eliovir/rust/patch-2, r=alexcrichton 2013-12-28 12:56:58 -08:00
Alex Crichton 0aab974a6c Guard a maybe_yield in Chan with can_resched
I forgot to add this back in after I removed can_resched and then realized I had
to add it back.
2013-12-28 11:25:28 -08:00
Alex Crichton 6c6a076df6 Update bundled gyp
Closes #11152
2013-12-28 10:42:25 -08:00
bors 200c52a34e auto merge of #11159 : alexcrichton/rust/native-io, r=pcwalton
The old `rtio-processes` run-pass test is now moved into libstd's `io::process` module, and all process and TCP tests are now run with `iotest!` (both a native and a green version are tested).

All TCP networking on windows is provided by `ws2_32` which is apparently very similar to unix networking (hurray!).
2013-12-28 10:36:54 -08:00
Corey Richardson 8ca1c344d5 Add docs for more crates 2013-12-28 13:06:05 -05:00
klutzy eaae0ac68a rustc: Fix a borrow failure in `.ln_str()`
`ln_str` caused ICE if `RUST_LOG=rustc::middle::liveness` is given
due to borrow failure.
2013-12-29 02:47:12 +09:00
bors 1b2cebc2c1 auto merge of #11170 : alexcrichton/rust/fix-llvm-race, r=pcwalton
This also appears to fix a race in LLVM that was causing a deadlock on the bots
during the doc-test tests (where we use rustc in parallel).
2013-12-28 09:21:51 -08:00
eliovir 743d39293f Update tutorial.md : rename pkgid to crate_id 2013-12-28 10:32:03 +01:00
Alex Crichton b6a7463526 Initialize LLVM only once
This also appears to fix a race in LLVM that was causing a deadlock on the bots
during the doc-test tests (where we use rustc in parallel).
2013-12-27 23:39:33 -08:00
Alex Crichton 2a4f9d69af Implement native TCP I/O 2013-12-27 23:09:31 -08:00
bors d2a4a107ae auto merge of #11160 : octurion/rust/cloneable, r=alexcrichton
Rename all instances of ClonableIterator to CloneableIterator. This fixes bug https://github.com/mozilla/rust/issues/11132.
2013-12-27 23:06:49 -08:00
Alex Crichton 1763f36c9d Bring native process bindings up to date
Move the tests into libstd, use the `iotest!` macro to test both native and uv
bindings, and use the cloexec trick to figure out when the child process fails
in exec.
2013-12-27 17:41:04 -08:00
bors a5fa1d95bc auto merge of #11098 : erickt/rust/collect, r=alexcrichton
This patch changes `result::collect` (and adds a new `option::collect`) from creating a `~[T]` to take an `Iterator`. This makes the function much more flexible, and may replace the need for #10989.

This patch is a little more complicated than it needs to be because of #11084. Once that is fixed we can replace the `CollectIterator` with a `Scan` iterator.

It also fixes a test warning.
2013-12-27 16:36:46 -08:00
bors 1a9c8cc128 auto merge of #11156 : luqmana/rust/trait-object-coercion, r=pcwalton
This ports over @pcwalton's old pull that bitrotted (#5597). Fixes #10039.

r? @pcwalton / @nikomatsakis
2013-12-27 13:16:45 -08:00
bors cc1b93e425 auto merge of #11158 : alexcrichton/rust/green-bootstrap-task, r=pcwalton
Closes #11054
2013-12-27 10:11:48 -08:00
Alexandros Tasos 32c480d63d Renamed ClonableIterator to CloneableIterator 2013-12-27 16:10:11 +02:00
Luca Bruno a9a7a427a1 std: uniform modules titles for doc
This commit uniforms the short title of modules provided by libstd,
in order to make their roles more explicit when glancing at the index.

Signed-off-by: Luca Bruno <lucab@debian.org>
2013-12-27 09:49:11 +01:00
Luqman Aden 981c6b12fa Add tests for trait object coercion. 2013-12-27 03:26:46 -05:00
Luqman Aden 1265a03139 librustc: Implement coercion for traits. 2013-12-27 03:26:46 -05:00
Alex Crichton 3c4eb2b1d1 Remove green scheduler bootstrap tasks
Closes #11054
2013-12-26 22:30:10 -08:00
bors 00d87e0d81 auto merge of #11058 : pcwalton/rust/demuting, r=pcwalton
r? @alexcrichton
2013-12-26 18:32:15 -08:00
Patrick Walton ad160146fd librustc: Fix tidy problem. 2013-12-26 15:54:37 -08:00
Patrick Walton cc0584731a librustc: De-`@mut` the def map.
This is the last `@mut` in `librustc` that does not depend on libsyntax.
2013-12-26 15:54:37 -08:00
Patrick Walton 56b9a207ab librustc: De-`@mut` the value and type ribs in the resolver 2013-12-26 15:54:37 -08:00
Patrick Walton c48335e334 librustc: De-`@mut` `Module::imports` in the resolver 2013-12-26 15:54:37 -08:00
Patrick Walton 47846110a4 librustc: Fully de-`@mut` `trait_impls` in the type context 2013-12-26 15:54:37 -08:00
Patrick Walton fecef74d57 librustc: De-`@mut` the inherent implementations list 2013-12-26 15:54:37 -08:00
Patrick Walton ed819c9a81 librustc: De-`@mut` the crate cache in the crate reader 2013-12-26 15:54:37 -08:00
Patrick Walton 1f76a9ba5e librustc: De-`@mut` `populated_external_traits` in the type context 2013-12-26 15:54:37 -08:00
Patrick Walton f62faa89ed librustc: De-`@mut` `outputs` in the session 2013-12-26 15:54:37 -08:00
Patrick Walton e4815b6c3f librustc: De-`@mut` the `users` list in liveness 2013-12-26 15:54:37 -08:00
Patrick Walton ff23e1202f librustc: De-`@mut` `BindingRscope::anon_bindings` 2013-12-26 15:54:36 -08:00
Patrick Walton d7b152701e librustc: De-`@mut` `building_library` in the session 2013-12-26 15:54:36 -08:00