Commit Graph

25175 Commits

Author SHA1 Message Date
bors
9eb89a6c6e auto merge of #10982 : ezyang/rust/lvalue-def, r=pcwalton
Based off of Niko's proposed definition of lvalues.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
2013-12-15 15:16:28 -08:00
bors
ebbd30b5b2 auto merge of #10929 : pcwalton/rust/deboxing, r=pcwalton
...eyword.

r? @brson
2013-12-15 10:46:28 -08:00
Patrick Walton
998a3bbae0 libstd: Fix merge fallout. 2013-12-15 10:41:15 -08:00
Patrick Walton
775ccadd25 libsyntax: Implement the new box syntax for unique pointers. 2013-12-15 10:41:15 -08:00
Patrick Walton
a87786e3e9 librustc: Remove identifiers named box, since it's about to become a keyword. 2013-12-15 10:41:15 -08:00
bors
8d52dfbace auto merge of #10984 : huonw/rust/clean-raw, r=cmr
See commits for details.
2013-12-15 06:56:27 -08:00
bors
ef7969e86f auto merge of #10974 : huonw/rust/spellck, r=alexcrichton 2013-12-15 05:06:24 -08:00
Huon Wilson
164f7a290e std::vec: convert to(_mut)_ptr to as_... methods on &[] and &mut []. 2013-12-15 23:37:41 +11:00
Edward Z. Yang
b1b905f30b Correct definition of lvalues, fixes #10890
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
2013-12-15 20:31:05 +08:00
Huon Wilson
f53292f7ee Move std::{str,vec}::raw::set_len to an unsafe method on Owned{Vector,Str}. 2013-12-15 23:05:30 +11:00
Huon Wilson
4f62c969f6 std::vec: move pointless raw::get and unsafe_get functions.
This can easily be written as `(*v.unsafe_ref(i)).clone()`, or just
`*v.unsafe_ref(i)` for primitive types like `i32` (the common case).
2013-12-15 23:05:00 +11:00
Huon Wilson
0393c402a6 std::vec::raw: clean up docs. 2013-12-15 22:35:08 +11:00
Huon Wilson
a43bf3ff99 std::vec::bytes: remove obsolete functions.
These are less useful versions of the comparison operators and TotalOrd
trait.
2013-12-15 22:34:56 +11:00
Huon Wilson
f97040a93b std::vec: remove unnecessary count parameter on {bytes,
raw}::copy_memory.

Slices carry their length with them, so we can just use that
information.
2013-12-15 22:23:11 +11:00
bors
09bfb3b473 auto merge of #10970 : erickt/rust/master, r=alexcrichton
This modifies the `configure` to set `CFG_ENABLE_CLANG=1` if `gcc` is actually `clang`. This is needed because OS X's clang enables warning on unused command line arguments. Our build system suppresses this by default, but when `CFG_ENABLE_CLANGE=0`, we do not. This causes one of the tests to fail. This patch changes rust to directly use clang, which fixes the build failure.

Closes #10811
2013-12-15 03:06:24 -08:00
bors
386b455b1b auto merge of #10948 : cmr/rust/update_pkgid, r=metajack 2013-12-15 01:01:43 -08:00
bors
7f5787ac26 auto merge of #10932 : alexcrichton/rust/feature-update, r=cmr 2013-12-14 23:02:15 -08:00
Alex Crichton
6747d0738a Handle more cases in the heap lints 2013-12-14 22:56:33 -08:00
Huon Wilson
b0bcbbb154 extra: fix spelling in docs. 2013-12-15 16:34:14 +11:00
Huon Wilson
c126aa5692 std::rt: s/pausible/pausable/. 2013-12-15 16:29:17 +11:00
Huon Wilson
55534100ce std: fix spelling in docs. 2013-12-15 16:26:09 +11:00
bors
8f6df87c1d auto merge of #10968 : MicahChalmer/rust/emacs-proc-keyword, r=metajack 2013-12-14 19:41:42 -08:00
Corey Richardson
b20aa5b77d librustpkg: don't clobber the crate attributes for the pkgid 2013-12-14 19:31:02 -05:00
Erick Tryzelaar
460a966a58 Use clang instead of gcc on OS X 10.9
Apple replaced gcc with clang, but kept around a stub gcc to call
clang. This adds a check in `configure` to detect when gcc is
really clang, and switch to using clang in this situation.

Closes #10811.
2013-12-14 16:11:48 -08:00
Erick Tryzelaar
bea3ec34dd Remove tabs from configure script 2013-12-14 16:11:39 -08:00
Micah Chalmer
d7c949368c Add "proc" as keyword to emacs mode 2013-12-14 18:00:21 -05:00
bors
ca54ad8592 auto merge of #10952 : huonw/rust/1ms-bench, r=cmr
This makes sure we always run benchmarks even if they are predicted to
take a long time, so that we have some non-zero time to display
(although the error bars may be huge for particularly slow benchmarks).

Fixes #9532.
2013-12-14 14:11:21 -08:00
bors
aafed3ece5 auto merge of #10936 : cadencemarseille/rust/issue-10754-std-run-unwrap-on-None, r=alexcrichton
The problem was that std::run::Process::new() was unwrap()ing the result
of std::io::process::Process::new(), which returns None in the case
where the io_error condition is raised to signal failure to start the
process.

Have std::run::Process::new() similarly return an Option\<run::Process\>
to reflect the fact that a subprocess might have failed to start. Update
utility functions run::process_status() and run::process_output() to
return Option\<ProcessExit\> and Option\<ProcessOutput\>, respectively.

Various parts of librustc and librustpkg needed to be updated to reflect
these API changes.

closes #10754
2013-12-14 12:56:22 -08:00
bors
3d3a663d25 auto merge of #10870 : ktt3ja/rust/issue-10865, r=alexcrichton
Fix #10865 and #10939.
2013-12-14 10:41:24 -08:00
Cadence Marseille
5de42701a8 Fix #10754 - std::run functions fail after io_error
The problem was that std::run::Process::new() was unwrap()ing the result
of std::io::process::Process::new(), which returns None in the case
where the io_error condition is raised to signal failure to start the
process.

Have std::run::Process::new() similarly return an Option<run::Process>
to reflect the fact that a subprocess might have failed to start. Update
utility functions run::process_status() and run::process_output() to
return Option<ProcessExit> and Option<ProcessOutput>, respectively.

Various parts of librustc and librustpkg needed to be updated to reflect
these API changes.

closes #10754
2013-12-14 12:50:04 -05:00
bors
f73c9c9bbc auto merge of #10949 : fabricedesre/rust/no-gnustl, r=cmr 2013-12-14 09:26:27 -08:00
bors
53d1a67bbd auto merge of #10944 : metajack/rust/pkgid-docs, r=cmr 2013-12-14 08:11:29 -08:00
bors
7eb50c203b auto merge of #10938 : jhasse/rust/patch-rustpkg, r=alexcrichton
rustpkg assumes library files to be in a directory called `lib`, but on Windows they are instead in the `bin` directory. This patch changes nothing on Unix system, since `libdir()` returns `"lib"` there.
2013-12-14 06:56:28 -08:00
Chris Morgan
b76997f3a9 Rename To{Str,Bytes}Consume traits to Into*.
That is:

- `ToStrConsume` → `IntoStr`;
- `ToBytesConsume` → `IntoBytes`.
2013-12-15 01:04:22 +11:00
bors
b2750bca0c auto merge of #10933 : TeXitoi/rust/shootout-fasta-rewrite, r=alexcrichton
improvements:
 - no managed box
 - no virtual calls
 - no useless copy
 - optimizations (bisect is slower, limit tests, BufferedWriter...)
 - pass shootout test
 - 10 times faster
2013-12-14 05:26:28 -08:00
Chris Morgan
529f915728 Remove {As,Into,To}{Option,Either,Result} traits.
Expanded, that is:

- `AsOption`
- `IntoOption`
- `ToOption`
- `AsEither`
- `IntoEither`
- `ToEither`
- `AsResult`
- `IntoResult`
- `ToResult`

These were defined for each other but never *used* anywhere. They are
all trivial and so removal will have negligible effect upon anyone.
`Either` has fallen out of favour (and its implementation of these
traits of dubious semantics), `Option<T>` → `Result<T, ()>` was never
really useful and `Result<T, E>` → `Option<T>` should now be done with
`Result.ok()` (mirrored with `Result.err()` for even more usefulness).

In summary, there's really no point in any of these remaining.
2013-12-14 23:22:01 +11:00
bors
00b1adf93c auto merge of #10935 : sanxiyn/rust/fk-anon, r=pcwalton 2013-12-14 03:31:41 -08:00
bors
844003683b auto merge of #10931 : sfackler/rust/base64-visibility, r=alexcrichton
These got swept up in the great privatizing of 2013.
2013-12-14 00:56:31 -08:00
Kiet Tran
a67b8863c2 Suppress warnings in run-pass tests 2013-12-14 01:56:51 -05:00
bors
0b1fb89278 auto merge of #10921 : alexcrichton/rust/libuv-upgrade, r=brson
This allows building of libuv for android with a host OS of OSX.
2013-12-13 22:51:30 -08:00
Kiet Tran
71ce559f7d Dead-code pass now marks and warns foreign items 2013-12-14 00:35:41 -05:00
Kiet Tran
d5ad32f388 Check more live Path nodes in dead-code pass 2013-12-14 00:26:15 -05:00
bors
67177ef3e1 auto merge of #10923 : boredomist/rust/export-summary-members, r=alexcrichton
Several of the members of `extra::stats::Summary` were calculated and tested, but not exposed externally. This change exposes all of the members.
2013-12-13 20:01:44 -08:00
bors
64ecb78716 auto merge of #10960 : brson/rust/android, r=alexcrichton 2013-12-13 17:11:34 -08:00
Brian Anderson
0b69bc95c3 Ignore failing Android debug-info tests. #10381 2013-12-13 16:39:22 -08:00
Brian Anderson
df1aa7ecd2 Ignore time tests on android. #10958 2013-12-13 16:39:20 -08:00
bors
09bf5deb68 auto merge of #10918 : eddyb/rust/inline-finally-dtor, r=thestinger
* fixes the vec::from_elem regression caused by #8780
* added 5 benchmarks for allocating a 1KB `~[u8]` and zeroing it
* closes #7136
2013-12-13 15:46:32 -08:00
bors
fbbadae80f auto merge of #10849 : adridu59/rust/patch-css, r=alexcrichton
rustdoc:
- fix search-bar layout

doc: CSS:
- switch to native pandoc toc depth
- rm some dead code
- clamp width to be readable (we're not Wikipedia!)
- don't background-color titles, it's bloating
- make syntax-highlighting colors inline with rust-lang.org
- space indents

@alexcrichton
2013-12-13 14:21:35 -08:00
bors
378897a09c auto merge of #10916 : alexcrichton/rust/nounwind, r=pcwalton
When performing LTO, the rust compiler has an opportunity to completely strip
all landing pads in all dependent libraries. I've modified the LTO pass to
recognize the -Z no-landing-pads option when also running an LTO pass to flag
everything in LLVM as nothrow. I've verified that this prevents any and all
invoke instructions from being emitted.

I believe that this is one of our best options for moving forward with
accomodating use-cases where unwinding doesn't really make sense. This will
allow libraries to be built with landing pads by default but allow usage of them
in contexts where landing pads aren't necessary.
2013-12-13 12:56:36 -08:00
Adrien Tétar
1999b25310 doc: CSS changes + commit improved favicon 2013-12-13 21:50:26 +01:00