]> git.lizzy.rs Git - rust.git/log
rust.git
9 years agoRollup merge of #21424 - sanxiyn:coerce-mut, r=nikomatsakis
Barosl LEE [Tue, 20 Jan 2015 17:16:52 +0000 (02:16 +0900)]
Rollup merge of #21424 - sanxiyn:coerce-mut, r=nikomatsakis

This is caught in borrowck now, but catching in typeck is faster and improves diagnostics.

CC #17561.

r? @nikomatsakis

9 years agoRollup merge of #21404 - japaric:hash, r=alexcrichton
Barosl LEE [Tue, 20 Jan 2015 17:16:52 +0000 (02:16 +0900)]
Rollup merge of #21404 - japaric:hash, r=alexcrichton

closes #21402
cc #15294

r? @alexcrichton or @aturon
cc @ExpHP (btw, this only covers arrays with arity up to 32)

9 years agoRollup merge of #21399 - kballard:fix-PLEASE_BENCH, r=Gankro
Barosl LEE [Tue, 20 Jan 2015 17:16:52 +0000 (02:16 +0900)]
Rollup merge of #21399 - kballard:fix-PLEASE_BENCH, r=Gankro

611ef49f2fa573edf9cff4442eddb8ee7e48878d removed all the metrics stuff
from tests.mk, but this meant that `PLEASE_BENCH=1` no longer did
anything.

Fixes #21324.

9 years agoRollup merge of #21388 - aochagavia:collections, r=Gankro
Barosl LEE [Tue, 20 Jan 2015 17:16:51 +0000 (02:16 +0900)]
Rollup merge of #21388 - aochagavia:collections, r=Gankro

**Breaking change**: `VecMap::into_iter` now consumes the `VecMap`. To fix it you should pass the VecMap by value instead of by reference.

[breaking-change]

r? @Gankro

9 years agoRollup merge of #21387 - retep998:hmodule, r=alexcrichton
Barosl LEE [Tue, 20 Jan 2015 17:16:51 +0000 (02:16 +0900)]
Rollup merge of #21387 - retep998:hmodule, r=alexcrichton

r? @alexcrichton

9 years agoRollup merge of #21386 - Diggsey:issue-21384, r=alexcrichton
Barosl LEE [Tue, 20 Jan 2015 17:16:51 +0000 (02:16 +0900)]
Rollup merge of #21386 - Diggsey:issue-21384, r=alexcrichton

Fixes #21384

9 years agoRollup merge of #21380 - tshepang:patch-3, r=steveklabnik
Barosl LEE [Tue, 20 Jan 2015 17:16:51 +0000 (02:16 +0900)]
Rollup merge of #21380 - tshepang:patch-3, r=steveklabnik

9 years agoRollup merge of #21123 - visualfc:master, r=alexcrichton
Barosl LEE [Tue, 20 Jan 2015 17:16:51 +0000 (02:16 +0900)]
Rollup merge of #21123 - visualfc:master, r=alexcrichton

example:
let m = "hello \
           world";

9 years agoRollup merge of #21377 - iKevinY:speedy-tidy, r=huonw
Barosl LEE [Tue, 20 Jan 2015 17:16:50 +0000 (02:16 +0900)]
Rollup merge of #21377 - iKevinY:speedy-tidy, r=huonw

`x in y` is more Pythonic than `y.find(x) != -1`. I believe it runs quite a bit faster as well (though it's probably not a bottleneck of the Travis builds):

```bash
$ python -m timeit '"abc".find("a") != -1'
1000000 loops, best of 3: 0.218 usec per loop
$ python -m timeit '"a" in "abc"'
10000000 loops, best of 3: 0.0343 usec per loop
```

9 years agoRollup merge of #21375 - petrochenkov:ssbsl, r=alexcrichton
Barosl LEE [Tue, 20 Jan 2015 17:16:50 +0000 (02:16 +0900)]
Rollup merge of #21375 - petrochenkov:ssbsl, r=alexcrichton

After PR #19766 added implicit coersions `*mut T -> *const T`, the explicit casts can be removed.
(The number of such casts turned out to be relatively small).

9 years agoRollup merge of #21369 - iKevinY:no-travis-notes, r=sanxiyn
Barosl LEE [Tue, 20 Jan 2015 17:16:49 +0000 (02:16 +0900)]
Rollup merge of #21369 - iKevinY:no-travis-notes, r=sanxiyn

Updated `tidy.py` to skip printing NOTEs if the [`TRAVIS`](http://docs.travis-ci.com/user/ci-environment/#Environment-variables) environment variable is set.

9 years agoRollup merge of #21359 - WiSaGaN:bugfix/fix_marker, r=alexcrichton
Barosl LEE [Tue, 20 Jan 2015 17:16:49 +0000 (02:16 +0900)]
Rollup merge of #21359 - WiSaGaN:bugfix/fix_marker, r=alexcrichton

From std::markers to std::marker.

9 years agoRollup merge of #21358 - glacjay:patch-2, r=alexcrichton
Barosl LEE [Tue, 20 Jan 2015 17:16:49 +0000 (02:16 +0900)]
Rollup merge of #21358 - glacjay:patch-2, r=alexcrichton

9 years agoRollup merge of #21357 - kimroen:patch-1, r=sanxiyn
Barosl LEE [Tue, 20 Jan 2015 17:16:49 +0000 (02:16 +0900)]
Rollup merge of #21357 - kimroen:patch-1, r=sanxiyn

Having both "Right now" and "at the moment" in the same statement is redundant.

9 years agoRollup merge of #21100 - tstorch:small_readability_update, r=alexcrichton
Barosl LEE [Tue, 20 Jan 2015 17:16:48 +0000 (02:16 +0900)]
Rollup merge of #21100 - tstorch:small_readability_update, r=alexcrichton

Why not use what is there?

9 years agoRollup merge of #21345 - glacjay:patch-1, r=alexcrichton
Barosl LEE [Tue, 20 Jan 2015 17:16:48 +0000 (02:16 +0900)]
Rollup merge of #21345 - glacjay:patch-1, r=alexcrichton

The reference should be `x`, not `FOO` itself.

9 years agoRollup merge of #21339 - thorncp:api-docs-search, r=alexcrichton
Barosl LEE [Tue, 20 Jan 2015 17:16:48 +0000 (02:16 +0900)]
Rollup merge of #21339 - thorncp:api-docs-search, r=alexcrichton

Increases the delay of the search box to 500ms after key up. I tried
adding a three character minimum for setting the delay, but didn't find
it very useful.

Should close #20095

@Jurily, your input is welcome!

9 years agoRollup merge of #21336 - rylev:better-nofile-error, r=brson
Barosl LEE [Tue, 20 Jan 2015 17:16:48 +0000 (02:16 +0900)]
Rollup merge of #21336 - rylev:better-nofile-error, r=brson

Contribution from @look!

Addresses https://github.com/rust-lang/rust/issues/21329

9 years agoRollup merge of #21331 - michaelsproul:sync-error-impls, r=alexcrichton
Barosl LEE [Tue, 20 Jan 2015 17:16:47 +0000 (02:16 +0900)]
Rollup merge of #21331 - michaelsproul:sync-error-impls, r=alexcrichton

Two errors in `std::sync` are currently missing implementations of the standard error trait because they contain types which aren't `Send`.

This PR therefore requires #21312.

9 years agoRollup merge of #21048 - aroben:patch-1, r=steveklabnik
Barosl LEE [Tue, 20 Jan 2015 17:16:47 +0000 (02:16 +0900)]
Rollup merge of #21048 - aroben:patch-1, r=steveklabnik

Now both the enum values and the prose describing them mention the values in the same order.

9 years agoRollup merge of #21326 - look:nano-syntax-highlighting, r=kmcallister
Barosl LEE [Tue, 20 Jan 2015 17:16:47 +0000 (02:16 +0900)]
Rollup merge of #21326 - look:nano-syntax-highlighting, r=kmcallister

rust.nanorc provides syntax highlighting for Rust. An attempt has been made to make the syntax highlighting look good on both dark and light terminals. Issue #21286.

This PR is dedicated to @substars and nano-lovers everywhere.

9 years agoRollup merge of #21314 - fenhl:patch-1, r=steveklbanik
Barosl LEE [Tue, 20 Jan 2015 17:16:47 +0000 (02:16 +0900)]
Rollup merge of #21314 - fenhl:patch-1, r=steveklbanik

See [this document](https://gist.github.com/0xabad1dea/8870b192fd1758743f66) by @0xabad1dea for the rationale.

9 years agoRollup merge of #21312 - michaelsproul:remove-error-send-bound, r=aturon
Barosl LEE [Tue, 20 Jan 2015 17:16:47 +0000 (02:16 +0900)]
Rollup merge of #21312 - michaelsproul:remove-error-send-bound, r=aturon

As discussed with @aturon, this PR removes the `Send` bound from `std::error::Error`, allowing us to implement `Error` for error types containing non-`Send` types. Current examples include `PoisonError` and `TryLockError` from `std::sync` which contain a Guard that we don't want sent between tasks.

[breaking-change]

9 years agoRollup merge of #21309 - thorncp:rustdoc-man-page, r=kmcallister
Barosl LEE [Tue, 20 Jan 2015 17:16:46 +0000 (02:16 +0900)]
Rollup merge of #21309 - thorncp:rustdoc-man-page, r=kmcallister

Brings the rustdoc man page in sync with the options specified in
src/librustdoc/lib.rs. The text was taken verbatim, but I tweaked the
order to be (what I think is) somewhat logical.

This should close #13622.

9 years agoRollup merge of #21302 - gutworth:rm-find-equiv-test, r=brson
Barosl LEE [Tue, 20 Jan 2015 17:16:46 +0000 (02:16 +0900)]
Rollup merge of #21302 - gutworth:rm-find-equiv-test, r=brson

9 years agoRollup merge of #21294 - alfie:typo, r=steveklabnik
Barosl LEE [Tue, 20 Jan 2015 17:16:46 +0000 (02:16 +0900)]
Rollup merge of #21294 - alfie:typo, r=steveklabnik

Wrong verb.

9 years agoRollup merge of #21355 - alfie:suffix, r=steveklabnik
Barosl LEE [Tue, 20 Jan 2015 17:16:46 +0000 (02:16 +0900)]
Rollup merge of #21355 - alfie:suffix, r=steveklabnik

More [u]int => [i|u]size and [i|u] => [i|u]s changes

9 years agoRollup merge of #21280 - timparenti:old-guide-stub-grammar, r=alexcrichton
Barosl LEE [Tue, 20 Jan 2015 17:16:45 +0000 (02:16 +0900)]
Rollup merge of #21280 - timparenti:old-guide-stub-grammar, r=alexcrichton

This removes the extra "the" from the phrase "the the Rust Programming Language book", which isn't particularly grammatical, in stub documents introduced in #20802 to direct users from the old guides to the corresponding sections of the book.

9 years agoRollup merge of #20998 - estsauver:20984, r=steveklabnik
Barosl LEE [Tue, 20 Jan 2015 17:16:45 +0000 (02:16 +0900)]
Rollup merge of #20998 - estsauver:20984, r=steveklabnik

There are a large number of places that incorrectly refer
to deriving in comments, instead of derives.

If someone could look at src/etc/generate-deriving-span-tests.py,
I'm not sure how those tests were passing before/if they were.

9 years agoForbid coercing &T to &mut T
Seo Sanghyeon [Tue, 20 Jan 2015 13:56:53 +0000 (22:56 +0900)]
Forbid coercing &T to &mut T

9 years agoAuto merge of #21364 - cmr:fix-ttseq-ice, r=alexcrichton
bors [Tue, 20 Jan 2015 13:36:03 +0000 (13:36 +0000)]
Auto merge of #21364 - cmr:fix-ttseq-ice, r=alexcrichton

Closes #21350

9 years agoAuto merge of #21304 - lifthrasiir:htmldocck, r=alexcrichton
bors [Tue, 20 Jan 2015 06:45:02 +0000 (06:45 +0000)]
Auto merge of #21304 - lifthrasiir:htmldocck, r=alexcrichton

The script is intended as a tool for doing every sort of verifications amenable to Rustdoc's HTML output. For example, link checkers would go to this script. It already parses HTML into a document tree form (with a slight caveat), so future tests can make use of it.

As an example, relevant `rustdoc-*` run-make tests have been updated to use `htmldocck.py` and got their `verify.sh` removed. In the future they may go to a dedicated directory with htmldocck running by default. The detailed explanation of test scripts is provided as a docstring of htmldocck.

cc #19723

9 years agoAuto merge of #21287 - alexcrichton:issue-19872, r=huonw
bors [Tue, 20 Jan 2015 04:23:28 +0000 (04:23 +0000)]
Auto merge of #21287 - alexcrichton:issue-19872, r=huonw

cc #19872, this may help give some insight

9 years agoAuto merge of #21257 - alexcrichton:issue-20064, r=pnkfelix
bors [Tue, 20 Jan 2015 02:23:49 +0000 (02:23 +0000)]
Auto merge of #21257 - alexcrichton:issue-20064, r=pnkfelix

These two attributes are used to change the entry point into a Rust program, but
for now they're being put behind feature gates until we have a chance to think
about them a little more. The #[start] attribute specifically may have its
signature changed.

This is a breaking change to due the usage of these attributes generating errors
by default now. If your crate is using these attributes, add this to your crate
root:

    #![feature(start)] // if you're using the #[start] attribute
    #![feature(main)]  // if you're using the #[main] attribute

cc #20064

9 years agoAuto merge of #21165 - alexcrichton:second-pass-type-id, r=aturon
bors [Mon, 19 Jan 2015 23:35:12 +0000 (23:35 +0000)]
Auto merge of #21165 - alexcrichton:second-pass-type-id, r=aturon

This commit aims to stabilize the `TypeId` abstraction by moving it out of the
`intrinsics` module into the `any` module of the standard library. Specifically,

* `TypeId` is now defined at `std::any::TypeId`
* `TypeId::hash` has been removed in favor of an implementation of `Hash`.

This commit also performs a final pass over the `any` module, confirming the
following:

* `Any::get_type_id` remains unstable as *usage* of the `Any` trait will likely
  never require this, and the `Any` trait does not need to be implemented for
  any other types. As a result, this implementation detail can remain unstable
  until associated statics are implemented.
* `Any::downcast_ref` is now stable
* `Any::downcast_mut` is now stable
* `BoxAny` remains unstable. While a direct impl on `Box<Any>` is allowed today
  it does not allow downcasting of trait objects like `Box<Any + Send>` (those
  returned from `Thread::join`). This is covered by #18737.
* `BoxAny::downcast` is now stable.

9 years agoAuto merge of #19490 - oli-obk:json_non_string_key_maps, r=alexcrichton
bors [Mon, 19 Jan 2015 21:37:52 +0000 (21:37 +0000)]
Auto merge of #19490 - oli-obk:json_non_string_key_maps, r=alexcrichton

importing object type string key maps is still supported
writing them should be explicit, and can be done as follows

```rust
let some_tree_map : TreeMap<String, Json> = ...;
Json::Object(some_tree_map).to_writer(&mut writer);
```

related to #8335, #9028, #9142

9 years agoimpl Hash for arrays
Jorge Aparicio [Mon, 19 Jan 2015 20:16:48 +0000 (15:16 -0500)]
impl Hash for arrays

closes #21402
cc #15294

9 years agoAuto merge of #21278 - thchittenden:issue-21033-struct-var-pattern-fix, r=alexcrichton
bors [Mon, 19 Jan 2015 19:40:51 +0000 (19:40 +0000)]
Auto merge of #21278 - thchittenden:issue-21033-struct-var-pattern-fix, r=alexcrichton

Closes #21033. The new strategy for parsing a field pattern is to look 1 token ahead and if it's a colon, parse as "fieldname: pat", otherwise parse the shorthand form "(box) (ref) (mut) fieldname)". The previous strategy was to parse "(ref) (mut) fieldname" then if we encounter a colon, throw an error if either "ref" or "mut" were encountered.

9 years agoFix `make check PLEASE_BENCH=1`
Kevin Ballard [Mon, 19 Jan 2015 18:59:57 +0000 (10:59 -0800)]
Fix `make check PLEASE_BENCH=1`

611ef49f2fa573edf9cff4442eddb8ee7e48878d removed all the metrics stuff
from tests.mk, but this meant that `PLEASE_BENCH=1` no longer did
anything.

Fixes #21324.

9 years agoAuto merge of #20082 - pczarn:btree-bounded-iter, r=Gankro
bors [Mon, 19 Jan 2015 17:43:47 +0000 (17:43 +0000)]
Auto merge of #20082 - pczarn:btree-bounded-iter, r=Gankro

Part of collections reform v1, #18424
Also, iteration is simplified:
```
before
test btree::map::bench::iter_1000                          ... bench:     17177 ns/iter (+/- 6302)
test btree::map::bench::iter_100000                        ... bench:   1735731 ns/iter (+/- 23908)
test btree::map::bench::iter_20                            ... bench:       386 ns/iter (+/- 148)
after
test btree::map::bench::iter_1000                          ... bench:     15777 ns/iter (+/- 346)
test btree::map::bench::iter_100000                        ... bench:   1602604 ns/iter (+/- 73629)
test btree::map::bench::iter_20                            ... bench:       339 ns/iter (+/- 91)
```
cc @gereeter @cgaebel
r? @Gankro

9 years agoFixes #21033 with accompanying test.
Tom Chittenden [Mon, 19 Jan 2015 16:58:01 +0000 (11:58 -0500)]
Fixes #21033 with accompanying test.

9 years agoImplement range and range_mut for BTree
Piotr Czarnecki [Tue, 13 Jan 2015 20:55:44 +0000 (21:55 +0100)]
Implement range and range_mut for BTree

Simplify BTree's iterators, too.

9 years agoAdd test for #21328
Adolfo Ochagavía [Mon, 19 Jan 2015 14:36:07 +0000 (15:36 +0100)]
Add test for #21328

9 years agoAuto merge of #21269 - alexcrichton:issue-6936, r=pnkfelix
bors [Mon, 19 Jan 2015 15:44:41 +0000 (15:44 +0000)]
Auto merge of #21269 - alexcrichton:issue-6936, r=pnkfelix

This commit modifies resolve to prevent conflicts with typedef names in the same
method that conflits are prevented with enum names. This is a breaking change
due to the differing semantics in resolve, and any errors generated on behalf of
this change require that a conflicting typedef, module, or structure to be
renamed so they do not conflict.

[breaking-change]
Closes #6936

9 years agoAdd a Drain iterator to VecMap
Adolfo Ochagavía [Mon, 19 Jan 2015 10:06:15 +0000 (11:06 +0100)]
Add a Drain iterator to VecMap

9 years agougly hack to convert BadHashMapKey error to general fmt::Error
Oliver 'ker' Schneider [Sat, 10 Jan 2015 09:13:11 +0000 (10:13 +0100)]
ugly hack to convert BadHashMapKey error to general fmt::Error

9 years agoadd unit test for non string/numeric map keys
Oliver 'ker' Schneider [Sat, 10 Jan 2015 09:14:38 +0000 (10:14 +0100)]
add unit test for non string/numeric map keys

9 years agolower FnMut to FnOnce since json-hack is no longer required
Oliver 'ker' Schneider [Sat, 10 Jan 2015 09:14:32 +0000 (10:14 +0100)]
lower FnMut to FnOnce since json-hack is no longer required

Conflicts:
src/libserialize/serialize.rs

9 years agojson-encoder: report error when hash map key is not string or numeric
Oliver 'ker' Schneider [Sat, 10 Jan 2015 09:14:19 +0000 (10:14 +0100)]
json-encoder: report error when hash map key is not string or numeric

9 years agoAuto merge of #21282 - Aatch:init-memzero, r=alexcrichton
bors [Mon, 19 Jan 2015 12:17:07 +0000 (12:17 +0000)]
Auto merge of #21282 - Aatch:init-memzero, r=alexcrichton

LLVM gets overwhelmed when presented with a zeroinitializer for a large
type. In unoptimised builds, it generates a long sequence of stores to
memory. In optmised builds, it manages to generate a standard memset of
zero values, but takes a long time doing so.

Call out to the `llvm.memset` function to zero out the memory instead.

Fixes #21264

9 years agoAuto merge of #20874 - klutzy:windows-dynamic-lib, r=alexcrichton
bors [Mon, 19 Jan 2015 10:19:23 +0000 (10:19 +0000)]
Auto merge of #20874 - klutzy:windows-dynamic-lib, r=alexcrichton

This is a [breaking-change] since `std::dynamic_lib::dl` is now
private.

When `LoadLibraryW()` fails, original code called `errno()` to get error
code.  However, there was local allocation of `Vec` before
`LoadLibraryW()`, and it drops before `errno()`, and the drop
(deallocation) changed `errno`! Therefore `dynamic_lib::open()` thought
it always succeeded.
This commit fixes the issue.

This commit also sets Windows error mode during `LoadLibrary()` to
prevent "dll load failed" dialog.

9 years agoMake VecMap::into_iter consume the VecMap
Adolfo Ochagavía [Mon, 19 Jan 2015 09:48:01 +0000 (10:48 +0100)]
Make VecMap::into_iter consume the VecMap

This is a breaking change. To fix it you should pass the VecMap by value
instead of by reference.

[breaking-change]

9 years agoFix HMODULE
Peter Atashian [Mon, 19 Jan 2015 08:43:44 +0000 (03:43 -0500)]
Fix HMODULE

Signed-off-by: Peter Atashian <retep998@gmail.com>
9 years agoAuto merge of #21099 - sanxiyn:opt-return-ty, r=alexcrichton
bors [Mon, 19 Jan 2015 08:22:58 +0000 (08:22 +0000)]
Auto merge of #21099 - sanxiyn:opt-return-ty, r=alexcrichton

This avoids having ast::Ty nodes which have no counterpart in the source.

9 years agoRanges implement Clone where possible
Diggory Blake [Mon, 19 Jan 2015 05:43:15 +0000 (05:43 +0000)]
Ranges implement Clone where possible

9 years agostd: Stabilize TypeId and tweak BoxAny
Alex Crichton [Thu, 15 Jan 2015 00:08:07 +0000 (16:08 -0800)]
std: Stabilize TypeId and tweak BoxAny

This commit aims to stabilize the `TypeId` abstraction by moving it out of the
`intrinsics` module into the `any` module of the standard library. Specifically,

* `TypeId` is now defined at `std::any::TypeId`
* `TypeId::hash` has been removed in favor of an implementation of `Hash`.

This commit also performs a final pass over the `any` module, confirming the
following:

* `Any::get_type_id` remains unstable as *usage* of the `Any` trait will likely
  never require this, and the `Any` trait does not need to be implemented for
  any other types. As a result, this implementation detail can remain unstable
  until associated statics are implemented.
* `Any::downcast_ref` is now stable
* `Any::downcast_mut` is now stable
* `BoxAny` remains unstable. While a direct impl on `Box<Any>` is allowed today
  it does not allow downcasting of trait objects like `Box<Any + Send>` (those
  returned from `Thread::join`). This is covered by #18737.
* `BoxAny::downcast` is now stable.

9 years agoFix typedef/module name conflicts in the compiler
Alex Crichton [Fri, 16 Jan 2015 22:27:43 +0000 (14:27 -0800)]
Fix typedef/module name conflicts in the compiler

9 years agorustc_resolve: Do not allow mods to shadow types
Alex Crichton [Fri, 16 Jan 2015 22:25:45 +0000 (14:25 -0800)]
rustc_resolve: Do not allow mods to shadow types

This commit modifies resolve to prevent conflicts with typedef names in the same
method that conflits are prevented with enum names. This is a breaking change
due to the differing semantics in resolve, and any errors generated on behalf of
this change require that a conflicting typedef, module, or structure to be
renamed so they do not conflict.

[breaking-change]
Closes #6936

9 years agorustc_resolve: De-indent by breaking out of match
Alex Crichton [Fri, 16 Jan 2015 20:57:20 +0000 (12:57 -0800)]
rustc_resolve: De-indent by breaking out of match

Helps reduce some rightward drift

9 years agoAuto merge of #21267 - danslapman:master, r=alexcrichton
bors [Mon, 19 Jan 2015 01:45:36 +0000 (01:45 +0000)]
Auto merge of #21267 - danslapman:master, r=alexcrichton

This patch fixes IP_ADD_MEMBERSHIP problem described here: https://github.com/rust-lang/rust/issues/20381

I've tested on my ProbeR project, everything seems ok.

9 years agodoc: typo fix
Tshepang Lekhonkhobe [Mon, 19 Jan 2015 01:14:36 +0000 (03:14 +0200)]
doc: typo fix

9 years agoUse 'in' instead of 'find()' in tidy.py
Kevin Yap [Sun, 18 Jan 2015 22:52:59 +0000 (14:52 -0800)]
Use 'in' instead of 'find()' in tidy.py

'x in y' is more Pythonic and faster than 'y.find(x) != -1'.

9 years agoReduce size of array in test case to 1MB
James Miller [Sun, 18 Jan 2015 20:22:54 +0000 (09:22 +1300)]
Reduce size of array in test case to 1MB

9 years agoAdd test to catch performance regressions
James Miller [Sat, 17 Jan 2015 08:26:25 +0000 (21:26 +1300)]
Add test to catch performance regressions

9 years agoUse `zero_mem` instead of a zerointializer for `init` intrinsic
James Miller [Sat, 17 Jan 2015 04:04:15 +0000 (17:04 +1300)]
Use `zero_mem` instead of a zerointializer for `init` intrinsic

LLVM gets overwhelmed when presented with a zeroinitializer for a large
type. In unoptimised builds, it generates a long sequence of stores to
memory. In optmised builds, it manages to generate a standard memset of
zero values, but takes a long time doing so.

Call out to the `llvm.memset` function to zero out the memory instead.

9 years agorustdoc: Improve diagnostics on lockfile failures
Alex Crichton [Sat, 17 Jan 2015 07:28:26 +0000 (23:28 -0800)]
rustdoc: Improve diagnostics on lockfile failures

cc #19872, this may help give some insight

9 years agoIgnore NOTEs when Travis runs `make tidy`
Kevin Yap [Sun, 18 Jan 2015 16:47:05 +0000 (08:47 -0800)]
Ignore NOTEs when Travis runs `make tidy`

Only print NOTE warnings if the 'TRAVIS' environment variable has not
been set. Addresses #21322.

9 years agosyntax: allow bare sequences in lhs for follow checking
Corey Richardson [Sun, 18 Jan 2015 15:19:47 +0000 (10:19 -0500)]
syntax: allow bare sequences in lhs for follow checking

Closes #21350

9 years agostd::dynamic_lib: Fix Windows error handling
klutzy [Sat, 10 Jan 2015 13:53:22 +0000 (22:53 +0900)]
std::dynamic_lib: Fix Windows error handling

This is a [breaking-change] since `std::dynamic_lib::dl` is now
private.

When `LoadLibraryW()` fails, original code called `errno()` to get error
code.  However, there was local allocation of `Vec` before
`LoadLibraryW()`, and it drops before `errno()`, and the drop
(deallocation) changed `errno`! Therefore `dynamic_lib::open()` thought
it always succeeded.
This commit fixes the issue.

This commit also sets Windows error mode during `LoadLibrary()` to
prevent "dll load failed" dialog.

9 years agoFix std::marker.
Wangshan Lu [Sun, 18 Jan 2015 14:17:44 +0000 (22:17 +0800)]
Fix std::marker.

From std::markers to std::marker.

9 years agoMake output type in ast::FnDecl optional
Seo Sanghyeon [Sun, 18 Jan 2015 13:49:19 +0000 (22:49 +0900)]
Make output type in ast::FnDecl optional

9 years agofix formatting
Jay True [Sun, 18 Jan 2015 13:23:22 +0000 (21:23 +0800)]
fix formatting

9 years agodocs: replacing more deprecated integer suffixes
Alfie John [Sun, 18 Jan 2015 12:43:12 +0000 (12:43 +0000)]
docs: replacing more deprecated integer suffixes

9 years agoRemove redundant "Right now"
Kim Røen [Sun, 18 Jan 2015 12:24:13 +0000 (13:24 +0100)]
Remove redundant "Right now"

Having both "Right now" and "at the moment" in the same statement is redundant.

9 years agodocs: replace deprecated integer suffixes from examples
Alfie John [Sun, 18 Jan 2015 11:49:37 +0000 (11:49 +0000)]
docs: replace deprecated integer suffixes from examples

9 years agoauto merge of #20901 : dgrunwald/rust/update-token-can-begin-expr, r=sanxiyn
bors [Sun, 18 Jan 2015 11:28:53 +0000 (11:28 +0000)]
auto merge of #20901 : dgrunwald/rust/update-token-can-begin-expr, r=sanxiyn

 * add `Token::AndAnd` (double borrow)
 * add `Token::DotDot` (range notation)
 * remove `Token::Pound` and `Token::At`

This fixes a syntax error when parsing `fn f() -> RangeTo<i32> { return ..1; }`.

Also, remove `fn_expr_lookahead`.
It's from the `fn~` days and seems to no longer be necessary.

9 years agoauto merge of #21276 : huonw/rust/trait-suggestion-nits, r=nikomatsakis
bors [Sun, 18 Jan 2015 09:21:42 +0000 (09:21 +0000)]
auto merge of #21276 : huonw/rust/trait-suggestion-nits, r=nikomatsakis

Follow up to #21008.

r? @nikomatsakis

9 years agoauto merge of #21288 : brson/rust/snaps, r=alexcrichton
bors [Sun, 18 Jan 2015 05:48:56 +0000 (05:48 +0000)]
auto merge of #21288 : brson/rust/snaps, r=alexcrichton

This fixes the issues mentioned in https://github.com/rust-lang/rust/pull/21236, as well as the one https://github.com/rust-lang/rust/issues/21230 where `CFG_BOOTSTRAP_KEY` was being set to simply 'N'. It changes the build such that `RUSTC_BOOTSTRAP_KEY` is only exported on -beta and -stable, so that the behavior of the -dev, -nightly, and snapshot compilers is the same everywhere.

Haven't run it completely through 'make check' yet, but the I have verified that the aforementioned issues are fixed.

r? @alexcrichton cc @eddyb

9 years agotests: Warn on the trailing backslash in the template.
Kang Seonghoon [Sun, 18 Jan 2015 04:23:34 +0000 (13:23 +0900)]
tests: Warn on the trailing backslash in the template.

9 years agoauto merge of #21330 : JeffBelgum/rust/collections-reform-issue-19986-add-append...
bors [Sun, 18 Jan 2015 03:11:42 +0000 (03:11 +0000)]
auto merge of #21330 : JeffBelgum/rust/collections-reform-issue-19986-add-append-and-split-off, r=Gankro

Please review carefully. Contains unsafe and is my first commit to Rust.

Uses ptr::copy_nonoverlapping_memory. Attempts to handle zero-size types correctly.

9 years agofix an error about the static lifetime
Jay True [Sun, 18 Jan 2015 02:58:55 +0000 (10:58 +0800)]
fix an error about the static lifetime

The reference should be `x`, not `FOO` itself.

9 years agoAdd allow(unstable) to librustc_privacy
Brian Anderson [Sat, 17 Jan 2015 17:13:48 +0000 (09:13 -0800)]
Add allow(unstable) to librustc_privacy

9 years agoAdd allow(unstable) to more tests
Brian Anderson [Sat, 17 Jan 2015 08:58:06 +0000 (00:58 -0800)]
Add allow(unstable) to more tests

9 years agoAdd allow(unstable) to driver.rs
Brian Anderson [Sat, 17 Jan 2015 08:11:19 +0000 (00:11 -0800)]
Add allow(unstable) to driver.rs

9 years agoAdd allow(unstable) to tests that need it
Brian Anderson [Sat, 17 Jan 2015 07:35:44 +0000 (23:35 -0800)]
Add allow(unstable) to tests that need it

9 years agoconfigure: Use a more portable 'date' command to create the bootstrap key
Brian Anderson [Sat, 17 Jan 2015 06:39:04 +0000 (22:39 -0800)]
configure: Use a more portable 'date' command to create the bootstrap key

9 years agoSet allow(unstable) in crates that use unstable features
Brian Anderson [Sat, 17 Jan 2015 06:33:24 +0000 (22:33 -0800)]
Set allow(unstable) in crates that use unstable features

Lets them build with the -dev, -nightly, or snapshot compiler

9 years agomk: Don't set RUSTC_BOOTSTRAP_KEY on -dev and -nightly. Not needed
Brian Anderson [Sat, 17 Jan 2015 06:33:00 +0000 (22:33 -0800)]
mk: Don't set RUSTC_BOOTSTRAP_KEY on -dev and -nightly. Not needed

9 years agomk: Revert hack to pull the bootstrap key from the snapshot bins
Brian Anderson [Sat, 17 Jan 2015 06:31:31 +0000 (22:31 -0800)]
mk: Revert hack to pull the bootstrap key from the snapshot bins

9 years agoRegister new snapshots.
Eduard Burtescu [Fri, 16 Jan 2015 15:01:02 +0000 (17:01 +0200)]
Register new snapshots.

9 years agoIncrease docs search box delay
Chris Thorn [Sun, 18 Jan 2015 00:14:14 +0000 (16:14 -0800)]
Increase docs search box delay

Increases the delay of the search box to 500ms after key up. I tried
adding a three character minimum for setting the delay, but didn't find
it very useful.

Should close #20095

9 years agoadd append to vec with tests
Jeff Belgum [Sat, 17 Jan 2015 22:30:16 +0000 (14:30 -0800)]
add append to vec with tests

9 years agoImprove the error message when source file cannot be read
Ryan Levick [Sat, 17 Jan 2015 23:49:50 +0000 (00:49 +0100)]
Improve the error message when source file cannot be read

Contribution from @look!

9 years agodocs: typo
Alfie John [Sat, 17 Jan 2015 23:31:13 +0000 (23:31 +0000)]
docs: typo

9 years agoImplement the error trait for errors in std::sync.
Michael Sproul [Sat, 17 Jan 2015 19:31:55 +0000 (11:31 -0800)]
Implement the error trait for errors in std::sync.

9 years agoPassable nano syntax highlighting
Luke Francl [Sat, 17 Jan 2015 21:59:49 +0000 (13:59 -0800)]
Passable nano syntax highlighting

rust.nanorc provides syntax highlighting for Rust. An attempt has been made to
make the syntax highlighting look good on both dark and light terminals.
Issue #21286.

9 years agoUndo accidental change unrelated to my PR
Fenhl [Sat, 17 Jan 2015 20:56:34 +0000 (20:56 +0000)]
Undo accidental change unrelated to my PR

9 years agoUse singular they in the serialize::json docs
Fenhl [Sat, 17 Jan 2015 20:44:54 +0000 (20:44 +0000)]
Use singular they in the serialize::json docs

See [https://gist.github.com/0xabad1dea/8870b192fd1758743f66](this document) by @0xabad1dea for the rationale.

9 years agoauto merge of #21300 : steveklabnik/rust/rollup, r=steveklabnik
bors [Sat, 17 Jan 2015 20:31:08 +0000 (20:31 +0000)]
auto merge of #21300 : steveklabnik/rust/rollup, r=steveklabnik

manual rollup to fix some conflicts and diagnose why the test is failing...

9 years agoFix more rollup problems
Steve Klabnik [Sat, 17 Jan 2015 20:25:42 +0000 (15:25 -0500)]
Fix more rollup problems