Commit Graph

68879 Commits

Author SHA1 Message Date
bors
336624735c 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
2017-10-24 01:20:09 +00:00
Niko Matsakis
4b0f004e3d 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.
2017-10-23 16:18:00 -04:00
bors
4c053db233 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/).
2017-10-22 23:02:15 +00:00
bors
8493813cd8 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.
2017-10-22 20:26:32 +00:00
bors
1babcd0393 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.
2017-10-22 17:52:55 +00:00
Alex Burka
365eafbc7f fix stringify docs in std 2017-10-22 13:17:23 -04:00
Alex Burka
42ad2d7c31 fix stringify docs 2017-10-22 13:14:17 -04:00
bors
fc1a03d7d0 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
2017-10-22 15:17:08 +00:00
Corey Farwell
aae94c7368 Improve docs around Once::call_once_force and OnceState. 2017-10-22 10:25:31 -04:00
bors
942f31f5ea 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
2017-10-22 11:30:15 +00:00
bors
b6055cb7d2 Auto merge of #45433 - ollie27:rustbuild_nomicon, r=Mark-Simulacrum
rustbuild: Fix path for the nomicon
2017-10-22 08:55:06 +00:00
bors
5481098274 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
2017-10-22 03:13:16 +00:00
bors
1042190f8c 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.
2017-10-22 00:35:05 +00:00
bors
9ea3878dfe 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)
2017-10-21 21:40:08 +00:00
Alex Crichton
8197a0bbaf 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)
2017-10-21 13:02:34 -07:00
bors
4279e2b4c1 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.
2017-10-21 19:02:41 +00:00
bors
ff8773d7be 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
2017-10-21 16:32:31 +00:00
Oliver Middleton
f820d2e567 rustbuild: Fix path for the nomicon 2017-10-21 17:16:46 +01:00
Oliver Middleton
2045e07745 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.
2017-10-21 16:47:18 +01:00
bors
7e70546ddb Auto merge of #45430 - frewsxcv:rollup, r=frewsxcv
Rollup of 6 pull requests

- Successful merges: #45227, #45356, #45407, #45411, #45418, #45419
- Failed merges: #45421
2017-10-21 14:04:15 +00:00
Corey Farwell
6ed7927fa0 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
2017-10-21 09:47:25 -04:00
Corey Farwell
d86c5d00a2 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.
2017-10-21 09:47:24 -04:00
Corey Farwell
c96db06e5b 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
2017-10-21 09:47:23 -04:00
Corey Farwell
260131d40b Rollup merge of #45407 - topecongiro:fix-typos/librust-hir-README, r=kennytm
Fix typos in README.md
2017-10-21 09:47:22 -04:00
Corey Farwell
22e808a2fa 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
2017-10-21 09:47:21 -04:00
Corey Farwell
cf29743ea6 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.
2017-10-21 09:47:20 -04:00
Corey Farwell
fe3ed20d8d Expand docs/examples for TCP set_nonblocking methods.
Part of https://github.com/rust-lang/rust/issues/44050.
2017-10-21 06:13:42 -04:00
bors
d532ba7c62 Auto merge of #45391 - malbarbo:x32-1, r=alexcrichton
Update libc and some fixes for x86_64-unknown-linux-gnux32
2017-10-21 09:37:11 +00:00
greg
23bf3300ad Add explanatory text for error E0599
Add a text description of this error instead of just example error code
2017-10-21 01:02:16 -07:00
bors
7f06055d60 Auto merge of #45381 - bjorn3:move_collector_out_of_trans, r=nikomatsakis
Move collector to rustc_trans_utils
2017-10-21 07:04:34 +00:00
bors
cc03782b93 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
2017-10-21 04:33:32 +00:00
bors
6a136f6783 Auto merge of #45364 - nikomatsakis:issue-44137-anon, r=michaelwoerister
make `erase_regions_ty` query anonymous

r? @michaelwoerister
2017-10-21 01:59:43 +00:00
bors
6511b4f7ee 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
2017-10-20 23:08:17 +00:00
Alex Burka
ff0e9df152 update jobserver version to work around macos bug 2017-10-20 18:35:18 -04:00
kennytm
ebbcad9ae0
Fix rustbuild --color conflict when building on Travis outside of Docker. 2017-10-21 04:55:33 +08:00
steveklabnik
f8f9005e57 Fix most rendering warnings from switching to CommonMark 2017-10-20 15:29:35 -04:00
Alex Crichton
d01427f53e [test] Add some #[inline] to HashMap 2017-10-20 11:49:36 -07:00
Alex Crichton
1af1c2de36 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.
2017-10-20 11:49:36 -07:00
bors
b633341c49 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.
2017-10-20 17:36:40 +00:00
Manish Goregaokar
34c0de2067
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.
2017-10-20 10:11:41 -07:00
Marco A L Barbosa
e57ee3d0bf Fix some tests for linux gnux32 2017-10-20 13:18:16 -02:00
bors
87a8e8e073 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
2017-10-20 14:33:43 +00:00
Oliver Schneider
2812865664
Reactivate clippy in toolstate.toml 2017-10-20 16:01:30 +02:00
bors
95272a07f1 Auto merge of #45324 - GuillaumeGomez:switch-default-markdown-renderer, r=steveklabnik
Print rustdoc rendering warnings all the time

r? @rust-lang/dev-tools
2017-10-20 10:31:20 +00:00
topecongiro
a59282d8ed Fix typos in README.md 2017-10-20 17:45:08 +09:00
bors
c0956ff265 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.
2017-10-20 07:50:18 +00:00
bors
c0e0a38101 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.
2017-10-20 05:24:04 +00:00
bors
354eb160e0 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
2017-10-20 02:27:16 +00:00
bors
a651106ad0 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
2017-10-19 23:55:20 +00:00
Mark Simulacrum
686c1015cf 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.
2017-10-19 17:30:37 -06:00