Commit Graph

24379 Commits

Author SHA1 Message Date
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
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 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
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
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
bors ae3078ca25 auto merge of #10913 : cmr/rust/rustdoc_man, r=huonw
Clarify that it's sundown, and that we don't support magic
2013-12-13 11:31:57 -08:00
bors e5f4904fab auto merge of #10912 : DiamondLovesYou/rust/master, r=alexcrichton 2013-12-13 07:51:42 -08:00
bors 6e0b82e07c auto merge of #10909 : sanxiyn/rust/coherence, r=alexcrichton
Now coherence checking is always done.
2013-12-13 06:26:42 -08:00
bors d52e1bffe5 auto merge of #10908 : alexcrichton/rust/issue-10907, r=cmr
Turns out that one some platforms the ar/ranlib tool will die with an assertion
if the file being added doesn't actually have any symbols (or if it's just not
an object file presumably).

This functionality is already all exercised on the bots, it just turns out that
the bots don't have an ar tool which dies in this situation, so it's difficult
for me to add a test.

Closes #10907
2013-12-13 05:01:58 -08:00
bors 2ec4712289 auto merge of #10895 : sfackler/rust/io-util, r=alexcrichton
This adds a bunch of useful Reader and Writer implementations. I'm not a
huge fan of the name `util` but I can't think of a better name and I
don't want to make `std::io` any longer than it already is.
2013-12-13 02:56:43 -08:00
bors 9bbef13702 auto merge of #10698 : metajack/rust/dep-info, r=alexcrichton
This isn't super useful for libraries yet without #10593.

Fixes #7633.
2013-12-13 00:32:47 -08:00
bors 09bb3c0c4b auto merge of #10878 : vadimcn/rust/manifest, r=alexcrichton
In order to avoid UAC installer detection silliness...

Closes #10512
2013-12-12 21:02:03 -08:00
Jack Moffitt b2ccd4c3ec Add test for --dep-info. 2013-12-12 17:11:02 -07:00
Jack Moffitt 9365375c7f Add --dep-info to write Makefile-compatible dependency info.
When --dep-info is given, rustc will write out a `$input_base.d` file in the
output directory that contains Makefile compatible dependency information for
use with tools like make and ninja.
2013-12-12 13:57:47 -07:00
Vadim Chugunov d4d1310c5c Fixed "unused variable" errors and trailing whitespace. 2013-12-11 23:44:25 -08:00
Eduard Burtescu 331c6efe45 Inline Finallyalizer::drop, allowing LLVM to optimize `finally`.
* fixes the vec::from_elem regression caused by #8780
* added 5 benchmarks for allocating a 1KB ~[u8] and zeroing it
2013-12-12 07:07:45 +02:00
Alex Crichton ee618e1e75 Don't always modify the symbol table in rlibs
Turns out that one some platforms the ar/ranlib tool will die with an assertion
if the file being added doesn't actually have any symbols (or if it's just not
an object file presumably).

This functionality is already all exercised on the bots, it just turns out that
the bots don't have an ar tool which dies in this situation, so it's difficult
for me to add a test.

Closes #10907
2013-12-11 19:37:26 -08:00
Steven Fackler 9762698b96 Make base64::config fields public again
These got swept up in the great privatizing of 2013.
2013-12-11 19:27:20 -08:00
Steven Fackler 7fe5e30823 Add std::io::util
This adds a bunch of useful Reader and Writer implementations. I'm not a
huge fan of the name `util` but I can't think of a better name and I
don't want to make `std::io` any longer than it already is.
2013-12-11 19:11:44 -08:00
Vadim Chugunov 544ed0328c Embed Windows application manifest. 2013-12-11 18:12:22 -08:00
bors 1b12dca7f9 auto merge of #10897 : boredomist/rust/remove-self-lifetime, r=brson
Also remove all instances of 'self within the codebase.

This fixes #10889.

To make reviewing easier the following files were modified with more than a dumb text replacement:

- `src/test/compile-fail/lifetime-no-keyword.rs`
- `src/test/compile-fail/lifetime-obsoleted-self.rs`
- `src/test/compile-fail/regions-free-region-ordering-incorrect.rs`
- `src/libsyntax/parse/lexer.rs`
2013-12-11 12:56:22 -08:00
Erik Price 07e18597bd Make priv members of extra::stats::Summary public. 2013-12-11 12:36:17 -08:00
Erik Price 5731ca3078 Make 'self lifetime illegal.
Also remove all instances of 'self within the codebase.

This fixes #10889.
2013-12-11 10:54:06 -08:00
Alex Crichton e43d2bc0ba Upgrade libuv with an OSX build system fix
This allows building of libuv for android with a host OS of OSX.
2013-12-11 10:36:38 -08:00
bors 47d10c745e auto merge of #10891 : chris-morgan/rust/macroize-(or-should-that-be-macroify)-syntax--parse--token-so-that-we-don't-make-mistakes-and-to-reduce-the-maintenance-burden, r=huonw
I also renumbered things at the same time; ``in`` was shifted into its
alphabetical position and the reserved keywords were reordered (a couple
of them were out of order).

Unused special identifiers are also removed in the second part.
2013-12-11 10:36:18 -08:00
Alex Crichton 667d114f47 Disable all unwinding on -Z no-landing-pads LTO
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.

cc #10780
2013-12-11 09:18:20 -08:00
bors f41b4e351b auto merge of #10888 : chris-morgan/rust/2013-12-10-vim-updates, r=thestinger
### Fix up float highlighting in Vim.

This fixes a regression introduced in #10793.

Having a colorscheme which highlights Float the same as Number (I
believe most do), I hadn't noticed that having the special case of "5."
floats (which was one of the added features in #10793) last made it take
precedence, and so it was left to @thestinger to notice it.

The regression meant that in `5.0`, the `5.` was a `rustFloat` (linked
by default to `Float`) and the `0` was a `rustDecNumber` (linked by
default to `Number`), and for `5.0f32` the `5.` was a `rustFloat` and
the `0f32` was a second `rustFloat` (and thus appeared correctly, though
for the wrong reason).

### Vim keyword highlighting improvements.

- Removed the `log` keyword;
- Removed keyword duplicates;
- Highlighted `const` as `Error` rather than `StorageClass`; and
- Highlighted all the reserved keywords as `Error` rather than as
  `Keyword`.

(As usual, these highlightings can be overridden if desired.)
2013-12-11 08:21:21 -08:00
bors d441c54688 auto merge of #10787 : nikomatsakis/rust/issue-9629-freeze-andmut, r=pnkfelix
See #9629 for details.

r? @pnkfelix
2013-12-11 05:41:18 -08:00
Corey Richardson f0867e0ba2 Some rustdoc manual fixes
Clarify that it's sundown, and that we don't support magic
2013-12-11 06:47:05 -05:00
kud1ing e08c936120 proto is gone
The following files need to be adjusted, too (i can't do it now):
- doc/po/ja/rust.md.po
- doc/po/rust.md.pot
2013-12-11 06:47:05 -05:00
Niko Matsakis fc74d64f7d More small test case fixes. grr. cc #9629. 2013-12-11 06:40:37 -05:00
bors 5c2f8aa330 auto merge of #10856 : klutzy/rust/buf-reader-lines, r=alexcrichton
The `.lines()` method creates an iterator which yields line with trailing '
'.
(So it is slightly different to `StrSlice.lines()`; I don't know if it's worth to synchronize them.)
2013-12-11 03:21:23 -08:00
bors fff03a5fc7 auto merge of #10808 : kballard/rust/use-braces, r=alexcrichton
This fixes #10806.
2013-12-11 01:06:21 -08:00
Kevin Ballard bd36b06f55 Support imports of the form `use {foo,bar}`
This fixes #10806.
2013-12-10 23:15:19 -08:00
bors b8516de48f auto merge of #10833 : sfackler/rust/mut-pat, r=brson
Previously, if you wanted to bind a field mutably or by ref, you had to
do something like Foo { x: ref mut x }. You can now just do
Foo { ref mut x }.

Closes #6137
2013-12-10 22:51:19 -08:00
klutzy 5a93d12e01 std::io: Add Buffer.lines(), change .bytes() api
-   `Buffer.lines()` returns `LineIterator` which yields line using
    `.read_line()`.
-   `Reader.bytes()` now takes `&mut self` instead of `self`.
-   `Reader.read_until()` swallows `EndOfFile`. This also affects
    `.read_line()`.
2013-12-11 15:50:51 +09:00
Chris Morgan dd042efa7e Separate strict/reserved keywords, derive bounds.
It's twenty lines longer, but makes for clearer separation of strict and
reserved keywords (probably a good thing) and removes another moving
part (the definitions of `(STRICT|RESERVED)_KEYWORD_(START|FINAL)`).
2013-12-11 15:15:55 +11:00
Chris Morgan d4f5ae0118 Remove the following unused special identifiers:
- underscore           ("_")
- unary                ("unary")
- not_fn               ("!")
- idx_fn               ("[]")
- unary_minus_fn       ("unary-")
- item                 ("item")
- block                ("block")
- stmt                 ("stmt")
- pat                  ("pat")
- expr                 ("expr")
- ty                   ("ty")
- ident                ("ident")
- path                 ("path")
- descrim              ("descrim")
- clownshoe_stack_shim ("__rust_stack_shim")
- blk                  ("blk")
- c_abi                ("C")

(And, of course, renumber everything to match.)
2013-12-11 14:46:16 +11:00
Jack Moffitt 5bd4d2ea7a Fix missing code map entry for uses of `include_str!`. 2013-12-10 20:18:17 -07:00
bors b8b16ae099 auto merge of #10791 : pcwalton/rust/decelling, r=pcwalton
34 uses of `Cell` remain.

r? @alexcrichton
2013-12-10 19:16:19 -08:00
Patrick Walton fd7a513bef libstd: Remove `Cell` from the library. 2013-12-10 17:55:09 -08:00
Richard Diamond fa36de339a Fixed a minor typo. 2013-12-10 18:52:50 -06:00
bors ac4dd9efee auto merge of #10593 : metajack/rust/pkgid-hash, r=brson
This replaces the link meta attributes with a pkgid attribute and uses a hash
of this as the crate hash. This makes the crate hash computable by things
other than the Rust compiler. It also switches the hash function ot SHA1 since
that is much more likely to be available in shell, Python, etc than SipHash.

Fixes #10188, #8523.
2013-12-10 16:51:20 -08:00