]> git.lizzy.rs Git - rust.git/log
rust.git
7 years agoSwitch to rust-lang-ci mirror URLs
Alex Crichton [Fri, 17 Mar 2017 21:01:06 +0000 (14:01 -0700)]
Switch to rust-lang-ci mirror URLs

7 years agoci/netbsd: use the "official" cross compiler
Tim Neumann [Fri, 17 Mar 2017 19:52:44 +0000 (20:52 +0100)]
ci/netbsd: use the "official" cross compiler

7 years agoAuto merge of #40693 - frewsxcv:rollup, r=frewsxcv
bors [Tue, 21 Mar 2017 17:02:38 +0000 (17:02 +0000)]
Auto merge of #40693 - frewsxcv:rollup, r=frewsxcv

Rollup of 10 pull requests

- Successful merges: #40229, #40312, #40332, #40502, #40556, #40576, #40667, #40671, #40681, #40685
- Failed merges:

7 years agoAuto merge of #40686 - alexcrichton:less-logging, r=brson
bors [Tue, 21 Mar 2017 14:35:18 +0000 (14:35 +0000)]
Auto merge of #40686 - alexcrichton:less-logging, r=brson

travis: Don't set `RUST_LOG` globally

I have a suspicion that this caused a large regression in cycle times by forcing
the compiler to perform more checks on every `debug!` statement, so let's test
this out by removing the `RUST_LOG` env var globally.

This regression in cycle time was witnessed between [two] [builds] where the
[PR] in question didn't do much suspicious. Judging by how the stage0 times
*also* regressed though then this is my best guess.

[two]: https://travis-ci.org/rust-lang/rust/builds/210149932
[builds]: https://travis-ci.org/rust-lang/rust/builds/210179995
[PR]: https://github.com/rust-lang/rust/pull/40446

7 years agoRollup merge of #40685 - portal-chan:patch-1, r=eddyb
Corey Farwell [Tue, 21 Mar 2017 03:45:05 +0000 (23:45 -0400)]
Rollup merge of #40685 - portal-chan:patch-1, r=eddyb

Add missing associated type Item to Iterator

7 years agoRollup merge of #40681 - est31:nightlies_txt_was_removed, r=alexcrichton
Corey Farwell [Tue, 21 Mar 2017 03:45:03 +0000 (23:45 -0400)]
Rollup merge of #40681 - est31:nightlies_txt_was_removed, r=alexcrichton

config.toml.example: nightlies.txt got removed

Instead, stage0.txt got introduced.

See also commit 02538d463a350f5c3658f7aabefca16eb599d31c

7 years agoRollup merge of #40671 - GuillaumeGomez:options-urls, r=frewsxcv
Corey Farwell [Tue, 21 Mar 2017 03:45:02 +0000 (23:45 -0400)]
Rollup merge of #40671 - GuillaumeGomez:options-urls, r=frewsxcv

Add missing urls in Option enum

r? @rust-lang/docs

7 years agoRollup merge of #40667 - DaseinPhaos:patch-4, r=GuillaumeGomez
Corey Farwell [Tue, 21 Mar 2017 03:45:01 +0000 (23:45 -0400)]
Rollup merge of #40667 - DaseinPhaos:patch-4, r=GuillaumeGomez

Fix typo in `ptr` doc

`sizeof` should be `size_of`

7 years agoRollup merge of #40576 - dwrensha:mir-terminator-kind-doc-typo, r=nikomatsakis
Corey Farwell [Tue, 21 Mar 2017 03:45:00 +0000 (23:45 -0400)]
Rollup merge of #40576 - dwrensha:mir-terminator-kind-doc-typo, r=nikomatsakis

fix innacuracy in mir TerminatorKind::SwitchInt docs

Each index of `values` corresponds to an index of `targets`, and `targets` additionally has a "default case" element at its end, so `targets.len() == values.len() + 1`, not the other way around. For example, [here](https://github.com/rust-lang/rust/blob/0aeb9c12979e6da753701a798d04105b6b1a8c28/src/librustc/mir/mod.rs#L549-L550) is a concrete instance of `SwitchInt` being constructed with `targets.len() == 2` and `values.len() == 1`.

7 years agoRollup merge of #40556 - cramertj:stabilize-pub-restricted, r=petrochenkov
Corey Farwell [Tue, 21 Mar 2017 03:44:59 +0000 (23:44 -0400)]
Rollup merge of #40556 - cramertj:stabilize-pub-restricted, r=petrochenkov

Stabilize pub(restricted)

Fix https://github.com/rust-lang/rust/issues/32409

7 years agoRollup merge of #40502 - jdhorwitz:master, r=steveklabnik
Corey Farwell [Tue, 21 Mar 2017 03:44:58 +0000 (23:44 -0400)]
Rollup merge of #40502 - jdhorwitz:master, r=steveklabnik

clean up visuals on error index #40425

r? @steveklabnik

Knocking these down to a smaller header made it look quite nice in my opinion.

7 years agoRollup merge of #40332 - steveklabnik:extract-book, r=alexcrichton
Corey Farwell [Tue, 21 Mar 2017 03:44:57 +0000 (23:44 -0400)]
Rollup merge of #40332 - steveklabnik:extract-book, r=alexcrichton

Extract book into a submodule

Part of https://github.com/rust-lang/rust/issues/39588

We probably don't want to land this till after the beta branches on friday, but would still ❤️ a review from @alexcrichton , since I am a rustbuild noob.

This pr:

1. removes the book
2. adds it back in as a submodule
3. the submodule includes both the old book and the new book
4. it also includes an index page explaining the difference in editions
5. it also includes redirect pages for the old book URLs.
6. so we build all that stuff too.

r? @alexcrichton

7 years agoRollup merge of #40312 - jdhorwitz:papercut, r=steveklabnik
Corey Farwell [Tue, 21 Mar 2017 03:44:56 +0000 (23:44 -0400)]
Rollup merge of #40312 - jdhorwitz:papercut, r=steveklabnik

Papercut

r? @steveklabnik

7 years agoRollup merge of #40229 - cramertj:break-to-blocks, r=nikomatsakis
Corey Farwell [Tue, 21 Mar 2017 03:44:55 +0000 (23:44 -0400)]
Rollup merge of #40229 - cramertj:break-to-blocks, r=nikomatsakis

Implement `?` in catch expressions

Builds on #39921. Final part of #39849.

r? @nikomatsakis

7 years agotravis: Don't set `RUST_LOG` globally
Alex Crichton [Mon, 20 Mar 2017 21:29:14 +0000 (14:29 -0700)]
travis: Don't set `RUST_LOG` globally

I have a suspicion that this caused a large regression in cycle times by forcing
the compiler to perform more checks on every `debug!` statement, so let's test
this out by removing the `RUST_LOG` env var globally.

This regression in cycle time was witnessed between [two] [builds] where the
[PR] in question didn't do much suspicious. Judging by how the stage0 times
*also* regressed though then this is my best guess.

[two]: https://travis-ci.org/rust-lang/rust/builds/210149932
[builds]: https://travis-ci.org/rust-lang/rust/builds/210179995
[PR]: https://github.com/rust-lang/rust/pull/40446

7 years agoAdd missing associated type Item to Iterator
portal [Mon, 20 Mar 2017 21:29:04 +0000 (23:29 +0200)]
Add missing associated type Item to Iterator

7 years agoconfig.toml.example: nightlies.txt got removed
est31 [Mon, 20 Mar 2017 18:28:04 +0000 (19:28 +0100)]
config.toml.example: nightlies.txt got removed

Instead, stage0.txt got introduced.

See also commit 02538d463a350f5c3658f7aabefca16eb599d31c

7 years agoAuto merge of #39628 - arielb1:shimmir, r=eddyb
bors [Mon, 20 Mar 2017 15:58:10 +0000 (15:58 +0000)]
Auto merge of #39628 - arielb1:shimmir, r=eddyb

Translate shims using MIR

This removes one large remaining part of old trans.

7 years agofix trailing whitespace
steveklabnik [Fri, 17 Mar 2017 13:25:29 +0000 (09:25 -0400)]
fix trailing whitespace

7 years agoexempt hbs from linkchecker
steveklabnik [Wed, 15 Mar 2017 21:03:50 +0000 (17:03 -0400)]
exempt hbs from linkchecker

7 years agoFix up various links
steveklabnik [Wed, 15 Mar 2017 16:13:55 +0000 (12:13 -0400)]
Fix up various links

The unstable book, libstd, libcore, and liballoc all needed some
adjustment.

7 years agoUpdate book and reference submodules
steveklabnik [Tue, 14 Mar 2017 15:01:24 +0000 (11:01 -0400)]
Update book and reference submodules

Some links needed adjustment to support this new scheme.

7 years agoskip nostarch directory
steveklabnik [Mon, 13 Mar 2017 20:41:31 +0000 (16:41 -0400)]
skip nostarch directory

This is for coordinating with our publishers; we don't ever want to test it.

7 years agofix whitespace
steveklabnik [Tue, 7 Mar 2017 22:19:25 +0000 (17:19 -0500)]
fix whitespace

7 years agoFix up some issues.
steveklabnik [Tue, 7 Mar 2017 21:29:05 +0000 (16:29 -0500)]
Fix up some issues.

Becuase I had run a `x.py doc` before doing this work, I had
accidentally relied on some files existing in places that they didn't
need to be.

7 years agoRender redirect pages.
steveklabnik [Tue, 7 Mar 2017 21:07:55 +0000 (16:07 -0500)]
Render redirect pages.

These pages will help people who have links to the older book.

7 years agobuild book index
steveklabnik [Tue, 7 Mar 2017 20:31:41 +0000 (15:31 -0500)]
build book index

7 years agobuild both editions of the book
steveklabnik [Tue, 7 Mar 2017 19:49:50 +0000 (14:49 -0500)]
build both editions of the book

7 years agoImport submodule for the book.
steveklabnik [Tue, 7 Mar 2017 19:43:27 +0000 (14:43 -0500)]
Import submodule for the book.

It's all in the external repository now.

7 years agoRemove the existing book
steveklabnik [Tue, 7 Mar 2017 19:42:33 +0000 (14:42 -0500)]
Remove the existing book

We'll bring this back in with the next commit, as a submodule.

7 years agoAdd missing urls in Option enum
Guillaume Gomez [Mon, 20 Mar 2017 14:06:05 +0000 (15:06 +0100)]
Add missing urls in Option enum

7 years agoFix typo in `ptr` doc
Luxko [Mon, 20 Mar 2017 09:17:10 +0000 (17:17 +0800)]
Fix typo in `ptr` doc

`sizeof` should be `size_of`

7 years agoAuto merge of #40659 - frewsxcv:rollup, r=frewsxcv
bors [Mon, 20 Mar 2017 08:31:16 +0000 (08:31 +0000)]
Auto merge of #40659 - frewsxcv:rollup, r=frewsxcv

Rollup of 9 pull requests

- Successful merges: #40241, #40281, #40398, #40521, #40532, #40554, #40566, #40581, #40587
- Failed merges:

7 years agoAuto merge of #40281 - jimmycuadra:try-from-from-str, r=aturon
bors [Mon, 20 Mar 2017 05:36:36 +0000 (05:36 +0000)]
Auto merge of #40281 - jimmycuadra:try-from-from-str, r=aturon

Rename TryFrom's associated type and implement str::parse using TryFrom.

Per discussion on the tracking issue, naming `TryFrom`'s associated type `Error` is generally more consistent with similar traits in the Rust ecosystem, and what people seem to assume it should be called. It also helps disambiguate from `Result::Err`, the most common "Err".

See https://github.com/rust-lang/rust/issues/33417#issuecomment-269108968.

`TryFrom<&str>` and `FromStr` are equivalent, so have the latter provide the former to ensure that. Using `TryFrom` in the implementation of `str::parse` means types that implement either trait can use it. When we're ready to stabilize `TryFrom`, we should update `FromStr` to
suggest implementing `TryFrom<&str>` instead for new code.

See https://github.com/rust-lang/rust/issues/33417#issuecomment-277175994
and https://github.com/rust-lang/rust/issues/33417#issuecomment-277253827.

Refs #33417.

7 years agoRollup merge of #40587 - GuillaumeGomez:rustdoc-const-display, r=frewsxcv
Corey Farwell [Mon, 20 Mar 2017 00:51:13 +0000 (20:51 -0400)]
Rollup merge of #40587 - GuillaumeGomez:rustdoc-const-display, r=frewsxcv

Fix invalid debug display for associated consts

Fixes #40568.

r? @rust-lang/docs

cc @SergioBenitez

7 years agoRollup merge of #40581 - TimNN:di-global-40, r=alexcrichton
Corey Farwell [Mon, 20 Mar 2017 00:51:12 +0000 (20:51 -0400)]
Rollup merge of #40581 - TimNN:di-global-40, r=alexcrichton

[LLVM 4.0] Add missing debuginfo metadata to globals

Fixes #40580.

cc @rkruppe
cc #40123

7 years agoRollup merge of #40566 - clarcharr:never_error, r=sfackler
Corey Farwell [Mon, 20 Mar 2017 00:51:11 +0000 (20:51 -0400)]
Rollup merge of #40566 - clarcharr:never_error, r=sfackler

Implement std::error::Error for !.

7 years agoRollup merge of #40554 - nrc:rls-data, r=alexcrichton
Corey Farwell [Mon, 20 Mar 2017 00:51:10 +0000 (20:51 -0400)]
Rollup merge of #40554 - nrc:rls-data, r=alexcrichton

Use rls-data crate

This basically pulls out a bunch of data structures used by save-analysis for serialization into an external crate, and pulls that crate in using Rustbuild. The RLS can then share these data structures with the compiler which in some cases will allow more efficient communication between the compiler and the RLS (i.e., without serialisation).

Along the way, I have to pull in rls-span, which is the RLS's way of defining spans (more type-safe than the compiler's built-in way). This is basically just to convert from compiler spans to RLS spans.

I also pull in the crates.io version of rustc-serialize, which is a bit annoying, but seems to be the only way to have serialisable data in an external crate. To make this work, all of the save-analysis crate has to use this version too (cc #40527).

Finally I pull in a line from #40347 to make the unstable crate checking stuff working.

There are a lot of changes to save-analysis but they are all mechanical and trivial - changing from using `From` to `Into` (because of orphan rules) being the main thing.

r? @alexcrichton

7 years agoRollup merge of #40532 - jseyfried:improve_tokenstream_quoter, r=nrc
Corey Farwell [Mon, 20 Mar 2017 00:51:09 +0000 (20:51 -0400)]
Rollup merge of #40532 - jseyfried:improve_tokenstream_quoter, r=nrc

macros: improve the `TokenStream` quoter

This PR
 - renames the `TokenStream` quoter from `qquote!` to `quote!`,
 - uses `$` instead of `unquote` (e.g. `let toks: TokenStream = ...; quote!([$toks])`),
 - allows unquoting `Token`s as well as `TokenTree`s and `TokenStream`s (fixes #39746), and
 - to preserve syntactic space, requires that `$` be followed by
   - a single identifier to unquote, or
   - another `$` to produce a literal `$`.

r? @nrc

7 years agoRollup merge of #40521 - TimNN:panic-free-shift, r=alexcrichton
Corey Farwell [Mon, 20 Mar 2017 00:51:08 +0000 (20:51 -0400)]
Rollup merge of #40521 - TimNN:panic-free-shift, r=alexcrichton

Implemente overflowing_sh* with new unchecked_sh* intrinsics

Also update some 128 bit builtins to not rely on the constant evaluator to avoid checked operations.

Fixes #40508.

cc @nagisa, @alexcrichton

Note: I still have a build running to see if the 128 bit changes worked (unoptimized builds take *forever* to compile), however at least the overflowing builtins no longer reference `core::panicking::panic`.

7 years agoRollup merge of #40398 - eddyb:struct-hint, r=nikomatsakis
Corey Farwell [Mon, 20 Mar 2017 00:51:07 +0000 (20:51 -0400)]
Rollup merge of #40398 - eddyb:struct-hint, r=nikomatsakis

Propagate expected type hints through struct literals.

Partial fix for #31260 to maximize backwards-compatibility, i.e. the hint is provided but not coerced to.

The added test works because `{...; x}` with a hint of `T` coerces `x` to `T`, and the reasoning why that is slightly different has to do with DSTs: `&Struct { tail: [x] }: &Struct<[T]>` has a hint of `[T]` for `[x]`, but the inferred type should be `[T; 1]` to succeed later, so `[x]` shouldn't be *forced* to be `[T]`.

*However*, implementing that complete behavior in a backwards-compatible way may be non-trivial, and has not yet been fully investigated, while this PR fixes #40355 and can be backported.

r? @nikomatsakis

7 years agoRollup merge of #40281 - jimmycuadra:try-from-from-str, r=aturon
Corey Farwell [Mon, 20 Mar 2017 00:51:06 +0000 (20:51 -0400)]
Rollup merge of #40281 - jimmycuadra:try-from-from-str, r=aturon

Rename TryFrom's associated type and implement str::parse using TryFrom.

Per discussion on the tracking issue, naming `TryFrom`'s associated type `Error` is generally more consistent with similar traits in the Rust ecosystem, and what people seem to assume it should be called. It also helps disambiguate from `Result::Err`, the most common "Err".

See https://github.com/rust-lang/rust/issues/33417#issuecomment-269108968.

`TryFrom<&str>` and `FromStr` are equivalent, so have the latter provide the former to ensure that. Using `TryFrom` in the implementation of `str::parse` means types that implement either trait can use it. When we're ready to stabilize `TryFrom`, we should update `FromStr` to
suggest implementing `TryFrom<&str>` instead for new code.

See https://github.com/rust-lang/rust/issues/33417#issuecomment-277175994
and https://github.com/rust-lang/rust/issues/33417#issuecomment-277253827.

Refs #33417.

7 years agoRollup merge of #40241 - Sawyer47:fix-39997, r=alexcrichton
Corey Farwell [Mon, 20 Mar 2017 00:51:06 +0000 (20:51 -0400)]
Rollup merge of #40241 - Sawyer47:fix-39997, r=alexcrichton

Change how the `0` flag works in format!

Now it always implies right-alignment, so that padding zeroes are placed after the sign (if any) and before the digits. In other words, it always takes precedence over explicitly specified `[[fill]align]`. This also affects the '#' flag: zeroes are placed after the prefix (0b, 0o, 0x) and before the digits.

Here's a short summary of how similar format strings work in Python and Rust:

```
              :05     :<05    :>05    :^05
Python 3.6  |-0001| |-1000| |000-1| |0-100|
Rust before |-0001| |-1000| |-0001| |-0100|
Rust after  |-0001| |-0001| |-0001| |-0001|

             :#05x   :<#05x  :>#05x  :^#05x
Python 3.6  |0x001| |0x100| |000x1| |00x10|
Rust before |0x001| |0x100| |000x1| |0x010|
Rust after  |0x001| |0x001| |0x001| |0x001|
```

Fixes #39997 [breaking-change]

7 years agoAuto merge of #39799 - dpc:create_dir_all, r=alexcrichton
bors [Sun, 19 Mar 2017 21:02:53 +0000 (21:02 +0000)]
Auto merge of #39799 - dpc:create_dir_all, r=alexcrichton

Fix race condition in fs::create_dir_all

The code would crash if the directory was created after create_dir_all
checked whether the directory already existed.  This was contrary to
the documentation which claimed to create the directory if it doesn't
exist, implying (but not stating) that there would not be a failure
due to the directory existing.

7 years agoAuto merge of #40651 - frewsxcv:rollup, r=frewsxcv
bors [Sun, 19 Mar 2017 17:44:02 +0000 (17:44 +0000)]
Auto merge of #40651 - frewsxcv:rollup, r=frewsxcv

Rollup of 13 pull requests

- Successful merges: #40441, #40445, #40562, #40564, #40583, #40588, #40589, #40590, #40603, #40611, #40621, #40646, #40648
- Failed merges:

7 years agoupdate LLVM
Ariel Ben-Yehuda [Sun, 19 Mar 2017 15:51:27 +0000 (17:51 +0200)]
update LLVM

pick up a fix to LLVM PR29151.

7 years agoRollup merge of #40648 - s3rvac:fix-path-docs-typo, r=frewsxcv
Corey Farwell [Sun, 19 Mar 2017 14:18:23 +0000 (10:18 -0400)]
Rollup merge of #40648 - s3rvac:fix-path-docs-typo, r=frewsxcv

Fix a typo in path.rs docs

The name of the variable used in the example is `path`, not `os_str`.

7 years agoRollup merge of #40646 - russmack:issue-40435-mention-none, r=frewsxcv
Corey Farwell [Sun, 19 Mar 2017 14:18:23 +0000 (10:18 -0400)]
Rollup merge of #40646 - russmack:issue-40435-mention-none, r=frewsxcv

Add mention of None as possible return. Closes #40435.

This commit adds a small mention to some methods that None is returned when the slice is empty.

7 years agoRollup merge of #40621 - jswalden:dependant-spelling-fix, r=sfackler
Corey Farwell [Sun, 19 Mar 2017 14:18:21 +0000 (10:18 -0400)]
Rollup merge of #40621 - jswalden:dependant-spelling-fix, r=sfackler

Fix a spelling error in HashMap documentation, and slightly reword surrounding text for precision

Noticed while reading docs just now.

It's possible that the prior wording *meant* to state that the seed's randomness depends on the exact instant that the system RNG was created, I guess.  But unless there's an API guarantee that this is the case, the wording seems over-precise.  Is there a formal API guarantee that would forbid, say, the system RNG from generating all output using the Intel RDRAND instruction?  I don't think the quality of output in that case would depend on when the RNG was created.  Yet it seems to me like it could well be a valid source of randomness when computing the initial seed.

For that reason, tying the randomness of the seed, to the quality of the RNG's output *at the precise instant the seed is computed*, seems less confining.  That instantaneous quality level could be determined by the quality at the instant the RNG was created -- but instantaneous quality need not be low for that precise reason.

7 years agoRollup merge of #40611 - ScottAbbey:patch-1, r=GuillaumeGomez
Corey Farwell [Sun, 19 Mar 2017 14:18:20 +0000 (10:18 -0400)]
Rollup merge of #40611 - ScottAbbey:patch-1, r=GuillaumeGomez

Fix typo in mutex.rs docs

This seems to match other uses of "be accessed" in the document.

7 years agoRollup merge of #40603 - QuietMisdreavus:slice-ptr-docs, r=GuillaumeGomez
Corey Farwell [Sun, 19 Mar 2017 14:18:19 +0000 (10:18 -0400)]
Rollup merge of #40603 - QuietMisdreavus:slice-ptr-docs, r=GuillaumeGomez

minor wording tweak to slice::{as_ptr, as_mut_ptr}

Per #37334, the slice-as-pointer methods mentioned that "modifying the slice may cause its buffer to be reallocated", when in fact modifying the *slice* itself would cause no such change. (It is a borrow, after all!) This is a tweak to the wording of that line to stress it's the *collection* that could cause the buffer to be reallocated.

r? @steveklabnik

7 years agoRollup merge of #40590 - z1mvader:master, r=steveklabnik
Corey Farwell [Sun, 19 Mar 2017 14:18:19 +0000 (10:18 -0400)]
Rollup merge of #40590 - z1mvader:master, r=steveklabnik

documented order of conversion between u32 an ipv4addr

This fixes https://github.com/rust-lang/rust/issues/40118

7 years agoRollup merge of #40589 - topecongiro:floating-point-literal, r=nagisa
Corey Farwell [Sun, 19 Mar 2017 14:18:18 +0000 (10:18 -0400)]
Rollup merge of #40589 - topecongiro:floating-point-literal, r=nagisa

Parse 0e+10 as a valid floating-point literal

Fixes issue #40408.

7 years agoRollup merge of #40588 - topecongiro:add-missing-tests, r=alexcrichton
Corey Farwell [Sun, 19 Mar 2017 14:18:17 +0000 (10:18 -0400)]
Rollup merge of #40588 - topecongiro:add-missing-tests, r=alexcrichton

Add a test for issue 34571

Closes #34571.

7 years agoRollup merge of #40583 - jseyfried:fix_include_macro_regression, r=nrc
Corey Farwell [Sun, 19 Mar 2017 14:18:16 +0000 (10:18 -0400)]
Rollup merge of #40583 - jseyfried:fix_include_macro_regression, r=nrc

macros: fix regression with `include!()`

Fixes #40469, a regression when `include!()`ing a `macro_rules!` containing `$crate`.
r? @nrc

7 years agoRollup merge of #40564 - GuillaumeGomez:rustdoc-const, r=frewsxcv
Corey Farwell [Sun, 19 Mar 2017 14:18:15 +0000 (10:18 -0400)]
Rollup merge of #40564 - GuillaumeGomez:rustdoc-const, r=frewsxcv

Fix const not displayed in rustdoc

Fixes #40331.

r? @rust-lang/docs

7 years agoRollup merge of #40562 - mbrubeck:bootstrap, r=alexcrichton
Corey Farwell [Sun, 19 Mar 2017 14:18:14 +0000 (10:18 -0400)]
Rollup merge of #40562 - mbrubeck:bootstrap, r=alexcrichton

Remove unused param from bootstrap::clean::rm_rf

None

7 years agoRollup merge of #40445 - estebank:issue-18150, r=jonathandturner
Corey Farwell [Sun, 19 Mar 2017 14:18:13 +0000 (10:18 -0400)]
Rollup merge of #40445 - estebank:issue-18150, r=jonathandturner

Point to let when modifying field of immutable variable

Point at the immutable local variable when trying to modify one of its
fields.

Given a file:

```rust
struct Foo {
    pub v: Vec<String>
}

fn main() {
    let f = Foo { v: Vec::new() };
    f.v.push("cat".to_string());
}
```

present the following output:

```
error: cannot borrow immutable field `f.v` as mutable
 --> file.rs:7:13
  |
6 |    let f = Foo { v: Vec::new() };
  |        - this should be `mut`
7 |    f.v.push("cat".to_string());
  |    ^^^

error: aborting due to previous error
```

Fix #27593.

7 years agoRollup merge of #40441 - tschottdorf:promotable-rfc, r=eddyb
Corey Farwell [Sun, 19 Mar 2017 14:18:12 +0000 (10:18 -0400)]
Rollup merge of #40441 - tschottdorf:promotable-rfc, r=eddyb

Add feature gate for rvalue-static-promotion

Probably needs more tests (which ones?) and there may be other things that need to be done. Also not sure whether the version that introduces the flag is really `1.15.1`.

See https://github.com/rust-lang/rfcs/pull/1414.

Updates #38865.

7 years agoAuto merge of #40346 - jseyfried:path_and_tokenstream_attr, r=nrc
bors [Sun, 19 Mar 2017 10:56:08 +0000 (10:56 +0000)]
Auto merge of #40346 - jseyfried:path_and_tokenstream_attr, r=nrc

`TokenStream`-based attributes, paths in attribute and derive macro invocations

This PR
 - refactors `Attribute` to use  `Path` and `TokenStream` instead of `MetaItem`.
 - supports macro invocation paths for attribute procedural macros.
   - e.g. `#[::foo::attr_macro] struct S;`, `#[cfg_attr(all(), foo::attr_macro)] struct S;`
 - supports macro invocation paths for derive procedural macros.
   - e.g. `#[derive(foo::Bar, super::Baz)] struct S;`
 - supports arbitrary tokens as arguments to attribute procedural macros.
   - e.g. `#[foo::attr_macro arbitrary + tokens] struct S;`
 - supports using arbitrary tokens in "inert attributes" with derive procedural macros.
   - e.g. `#[derive(Foo)] struct S(#[inert arbitrary + tokens] i32);`
where `#[proc_macro_derive(Foo, attributes(inert))]`

r? @nrc

7 years agoFix a typo in path.rs docs
Petr Zemek [Sun, 19 Mar 2017 06:02:20 +0000 (07:02 +0100)]
Fix a typo in path.rs docs

The name of the variable used in the example is `path`, not `os_str`.

7 years agoFix problems left in `concurrent_recursive_mkdir`
Dawid Ciężarkiewicz [Sun, 19 Mar 2017 04:03:51 +0000 (21:03 -0700)]
Fix problems left in `concurrent_recursive_mkdir`

Increase lifetime of `tmpdir`, and really change the length of test
path.

7 years agoAdd mention of None as possible return. Closes #40435.
Russell Mackenzie [Sun, 19 Mar 2017 01:39:11 +0000 (01:39 +0000)]
Add mention of None as possible return. Closes #40435.

7 years agoAuto merge of #40538 - aturon:stab-1.17, r=alexcrichton
bors [Sun, 19 Mar 2017 01:40:57 +0000 (01:40 +0000)]
Auto merge of #40538 - aturon:stab-1.17, r=alexcrichton

Library stabilizations for 1.17

Details of the stabilizations are available in the commits. Includes only library stabilizations; there are a couple of compiler stabilizations that should also be done for 1.17.

Will need a beta backport, which I will create after approval.

r? @alexcrichton

7 years agoAuto merge of #40625 - alexcrichton:update-cargo-again, r=alexcrichton
bors [Sat, 18 Mar 2017 15:22:29 +0000 (15:22 +0000)]
Auto merge of #40625 - alexcrichton:update-cargo-again, r=alexcrichton

Update the cargo submodule again

Unfortunately it was reverted back to a broken state in
e06c51553ddc202a79f2c0b76822ad56c4a30f80 by accident, so let's bring it forward
again!

Closes https://github.com/rust-lang/cargo/issues/3844

7 years agoadd inline attributes to stage 0 methods
Tim Neumann [Sat, 18 Mar 2017 13:52:35 +0000 (14:52 +0100)]
add inline attributes to stage 0 methods

7 years agoParse 0e+10 as a valid floating-point literal
topecongiro [Fri, 17 Mar 2017 00:03:52 +0000 (09:03 +0900)]
Parse 0e+10 as a valid floating-point literal

Fixes issue #40408.

7 years agoAdd more catch-related CFG and lifetime tests and fix CFG bug
Taylor Cramer [Tue, 14 Mar 2017 23:48:01 +0000 (16:48 -0700)]
Add more catch-related CFG and lifetime tests and fix CFG bug

7 years agoImplement ? in catch expressions and add tests
Taylor Cramer [Tue, 28 Feb 2017 19:05:03 +0000 (11:05 -0800)]
Implement ? in catch expressions and add tests

7 years agoUpdate the cargo submodule again
Alex Crichton [Sat, 18 Mar 2017 03:47:35 +0000 (20:47 -0700)]
Update the cargo submodule again

Unfortunately it was reverted back to a broken state in
e06c51553ddc202a79f2c0b76822ad56c4a30f80 by accident, so let's bring it forward
again!

7 years agoMake priv in pub hard error for crates using pub(restricted)
Taylor Cramer [Sat, 18 Mar 2017 03:38:32 +0000 (20:38 -0700)]
Make priv in pub hard error for crates using pub(restricted)

7 years agoAuto merge of #40507 - alexcrichton:static-libcurl, r=brson
bors [Sat, 18 Mar 2017 03:31:58 +0000 (03:31 +0000)]
Auto merge of #40507 - alexcrichton:static-libcurl, r=brson

travis: Ensure cargo links libcurl statically

We don't want a dynamic dependency in the library that we ship, so link it
statically by configuring curl-sys's build script to not pick up the system
version via pkg-config.

7 years agoFix `create_dir_all("")`
Dawid Ciężarkiewicz [Wed, 15 Mar 2017 05:03:00 +0000 (22:03 -0700)]
Fix `create_dir_all("")`

Add a test for `""` and `"."`.

7 years agoReorder match checks in `create_dir_all`
Dawid Ciężarkiewicz [Wed, 15 Mar 2017 05:29:00 +0000 (22:29 -0700)]
Reorder match checks in `create_dir_all`

Avoid doing `is_dir` in the fast path.

7 years agoFix problems found on Windows in `dir_create_all`
Dawid Ciężarkiewicz [Wed, 15 Mar 2017 05:29:00 +0000 (22:29 -0700)]
Fix problems found on Windows in `dir_create_all`

Ignore the type of error altogether. The rationale is: it doesn't matter
what was the problem if the directory is there. In the previous versions
if the directory was there already we wouldn't even attempt to create
it, so we wouldn't know about the problem neither.

Make test path length smaller in `concurrent_recursive_mkdir` test.

7 years agoBreak line longer than 100 characters
Dawid Ciężarkiewicz [Tue, 14 Mar 2017 05:29:00 +0000 (22:29 -0700)]
Break line longer than 100 characters

7 years agoAdd `concurrent_recursive_mkdir` test
Dawid Ciężarkiewicz [Mon, 13 Mar 2017 06:07:16 +0000 (23:07 -0700)]
Add `concurrent_recursive_mkdir` test

7 years agoFix new version of `create_dir_all`
Dawid Ciężarkiewicz [Sat, 11 Mar 2017 16:04:30 +0000 (08:04 -0800)]
Fix new version of `create_dir_all`

It will now correctly fail on existing non-directories.

7 years agoFix race condition in fs::create_dir_all
David Roundy [Tue, 1 Dec 2015 22:29:56 +0000 (17:29 -0500)]
Fix race condition in fs::create_dir_all

It is more robust to not fail if any directory in a path was created
concurrently. This change lifts rustc internal `create_dir_racy` that
was created to handle such conditions to be new `create_dir_all`
implementation.

7 years agotranslate drop glue using MIR
Ariel Ben-Yehuda [Mon, 13 Mar 2017 23:08:21 +0000 (01:08 +0200)]
translate drop glue using MIR

Drop of arrays is now translated in trans::block in an ugly way that I
should clean up in a later PR, and does not handle panics in the middle
of an array drop, but this commit & PR are growing too big.

7 years agoapply pre-trans passes to Shim MIR
Ariel Ben-Yehuda [Thu, 9 Mar 2017 18:36:01 +0000 (20:36 +0200)]
apply pre-trans passes to Shim MIR

7 years agomove the drop expansion code to rustc_mir
Ariel Ben-Yehuda [Thu, 9 Mar 2017 18:10:05 +0000 (20:10 +0200)]
move the drop expansion code to rustc_mir

7 years agotranslate closure shims using MIR
Ariel Ben-Yehuda [Wed, 8 Mar 2017 21:19:09 +0000 (23:19 +0200)]
translate closure shims using MIR

7 years agocollector: collect functions when they are called/reified
Ariel Ben-Yehuda [Wed, 8 Mar 2017 19:21:27 +0000 (21:21 +0200)]
collector: collect functions when they are called/reified

This avoids the creation of unneeded vtable shims.

7 years agorefactor away callee::Callee and translate virtual calls through a MIR shim
Ariel Ben-Yehuda [Wed, 8 Mar 2017 16:33:21 +0000 (18:33 +0200)]
refactor away callee::Callee and translate virtual calls through a MIR shim

These changes are in the same commit to avoid needing to adapt
meth::trans_object_shim to the new scheme.

One codegen-units test is broken because we instantiate the shims even
when they are not needed. This will be fixed in the next PR.

7 years agoresolve instances to ty::Instance directly
Ariel Ben-Yehuda [Tue, 7 Mar 2017 23:41:26 +0000 (01:41 +0200)]
resolve instances to ty::Instance directly

This removes the duplication between collector, callee, and (eventually)
MIRI.

7 years agotranslate function shims using MIR
Ariel Ben-Yehuda [Mon, 6 Mar 2017 10:58:51 +0000 (12:58 +0200)]
translate function shims using MIR

7 years agomove Instance to rustc and use it in the collector
Ariel Ben-Yehuda [Wed, 8 Feb 2017 17:31:03 +0000 (18:31 +0100)]
move Instance to rustc and use it in the collector

7 years agotranslate tuple-variant constructors using MIR
Ariel Ben-Yehuda [Tue, 7 Feb 2017 21:46:21 +0000 (22:46 +0100)]
translate tuple-variant constructors using MIR

7 years agoAuto merge of #40482 - wagenet:fix-old-macos, r=alexcrichton
bors [Sat, 18 Mar 2017 00:40:10 +0000 (00:40 +0000)]
Auto merge of #40482 - wagenet:fix-old-macos, r=alexcrichton

Target builds for older macOS

Fix #40481

7 years agoFix a spelling error in HashMap documentation, and slightly reword it to be more...
Jeff Walden [Sat, 18 Mar 2017 00:15:01 +0000 (17:15 -0700)]
Fix a spelling error in HashMap documentation, and slightly reword it to be more precise.

7 years agoFix regression when `include!()`ing a `macro_rules!` containing a `$crate::` path.
Jeffrey Seyfried [Thu, 16 Mar 2017 20:39:41 +0000 (20:39 +0000)]
Fix regression when `include!()`ing a `macro_rules!` containing a `$crate::` path.

7 years agoMinor fixups to fix tidy errors
Alex Crichton [Wed, 15 Mar 2017 14:58:27 +0000 (07:58 -0700)]
Minor fixups to fix tidy errors

7 years agoStabilize rc_raw feature, closes #37197
Aaron Turon [Wed, 15 Mar 2017 04:10:02 +0000 (21:10 -0700)]
Stabilize rc_raw feature, closes #37197

7 years agoStabilize ordering_chaining, closes #37053
Aaron Turon [Wed, 15 Mar 2017 04:06:29 +0000 (21:06 -0700)]
Stabilize ordering_chaining, closes #37053

7 years agoStabilize btree_range, closes #27787
Aaron Turon [Wed, 15 Mar 2017 04:04:54 +0000 (21:04 -0700)]
Stabilize btree_range, closes #27787

7 years agoStabilize ptr_eq feature, closes #36497
Aaron Turon [Wed, 15 Mar 2017 04:01:18 +0000 (21:01 -0700)]
Stabilize ptr_eq feature, closes #36497

7 years agoStabilize process_abort feature, closes #37838
Aaron Turon [Wed, 15 Mar 2017 03:52:20 +0000 (20:52 -0700)]
Stabilize process_abort feature, closes #37838

7 years agoStabilize ptr_unaligned feature, closes #37955
Aaron Turon [Wed, 15 Mar 2017 03:51:29 +0000 (20:51 -0700)]
Stabilize ptr_unaligned feature, closes #37955

7 years agoStabilize expect_err feature, closes #39041
Aaron Turon [Wed, 15 Mar 2017 03:49:18 +0000 (20:49 -0700)]
Stabilize expect_err feature, closes #39041