24921 Commits

Author SHA1 Message Date
Alex Crichton
726091fea5 Convert some C functions to rust functions
Right now on linux, an empty executable with LTO still depends on librt becaues
of the clock_gettime function in rust_builtin.o, but this commit moves this
dependency into a rust function which is subject to elimination via LTO.

At the same time, this also drops libstd's dependency on librt on unices that
are not OSX because the library is only used by extra::time (and now the
dependency is listed in that module instead).
2013-12-30 14:35:55 -08: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
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
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
Patrick Walton
c56bac7f40 librustc: De-@mut node_id in the session 2013-12-26 15:54:36 -08:00
Patrick Walton
eaf69494a5 librustc: De-@mut the loop scope in liveness 2013-12-26 15:54:36 -08:00
Patrick Walton
298d0b870f librustc: De-@mut label_ribs in the resolver 2013-12-26 15:54:36 -08:00
Patrick Walton
7f816b7ef4 librustc: De-@mut the idstack in constant checking 2013-12-26 15:54:36 -08:00
Patrick Walton
8c703643ad librustc: De-@mut the reachability worklist 2013-12-26 15:54:36 -08:00
Patrick Walton
4b4ff2cf8b librustc: De-@mut DynamicFailureHandler::finished 2013-12-26 15:54:36 -08:00
Patrick Walton
fc0b466fd4 librustc: De-@mut all_loans in the borrow checker 2013-12-26 15:54:36 -08:00