]> git.lizzy.rs Git - rust.git/log
rust.git
6 years agoAuto merge of #50080 - klnusbaum:edition_49591, r=Manishearth
bors [Sat, 21 Apr 2018 05:28:21 +0000 (05:28 +0000)]
Auto merge of #50080 - klnusbaum:edition_49591, r=Manishearth

add --edition option

This adds an official `edition` flag to the rust compiler

6 years agorustc: Tweak custom attribute capabilities
Alex Crichton [Fri, 20 Apr 2018 14:50:39 +0000 (07:50 -0700)]
rustc: Tweak custom attribute capabilities

This commit starts to lay some groundwork for the stabilization of custom
attribute invocations and general procedural macros. It applies a number of
changes discussed on [internals] as well as a [recent issue][issue], namely:

* The path used to specify a custom attribute must be of length one and cannot
  be a global path. This'll help future-proof us against any ambiguities and
  give us more time to settle the precise syntax. In the meantime though a bare
  identifier can be used and imported to invoke a custom attribute macro. A new
  feature gate, `proc_macro_path_invoc`, was added to gate multi-segment paths
  and absolute paths.

* The set of items which can be annotated by a custom procedural attribute has
  been restricted. Statements, expressions, and modules are disallowed behind
  two new feature gates: `proc_macro_expr` and `proc_macro_mod`.

* The input to procedural macro attributes has been restricted and adjusted.
  Today an invocation like `#[foo(bar)]` will receive `(bar)` as the input token
  stream, but after this PR it will only receive `bar` (the delimiters were
  removed). Invocations like `#[foo]` are still allowed and will be invoked in
  the same way as `#[foo()]`. This is a **breaking change** for all nightly
  users as the syntax coming in to procedural macros will be tweaked slightly.

* Procedural macros (`foo!()` style) can only be expanded to item-like items by
  default. A separate feature gate, `proc_macro_non_items`, is required to
  expand to items like expressions, statements, etc.

Closes #50038

[internals]: https://internals.rust-lang.org/t/help-stabilize-a-subset-of-macros-2-0/7252
[issue]: https://github.com/rust-lang/rust/issues/50038

6 years agofix two compile-fail tests that were still using -Zedition
Kurtis Nusbaum [Sat, 21 Apr 2018 01:51:59 +0000 (18:51 -0700)]
fix two compile-fail tests that were still using -Zedition

6 years agoAuto merge of #50056 - alexcrichton:update-cargo, r=Mark-Simulacrum
bors [Sat, 21 Apr 2018 00:50:12 +0000 (00:50 +0000)]
Auto merge of #50056 - alexcrichton:update-cargo, r=Mark-Simulacrum

Update the Cargo submodule

6 years agoAdd test
Manish Goregaokar [Fri, 20 Apr 2018 23:30:14 +0000 (16:30 -0700)]
Add test

6 years agoClean up `IsolatedEncoder::encode_info_for_impl_item()` a bit
Wesley Wiser [Fri, 20 Apr 2018 23:05:54 +0000 (19:05 -0400)]
Clean up `IsolatedEncoder::encode_info_for_impl_item()` a bit

6 years agomention that extern absolute paths should gate on rust 2018
Manish Goregaokar [Fri, 20 Apr 2018 22:04:07 +0000 (15:04 -0700)]
mention that extern absolute paths should gate on rust 2018

6 years agoAdd suggestion to lint
Manish Goregaokar [Fri, 20 Apr 2018 02:51:53 +0000 (19:51 -0700)]
Add suggestion to lint

6 years agoAdd ABSOLUTE_PATH_STARTING_WITH_MODULE epoch lint for path breakage
Manish Goregaokar [Thu, 19 Apr 2018 23:45:33 +0000 (16:45 -0700)]
Add ABSOLUTE_PATH_STARTING_WITH_MODULE epoch lint for path breakage

6 years agofix some small compile errors
Kurtis Nusbaum [Fri, 20 Apr 2018 21:47:23 +0000 (14:47 -0700)]
fix some small compile errors

6 years agoAuto merge of #50088 - alexcrichton:std-tweaks, r=sfackler
bors [Fri, 20 Apr 2018 20:40:59 +0000 (20:40 +0000)]
Auto merge of #50088 - alexcrichton:std-tweaks, r=sfackler

Tweak some stabilizations in libstd

This commit tweaks a few stable APIs in the `beta` branch before they hit
stable. The `str::is_whitespace` and `str::is_alphanumeric` functions were
deleted (added in #49381, issue at #49657). The `and_modify` APIs added
in #44734 were altered to take a `FnOnce` closure rather than a `FnMut` closure.

Closes #49581
Closes #49657

6 years agoAdd doc for output_base_name_stage.
Eric Huss [Thu, 12 Apr 2018 00:17:14 +0000 (17:17 -0700)]
Add doc for output_base_name_stage.

6 years agoFix revision support for UI tests.
Eric Huss [Mon, 9 Apr 2018 18:46:54 +0000 (11:46 -0700)]
Fix revision support for UI tests.

Fixes #48878

6 years agoDo not test RLS and rustfmt if build of these failed.
kennytm [Fri, 20 Apr 2018 16:53:36 +0000 (00:53 +0800)]
Do not test RLS and rustfmt if build of these failed.

Avoid a tool being simultaneously test-pass and build-fail.

6 years agoAuto merge of #50119 - kennytm:rollup, r=kennytm
bors [Fri, 20 Apr 2018 16:45:19 +0000 (16:45 +0000)]
Auto merge of #50119 - kennytm:rollup, r=kennytm

Rollup of 7 pull requests

Successful merges:

 - #50031 (Clarified E0015 message.)
 - #50058 (Added build disk usage information)
 - #50081 (Update stdsimd submodule)
 - #50083 (wasm: Increase default stack size to 1MB)
 - #50104 (Disable auto-detection of libxml2 when compiling llvm.)
 - #50114 (Fix bad merge in #49991)
 - #50117 (must explicitly request file name when using with_file_name.)

Failed merges:

6 years agoRevert "Stabilize the TryFrom and TryInto traits"
Felix S. Klock II [Fri, 20 Apr 2018 15:41:31 +0000 (17:41 +0200)]
Revert "Stabilize the TryFrom and TryInto traits"

This reverts commit e53a2a72743810e05f58c61c9d8a4c89b712ad2e.

6 years agoBring back old fallback semantics: Without feature(never_type), fallback to `()`...
Felix S. Klock II [Fri, 20 Apr 2018 15:11:28 +0000 (17:11 +0200)]
Bring back old fallback semantics: Without feature(never_type), fallback to `()`, not `!`.

Note that this commit, since it is trying to be minimal in order to
ease backporting to the beta and release channels, does *not* include
the old future-proofing warnings that we used to have associated with
such fallback to `()`; see discussion at this comment:

https://github.com/rust-lang/rust/issues/49691#issuecomment-381266730

6 years agoRevert stabilization of `feature(never_type)`.
Felix S. Klock II [Fri, 20 Apr 2018 15:07:58 +0000 (17:07 +0200)]
Revert stabilization of `feature(never_type)`.

This commit is just covering the feature gate itself and the tests
that made direct use of `!` and thus need to opt back into the
feature.

A follow on commit brings back the other change that motivates the
revert: Namely, going back to the old rules for falling back to `()`.

6 years agoRollup merge of #50117 - pnkfelix:fix-issue-50113, r=oli-obk
kennytm [Fri, 20 Apr 2018 15:45:44 +0000 (23:45 +0800)]
Rollup merge of #50117 - pnkfelix:fix-issue-50113, r=oli-obk

must explicitly request file name when using with_file_name.

Fix #50113

6 years agoRollup merge of #50114 - wesleywiser:patch-3, r=michaelwoerister
kennytm [Fri, 20 Apr 2018 15:45:43 +0000 (23:45 +0800)]
Rollup merge of #50114 - wesleywiser:patch-3, r=michaelwoerister

Fix bad merge in #49991

When I rebased #49991 on `master`, I messed up the merge for this line. I'm reverting this back to the way it was in f15e5c1.

r? @michaelwoerister

6 years agoRollup merge of #50104 - mixi:libxml2-llvm, r=alexcrichton
kennytm [Fri, 20 Apr 2018 15:45:42 +0000 (23:45 +0800)]
Rollup merge of #50104 - mixi:libxml2-llvm, r=alexcrichton

Disable auto-detection of libxml2 when compiling llvm.

This broke cross-compiling rustc with internal llvm (with both the host and target being executable on the machine), because llvm's build system detected libxml2 on the host, therefore auto-enabled libxml2 support, but wouldn't compile as the target didn't have libxml2 installed.

6 years agoRollup merge of #50083 - alexcrichton:increase-wasm-stack, r=michaelwoerister
kennytm [Fri, 20 Apr 2018 15:45:41 +0000 (23:45 +0800)]
Rollup merge of #50083 - alexcrichton:increase-wasm-stack, r=michaelwoerister

wasm: Increase default stack size to 1MB

This commit increases the dfeault stack size allocated to the
wasm32-unknown-unknown target to 1MB by default. Currently the default stack
size is one wasm page, or 64 kilobytes. This default stack is quite small and
has caused a stack overflow or two in the wild by accident.

The current "best practice" for fixing this is to pass `-Clink-args='-z
stack-size=$bigger'` but that's not great nor always easy to do. A default of
1MB matches more closely with other platforms where it's "pretty big" by
default.

Note that it was tested and if the users uses `-C link-args` to pass a custom
stack size that's still resepected as lld seems to take the first argument, and
where rustc is passing it will always be last.

6 years agoRollup merge of #50081 - GuillaumeGomez:stdsimd-update, r=alexcrichton
kennytm [Fri, 20 Apr 2018 15:45:39 +0000 (23:45 +0800)]
Rollup merge of #50081 - GuillaumeGomez:stdsimd-update, r=alexcrichton

Update stdsimd submodule

6 years agoRollup merge of #50058 - krk:patch-1, r=Mark-Simulacrum
kennytm [Fri, 20 Apr 2018 15:45:38 +0000 (23:45 +0800)]
Rollup merge of #50058 - krk:patch-1, r=Mark-Simulacrum

Added build disk usage information

Closes https://github.com/rust-lang/rust/issues/50019

6 years agoRollup merge of #50031 - krk:issue-46336, r=estebank
kennytm [Fri, 20 Apr 2018 15:45:37 +0000 (23:45 +0800)]
Rollup merge of #50031 - krk:issue-46336, r=estebank

Clarified E0015 message.

Closes https://github.com/rust-lang/rust/issues/46336

6 years agoUpdate the Cargo submodule
Alex Crichton [Wed, 18 Apr 2018 15:43:59 +0000 (08:43 -0700)]
Update the Cargo submodule

6 years agoFix #50113: must explicitly request file name when using with_file_name.
Felix S. Klock II [Fri, 20 Apr 2018 14:11:05 +0000 (16:11 +0200)]
Fix #50113: must explicitly request file name when using with_file_name.

6 years agoFix bad merge in #49991
Wesley Wiser [Fri, 20 Apr 2018 13:12:59 +0000 (09:12 -0400)]
Fix bad merge in #49991

When I rebased #49991 on `master`, I messed up the merge for this line. I'm reverting this back to the way it was in f15e5c1.

6 years agoAuto merge of #50062 - varkor:xpy-check-rustdoc, r=Mark-Simulacrum
bors [Fri, 20 Apr 2018 12:52:50 +0000 (12:52 +0000)]
Auto merge of #50062 - varkor:xpy-check-rustdoc, r=Mark-Simulacrum

Add rustdoc to x.py check

Modifying rustc can often cause errors in rustdoc, so it's useful to include it in the steps that are checked.

One thing that I was unsure about was when to call `clear_if_dirty` (both in this step, and in other steps in relation to this one) — we want to be sure rustdoc will always be rechecked after modifying previous steps — but does this belong in rustdoc, or the other steps?

Fixes #49917.

r? @Mark-Simulacrum

6 years agoImplement Copy for std::alloc::Layout
Simon Sapin [Fri, 20 Apr 2018 11:56:07 +0000 (13:56 +0200)]
Implement Copy for std::alloc::Layout

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

6 years agoAuto merge of #50052 - nnethercote:char_lit, r=Mark-Simulacrum
bors [Fri, 20 Apr 2018 10:40:25 +0000 (10:40 +0000)]
Auto merge of #50052 - nnethercote:char_lit, r=Mark-Simulacrum

Avoid allocating when parsing \u{...} literals.

`char_lit` uses an allocation in order to ignore '_' chars in \u{...}
literals. This patch changes it to not do that by processing the chars
more directly.

This improves various rustc-perf benchmark measurements by up to 6%,
particularly regex, futures, clap, coercions, hyper, and encoding.

rustc-perf results, on a stage 2 build with jemalloc disabled:

<details>

```
regex-check
avg: -5.4% min: -6.5% max: -2.7%
futures-check
avg: -3.5% min: -5.3% max: -1.7%
regex-opt
avg: -2.0% min: -5.1% max: -0.2%
regex
avg: -2.3% min: -5.0% max: -0.6%
futures-opt
avg: -3.0% min: -4.8% max: -1.1%
futures
avg: -3.1% min: -4.8% max: -1.3%
clap-rs-check
avg: -1.8% min: -3.5% max: -0.9%
coercions-check
avg: -2.0% min: -3.3% max: -1.0%
hyper-check
avg: -2.2% min: -3.1% max: -1.3%
hyper
avg: -1.3% min: -2.4% max: -0.3%
hyper-opt
avg: -0.9% min: -2.3% max: -0.1%
coercions
avg: -1.1% min: -2.2% max: -0.4%
encoding-check
avg: -1.7% min: -2.2% max: -0.9%
clap-rs-opt
avg: -0.7% min: -2.2% max: 0.0%
coercions-opt
avg: -1.2% min: -2.1% max: -0.3%
clap-rs
avg: -0.8% min: -1.9% max: -0.4%
encoding-opt
avg: -1.0% min: -1.9% max: -0.3%
encoding
avg: -1.1% min: -1.9% max: -0.4%
piston-image-check
avg: -0.7% min: -1.3% max: -0.3%
inflate-opt
avg: -0.3% min: -0.9% max: -0.0%
piston-image
avg: -0.3% min: -0.8% max: -0.1%
piston-image-opt
avg: -0.3% min: -0.7% max: -0.1%
syn-check
avg: -0.3% min: -0.6% max: -0.1%
deep-vector
avg: 0.1% min: -0.1% max: 0.5%
syn-opt
avg: -0.1% min: -0.4% max: 0.0%
html5ever
avg: -0.2% min: -0.4% max: -0.0%
deep-vector-check
avg: 0.0% min: -0.3% max: 0.3%
syn
avg: -0.2% min: -0.3% max: -0.1%
html5ever-check
avg: -0.3% min: -0.3% max: -0.2%
issue-46449-check
avg: -0.1% min: -0.2% max: 0.2%
html5ever-opt
avg: -0.0% min: -0.2% max: 0.1%
deep-vector-opt
avg: -0.0% min: -0.2% max: 0.1%
issue-46449-opt
avg: -0.0% min: -0.2% max: 0.1%
unify-linearly-check
avg: -0.0% min: -0.2% max: 0.1%
helloworld-check
avg: 0.0% min: -0.0% max: 0.2%
parser-check
avg: -0.0% min: -0.2% max: 0.0%
inflate
avg: 0.0% min: -0.0% max: 0.1%
tokio-webpush-simple-check
avg: -0.1% min: -0.1% max: -0.0%
regression-31157-check
avg: 0.0% min: -0.1% max: 0.1%
issue-46449
avg: 0.0% min: -0.1% max: 0.1%
tuple-stress-opt
avg: 0.0% min: -0.0% max: 0.1%
tuple-stress-check
avg: -0.0% min: -0.1% max: 0.1%
tuple-stress
avg: 0.0% min: -0.0% max: 0.1%
deeply-nested-check
avg: 0.0% min: -0.0% max: 0.1%
regression-31157
avg: -0.0% min: -0.1% max: 0.1%
deeply-nested-opt
avg: -0.0% min: -0.1% max: 0.1%
parser-opt
avg: -0.0% min: -0.1% max: 0.0%
parser
avg: 0.1% min: 0.0% max: 0.1%
tokio-webpush-simple
avg: -0.0% min: -0.1% max: 0.1%
regression-31157-opt
avg: -0.0% min: -0.1% max: 0.1%
helloworld-opt
avg: 0.0% min: -0.0% max: 0.1%
unify-linearly-opt
avg: 0.0% min: -0.0% max: 0.1%
unused-warnings-check
avg: 0.0% min: 0.0% max: 0.1%
tokio-webpush-simple-opt
avg: -0.0% min: -0.1% max: 0.0%
helloworld
avg: -0.0% min: -0.0% max: 0.1%
unused-warnings
avg: 0.0% min: -0.0% max: 0.0%
deeply-nested
avg: -0.0% min: -0.0% max: -0.0%
unused-warnings-opt
avg: 0.0% min: -0.0% max: 0.0%
unify-linearly
avg: 0.0% min: -0.0% max: 0.0%
inflate-check
avg: 0.0% min: -0.0% max: 0.0%
```

</details>

6 years agoSpeed up `nearest_common_ancestor()`.
Nicholas Nethercote [Fri, 20 Apr 2018 10:28:28 +0000 (20:28 +1000)]
Speed up `nearest_common_ancestor()`.

`nearest_common_ancestor()` uses an algorithm that requires computing
the full scope chain for both scopes, which is expensive because each
element involves a hash table lookup, and then looking for a common
tail.

This patch changes `nearest_common_ancestor()` to use a different
algorithm, which starts at the given scopes and works outwards (i.e. up
the scope tree) until a common ancestor is found. This is much faster
because in most cases the common ancestor is found well before the end
of the scope chains. Also, the use of a SmallVec avoids the need for any
allocation most of the time.

6 years agoFix a copy-and-paste bug in nearest_common_ancestor.
Nicholas Nethercote [Fri, 20 Apr 2018 10:27:58 +0000 (20:27 +1000)]
Fix a copy-and-paste bug in nearest_common_ancestor.

This code path is rarely hit, which likely explains why this bug hasn't
been detected before now. (I only noticed it via code inspection.)

6 years agoDisable auto-detection of libxml2 when compiling llvm.
Johannes Nixdorf [Mon, 16 Apr 2018 17:32:19 +0000 (19:32 +0200)]
Disable auto-detection of libxml2 when compiling llvm.

6 years agoAuto merge of #49991 - wesleywiser:remove_hir_inlining, r=michaelwoerister
bors [Fri, 20 Apr 2018 08:22:47 +0000 (08:22 +0000)]
Auto merge of #49991 - wesleywiser:remove_hir_inlining, r=michaelwoerister

Remove HIR inlining

Fixes #49690

r? @michaelwoerister

6 years agoAuto merge of #50069 - alexcrichton:fix-proc-macro, r=nrc
bors [Fri, 20 Apr 2018 05:34:17 +0000 (05:34 +0000)]
Auto merge of #50069 - alexcrichton:fix-proc-macro, r=nrc

proc_macro: Stay on the "use the cache" path more

Discovered in #50061 we're falling off the "happy path" of using a stringified
token stream more often than we should. This was due to the fact that a
user-written token like `0xf` is equality-different from the stringified token
of `15` (despite being semantically equivalent).

This patch updates the call to `eq_unspanned` with an even more awful solution,
`probably_equal_for_proc_macro`, which ignores the value of each token and
basically only compares the structure of the token stream, assuming that the AST
doesn't change just one token at a time.

While this is a step towards fixing #50061 there is still one regression
from #49154 which needs to be fixed.

6 years agoPass down NodeId to resolve_path
Manish Goregaokar [Fri, 20 Apr 2018 00:27:31 +0000 (17:27 -0700)]
Pass down NodeId to resolve_path

6 years agoadd EDITIONS_NAME_LIST, make edition tracked, enforce that only stable editions are...
Kurtis Nusbaum [Fri, 20 Apr 2018 04:03:21 +0000 (21:03 -0700)]
add EDITIONS_NAME_LIST, make edition tracked, enforce that only stable editions are allowed to be used on non-nightly builds

6 years agoAuto merge of #50051 - nnethercote:no-env-var, r=Mark-Simulacrum
bors [Fri, 20 Apr 2018 01:41:34 +0000 (01:41 +0000)]
Auto merge of #50051 - nnethercote:no-env-var, r=Mark-Simulacrum

Lazily evaluate EvalErrorKind::*.into() calls.

eval_context.rs calls `ok_or` in multiple places with an eagerly
evaluated `EvalErrorKind::*.into()` argument, which calls
EvalError::from(), which calls env::var("MIRI_BACKTRACE"), which
allocates a String. This code is hot enough for this to have a
measurable effect on some benchmarks.

This patch changes the `ok_or` calls into `ok_or_else`, thus avoiding
the evaluations when they're not needed. As a result, most of the
rustc-perf benchmarks get a measurable speedup, particularly the
shorter-running ones, where the improvement is as high as 6%.

Output from rustc-perf, comparing stage 2 builds with jemalloc disabled:

<details>

```
coercions
avg: -1.8% min: -6.0% max: -0.0%
helloworld-opt
avg: -3.7% min: -4.0% max: -3.4%
helloworld
avg: -3.7% min: -3.9% max: -3.5%
parser
avg: -3.5% min: -3.9% max: -3.1%
unify-linearly-opt
avg: -3.2% min: -3.8% max: -2.8%
unify-linearly
avg: -3.2% min: -3.7% max: -2.8%
parser-opt
avg: -3.2% min: -3.6% max: -2.8%
clap-rs
avg: -0.9% min: -3.6% max: 0.1%
encoding
avg: -1.9% min: -3.0% max: -1.2%
clap-rs-opt
avg: -0.8% min: -2.7% max: -0.1%
helloworld-check
avg: -1.9% min: -2.2% max: -1.7%
deeply-nested-check
avg: -1.4% min: -2.1% max: -0.9%
issue-46449-opt
avg: -0.7% min: -2.0% max: -0.3%
unify-linearly-check
avg: -1.5% min: -1.9% max: -1.2%
issue-46449
avg: -1.0% min: -1.8% max: -0.8%
deeply-nested-opt
avg: -0.7% min: -1.7% max: -0.2%
deeply-nested
avg: -1.0% min: -1.6% max: -0.6%
parser-check
avg: -1.3% min: -1.6% max: -0.8%
encoding-check
avg: -1.5% min: -1.6% max: -1.2%
tuple-stress
avg: -0.9% min: -1.5% max: 0.0%
tuple-stress-opt
avg: -1.0% min: -1.5% max: -0.3%
issue-46449-check
avg: -1.3% min: -1.4% max: -1.0%
encoding-opt
avg: -1.1% min: -1.2% max: -0.9%
regression-31157
avg: -0.7% min: -1.2% max: -0.2%
regression-31157-check
avg: -0.8% min: -1.2% max: -0.5%
futures-check
avg: -0.8% min: -1.2% max: -0.4%
unused-warnings-opt
avg: -1.0% min: -1.2% max: -0.9%
unused-warnings
avg: -1.0% min: -1.1% max: -0.9%
coercions-opt
avg: -0.6% min: -1.0% max: -0.2%
inflate-check
avg: -0.4% min: -0.9% max: -0.1%
regex-check
avg: -0.8% min: -0.9% max: -0.5%
piston-image-check
avg: -0.8% min: -0.9% max: -0.8%
deep-vector
avg: -0.3% min: -0.9% max: 0.1%
futures
avg: -0.5% min: -0.8% max: -0.2%
futures-opt
avg: -0.5% min: -0.7% max: -0.1%
html5ever
avg: -0.6% min: -0.7% max: -0.4%
tokio-webpush-simple-check
avg: -0.2% min: -0.7% max: 0.1%
piston-image-opt
avg: -0.3% min: -0.7% max: -0.1%
regex
avg: -0.4% min: -0.7% max: -0.1%
piston-image
avg: -0.4% min: -0.7% max: -0.2%
regex-opt
avg: -0.3% min: -0.7% max: 0.1%
tokio-webpush-simple-opt
avg: -0.2% min: -0.6% max: 0.0%
coercions-check
avg: -0.3% min: -0.6% max: -0.1%
hyper
avg: -0.4% min: -0.6% max: -0.2%
syn-opt
avg: -0.3% min: -0.6% max: -0.0%
hyper-check
avg: -0.5% min: -0.6% max: -0.3%
syn-check
avg: -0.4% min: -0.5% max: -0.2%
hyper-opt
avg: -0.3% min: -0.5% max: -0.1%
html5ever-opt
avg: -0.3% min: -0.5% max: -0.2%
syn
avg: -0.2% min: -0.4% max: -0.1%
deep-vector-opt
avg: -0.2% min: -0.4% max: 0.1%
tokio-webpush-simple
avg: -0.2% min: -0.4% max: -0.1%
inflate
avg: -0.2% min: -0.4% max: -0.1%
inflate-opt
avg: -0.2% min: -0.4% max: -0.0%
regression-31157-opt
avg: -0.1% min: -0.4% max: 0.0%
html5ever-check
avg: -0.3% min: -0.4% max: -0.2%
unused-warnings-check
avg: -0.2% min: -0.3% max: -0.2%
script-servo-check
avg: -0.1% min: -0.3% max: 0.0%
crates.io-check
avg: -0.2% min: -0.3% max: -0.0%
script-servo
avg: -0.1% min: -0.2% max: 0.0%
clap-rs-check
avg: 0.0% min: -0.1% max: 0.2%
deep-vector-check
avg: -0.0% min: -0.2% max: 0.2%
tuple-stress-check
avg: -0.1% min: -0.2% max: 0.0%
crates.io-opt
avg: -0.1% min: -0.2% max: 0.0%
crates.io
avg: -0.1% min: -0.2% max: -0.0%
script-servo-opt
avg: -0.0% min: -0.1% max: 0.0%
```

</details>

6 years agorustc: Blanket whitelist `#[target_feature]`
Alex Crichton [Fri, 20 Apr 2018 00:54:20 +0000 (17:54 -0700)]
rustc: Blanket whitelist `#[target_feature]`

This commit transitions the `target_feature` attribute from `Normal` to
`Whitelisted`. Discovered in #50095 the fact of whether this attribute is used
or not is dependent on typechecking running and executing `check_name`, but
incremental compilation doesn't currently account for this, meaning that the
attribute ends up being flagged as unused when it shouldn't be.

I was a little too ambitious it seems hoping that `Normal` could be used, so
instead this transitions to `Whitelisted` to be the same as other codegen
attributes like `#[inline]`

Closes #50095

6 years agorustc: Whitelist upstream target_features
Alex Crichton [Fri, 20 Apr 2018 00:50:31 +0000 (17:50 -0700)]
rustc: Whitelist upstream target_features

When compiling crates we'll be calculating and parsing `#[target_feature]` for
upstream crates. We'll also be checking the stability of listed features, but we
only want to check the listed stability during the actual crate that wrote the
relevant code. This commit updates the `target_feature` process to ignore
foreign `DefId` instances and only check the feature whitelist for local
functions.

Closes #50094

6 years agoRemove HIR inlining
Wesley Wiser [Sun, 15 Apr 2018 23:41:33 +0000 (19:41 -0400)]
Remove HIR inlining

Fixes #49690

6 years agoTweak some stabilizations in libstd
Alex Crichton [Thu, 19 Apr 2018 22:52:14 +0000 (15:52 -0700)]
Tweak some stabilizations in libstd

This commit tweaks a few stable APIs in the `beta` branch before they hit
stable. The `str::is_whitespace` and `str::is_alphanumeric` functions were
deleted (added in #49381, issue at #49657). The `and_modify` APIs added
in #44734 were altered to take a `FnOnce` closure rather than a `FnMut` closure.

Closes #49581
Closes #49657

6 years agoAuto merge of #48553 - seanmonstar:atomic-debug, r=alexcrichton
bors [Thu, 19 Apr 2018 23:08:16 +0000 (23:08 +0000)]
Auto merge of #48553 - seanmonstar:atomic-debug, r=alexcrichton

atomic: remove 'Atomic*' from Debug output

For the same reason that we don't show `Vec { data: [0, 1, 2, 3] }`, but just the array, the `AtomicUsize(1000)` is noisy, and seeing just `1000` is likely better.

6 years agowasm: Increase default stack size to 1MB
Alex Crichton [Thu, 19 Apr 2018 21:51:59 +0000 (14:51 -0700)]
wasm: Increase default stack size to 1MB

This commit increases the dfeault stack size allocated to the
wasm32-unknown-unknown target to 1MB by default. Currently the default stack
size is one wasm page, or 64 kilobytes. This default stack is quite small and
has caused a stack overflow or two in the wild by accident.

The current "best practice" for fixing this is to pass `-Clink-args='-z
stack-size=$bigger'` but that's not great nor always easy to do. A default of
1MB matches more closely with other platforms where it's "pretty big" by
default.

Note that it was tested and if the users uses `-C link-args` to pass a custom
stack size that's still resepected as lld seems to take the first argument, and
where rustc is passing it will always be last.

6 years agoUpdate stdsimd submodule
Guillaume Gomez [Thu, 19 Apr 2018 21:47:28 +0000 (23:47 +0200)]
Update stdsimd submodule

6 years agoRustfmt result (for relevant changes) to satisfy Travis line length check.
Nicholas Rishel [Thu, 19 Apr 2018 21:27:05 +0000 (17:27 -0400)]
Rustfmt result (for relevant changes) to satisfy Travis line length check.

Signed-off-by: Nicholas Rishel <nick@accups.com>
6 years agoadd --edition option
Kurtis Nusbaum [Thu, 19 Apr 2018 20:56:26 +0000 (13:56 -0700)]
add --edition option

6 years agoThe prior check causes abstract unix domain sockets to return unnamed on Android.
Nicholas Rishel [Fri, 16 Feb 2018 20:41:24 +0000 (15:41 -0500)]
The prior check causes abstract unix domain sockets to return unnamed on Android.

Signed-off-by: Nicholas Rishel <nick@accups.com>
6 years agoFix some of the __names in the comments
James Sanderson [Thu, 19 Apr 2018 19:17:06 +0000 (20:17 +0100)]
Fix some of the __names in the comments

6 years agoGensym remaining identifiers
James Sanderson [Thu, 19 Apr 2018 18:04:06 +0000 (19:04 +0100)]
Gensym remaining identifiers

6 years agoEnsure CleanTools is run for check rustdoc
varkor [Wed, 18 Apr 2018 23:45:18 +0000 (00:45 +0100)]
Ensure CleanTools is run for check rustdoc

6 years agoAdd rustdoc to x.py check
varkor [Wed, 18 Apr 2018 18:46:58 +0000 (19:46 +0100)]
Add rustdoc to x.py check

This can often encounter errors after modifying rustc, so it's useful to include it in the steps that are checked.

6 years agoAuto merge of #50020 - oli-obk:clippy, r=Manishearth
bors [Thu, 19 Apr 2018 16:39:57 +0000 (16:39 +0000)]
Auto merge of #50020 - oli-obk:clippy, r=Manishearth

Update clippy

r? @Manishearth

6 years agoFix Iter exhaustion in prove_predicates when debug is on
Santiago Pastorino [Thu, 19 Apr 2018 15:39:43 +0000 (12:39 -0300)]
Fix Iter exhaustion in prove_predicates when debug is on

ht @tamird

6 years agoDon't prepend deriving-generated attributes with _
James Sanderson [Thu, 19 Apr 2018 12:57:43 +0000 (13:57 +0100)]
Don't prepend deriving-generated attributes with _

6 years agoAuto merge of #49900 - pnkfelix:compare-mode-nll-followup-3, r=nikomatsakis
bors [Thu, 19 Apr 2018 11:13:10 +0000 (11:13 +0000)]
Auto merge of #49900 - pnkfelix:compare-mode-nll-followup-3, r=nikomatsakis

Add src/test/ui regression testing for NLL

This PR changes `x.py test` so that when you are running the `ui` test suite, it will also always run `compiletest` in the new `--compare-mode=nll`, which just double-checks that when running under the experimental NLL mode, the output matches the `<source-name>.nll.stderr` file, if present.

In order to reduce the chance of a developer revolt in response to this change, this PR also includes some changes to make the `--compare-mode=nll` more user-friendly:

 1. It now generates nll-specific .stamp files, and uses them (so that repeated runs can reuse previously cached results).
 2. Each line of terminal output distinguishes whether we are running under `--compare-mode=nll` by printing with the prefix `[ui (nll)]` instead of just the prefix `[ui]`.

Subtask of rust-lang/rust#48879

6 years agoAuto merge of #49949 - oli-obk:const_signed_pat, r=eddyb
bors [Thu, 19 Apr 2018 08:41:35 +0000 (08:41 +0000)]
Auto merge of #49949 - oli-obk:const_signed_pat, r=eddyb

Sign extend constants in range patterns

fixes  #49940

r? @Mark-Simulacrum

6 years agoSign extend constants in range patterns
Oliver Schneider [Fri, 13 Apr 2018 16:31:15 +0000 (18:31 +0200)]
Sign extend constants in range patterns

6 years agoUpdate clippy
Oliver Schneider [Tue, 17 Apr 2018 06:50:56 +0000 (08:50 +0200)]
Update clippy

6 years agoAuto merge of #49890 - varkor:xpy-check-rustc_trans, r=alexcrichton
bors [Thu, 19 Apr 2018 06:19:27 +0000 (06:19 +0000)]
Auto merge of #49890 - varkor:xpy-check-rustc_trans, r=alexcrichton

Add rustc_trans to x.py check

r? @Mark-Simulacrum

I looked at `bootstrap/compile.rs` and `bootstrap/check.rs` to try to work out which steps were appropriate, but I'm sure I've overlooked some details here, so it's worth checking carefully I've got all the steps right (e.g. I wasn't sure whether we want to build LLVM if necessary with `x.py check`, though I thought it was probably better to than to not).

From a quick test, it seems to be working, though.

6 years agoAuto merge of #49630 - npmccallum:shl, r=alexcrichton
bors [Thu, 19 Apr 2018 03:53:32 +0000 (03:53 +0000)]
Auto merge of #49630 - npmccallum:shl, r=alexcrichton

Update Rhs on ShlAssign to default to Self

This matches the behavior on ShrAssign and all other *Assign operations.

6 years agoproc_macro: Stay on the "use the cache" path more
Alex Crichton [Thu, 19 Apr 2018 02:36:48 +0000 (19:36 -0700)]
proc_macro: Stay on the "use the cache" path more

Discovered in #50061 we're falling off the "happy path" of using a stringified
token stream more often than we should. This was due to the fact that a
user-written token like `0xf` is equality-different from the stringified token
of `15` (despite being semantically equivalent).

This patch updates the call to `eq_unspanned` with an even more awful solution,
`probably_equal_for_proc_macro`, which ignores the value of each token and
basically only compares the structure of the token stream, assuming that the AST
doesn't change just one token at a time.

While this is a step towards fixing #50061 there is still one regression
from #49154 which needs to be fixed.

6 years agoAuto merge of #50048 - glandium:issue50041, r=eddyb
bors [Thu, 19 Apr 2018 01:13:29 +0000 (01:13 +0000)]
Auto merge of #50048 - glandium:issue50041, r=eddyb

rustc_trans: also check dominators for SSA values in mir::analyze

Fixes #50041

6 years agoAvoid allocating when parsing \u{...} literals.
Nicholas Nethercote [Wed, 18 Apr 2018 04:09:27 +0000 (14:09 +1000)]
Avoid allocating when parsing \u{...} literals.

`char_lit` uses an allocation in order to ignore '_' chars in \u{...}
literals. This patch changes it to not do that by processing the chars
more directly.

This improves various rustc-perf benchmark measurements by up to 6%,
particularly regex, futures, clap, coercions, hyper, and encoding.

6 years agoAdd rerun-if-env-changed=RUST_CHECK to librustc_llvm
varkor [Wed, 18 Apr 2018 23:09:41 +0000 (00:09 +0100)]
Add rerun-if-env-changed=RUST_CHECK to librustc_llvm

6 years agoLazily evaluate EvalErrorKind::*.into() calls.
Nicholas Nethercote [Wed, 18 Apr 2018 22:56:27 +0000 (08:56 +1000)]
Lazily evaluate EvalErrorKind::*.into() calls.

eval_context.rs calls `ok_or` in multiple places with an eagerly
evaluated `EvalErrorKind::*.into()` argument, which calls
EvalError::from(), which calls env::var("MIRI_BACKTRACE"), which
allocates a String. This code is hot enough for this to have a
measurable effect on some benchmarks.

This patch changes the `ok_or` calls into `ok_or_else`, thus avoiding
the evaluations when they're not needed. As a result, most of the
rustc-perf benchmarks get a measurable speedup, particularly the
shorter-running ones, where the improvement is as high as 6%.

6 years agoAuto merge of #50022 - nrc:doc-analysis, r=mark-simulacrum
bors [Wed, 18 Apr 2018 22:30:00 +0000 (22:30 +0000)]
Auto merge of #50022 - nrc:doc-analysis, r=mark-simulacrum

Only emit save-analysis data for `cargo build` tasks

Previously, we were emittinng analysis data for all tasks, including `doc`. That meant we got two sets of save-analysis data, one from the normal build and one from the docs. That means indexing with the RLS took twice as long and made downloads larger and build times longer.

cc https://github.com/rust-lang-nursery/rls/issues/826

r? @Mark-Simulacrum

6 years agofix my unit test that was horrendously wrong
Michael Lamparski [Wed, 18 Apr 2018 20:48:34 +0000 (16:48 -0400)]
fix my unit test that was horrendously wrong

and add one for non-mut slicing since I touched that method too

6 years agoAuto merge of #50017 - tinaun:stabilize-all-the-things, r=sfackler
bors [Wed, 18 Apr 2018 19:47:56 +0000 (19:47 +0000)]
Auto merge of #50017 - tinaun:stabilize-all-the-things, r=sfackler

stabilize a bunch of minor api additions

besides `ptr::NonNull::cast` (which is 4 days away from end of FCP) all of these have been finished with FCP for a few weeks now with minimal issues raised

* Closes #41020
* Closes #42818
* Closes #44030
* Closes #44400
* Closes #46507
* Closes #47653
* Closes #46344

the following functions will be stabilized in 1.27:
* `[T]::rsplit`
* `[T]::rsplit_mut`
* `[T]::swap_with_slice`
* `ptr::swap_nonoverlapping`
* `NonNull::cast`
* `Duration::from_micros`
* `Duration::from_nanos`
* `Duration::subsec_millis`
* `Duration::subsec_micros`
* `HashMap::remove_entry`

6 years agoAuto merge of #50006 - rcoh:reorder-compiler-builtins, r=oli-obk
bors [Wed, 18 Apr 2018 17:07:21 +0000 (17:07 +0000)]
Auto merge of #50006 - rcoh:reorder-compiler-builtins, r=oli-obk

Reorder injection of std to get better compilation error

Per #49851, reorder injection imports to get a better error message.

r? @oli-obk

6 years agoAdded build disk usage information
Kerem [Wed, 18 Apr 2018 17:06:05 +0000 (20:06 +0300)]
Added build disk usage information

Closes https://github.com/rust-lang/rust/issues/50019

6 years agoAuto merge of #49993 - nnethercote:shrink-Token, r=alexcrichton
bors [Wed, 18 Apr 2018 14:44:54 +0000 (14:44 +0000)]
Auto merge of #49993 - nnethercote:shrink-Token, r=alexcrichton

Change the hashcounts in raw `Lit` variants from usize to u16.

This reduces the size of `Token` from 32 bytes to 24 bytes on 64-bit
platforms.

6 years agoWhen running under compare-mode=nll, generate expected output to `foo.nll.stderr`
Felix S. Klock II [Wed, 18 Apr 2018 12:41:29 +0000 (14:41 +0200)]
When running under compare-mode=nll, generate expected output to `foo.nll.stderr`

This allows easy revision of the update-references.sh script (included
here) so that it can update the expected output for nll rather than
stderr. It also reminds the rustc developer via the filename that they
are looking at output generated under comapre-mode=nll.

One could argue that there is still a problem with the strategy encoded here:
if we reach a scenario where a change to the compiler brings the output
under AST and NLL modes back into sync, this code will continue to still
generate output to distinct `foo.stderr` and `foo.nll.stderr` files, and
will continue to copy those two files back to corresponding distinct
files in the source tree, even if the *content* of the two files is now the
same.

  * Arguably the "right thing" to do in that case is to remove the
    `foo.nll.stderr` file entirely.

  * However, I think the real answer is that we will probably want to
    double-check such cases by hand anyway. We should be regularly
    double-checking the diffs between `foo.stderr` and
    `foo.nll.stderr`, and if we see a zero-diff case, then we should
    evaluate whether that is correct, and if so, remove the file by
    hand.)

  * In any case, I think the default behavior encoded here (or at
    least *intended* to be encoded here) is superior to the
    alternative of *only* generating a `foo.nll.stderr` file if one
    already existed in the source tree at the time that `compiletest`
    was invoked (and otherwise unconditionally generating a
    `foo.stderr` file, as was the behavior prior to this commit),
    because that alternative is more likely to cause rustc developers
    to overwrite a `foo.stderr` file with the stderr output from a
    compare-mode=nll run, which will then break the *normal*
    `compiletest` run and probably be much more confusing for the
    average rustc developer.

6 years agoWorkaround rust-lang/rust#49998 by opting into experimental `-Z nll-subminimal-causes...
Felix S. Klock II [Wed, 18 Apr 2018 12:27:58 +0000 (14:27 +0200)]
Workaround rust-lang/rust#49998 by opting into experimental `-Z nll-subminimal-causes` flag

This commit only applies the flag to the one test case,
ui/span/dropck_vec_cycle_checked.rs, that absolutely needs it. Without
the flag, that test takes an unknown amount of time (greater than 1
minute) to compile. But its possible that other tests would also
benefit from the flag, and we may want to make it the default (after
evaluating its impact on other tests).

In terms of its known impact on other tests, I have only evaluated the
ui tests, and the *only* ui test I have found that the flag impacts
(running under NLL mode, of course), is src/test/ui/nll/issue-31567.rs

In particular:

```
% ./build/x86_64-unknown-linux-gnu/stage1/bin/rustc ../src/test/ui/nll/issue-31567.rs
error[E0597]: `*v.0` does not live long enough
  --> ../src/test/ui/nll/issue-31567.rs:22:26
   |
22 |     let s_inner: &'a S = &*v.0; //~ ERROR `*v.0` does not live long enough
   |                          ^^^^^ borrowed value does not live long enough
23 |     &s_inner.0
24 | }
   | - borrowed value only lives until here
   |
note: borrowed value must be valid for the lifetime 'a as defined on the function body at 21:1...
  --> ../src/test/ui/nll/issue-31567.rs:21:1
   |
21 | fn get_dangling<'a>(v: VecWrapper<'a>) -> &'a u32 {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to previous error

For more information about this error, try `rustc --explain E0597`.
% ./build/x86_64-unknown-linux-gnu/stage1/bin/rustc ../src/test/ui/nll/issue-31567.rs  -Z nll-subminimal-causes
error[E0597]: `*v.0` does not live long enough
  --> ../src/test/ui/nll/issue-31567.rs:22:26
   |
22 |     let s_inner: &'a S = &*v.0; //~ ERROR `*v.0` does not live long enough
   |                          ^^^^^ borrowed value does not live long enough
23 |     &s_inner.0
24 | }
   | -
   | |
   | borrowed value only lives until here
   | borrow later used here, when `v` is dropped

error: aborting due to previous error

For more information about this error, try `rustc --explain E0597`.
%
```

6 years agoWork around rust-lang/rust#49998 with experimental code that does less updating of...
Felix S. Klock II [Wed, 18 Apr 2018 12:22:08 +0000 (14:22 +0200)]
Work around rust-lang/rust#49998 with experimental code that does less updating of cause map.

This seems to avoid poor scaling on src/test/ui/span/dropck_vec_cycle_checked.rs

6 years agoRemoved `.nll.stderr` files that currently match their corresponding `.stderr` files.
Felix S. Klock II [Wed, 18 Apr 2018 13:30:38 +0000 (15:30 +0200)]
Removed `.nll.stderr` files that currently match their corresponding `.stderr` files.

6 years agoTrivial updates to `.nll.stderr` files post-rebase, reflecting s/-Znll/nll/ in messages.
Felix S. Klock II [Wed, 18 Apr 2018 13:34:31 +0000 (15:34 +0200)]
Trivial updates to `.nll.stderr` files post-rebase, reflecting s/-Znll/nll/ in messages.

6 years agoUpdate the previously checkpointed (but unused by bors) tests to reflect current...
Felix S. Klock II [Thu, 12 Apr 2018 10:25:29 +0000 (12:25 +0200)]
Update the previously checkpointed (but unused by bors) tests to reflect current reality.

6 years agoGenerate separate stamp files for `--compare-mode=nll`, and also use them. :)
Felix S. Klock II [Wed, 11 Apr 2018 15:28:14 +0000 (17:28 +0200)]
Generate separate stamp files for `--compare-mode=nll`, and also use them. :)

6 years agoChange output of `compiletest` to include the compare-mode when present.
Felix S. Klock II [Wed, 11 Apr 2018 15:18:22 +0000 (17:18 +0200)]
Change output of `compiletest` to include the compare-mode when present.

E.g. when running with `--compare-mode=nll`, then each test line will
look like e.g.:

```
test [ui (nll)] ui/issue-10969.rs ... ok
```

6 years agoExpand `x.py test` to also run with `--compare-mode=nll` on src/test/ui suite.
Felix S. Klock II [Wed, 11 Apr 2018 15:15:59 +0000 (17:15 +0200)]
Expand `x.py test` to also run with `--compare-mode=nll` on src/test/ui suite.

6 years agoAuto merge of #49981 - nox:fix-signed-niches, r=eddyb
bors [Wed, 18 Apr 2018 12:22:11 +0000 (12:22 +0000)]
Auto merge of #49981 - nox:fix-signed-niches, r=eddyb

Properly handle ranges of signed enums using both extremums (fixes #49973)

Fixes #49973.

6 years agorustc_trans: also check dominators for SSA values in mir::analyze.
Eduard-Mihai Burtescu [Sat, 17 Feb 2018 15:46:15 +0000 (17:46 +0200)]
rustc_trans: also check dominators for SSA values in mir::analyze.

Fixes #50041

6 years agoReplace Build with Builder
varkor [Wed, 18 Apr 2018 09:56:04 +0000 (10:56 +0100)]
Replace Build with Builder

6 years agoDo not rebuild LLVM for x.py check
varkor [Tue, 17 Apr 2018 23:50:41 +0000 (00:50 +0100)]
Do not rebuild LLVM for x.py check

6 years agoAbstract LLVM building from bootstrap
varkor [Thu, 12 Apr 2018 14:51:55 +0000 (15:51 +0100)]
Abstract LLVM building from bootstrap

This deduplicates the LLVM building functionality from compile.rs and check.rs.

6 years agoCorrect the timestamp for CodegenBackend check
varkor [Wed, 11 Apr 2018 23:34:49 +0000 (00:34 +0100)]
Correct the timestamp for CodegenBackend check

6 years agoAdd rustc_trans to x.py check
varkor [Wed, 11 Apr 2018 22:36:42 +0000 (23:36 +0100)]
Add rustc_trans to x.py check

6 years agoAuto merge of #49349 - Zoxc:sync-errors, r=michaelwoerister
bors [Wed, 18 Apr 2018 08:29:14 +0000 (08:29 +0000)]
Auto merge of #49349 - Zoxc:sync-errors, r=michaelwoerister

Make Handler more thread-safe

The use of `code_emitted` to suppress extended explanations is not thread safe. I'm not sure why we keep the documentation for errors outside `diagnostics.rs` anyway. It would be better to add a `teach` method to `DiagnosticsBuilder`, so instead of:
```
if self.tcx.sess.teach(&err.get_code().unwrap()) {
    err.note("...");
}
```
we'd use `err.teach("...")`

cc @estebank

r? @michaelwoerister

6 years agoClarified E0015 message, r=estebank
krk [Tue, 17 Apr 2018 15:59:27 +0000 (18:59 +0300)]
Clarified E0015 message, r=estebank

6 years agoAuto merge of #49972 - Mark-Simulacrum:remove-build, r=alexcrichton
bors [Wed, 18 Apr 2018 05:54:21 +0000 (05:54 +0000)]
Auto merge of #49972 - Mark-Simulacrum:remove-build, r=alexcrichton

Remove uses of Build across Builder steps

This is purely a code cleanup; there should be no functional changes.

r? @alexcrichton

6 years agoAuto merge of #49969 - mark-i-m:allocator_fmt, r=estebank
bors [Wed, 18 Apr 2018 03:35:55 +0000 (03:35 +0000)]
Auto merge of #49969 - mark-i-m:allocator_fmt, r=estebank

Various rustfmt and commenting changes

These are factored out of #49320

There aren't actually any changes in functionality, just rustfmt and doccomments.

6 years agoRemove uses of Build across Builder steps
Mark Simulacrum [Sat, 14 Apr 2018 23:27:57 +0000 (17:27 -0600)]
Remove uses of Build across Builder steps

6 years agosmaller PR just to fix #50002
Michael Lamparski [Mon, 16 Apr 2018 20:34:09 +0000 (16:34 -0400)]
smaller PR just to fix #50002

6 years agoAuto merge of #49950 - Zoxc:default-span, r=estebank
bors [Wed, 18 Apr 2018 01:04:04 +0000 (01:04 +0000)]
Auto merge of #49950 - Zoxc:default-span, r=estebank

Improve query cycle error message

r? @michaelwoerister

6 years agoAuto merge of #50036 - nrc:update, r=alexcrichton
bors [Tue, 17 Apr 2018 21:56:50 +0000 (21:56 +0000)]
Auto merge of #50036 - nrc:update, r=alexcrichton

Update Rustfmt

Fixes RLS and Rustfmt and enables a new nightly

r? @alexcrichton

6 years agoAdd rustdoc settings menu
Guillaume Gomez [Fri, 13 Apr 2018 20:54:09 +0000 (22:54 +0200)]
Add rustdoc settings menu

6 years agoUpdate Rustfmt
Nick Cameron [Tue, 17 Apr 2018 20:21:19 +0000 (08:21 +1200)]
Update Rustfmt

6 years agoAuto merge of #49904 - michaelwoerister:no-debug-attr, r=alexcrichton
bors [Tue, 17 Apr 2018 19:26:25 +0000 (19:26 +0000)]
Auto merge of #49904 - michaelwoerister:no-debug-attr, r=alexcrichton

Work around LLVM debuginfo problem in librustc_driver.

Works around a problem (https://github.com/rust-lang/rust/issues/48910) with global variable debuginfo generation for `rustc_driver::get_trans::LOAD` by applying `#[no_debug]` to it (which just disables debuginfo generation for that variable). This way we can build the compiler with debuginfo again.

Since the problem is also present in beta, this workaround might have to be backported.

r? @alexcrichton