]> git.lizzy.rs Git - rust.git/log
rust.git
6 years agoAuto merge of #44984 - Maaarcocr:master, r=nikomatsakis
bors [Tue, 24 Oct 2017 03:55:22 +0000 (03:55 +0000)]
Auto merge of #44984 - Maaarcocr:master, r=nikomatsakis

Create NormalizeTy query

As part of the effort to solve #44891,  I've created the normalize_ty query.

As outlined in the issue this meant:

- renamed `normalize_associated_type()` to `normalize_associated_type_in()`
- created the `normalize_ty` query
- substituted the use of memoize with the query

This PR is not ready. While running tests, one of the incremental ones failed. [This](https://pastebin.com/vGhH6bv6) is the error I got.

6 years agoAuto merge of #44766 - sunjay:lift_generics, r=nikomatsakis
bors [Tue, 24 Oct 2017 01:20:09 +0000 (01:20 +0000)]
Auto merge of #44766 - sunjay:lift_generics, r=nikomatsakis

Move Generics from MethodSig to TraitItem and ImplItem

As part of `rust-impl-period/WG-compiler-traits`, we want to "lift" `Generics` from `MethodSig` into `TraitItem` and `ImplItem`. This is in preparation for adding associated type generics. (https://github.com/rust-lang/rust/issues/44265#issuecomment-331172238)

Currently this change is only made in the AST. In the future, it may also impact the HIR. (Still discussing)

To understand this PR, it's probably best to start from the changes to `ast.rs` and then work your way to the other files to understand the far reaching effects of this change.

r? @nikomatsakis

6 years agoupdate inherent_impls tests
Niko Matsakis [Mon, 23 Oct 2017 20:18:00 +0000 (16:18 -0400)]
update inherent_impls tests

Now that we are visiting things in a different order during lowering,
adding parameters winds up affecting the HirIds assigned to thinks in
the method body, whereas it didn't before. We could fix this by
reordering the order in which we visit `generics` during lowering, but
this feels very fragile. Seems better to just let typeck tables be
dirty here.

6 years agoAuto merge of #45451 - durka:patch-45, r=steveklabnik
bors [Sun, 22 Oct 2017 23:02:15 +0000 (23:02 +0000)]
Auto merge of #45451 - durka:patch-45, r=steveklabnik

fix stringify docs

Update `stringify!` docs to show actual accepted syntax. Reported [on reddit](https://www.reddit.com/r/rust/comments/76o8rh/hey_rustaceans_got_an_easy_question_ask_here/dopzwys/).

6 years agoAuto merge of #45429 - frewsxcv:frewsxcv-once-docs, r=quietmisdreavus
bors [Sun, 22 Oct 2017 20:26:32 +0000 (20:26 +0000)]
Auto merge of #45429 - frewsxcv:frewsxcv-once-docs, r=quietmisdreavus

Improve docs around `Once::call_once_force` and `OnceState`.

Added some examples, clarify behavior, etc etc.

Fixes https://github.com/rust-lang/rust/issues/43472.

6 years agoAuto merge of #45304 - kennytm:travis-color-color-conflict, r=aturon
bors [Sun, 22 Oct 2017 17:52:55 +0000 (17:52 +0000)]
Auto merge of #45304 - kennytm:travis-color-color-conflict, r=aturon

Fix rustbuild --color conflict when building on Travis outside of Docker

When trying to build rust on Travis without using `stamp` or `docker`, both `RUSTC_COLOR=1` and `TRAVIS=true` will separately pass `--color always` to the command line. This causes the build to fail due to "*Option 'color' given more than once*".

In this PR, the `RUSTC_COLOR=1` will not be passed in the CI environment.

6 years agofix stringify docs in std
Alex Burka [Sun, 22 Oct 2017 17:17:23 +0000 (13:17 -0400)]
fix stringify docs in std

6 years agofix stringify docs
Alex Burka [Sun, 22 Oct 2017 17:14:17 +0000 (13:14 -0400)]
fix stringify docs

6 years agoAuto merge of #45442 - matthewjasper:const-dynamic-capture-error, r=petrochenkov
bors [Sun, 22 Oct 2017 15:17:08 +0000 (15:17 +0000)]
Auto merge of #45442 - matthewjasper:const-dynamic-capture-error, r=petrochenkov

Cleanly error for non-const variable in associated const

Not sure if wrapping the whole `visit::walk_impl_item` call is correct.
Closes #44239

6 years agoImprove docs around `Once::call_once_force` and `OnceState`.
Corey Farwell [Sat, 21 Oct 2017 13:20:25 +0000 (09:20 -0400)]
Improve docs around `Once::call_once_force` and `OnceState`.

6 years agoAuto merge of #45432 - ollie27:rustbuild_error_index_gen, r=Mark-Simulacrum
bors [Sun, 22 Oct 2017 11:30:15 +0000 (11:30 +0000)]
Auto merge of #45432 - ollie27:rustbuild_error_index_gen, r=Mark-Simulacrum

rustbuild: Build stage 1 error index generator at stage 0

At stage 1 rustdoc is built at stage 0 so the error index generator should be as well.

This fixes `x.py --stage 1 doc` as rustdoc doesn't even build at stage 1.

It was broken by #44605.

r? @alexcrichton

6 years agoAuto merge of #45433 - ollie27:rustbuild_nomicon, r=Mark-Simulacrum
bors [Sun, 22 Oct 2017 08:55:06 +0000 (08:55 +0000)]
Auto merge of #45433 - ollie27:rustbuild_nomicon, r=Mark-Simulacrum

rustbuild: Fix path for the nomicon

6 years agoAuto merge of #45423 - durka:update-jobserver, r=Mark-Simulacrum
bors [Sun, 22 Oct 2017 03:13:16 +0000 (03:13 +0000)]
Auto merge of #45423 - durka:update-jobserver, r=Mark-Simulacrum

update jobserver version to work around macos bug

Update `jobserver` crate to fix rust-lang/cargo#4643, a panic which can't happen according to `libc::poll`'s man page but was nevertheless reported on macOS 10.9 and 10.10.

r? @alexcrichton

6 years agoAuto merge of #45400 - alexcrichton:bootstrap-thinlto, r=Mark-Simulacrum
bors [Sun, 22 Oct 2017 00:35:05 +0000 (00:35 +0000)]
Auto merge of #45400 - alexcrichton:bootstrap-thinlto, r=Mark-Simulacrum

rustbuild: Compile rustc with ThinLTO

This commit enables ThinLTO for the compiler as well as multiple codegen units.
This is intended to get the benefits of parallel codegen while also avoiding
any major loss of perf. Finally this commit is also intended as further testing
for #45320 and shaking out bugs.

6 years agorenamed query
Marco Concetto Rudilosso [Sat, 21 Oct 2017 21:25:00 +0000 (22:25 +0100)]
renamed query

6 years agoanon NormalizeTy DepNode
Marco Concetto Rudilosso [Sat, 21 Oct 2017 19:11:27 +0000 (20:11 +0100)]
anon NormalizeTy DepNode

6 years agomoved depnode
Marco Concetto Rudilosso [Wed, 18 Oct 2017 16:28:31 +0000 (17:28 +0100)]
moved depnode

6 years agoremoved unused import
Marco Concetto Rudilosso [Mon, 16 Oct 2017 20:09:07 +0000 (21:09 +0100)]
removed unused import

6 years agotrans_ -> fully_ prefix
Marco Concetto Rudilosso [Mon, 16 Oct 2017 18:39:32 +0000 (19:39 +0100)]
trans_ -> fully_ prefix

6 years agotidier
Marco Concetto Rudilosso [Wed, 11 Oct 2017 19:31:03 +0000 (20:31 +0100)]
tidier

6 years agoadded trans_ prefix and pluralised types. Solved failing test on the incremental...
Marco Concetto Rudilosso [Wed, 11 Oct 2017 17:03:59 +0000 (18:03 +0100)]
added trans_ prefix and pluralised types. Solved failing test on the incremental test-suite.

6 years agoadded newlines at the end of the file and changed 'normalising' to 'normalizing'
Marco Concetto Rudilosso [Tue, 3 Oct 2017 21:55:15 +0000 (22:55 +0100)]
added newlines at the end of the file and changed 'normalising' to 'normalizing'

6 years agoCreate NormalizeTy query
Marco Concetto Rudilosso [Sat, 21 Oct 2017 21:50:15 +0000 (22:50 +0100)]
Create NormalizeTy query

6 years agoAuto merge of #45399 - alexcrichton:compress-parallel, r=michaelwoerister
bors [Sat, 21 Oct 2017 21:40:08 +0000 (21:40 +0000)]
Auto merge of #45399 - alexcrichton:compress-parallel, r=michaelwoerister

rustc: Move bytecode compression into codegen

This commit moves compression of the bytecode from the `link` module to the
`write` module, namely allowing it to be (a) cached by incremental compilation
and (b) produced in parallel. The parallelization may show up as some nice wins
during normal compilation and the caching in incremental mode should be
beneficial for incremental compiles! (no more need to recompress the entire
crate's bitcode on all builds)

6 years agorustc: Move bytecode compression into codegen
Alex Crichton [Fri, 20 Oct 2017 01:44:33 +0000 (18:44 -0700)]
rustc: Move bytecode compression into codegen

This commit moves compression of the bytecode from the `link` module to the
`write` module, namely allowing it to be (a) cached by incremental compilation
and (b) produced in parallel. The parallelization may show up as some nice wins
during normal compilation and the caching in incremental mode should be
beneficial for incremental compiles! (no more need to recompress the entire
crate's bitcode on all builds)

6 years agoAuto merge of #45393 - alexcrichton:update-musl, r=Mark-Simulacrum
bors [Sat, 21 Oct 2017 19:02:41 +0000 (19:02 +0000)]
Auto merge of #45393 - alexcrichton:update-musl, r=Mark-Simulacrum

ci: Update musl with new release

Apparently there's at least one CVE fixed in the new version of musl, and
because we're distributing it seems like a good opportunity to update!

Unfortunately it looks like #38618 still hasn't been fixed.

6 years agoAuto merge of #45366 - ollie27:rustbuild_compiler_docs, r=alexcrichton
bors [Sat, 21 Oct 2017 16:32:31 +0000 (16:32 +0000)]
Auto merge of #45366 - ollie27:rustbuild_compiler_docs, r=alexcrichton

rustbuild: Don't try to build rustdoc API docs with compiler docs

rustdoc is built separately to rustc now so the docs would need to be
generated separately as well. Also rustdoc doesn't build at stage 1
which prevented the compiler docs being built at stage 1.

Fixes: #44629
6 years agorustbuild: Fix path for the nomicon
Oliver Middleton [Sat, 21 Oct 2017 16:16:46 +0000 (17:16 +0100)]
rustbuild: Fix path for the nomicon

6 years agorustbuild: Build stage 1 error index generator at stage 0
Oliver Middleton [Sat, 21 Oct 2017 15:47:18 +0000 (16:47 +0100)]
rustbuild: Build stage 1 error index generator at stage 0

At stage 1 rustdoc is built at stage 0 so the error index generator should be as well.

This fixes `x.py --stage 1 doc` as rustdoc doesn't even build at stage 1.

6 years agoAuto merge of #45430 - frewsxcv:rollup, r=frewsxcv
bors [Sat, 21 Oct 2017 14:04:15 +0000 (14:04 +0000)]
Auto merge of #45430 - frewsxcv:rollup, r=frewsxcv

Rollup of 6 pull requests

- Successful merges: #45227, #45356, #45407, #45411, #45418, #45419
- Failed merges: #45421

6 years agoRollup merge of #45419 - steveklabnik:fix-commonmark-renderings, r=QuietMisdreavus
Corey Farwell [Sat, 21 Oct 2017 13:47:25 +0000 (09:47 -0400)]
Rollup merge of #45419 - steveklabnik:fix-commonmark-renderings, r=QuietMisdreavus

Fix most rendering warnings from switching to CommonMark

There's one big one lift, I'm filing a bug for it soon.

r? @rust-lang/docs

6 years agoRollup merge of #45418 - Manishearth:update-coc, r=aturon
Corey Farwell [Sat, 21 Oct 2017 13:47:24 +0000 (09:47 -0400)]
Rollup merge of #45418 - Manishearth:update-coc, r=aturon

Remove "gender" from code of conduct, keep only "gender identity and expression"

Mirrors https://github.com/rust-lang/rust-www/pull/954 . See that pull
request for motivation.

6 years agoRollup merge of #45411 - oli-obk:clippy, r=Manishearth
Corey Farwell [Sat, 21 Oct 2017 13:47:23 +0000 (09:47 -0400)]
Rollup merge of #45411 - oli-obk:clippy, r=Manishearth

Reactivate clippy in toolstate.toml

The `Cargo.lock` changes are b/c clippy is not its own workspace anymore, but is part of the main workspace

r? @Manishearth

6 years agoRollup merge of #45407 - topecongiro:fix-typos/librust-hir-README, r=kennytm
Corey Farwell [Sat, 21 Oct 2017 13:47:22 +0000 (09:47 -0400)]
Rollup merge of #45407 - topecongiro:fix-typos/librust-hir-README, r=kennytm

Fix typos in README.md

6 years agoRollup merge of #45356 - neunenak:master, r=GuillaumeGomez
Corey Farwell [Sat, 21 Oct 2017 13:47:21 +0000 (09:47 -0400)]
Rollup merge of #45356 - neunenak:master, r=GuillaumeGomez

Add explanatory text for error E0599

Add a text description of this error instead of just example error code

r? GuillaumeGomez

6 years agoRollup merge of #45227 - frewsxcv:frewsxcv-set-nonblocking, r=sfackler
Corey Farwell [Sat, 21 Oct 2017 13:47:20 +0000 (09:47 -0400)]
Rollup merge of #45227 - frewsxcv:frewsxcv-set-nonblocking, r=sfackler

Expand docs/examples for TCP `set_nonblocking` methods.

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

6 years agoExpand docs/examples for TCP `set_nonblocking` methods.
Corey Farwell [Thu, 12 Oct 2017 01:21:49 +0000 (21:21 -0400)]
Expand docs/examples for TCP `set_nonblocking` methods.

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

6 years agoAuto merge of #45391 - malbarbo:x32-1, r=alexcrichton
bors [Sat, 21 Oct 2017 09:37:11 +0000 (09:37 +0000)]
Auto merge of #45391 - malbarbo:x32-1, r=alexcrichton

Update libc and some fixes for x86_64-unknown-linux-gnux32

6 years agoAdd explanatory text for error E0599
greg [Wed, 18 Oct 2017 04:43:02 +0000 (21:43 -0700)]
Add explanatory text for error E0599

Add a text description of this error instead of just example error code

6 years agoAuto merge of #45381 - bjorn3:move_collector_out_of_trans, r=nikomatsakis
bors [Sat, 21 Oct 2017 07:04:34 +0000 (07:04 +0000)]
Auto merge of #45381 - bjorn3:move_collector_out_of_trans, r=nikomatsakis

Move collector to rustc_trans_utils

6 years agoAuto merge of #45370 - alexcrichton:update-windows-rand, r=sfackler
bors [Sat, 21 Oct 2017 04:33:32 +0000 (04:33 +0000)]
Auto merge of #45370 - alexcrichton:update-windows-rand, r=sfackler

std: Update randomness implementation on Windows

This commit updates the OS random number generator on Windows to match the
upstream implementation in the `rand` crate. First proposed in
rust-lang-nursery/rand#111 this implementation uses a "private" API of
`RtlGenRandom`. Despite the [documentation][dox] indicating this is a private
function its widespread use in Chromium and Firefox as well as [comments] from
Microsoft internally indicates that it's highly unlikely to break.

Another motivation for switching this is to also attempt to make progress
on #44911. It may be the case that this function succeeds while the previous
implementation may fail in "weird" scenarios.

[dox]: https://msdn.microsoft.com/en-us/library/windows/desktop/aa387694(v=vs.85).aspx
[comments]: https://github.com/rust-lang-nursery/rand/issues/111#issuecomment-316140155

6 years agoAuto merge of #45364 - nikomatsakis:issue-44137-anon, r=michaelwoerister
bors [Sat, 21 Oct 2017 01:59:43 +0000 (01:59 +0000)]
Auto merge of #45364 - nikomatsakis:issue-44137-anon, r=michaelwoerister

make `erase_regions_ty` query anonymous

r? @michaelwoerister

6 years agoAuto merge of #45348 - alexcrichton:thinlto-timp, r=michaelwoerister
bors [Fri, 20 Oct 2017 23:08:17 +0000 (23:08 +0000)]
Auto merge of #45348 - alexcrichton:thinlto-timp, r=michaelwoerister

rustc: Add `_imp_` symbols later in compilation

On MSVC targets rustc will add symbols prefixed with `_imp_` to LLVM modules to
"emulate" dllexported statics as that workaround is still in place after #27438
hasn't been solved otherwise. These statics, however, were getting gc'd by
ThinLTO accidentally which later would cause linking failures.

This commit updates the location we add such symbols to happen just before
codegen to ensure that (a) they're not eliminated by the optimizer and (b) the
optimizer doesn't even worry about them.

Closes #45347

6 years agoupdate jobserver version to work around macos bug
Alex Burka [Fri, 20 Oct 2017 22:35:18 +0000 (18:35 -0400)]
update jobserver version to work around macos bug

6 years agoFix rustbuild --color conflict when building on Travis outside of Docker.
kennytm [Sun, 15 Oct 2017 11:45:14 +0000 (19:45 +0800)]
Fix rustbuild --color conflict when building on Travis outside of Docker.

6 years agoFix most rendering warnings from switching to CommonMark
steveklabnik [Fri, 20 Oct 2017 19:29:35 +0000 (15:29 -0400)]
Fix most rendering warnings from switching to CommonMark

6 years ago[test] Add some `#[inline]` to `HashMap`
Alex Crichton [Fri, 20 Oct 2017 18:40:04 +0000 (11:40 -0700)]
[test] Add some `#[inline]` to `HashMap`

6 years agorustbuild: Compile rustc with ThinLTO
Alex Crichton [Fri, 20 Oct 2017 03:02:46 +0000 (20:02 -0700)]
rustbuild: Compile rustc with ThinLTO

This commit enables ThinLTO for the compiler as well as multiple codegen units.
This is intended to get the benefits of parallel codegen while also avoiding
any major loss of perf. Finally this commit is also intended as further testing
for #45320 and shaking out bugs.

6 years agoAuto merge of #44792 - Mark-Simulacrum:correct-deps, r=alexcrichton
bors [Fri, 20 Oct 2017 17:36:40 +0000 (17:36 +0000)]
Auto merge of #44792 - Mark-Simulacrum:correct-deps, r=alexcrichton

Make sure to clear out the stageN-{rustc,std,tools} directories.

We copy built tool binaries into a dedicated directory to avoid deleting them,
stageN-tools-bin.  These aren't ever cleared out by code, since there should be
no reason to do so, and we'll simply overwrite them as necessary.

When clearing out the stageN-{std,rustc,tools} directories, make sure to delete
both Cargo directories -- per-target and build scripts. This ensures that
changing libstd doesn't cause problems due to build scripts not being rebuilt,
even though they should be.

Fixes https://github.com/rust-lang/rust/issues/44739.

6 years agoRemove "gender" from code of conduct, keep only "gender identity and expression"
Manish Goregaokar [Fri, 20 Oct 2017 17:11:02 +0000 (10:11 -0700)]
Remove "gender" from code of conduct, keep only "gender identity and expression"

Mirrors https://github.com/rust-lang/rust-www/pull/954 . See that pull
request for motivation.

6 years agoFix some tests for linux gnux32
Marco A L Barbosa [Thu, 19 Oct 2017 17:49:59 +0000 (15:49 -0200)]
Fix some tests for linux gnux32

6 years agoAuto merge of #45359 - arielb1:escaping-borrow, r=eddyb
bors [Fri, 20 Oct 2017 14:33:43 +0000 (14:33 +0000)]
Auto merge of #45359 - arielb1:escaping-borrow, r=eddyb

Fix a few bugs in drop generation

This fixes a few bugs in drop generation, one of which causes spurious MIR borrowck errors.

Fixes #44832.

r? @eddyb

6 years agoReactivate clippy in toolstate.toml
Oliver Schneider [Fri, 20 Oct 2017 14:01:30 +0000 (16:01 +0200)]
Reactivate clippy in toolstate.toml

6 years agoAuto merge of #45324 - GuillaumeGomez:switch-default-markdown-renderer, r=steveklabnik
bors [Fri, 20 Oct 2017 10:31:20 +0000 (10:31 +0000)]
Auto merge of #45324 - GuillaumeGomez:switch-default-markdown-renderer, r=steveklabnik

Print rustdoc rendering warnings all the time

r? @rust-lang/dev-tools

6 years agoFix typos in README.md
topecongiro [Thu, 19 Oct 2017 04:51:28 +0000 (13:51 +0900)]
Fix typos in README.md

6 years agoAuto merge of #45319 - michaelwoerister:use-128bit-siphash, r=nikomatsakis
bors [Fri, 20 Oct 2017 07:50:18 +0000 (07:50 +0000)]
Auto merge of #45319 - michaelwoerister:use-128bit-siphash, r=nikomatsakis

incr.comp.: Use 128bit SipHash for fingerprinting

This PR switches incr. comp. result fingerprinting from 128 bit BLAKE2 to 128 bit SipHash. When we started using BLAKE2 for fingerprinting, the 128 bit version of SipHash was still experimental. Now that it isn't anymore we should be able to get a nice performance boost without significantly increasing collision probability.

~~I'm going to start a try-build for this, so we can gauge the performance impact before merging (hence the `WIP` in the title).~~

EDIT: Performance improvements look as expected. Tests seem to be passing.

Fixes #41215.

6 years agoAuto merge of #45316 - goffrie:exitable-breakable-block, r=nikomatsakis
bors [Fri, 20 Oct 2017 05:24:04 +0000 (05:24 +0000)]
Auto merge of #45316 - goffrie:exitable-breakable-block, r=nikomatsakis

Mark block exits as reachable if the block can break.

This only happens when desugaring `catch` expressions for now, but regular blocks (in HIR) can be broken from - respect that when doing reachability analysis.

Fixes #45124.

6 years agoAuto merge of #45312 - theotherjimmy:refactor-ensure, r=michaelwoerister
bors [Fri, 20 Oct 2017 02:27:16 +0000 (02:27 +0000)]
Auto merge of #45312 - theotherjimmy:refactor-ensure, r=michaelwoerister

Refactor `ensure` and `try_get_with`

There was a bit of code shared between `try_get_with` and `ensure`, after I
added `ensure`. I refactored that shared code into a query-agnostic method
called `read_node_index`.

The new method `read_node_index` will attempt to find the node
index (`DepNodeIndex`) of a query. When `read_node_index` finds the
`DepNodeIndex`, it marks the current query as a reader of the node it's
requesting the index of.

This is used by `try_get_with` and `ensure` as it elides the unimportant (to
them) details of if the query is invalidated by previous changed computation (Red)
or new and if they had to mark the query green. For both `try_get_with` and
`ensure`, they just need to know if they can lookup the results or have to
reevaluate.

@nikomatsakis this is the [refactor we discussed](https://github.com/rust-lang/rust/pull/45228#discussion_r144577392) in the comment thread of #45228

6 years agoAuto merge of #45288 - GuillaumeGomez:tab-key-binding, r=QuietMisdreavus
bors [Thu, 19 Oct 2017 23:55:20 +0000 (23:55 +0000)]
Auto merge of #45288 - GuillaumeGomez:tab-key-binding, r=QuietMisdreavus

Save the highlighted item when switching tab

To be merged after #45281.

r? @rust-lang/docs

6 years agoMake tools which may not build return Option.
Mark Simulacrum [Thu, 19 Oct 2017 23:30:37 +0000 (17:30 -0600)]
Make tools which may not build return Option.

This makes it mandatory for other steps to have to handle the potential
failure instead of failing in an odd way later down the road.

6 years agoAuto merge of #45080 - clippered:issue-44986/fix-windows-ui-path, r=estebank
bors [Thu, 19 Oct 2017 21:14:32 +0000 (21:14 +0000)]
Auto merge of #45080 - clippered:issue-44986/fix-windows-ui-path, r=estebank

Issue 44986/fix windows ui path

#44968

6 years agoci: Update musl with new release
Alex Crichton [Thu, 19 Oct 2017 20:26:21 +0000 (13:26 -0700)]
ci: Update musl with new release

Apparently there's at least one CVE fixed in the new version of musl, and
because we're distributing it seems like a good opportunity to update!

Unfortunately it looks like #38618 still hasn't been fixed.

6 years agoCleanly error for non-const expression in associated const
matthewjasper [Thu, 19 Oct 2017 18:48:57 +0000 (19:48 +0100)]
Cleanly error for non-const expression in associated const

6 years agoAuto merge of #45386 - kennytm:rollup, r=kennytm
bors [Thu, 19 Oct 2017 18:22:15 +0000 (18:22 +0000)]
Auto merge of #45386 - kennytm:rollup, r=kennytm

Rollup of 8 pull requests

- Successful merges: #45343, #45349, #45352, #45374, #45375, #45376, #45377, #45382
- Failed merges:

6 years agoUpdate libc to include linux gnux32 fixes
Marco A L Barbosa [Thu, 19 Oct 2017 17:48:41 +0000 (15:48 -0200)]
Update libc to include linux gnux32 fixes

6 years agoRollup merge of #45382 - Keruspe:master, r=Mark-Simulacrum
kennytm [Thu, 19 Oct 2017 15:13:34 +0000 (23:13 +0800)]
Rollup merge of #45382 - Keruspe:master, r=Mark-Simulacrum

rustbuild: fix dist in debug mode

In debug mode, the artifacts are placed in "debug", so don't hardcode "release" and use our helper to get the right directory name

6 years agoRollup merge of #45377 - topecongiro:fix-typos/librustc-ty-README, r=kennytm
kennytm [Thu, 19 Oct 2017 15:13:33 +0000 (23:13 +0800)]
Rollup merge of #45377 - topecongiro:fix-typos/librustc-ty-README, r=kennytm

Fix typos in librustc/ty/README.md

6 years agoRollup merge of #45376 - topecongiro:fix-typos-in-readme, r=Mark-Simulacrum
kennytm [Thu, 19 Oct 2017 15:13:32 +0000 (23:13 +0800)]
Rollup merge of #45376 - topecongiro:fix-typos-in-readme, r=Mark-Simulacrum

Fix typos in src/librustc/README.md

6 years agoRollup merge of #45375 - topecongiro:enable-tilde, r=Mark-Simulacrum
kennytm [Thu, 19 Oct 2017 15:13:31 +0000 (23:13 +0800)]
Rollup merge of #45375 - topecongiro:enable-tilde, r=Mark-Simulacrum

Allow passing a path with tilde to the configure script

Currently `./configure --local-rust-root=~/.cargo --enable-local-rebuild` fails with
 ```
Exception: no cargo executable found at `~/.cargo//bin/cargo`
```

6 years agoRollup merge of #45374 - topecongiro:remove-enable-rustbuild-config-option, r=Mark...
kennytm [Thu, 19 Oct 2017 15:13:30 +0000 (23:13 +0800)]
Rollup merge of #45374 - topecongiro:remove-enable-rustbuild-config-option, r=Mark-Simulacrum

Remove --enable-rustbuild config option from an example

`--enable-rustbuild` is no longer recognized by the configure script. Also I think we should use `./configure` and `./x.py` instead of `configure` and `../x.py`.

6 years agoRollup merge of #45352 - alexcrichton:emscripten-tests, r=nikomatsakis
kennytm [Thu, 19 Oct 2017 15:13:29 +0000 (23:13 +0800)]
Rollup merge of #45352 - alexcrichton:emscripten-tests, r=nikomatsakis

test: Update Emscripten failures/passing

All tests should now have annotation for *why* they're ignored on emscripten. A
few tests no longer need such an annotation as well!

Closes #41299

6 years agoRollup merge of #45349 - christianpoveda:closures_str_find, r=steveklabnik
kennytm [Thu, 19 Oct 2017 15:13:28 +0000 (23:13 +0800)]
Rollup merge of #45349 - christianpoveda:closures_str_find, r=steveklabnik

added examples of closures for str::find

This is an attempt to fix https://github.com/rust-lang/rust/issues/45327

r? @steveklabnik

6 years agoRollup merge of #45343 - bgermann:master, r=alexcrichton
kennytm [Thu, 19 Oct 2017 15:13:27 +0000 (23:13 +0800)]
Rollup merge of #45343 - bgermann:master, r=alexcrichton

Make Solaris builder compatible with Solaris 10 retry

Unfortunately, #45255 does not quite cut it,
so use a different approach to have Solaris 10 compatibility
by tricking libbacktrace's autoconf tests.
The sysroot download routine is slightly changed, too.

6 years agoAuto merge of #45301 - ishitatsuyuki:llvm5-backport, r=alexcrichton
bors [Thu, 19 Oct 2017 15:04:46 +0000 (15:04 +0000)]
Auto merge of #45301 - ishitatsuyuki:llvm5-backport, r=alexcrichton

Backport ThinLTO LLVM 5 fixes

This makes building nightly more convenient on Arch.

6 years agoAuto merge of #45232 - zackmdavis:moar_lint_suggestions, r=estebank
bors [Thu, 19 Oct 2017 11:41:11 +0000 (11:41 +0000)]
Auto merge of #45232 - zackmdavis:moar_lint_suggestions, r=estebank

code suggestions for non-shorthand field pattern, no-mangle lints

continuing in the spirit of #44942

![moar_lint_suggestions](https://user-images.githubusercontent.com/1076988/31485011-3b20cc80-aee7-11e7-993d-81267ab77732.png)

r? @estebank

6 years agorustbuild: fix dist in debug mode
Marc-Antoine Perennou [Wed, 18 Oct 2017 19:55:12 +0000 (21:55 +0200)]
rustbuild: fix dist in debug mode

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
6 years agoMove collector to rustc_trans_utils
bjorn3 [Thu, 19 Oct 2017 09:01:31 +0000 (11:01 +0200)]
Move collector to rustc_trans_utils

6 years agoUpdate ThinLTO (internalization) for LLVM 5
Tatsuyuki Ishi [Tue, 17 Oct 2017 05:41:56 +0000 (14:41 +0900)]
Update ThinLTO (internalization) for LLVM 5

Ref: https://github.com/llvm-mirror/llvm/commit/ccb80b9c0f60f33780e5e29bf66a87bb56968b99

6 years agoFix typos in librustc/ty/README.md
topecongiro [Thu, 19 Oct 2017 04:29:12 +0000 (13:29 +0900)]
Fix typos in librustc/ty/README.md

6 years agoFix typos in src/librustc/README.md
topecongiro [Wed, 18 Oct 2017 23:49:07 +0000 (08:49 +0900)]
Fix typos in src/librustc/README.md

6 years agoMake sure to clear out the stageN-{rustc,std,tools} directories.
Mark Simulacrum [Mon, 16 Oct 2017 17:40:47 +0000 (11:40 -0600)]
Make sure to clear out the stageN-{rustc,std,tools} directories.

We copy built tool binaries into a dedicated directory to avoid deleting
them, stageN-tools-bin. These aren't ever cleared out by code, since
there should be no reason to do so, and we'll simply overwrite them as
necessary.

When clearing out the stageN-{std,rustc,tools} directories, make sure to
delete both Cargo directories -- per-target and build scripts. This
ensures that changing libstd doesn't cause problems due to build scripts
not being rebuilt, even though they should be.

6 years agoAllow passing a path with tilde
topecongiro [Wed, 18 Oct 2017 21:22:32 +0000 (06:22 +0900)]
Allow passing a path with tilde

6 years agoFix typos
topecongiro [Wed, 18 Oct 2017 21:02:13 +0000 (06:02 +0900)]
Fix typos

6 years agoRemove --enable-rustbuild config option from example
topecongiro [Wed, 18 Oct 2017 21:00:15 +0000 (06:00 +0900)]
Remove --enable-rustbuild config option from example

6 years agostd: Update randomness implementation on Windows
Alex Crichton [Wed, 18 Oct 2017 18:43:17 +0000 (11:43 -0700)]
std: Update randomness implementation on Windows

This commit updates the OS random number generator on Windows to match the
upstream implementation in the `rand` crate. First proposed in
rust-lang-nursery/rand#111 this implementation uses a "private" API of
`RtlGenRandom`. Despite the [documentation][dox] indicating this is a private
function its widespread use in Chromium and Firefox as well as [comments] from
Microsoft internally indicates that it's highly unlikely to break.

Another motivation for switching this is to also attempt to make progress
on #44911. It may be the case that this function succeeds while the previous
implementation may fail in "weird" scenarios.

[dox]: https://msdn.microsoft.com/en-us/library/windows/desktop/aa387694(v=vs.85).aspx
[comments]: https://github.com/rust-lang-nursery/rand/issues/111#issuecomment-316140155

6 years agoAuto merge of #45368 - kennytm:rollup, r=kennytm
bors [Wed, 18 Oct 2017 18:07:22 +0000 (18:07 +0000)]
Auto merge of #45368 - kennytm:rollup, r=kennytm

Rollup of 10 pull requests

- Successful merges: #44138, #45082, #45098, #45181, #45217, #45281, #45325, #45326, #45340, #45354
- Failed merges:

6 years agoRollup merge of #45354 - cuviper:unit_doc, r=QuietMisdreavus
kennytm [Wed, 18 Oct 2017 17:59:54 +0000 (01:59 +0800)]
Rollup merge of #45354 - cuviper:unit_doc, r=QuietMisdreavus

rustdoc: add a primitive page for "unit"

In `src/libstd/primitive_docs.rs`, a `#[doc(primitive = "unit")]`
section has sat long neglected.  This patch teaches rustdoc to recognize
"unit", and steals its trait implementations away from the tuple page.

6 years agoRollup merge of #45340 - stjepang:localkey-state-doc-skip-uninitialized, r=alexcrichton
kennytm [Wed, 18 Oct 2017 17:59:53 +0000 (01:59 +0800)]
Rollup merge of #45340 - stjepang:localkey-state-doc-skip-uninitialized, r=alexcrichton

Docs: a LocalKey might start in the Valid state

Add a comment to the docs for `LocalKey::state` explaining that some keys might skip the `Uninitialized` state and start in the `Valid` state.

cc #27716

r? @alexcrichton

6 years agoRollup merge of #45326 - cuviper:min-llvm-3.9, r=alexcrichton
kennytm [Wed, 18 Oct 2017 17:59:52 +0000 (01:59 +0800)]
Rollup merge of #45326 - cuviper:min-llvm-3.9, r=alexcrichton

Bump the minimum LLVM to 3.9

Old LLVM bugs are reportedly cropping up harder, but 3.9 seems to be OK.

Fixes #45277.

6 years agoRollup merge of #45325 - spastorino:first_statement_index_with_macro, r=nikomatsakis
kennytm [Wed, 18 Oct 2017 17:59:51 +0000 (01:59 +0800)]
Rollup merge of #45325 - spastorino:first_statement_index_with_macro, r=nikomatsakis

Generate FirstStatementIndex using newtype_index macro

6 years agoRollup merge of #45281 - GuillaumeGomez:tab-selection, r=QuietMisdreavus
kennytm [Wed, 18 Oct 2017 17:59:50 +0000 (01:59 +0800)]
Rollup merge of #45281 - GuillaumeGomez:tab-selection, r=QuietMisdreavus

Save selected search tab

Fixes #45278.

r? @rust-lang/docs

6 years agoRollup merge of #45217 - SimonSapin:alloc-doc, r=steveklabnik
kennytm [Wed, 18 Oct 2017 17:59:49 +0000 (01:59 +0800)]
Rollup merge of #45217 - SimonSapin:alloc-doc, r=steveklabnik

Fix out of date unstable book entries for `alloc_*` features.

The `alloc_jemalloc` crate does not provide a type to use with `#[global_allocator]`, and (according to Alex) `extern crate alloc_jemalloc;` alone became a no-op when `#[global_allocator]` was introduced.

6 years agoRollup merge of #45181 - Havvy:doc-unstable-lang-items, r=frewsxcv
kennytm [Wed, 18 Oct 2017 17:59:48 +0000 (01:59 +0800)]
Rollup merge of #45181 - Havvy:doc-unstable-lang-items, r=frewsxcv

List of all lang items in unstable book.

I don't know how to link to the source code correctly, so I just put the information aside the lang item name.

6 years agoRollup merge of #45098 - sunjay:breakingrustfmtrls, r=alexcrichton
kennytm [Wed, 18 Oct 2017 17:59:47 +0000 (01:59 +0800)]
Rollup merge of #45098 - sunjay:breakingrustfmtrls, r=alexcrichton

Documenting the process for when rustfmt/rls break

**DO NOT MERGE YET**

I'm documenting what to do when rustfmt or rls break because of your changes. I'm currently going through this and will keep adding more as I figure out what all the steps are. This first commit is based on @alexcrichton's [comment on my original PR](https://github.com/rust-lang/rust/pull/44766#issuecomment-332653525).

[Rendered](https://github.com/sunjay/rust/blob/breakingrustfmtrls/CONTRIBUTING.md#breaking-tools-built-with-the-compiler)

Reviews are welcome, but as I mentioned, I will be revising this as I go.

6 years agoRollup merge of #45082 - jacwah:explain-E0382, r=steveklabnik
kennytm [Wed, 18 Oct 2017 17:59:46 +0000 (01:59 +0800)]
Rollup merge of #45082 - jacwah:explain-E0382, r=steveklabnik

Mention Clone and refs in --explain E0382

I followed the discussion in #42446 and came up with these additions.

- Mention references before going into traits. They're probably more likely solutions.
- Mention `Clone` before `Copy`. Cloning has wider applicability and `#derive[Copy, Clone]` makes more sense after learning about `Clone`.

The language is not great, any suggestions there would be appreciated :sparkles:

6 years agoRollup merge of #44138 - steveklabnik:rustdoc-deprecations, r=QuietMisdreavus
kennytm [Wed, 18 Oct 2017 17:59:44 +0000 (01:59 +0800)]
Rollup merge of #44138 - steveklabnik:rustdoc-deprecations, r=QuietMisdreavus

Deprecate several flags in rustdoc

Part of #44136

cc @rust-lang/dev-tools @rust-lang/docs

This is a very basic PR to start deprecating some flags; `rustdoc` doesn't really have fancy output options like `rustc` does, so I went with `eprintln!`. Happy to change it if people feel that's not appropriate.

Also, I have no idea if we can or should write tests here, so I didn't try. If someone feels strongly about it, then let's do it, but given that the only outcome here is a side effect...

6 years agomake `erase_regions_ty` query anonymous
Niko Matsakis [Wed, 18 Oct 2017 15:21:36 +0000 (11:21 -0400)]
make `erase_regions_ty` query anonymous

6 years agoRemove two obsolete min-llvm-version tests
Josh Stone [Wed, 18 Oct 2017 14:54:35 +0000 (07:54 -0700)]
Remove two obsolete min-llvm-version tests

6 years agorustc: Add `_imp_` symbols later in compilation
Alex Crichton [Tue, 17 Oct 2017 20:08:13 +0000 (13:08 -0700)]
rustc: Add `_imp_` symbols later in compilation

On MSVC targets rustc will add symbols prefixed with `_imp_` to LLVM modules to
"emulate" dllexported statics as that workaround is still in place after #27438
hasn't been solved otherwise. These statics, however, were getting gc'd by
ThinLTO accidentally which later would cause linking failures.

This commit updates the location we add such symbols to happen just before
codegen to ensure that (a) they're not eliminated by the optimizer and (b) the
optimizer doesn't even worry about them.

Closes #45347

6 years agoAuto merge of #44573 - dotdash:dbg_bloat, r=arielb1
bors [Wed, 18 Oct 2017 13:36:17 +0000 (13:36 +0000)]
Auto merge of #44573 - dotdash:dbg_bloat, r=arielb1

Avoid unnecessary allocas for indirect function arguments

The extra alloca was only necessary because it made LLVM implicitly
handle the necessary deref to get to the actual value. The same happens
for indirect arguments that have the byval attribute. But the Rust ABI
does not use the byval attribute and so we need to manually add the
deref operation to the debuginfo.