]> git.lizzy.rs Git - rust.git/log
rust.git
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 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 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 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 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.

6 years agorun EndRegion when unwinding otherwise-empty scopes
Ariel Ben-Yehuda [Wed, 18 Oct 2017 10:54:36 +0000 (13:54 +0300)]
run EndRegion when unwinding otherwise-empty scopes

Improves #44832

borrowck-overloaded-index-move-index.rs - fixed
borrowck-multiple-captures.rs - still ICE
borrowck-issue-2657-1.rs - fixed
borrowck-loan-blocks-move.rs - fixed
borrowck-move-from-subpath-of-borrowed-path.rs - fixed
borrowck-mut-borrow-linear-errors.rs - still ICE
borrowck-no-cycle-in-exchange-heap.rs - fixed
borrowck-unary-move.rs - fixed
borrowck-loan-blocks-move-cc.rs - fixed
borrowck-vec-pattern-element-loan.rs - still broken

6 years agoAvoid unnecessary allocas for indirect function arguments
Björn Steinbrink [Thu, 14 Sep 2017 20:09:09 +0000 (22:09 +0200)]
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.

6 years agoAuto merge of #44501 - nikomatsakis:issue-44137-non-query-data-in-tcx, r=eddyb
bors [Wed, 18 Oct 2017 10:44:08 +0000 (10:44 +0000)]
Auto merge of #44501 - nikomatsakis:issue-44137-non-query-data-in-tcx, r=eddyb

remove or encapsulate the remaining non-query data in tcx

I wound up removing the existing cache around inhabitedness since it didn't seem to be adding much value. I reworked const rvalue promotion, but not that much (i.e., I did not split the computation into bits, as @eddyb had tossed out as a suggestion). But it's now demand driven, at least.

cc @michaelwoerister -- see the `forbid_reads` change in last commit

r? @eddyb -- since the trickiest of this PR is the work on const rvalue promotion

cc #44137

6 years agorustdoc: add a primitive page for "unit"
Josh Stone [Wed, 18 Oct 2017 06:03:50 +0000 (23:03 -0700)]
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 agoadded non trivial examples of closures for str::find
Christian Poveda [Wed, 18 Oct 2017 04:51:27 +0000 (23:51 -0500)]
added non trivial examples of closures for str::find

6 years agoUpdating the instructions for when a tool breaks to use the new toolstate feature
Sunjay Varma [Wed, 18 Oct 2017 02:51:10 +0000 (22:51 -0400)]
Updating the instructions for when a tool breaks to use the new toolstate feature

6 years agoAdded a section about updating submodules
Sunjay Varma [Tue, 10 Oct 2017 20:31:43 +0000 (16:31 -0400)]
Added a section about updating submodules

The process for updating rustfmt is quite involved because of the way everything is configured. This section covers the steps for updating rustfmt and rationale behind them.

6 years agoDocumenting the process for when rustfmt/rls breakk because of your changes
Sunjay Varma [Sun, 8 Oct 2017 01:53:43 +0000 (21:53 -0400)]
Documenting the process for when rustfmt/rls breakk because of your changes

6 years agotest: Update Emscripten failures/passing
Alex Crichton [Wed, 18 Oct 2017 01:45:42 +0000 (18:45 -0700)]
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 agoadded examples of closures
Christian Poveda [Wed, 18 Oct 2017 01:11:03 +0000 (20:11 -0500)]
added examples of closures

6 years agomodify tests to use new flag
steveklabnik [Tue, 17 Oct 2017 17:54:46 +0000 (13:54 -0400)]
modify tests to use new flag

6 years agolook past the next drop for the drop panic target
Ariel Ben-Yehuda [Tue, 17 Oct 2017 18:37:18 +0000 (21:37 +0300)]
look past the next drop for the drop panic target

The previous code would leak data on a drop panic if the immediate next
drop was a StorageDead that was followed by another drop.

6 years agobreak clippy
Niko Matsakis [Mon, 16 Oct 2017 21:36:59 +0000 (17:36 -0400)]
break clippy

6 years agomake `erase_regions` use a query instead of an ad-hoc cache
Niko Matsakis [Tue, 17 Oct 2017 15:24:46 +0000 (11:24 -0400)]
make `erase_regions` use a query instead of an ad-hoc cache

6 years agoGenerate FirstStatementIndex using newtype_index macro
Santiago Pastorino [Mon, 16 Oct 2017 13:45:23 +0000 (10:45 -0300)]
Generate FirstStatementIndex using newtype_index macro

6 years agoAuto merge of #45344 - kennytm:rollup, r=kennytm
bors [Tue, 17 Oct 2017 14:57:33 +0000 (14:57 +0000)]
Auto merge of #45344 - kennytm:rollup, r=kennytm

Rollup of 10 pull requests

- Successful merges: #45097, #45151, #45307, #45308, #45310, #45315, #45321, #45329, #45338, #45339
- Failed merges:

6 years agoCreate a new flag, --document-private-items
steveklabnik [Thu, 21 Sep 2017 18:10:07 +0000 (14:10 -0400)]
Create a new flag, --document-private-items

Fixes #44136

6 years agoDeprecate several flags in rustdoc
steveklabnik [Mon, 28 Aug 2017 23:30:45 +0000 (19:30 -0400)]
Deprecate several flags in rustdoc

Part of #44136

Upgrades cargo due to https://github.com/rust-lang/cargo/pull/4451

6 years agoRemove tabs
bgermann [Tue, 17 Oct 2017 14:39:15 +0000 (16:39 +0200)]
Remove tabs

6 years agoList of all lang items in unstable book.
Havvy [Tue, 10 Oct 2017 18:25:09 +0000 (11:25 -0700)]
List of all lang items in unstable book.

6 years agoRollup merge of #45339 - xfix:patch-4, r=steveklabnik
kennytm [Tue, 17 Oct 2017 14:21:05 +0000 (22:21 +0800)]
Rollup merge of #45339 - xfix:patch-4, r=steveklabnik

Update array documentation for Clone trait changes

Just a note, for this to work, `T` doesn't have to `Copy`, `Clone` is sufficient. For instance, the following works.

```rust
fn x(a: &[String; 100]) -> [String; 100] {
    a.clone()
}
```

6 years agoRollup merge of #45338 - ishitatsuyuki:boot-jemalloc, r=aidanhs
kennytm [Tue, 17 Oct 2017 14:21:04 +0000 (22:21 +0800)]
Rollup merge of #45338 - ishitatsuyuki:boot-jemalloc, r=aidanhs

bootstrap: Avoid fetching jemalloc if it's disabled

Fix #45300

More conditions, more madness :) Tested locally.

6 years agoRollup merge of #45329 - rust-lang:duplicate-word, r=QuietMisdreavus
kennytm [Tue, 17 Oct 2017 14:21:03 +0000 (22:21 +0800)]
Rollup merge of #45329 - rust-lang:duplicate-word, r=QuietMisdreavus

Remove duplicated word

r? @rust-lang/docs

6 years agoRollup merge of #45321 - alexcrichton:xcodeup, r=aidanhs
kennytm [Tue, 17 Oct 2017 14:21:02 +0000 (22:21 +0800)]
Rollup merge of #45321 - alexcrichton:xcodeup, r=aidanhs

ci: Update Travis OSX builders

Looks like Travis [has announced][blog] that our current `xcode8.2` image is
being deprecated and the recommended Xcode 7 image is `xcode7.3`. This updates
us to these ahead of time to make sure we can shake out any bugs, if any.

[blog]: https://blog.travis-ci.com/2017-10-16-a-new-default-os-x-image-is-coming

6 years agoRollup merge of #45315 - zackmdavis:expected_statement_after_outer_attr_after_inner_a...
kennytm [Tue, 17 Oct 2017 14:21:01 +0000 (22:21 +0800)]
Rollup merge of #45315 - zackmdavis:expected_statement_after_outer_attr_after_inner_attr, r=petrochenkov

don't issue "expected statement after outer attr." after inner attr.

While an inner attribute here is in fact erroneous, that error ("inner
attribute is not permitted in this context") successfully gets set earlier;
this further admonition is nonsensical.

Resolves #45296.

6 years agoRollup merge of #45310 - gnzlbg:fix_aarch64, r=pnkfelix
kennytm [Tue, 17 Oct 2017 14:21:00 +0000 (22:21 +0800)]
Rollup merge of #45310 - gnzlbg:fix_aarch64, r=pnkfelix

aarch64 is not whitelisted for ARM features

This prevents the target feature `neon` from being enabled on aarch64.

6 years agoRollup merge of #45308 - dbrgn:headlines, r=steveklabnik
kennytm [Tue, 17 Oct 2017 14:20:59 +0000 (22:20 +0800)]
Rollup merge of #45308 - dbrgn:headlines, r=steveklabnik

Rustdoc book: Add missing headlines

Some options were missing headlines, which looked a bit inconsistent.