Commit Graph

33386 Commits

Author SHA1 Message Date
Patrick Walton
f7fb38729e librustc: Improve method autoderef/deref/index behavior more, and enable
`IndexMut` on mutable vectors.

This fixes a bug whereby the mutability fixups for method behavior were
not kicking in after autoderef failed to happen at any level. It also
adds support for `Index` to the fixer-upper.

Closes #12825.
2014-10-14 14:44:17 -07:00
bors
232f4b3404 auto merge of #17966 : frewsxcv/rust/master, r=nikomatsakis
The document is mentioned, but doesn't link to it, so it's a little confusing
2014-10-14 21:22:23 +00:00
bors
5e1e2456ed auto merge of #18029 : Ms2ger/rust/patch-1, r=huonw 2014-10-14 19:22:22 +00:00
bors
181538a135 auto merge of #18023 : chris-morgan/rust/vim-misc-2014-10-14, r=kballard
- Stop highlighting foo in `use foo;` specially.
- Highlight `extern crate "foo" as bar;` properly.
- Highlight 1..2 according to the current grammar.
2014-10-14 17:22:25 +00:00
Jorge Aparicio
657b16175b Add tests for issues #11384 and #12909
Closes #11384
Closes #12909
2014-10-14 10:24:25 -05:00
bors
1fd8e4cae0 auto merge of #18014 : hirschenberger/rust/issue-17999, r=alexcrichton
Fix issue #17999 (Unused variables inside `for` are not detected)
2014-10-14 15:22:28 +00:00
Felix Raimundo
1ef5e388b9 Switches from uint to u32 in BitV and BitVSet
Closes #16736
linked to #18009
2014-10-14 13:50:50 +02:00
Huon Wilson
32513b0019 test: make the sort failure-safety test unsafeless and more obvious.
Previously it had some uninituitive conditionals due to the interaction
with the Rand construction and Clone reinitialisation to create
sequential identifying numbers. This replaces all that with just
constructing the DropCounters with the appropriate identifiers.
2014-10-14 22:20:59 +11:00
Ms2ger
0e1e9cbb13 Fix the formatting of the documentation for OrdIterator.min_max. 2014-10-14 12:11:07 +02:00
Guillaume Pinot
b8786a5cba improve shootout-reverse-complement.rs using unsafe code 2014-10-14 09:41:57 +02:00
bors
a1e2eb0395 auto merge of #18017 : alexcrichton/rust/rollup, r=alexcrichton 2014-10-14 04:02:48 +00:00
Son
d9da3471e8 Change from and to to _from and _to
This to avoid warning: unused variable: `from`,
#[warn(unused_variable)] on by default.
2014-10-14 09:21:39 +08:00
Son
62b48bd815 Remove unnecessary ::core::ops::
It shows error: failed to resolve. Maybe a missing `extern crate core`
anyway.
2014-10-14 09:20:11 +08:00
Son
8f717ffe60 Change _rhs to _index.
Because var is provided as an index not a right hand side.
2014-10-14 09:11:37 +08:00
Chris Morgan
a118bd77ad Highlight 1..2 according to the current grammar. 2014-10-14 11:49:48 +11:00
Chris Morgan
81da141b7d Highlight extern crate "foo" as bar; properly. 2014-10-14 11:49:12 +11:00
Chris Morgan
add8a85905 Vim: Stop highlighting foo in use foo; specially
This wasn’t really consistent with other things; the last section of the
import was not highlighted in any other case.

Also `use {foo, bar};` was having the foo and bar not highlighted, where
they would have been as separate statements.
2014-10-14 11:44:34 +11:00
Niko Matsakis
590a61f788 Only consider impliciy unboxed closure impl if the obligation is
actually for `Fn`, `FnMut`, or `FnOnce`.

Fixes #18019
2014-10-13 19:55:42 -04:00
bors
1c3ddd2971 auto merge of #17888 : gmfawcett/rust/patch-1, r=alexcrichton
The Sieve algorithm only requires checking all elements up to and including the square root of the maximum prime you're looking for. After that, the remaining elements are guaranteed to be prime.
2014-10-13 23:27:46 +00:00
Alex Crichton
2e2d681d88 rollup merge of #18013 : stefanbucur/patch-1 2014-10-13 15:10:28 -07:00
Alex Crichton
724bbab577 rollup merge of #18012 : pnkfelix/gate-bors-on-building-compiletest 2014-10-13 15:10:25 -07:00
Alex Crichton
1b19296567 rollup merge of #18007 : dotdash/arg_lifetime_end 2014-10-13 15:10:21 -07:00
Alex Crichton
0eefca6782 rollup merge of #18002 : SimonSapin/unicode-version 2014-10-13 15:10:14 -07:00
Alex Crichton
1263a36a62 rollup merge of #17993 : redcape/fix-ffi-docs 2014-10-13 15:10:10 -07:00
Alex Crichton
f006e86eed rollup merge of #17992 : jkleint/guide-double-borrow 2014-10-13 15:10:08 -07:00
Alex Crichton
030c79c91a rollup merge of #17991 : sfackler/extern-error 2014-10-13 15:10:05 -07:00
Alex Crichton
ad25e560a0 rollup merge of #17986 : gamazeps/docissue 2014-10-13 15:10:01 -07:00
Alex Crichton
02350ac20b rollup merge of #17984 : bkoropoff/issue-17651 2014-10-13 15:09:56 -07:00
Alex Crichton
4509e42349 rollup merge of #17980 : alexcrichton/no-more-exes 2014-10-13 15:09:53 -07:00
Alex Crichton
48d0359273 rollup merge of #17979 : jkleint/guide-guess-counter 2014-10-13 15:09:52 -07:00
Alex Crichton
001814fda2 rollup merge of #17977 : Behemecoatyl/master 2014-10-13 15:09:48 -07:00
Alex Crichton
e860437ab1 rollup merge of #17972 : ebfe/rpass-lang-item 2014-10-13 15:09:41 -07:00
Alex Crichton
986d62e239 rollup merge of #17970 : nodakai/cleanup-warnings 2014-10-13 15:09:38 -07:00
Alex Crichton
0dd4cd57fe rollup merge of #17968 : nodakai/really-fix-kw-table 2014-10-13 15:09:35 -07:00
Alex Crichton
412f4d1fc7 rollup merge of #17927 : alexcrichton/more-const 2014-10-13 15:09:25 -07:00
Alex Crichton
e9f241bc5d rollup merge of #17888 : gmfawcett/patch-1 2014-10-13 15:09:14 -07:00
bors
36d0346dff auto merge of #17876 : ruud-v-a/rust/patch-1, r=alexcrichton
The Windows-specific instruction under 'Quick Start' linked the wiki article on getting started developing Rust itself, but the quick start is just about obtaining a working Rust installation. The actual wiki page with Windows-specific instructions was difficult to find.

The most important thing to note on Windows is that you need mingw-builds, and it is totally not obvious. The only place where I have seen it mentioned is the wiki page, which was difficult to find before.
2014-10-13 21:32:43 +00:00
Falco Hirschenberger
af2f538390 Fix issue #17999 (Unused variables inside for are not detected) 2014-10-13 23:15:07 +02:00
Jakub Wieczorek
43e5d10428 Improve the error message for missing else clauses in if expressions 2014-10-13 22:48:29 +02:00
Stefan Bucur
39749a3adc Fix typo in char's from_digit error message 2014-10-13 22:17:48 +02:00
bors
c7e0724274 auto merge of #17733 : jgallagher/rust/while-let, r=alexcrichton
This is *heavily* based on `if let` (#17634) by @jakub- and @kballard

This should close #17687
2014-10-13 19:37:40 +00:00
Felix S. Klock II
b26972e28b Make bors check that compiletest builds from both stage0 and stage1 rustc.
----

To reproduce issue on commit ba246100ca
it does not suffice to add just `check-build-compiletest` to
`check-secondary`; one must also ensure that `check-build-compiletest`
precedes the satisification of the `check` rule.

Otherwise hidden dependencies of `compiletest` would end up getting
satisfied when make builds `rustc` at each stage in order to
eventually run `check-stage2`.

So to handle that I moved `check-secondary` before `check` in the
`check-all` rule that bors uses, and for good measure, I also put
`check-build-compiltest` at the front of the `check-secondary` rule's
dependencies.

My understanding is that running `check-secondary` should be
relatively cheap, and thus such a reordering will not hurt bors.

----

Fix #17883.
2014-10-13 20:58:34 +02:00
Alex Crichton
c56c9fcf08 rustc: Remove the dummy hack from check_match
Turns out you can create &'static T quite easily in a constant, I just forgot
about this!
2014-10-13 11:50:47 -07:00
bors
daa71e40a9 auto merge of #17910 : taylorhutchison/rust/patch-1, r=alexcrichton
Added 64-bit Windows support to the list of platforms. Support for 64-bit Windows was added in Rust 0.12.0. See  https://mail.mozilla.org/pipermail/rust-dev/2014-October/011267.html for the release notes.
2014-10-13 17:42:42 +00:00
Steven Fackler
84d1cbfd25 Don't ICE on bad extern paths
Closes #17990
2014-10-13 09:25:08 -07:00
Alex Crichton
f7b54703d0 bench: Improve the spectralnorm shootout benchmark
This improves the spectralnorm shootout benchmark through a few vectors after
looking at the leading C implementation:

* The simd-based f64x2 is now used to parallelize a few computations
* RWLock usage has been removed. A custom `parallel` function was added as a
  form of stack-based fork-join parallelism. I found that the contention on the
  locks was high as well as hindering other optimizations.

This does, however, introduce one `unsafe` block into the benchmarks, which
previously had none.

In terms of timings, the before and after numbers are:

```
$ time ./shootout-spectralnorm-before
./shootout-spectralnorm-before  2.07s user 0.71s system 324% cpu 0.857 total
$ time ./shootout-spectralnorm-before 5500
./shootout-spectralnorm-before 5500  11.88s user 1.13s system 459% cpu 2.830 total
$ time ./shootout-spectralnorm-after
./shootout-spectralnorm-after  0.58s user 0.01s system 280% cpu 0.210 tota
$ time ./shootout-spectralnorm-after 5500
./shootout-spectralnorm-after 5500  3.55s user 0.01s system 455% cpu 0.783 total
```
2014-10-13 08:52:15 -07:00
bors
4a382d7c47 auto merge of #17965 : omasanori/rust/remove, r=sfackler 2014-10-13 14:22:42 +00:00
Björn Steinbrink
fafe136c2d Emit lifetime end markers for function arguments
Function arguments are (hopefully!) the last places where allocas don't
get proper markers for the end of their lifetimes. This means that this
code using 64 bytes of stack for the function arguments:

````rust
std::io::println("1");
std::io::println("2");
std::io::println("3");
std::io::println("4");
````

But with the proper lifetime markers, the slots can be reused, and
the arguments only need 16 bytes of stack.
2014-10-13 16:16:16 +02:00
Simon Sapin
61a8a28f9f Include the Unicode version used to generate src/libunicode/tables.rs. 2014-10-13 14:07:12 +01:00
bors
d670d76221 auto merge of #17963 : sfackler/rust/cfg-error, r=alexcrichton
All deprecation warnings have been converted to errors. This includes
the warning for multiple cfgs on one item. We'll leave that as an error
for some period of time to ensure that all uses are updated before the
behavior changes from "or" to "and".
2014-10-13 12:27:43 +00:00