]> git.lizzy.rs Git - rust.git/log
rust.git
5 years agoRollup merge of #53950 - michaelwoerister:more-lto-cli, r=alexcrichton
kennytm [Thu, 13 Sep 2018 16:46:45 +0000 (00:46 +0800)]
Rollup merge of #53950 - michaelwoerister:more-lto-cli, r=alexcrichton

Allow for opting out of ThinLTO and clean up LTO related cli flag handling.

It turns out that there currently is no way to explicitly disable ThinLTO (except for the nightly-only `-Zthinlto` flag). This PR extends `-C lto` to take `yes` and `no` in addition to `thin` and `fat`. It should be backwards compatible.

It also cleans up how LTO mode selection is handled.

Note that merging the PR in the current state would make the new values for `-C lto` available on the stable channel. I think that would be fine but maybe some team should vote on it.

5 years agoRollup merge of #53829 - alexcrichton:release-debuginfo, r=michaelwoerister
kennytm [Thu, 13 Sep 2018 16:46:22 +0000 (00:46 +0800)]
Rollup merge of #53829 - alexcrichton:release-debuginfo, r=michaelwoerister

Add rustc SHA to released DWARF debuginfo

This commit updates the debuginfo that is encoded in all of our released
artifacts by default. Currently it has paths like `/checkout/src/...` but these
are a little inconsistent and have changed over time. This commit instead
attempts to actually define the file paths in our debuginfo to be consistent
between releases.

All debuginfo paths are now intended to be `/rustc/$sha` where `$sha` is the git
sha of the released compiler. Sub-paths are all paths into the git repo at that
`$sha`.

5 years agoRollup merge of #54170 - kzys:contrib-md, r=zackmdavis
kennytm [Thu, 13 Sep 2018 09:53:01 +0000 (17:53 +0800)]
Rollup merge of #54170 - kzys:contrib-md, r=zackmdavis

COMPILER_TESTS.md has been moved

The document is now hosted at rust-lang-nursery.github.io.

5 years agoRollup merge of #54163 - parched:stage0, r=Mark-Simulacrum
kennytm [Thu, 13 Sep 2018 02:02:25 +0000 (10:02 +0800)]
Rollup merge of #54163 - parched:stage0, r=Mark-Simulacrum

Update stage 0 to latest beta

Fixes bootstrap on AArch64 by pulling in https://github.com/rust-lang/rust/pull/53939

5 years agoRollup merge of #54150 - Aaronepower:master, r=Mark-Simulacrum
kennytm [Thu, 13 Sep 2018 02:02:24 +0000 (10:02 +0800)]
Rollup merge of #54150 - Aaronepower:master, r=Mark-Simulacrum

Updated 1.29 release notes with --document-private-items flag

[Rendered](https://github.com/Aaronepower/rust/blob/master/RELEASES.md#cargo)

5 years agoRollup merge of #54147 - agnxy:const-eval-test, r=oli-obk
kennytm [Thu, 13 Sep 2018 02:02:22 +0000 (10:02 +0800)]
Rollup merge of #54147 - agnxy:const-eval-test, r=oli-obk

Add a test that tries to modify static memory at compile-time

Attempt to fix #53818
cc @oli-obk

5 years agoRollup merge of #54119 - phansch:unit_test_find_best_match_for_name, r=nikomatsakis
kennytm [Thu, 13 Sep 2018 02:02:21 +0000 (10:02 +0800)]
Rollup merge of #54119 - phansch:unit_test_find_best_match_for_name, r=nikomatsakis

Add some unit tests for find_best_match_for_name

There were only some UI tests that covered this function.
Since there's more diagnostic work going on, I think it makes
sense to have this unit tested.

5 years agoRollup merge of #54076 - RalfJung:miri-snapshot, r=oli-obk
kennytm [Thu, 13 Sep 2018 02:02:20 +0000 (10:02 +0800)]
Rollup merge of #54076 - RalfJung:miri-snapshot, r=oli-obk

miri loop detector hashing

* fix enum hashing to also consider discriminant
* do not hash extra machine state
* standalone miri is not interested in loop detection, so let it opt-out

In the future I think we want to move the hashing logic out of the miri engine, this is CTFE-only.

r? @oli-obk

5 years agoRollup merge of #54070 - passcod:patch-1, r=steveklabnik
kennytm [Thu, 13 Sep 2018 02:02:19 +0000 (10:02 +0800)]
Rollup merge of #54070 - passcod:patch-1, r=steveklabnik

Add Error::description soft-deprecation to RELEASES

5 years agoRollup merge of #53976 - GuillaumeGomez:expect-world, r=steveklabnik
kennytm [Thu, 13 Sep 2018 02:02:17 +0000 (10:02 +0800)]
Rollup merge of #53976 - GuillaumeGomez:expect-world, r=steveklabnik

Replace unwrap calls in example by expect

Part of #51668.

r? @steveklabnik

5 years agoCOMPILER_TESTS.md has been moved
Kazuyoshi Kato [Thu, 13 Sep 2018 04:21:43 +0000 (21:21 -0700)]
COMPILER_TESTS.md has been moved

The document is now hosted at rust-lang-nursery.github.io.

5 years agoRollup merge of #53371 - estebank:tuple, r=nikomatsakis
kennytm [Thu, 13 Sep 2018 02:02:14 +0000 (10:02 +0800)]
Rollup merge of #53371 - estebank:tuple, r=nikomatsakis

Do not emit E0277 on incorrect tuple destructured binding

Fix #50333.

5 years agoAuto merge of #53409 - GuillaumeGomez:associated-const-value, r=QuietMisdreavus
bors [Wed, 12 Sep 2018 21:20:05 +0000 (21:20 +0000)]
Auto merge of #53409 - GuillaumeGomez:associated-const-value, r=QuietMisdreavus

Don't show associated const value anymore

Part of #44348.

Before:

<img width="1440" alt="screen shot 2018-08-16 at 00 48 30" src="https://user-images.githubusercontent.com/3050060/44177414-20ef1480-a0ee-11e8-80d4-7caf082cf0de.png">

After:

<img width="1440" alt="screen shot 2018-08-16 at 00 48 23" src="https://user-images.githubusercontent.com/3050060/44177417-251b3200-a0ee-11e8-956a-4229275e3342.png">

cc @nox

r? @QuietMisdreavus

5 years agoAuto merge of #54152 - michaelwoerister:cgu-name-fix, r=alexcrichton
bors [Wed, 12 Sep 2018 18:30:17 +0000 (18:30 +0000)]
Auto merge of #54152 - michaelwoerister:cgu-name-fix, r=alexcrichton

Really make CGU names unique across crates.

This will hopefully fix issue #53794.

r? @alexcrichton

5 years agoAdd comment explaining reasoning
Esteban Küber [Wed, 12 Sep 2018 17:47:55 +0000 (10:47 -0700)]
Add comment explaining reasoning

5 years agoAuto merge of #53793 - toidiu:ak-stabalize, r=nikomatsakis
bors [Wed, 12 Sep 2018 11:27:48 +0000 (11:27 +0000)]
Auto merge of #53793 - toidiu:ak-stabalize, r=nikomatsakis

stabilize outlives requirements

https://github.com/rust-lang/rust/issues/44493

r? @nikomatsakis

5 years agoReally make CGU names unique across crates.
Michael Woerister [Wed, 12 Sep 2018 10:46:48 +0000 (12:46 +0200)]
Really make CGU names unique across crates.

5 years agoUpdated 1.29 release notes with --document-private-items flag
Aaron Power [Wed, 12 Sep 2018 10:19:23 +0000 (11:19 +0100)]
Updated 1.29 release notes with --document-private-items flag

5 years agoAuto merge of #54146 - kennytm:rollup, r=kennytm
bors [Wed, 12 Sep 2018 08:08:13 +0000 (08:08 +0000)]
Auto merge of #54146 - kennytm:rollup, r=kennytm

Rollup of 15 pull requests

Successful merges:

 - #52514 (Fix a few AMDGPU related issues)
 - #53703 (Document .0 to unpack integer from Wrapping)
 - #53777 (Implemented map_or_else for Result<T, E>)
 - #54031 (A few cleanups and minor improvements to rustc_passes)
 - #54046 (Update documentation for fill_buf in std::io::BufRead)
 - #54064 (`&CStr`, not `CStr`, is the counterpart of `&str`)
 - #54072 (Stabilization change for mod.rs)
 - #54073 (docs: Use dollar sign for all bash prompts)
 - #54074 (simplify ordering for Kind)
 - #54085 (Remove documentation about proc_macro being bare-bones)
 - #54087 (rustdoc: Remove generated blanket impls from trait pages)
 - #54106 (Reexport CheckLintNameResult)
 - #54107 (Fix typos in libstd hash map)
 - #54136 (Update LLVM to fix GlobalISel dbg.declare)
 - #54142 (Recover proper regression test for issue #16278.)

Failed merges:

r? @ghost

5 years agoAdd a test that tries to modify static memory at compile-time
Andrew Xu [Wed, 12 Sep 2018 04:27:28 +0000 (12:27 +0800)]
Add a test that tries to modify static memory at compile-time

5 years agoRollup merge of #54142 - pnkfelix:fix-regression-test-for-16278, r=wesleywiser
kennytm [Wed, 12 Sep 2018 04:17:40 +0000 (12:17 +0800)]
Rollup merge of #54142 - pnkfelix:fix-regression-test-for-16278, r=wesleywiser

Recover proper regression test for issue #16278.

Spawned from my note https://github.com/rust-lang/rust/pull/19955#issuecomment-420430761

5 years agoRollup merge of #54136 - cuviper:global-isel-dbg.declare, r=alexcrichton
kennytm [Wed, 12 Sep 2018 04:17:39 +0000 (12:17 +0800)]
Rollup merge of #54136 - cuviper:global-isel-dbg.declare, r=alexcrichton

Update LLVM to fix GlobalISel dbg.declare

Fixes #49807.

5 years agoRollup merge of #54107 - thevaleriemack:master, r=Mark-Simulacrum
kennytm [Wed, 12 Sep 2018 04:17:38 +0000 (12:17 +0800)]
Rollup merge of #54107 - thevaleriemack:master, r=Mark-Simulacrum

Fix typos in libstd hash map

modified growth algo description to read "the first table overflows into the second, and the second into the first." plus smaller typos

5 years agoRollup merge of #54106 - flip1995:pub_checklintnameresult, r=Manishearth
kennytm [Wed, 12 Sep 2018 04:17:37 +0000 (12:17 +0800)]
Rollup merge of #54106 - flip1995:pub_checklintnameresult, r=Manishearth

Reexport CheckLintNameResult

Make the enum `CheckLintNameResult` public, so that lint tools (aka Clippy) can use it together with [`LintStore::check_lint_name`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc/lint/struct.LintStore.html#method.check_lint_name), to handle the case that a scoped `tool_lint` doesn't exist in the tool.

This is currently not handled by the compiler:
https://github.com/rust-lang/rust/blob/595345419d12c3ea860151df52f78744a31bafff/src/librustc/lint/levels.rs#L309-L314

Needed for rust-lang-nursery/rust-clippy#3161

r? @Manishearth

5 years agoRollup merge of #54087 - ollie27:rustdoc_blanket_impl, r=QuietMisdreavus
kennytm [Wed, 12 Sep 2018 04:17:35 +0000 (12:17 +0800)]
Rollup merge of #54087 - ollie27:rustdoc_blanket_impl, r=QuietMisdreavus

rustdoc: Remove generated blanket impls from trait pages

#53801 only deduped the generated blanket impls but they shouldn't be displayed at all because the original blanket impl is already in the "Implementors" section. This also removes the impls from the sidebar.

Fixes #53689

r? @QuietMisdreavus

5 years agoRollup merge of #54085 - dtolnay:bare, r=alexcrichton
kennytm [Wed, 12 Sep 2018 04:17:34 +0000 (12:17 +0800)]
Rollup merge of #54085 - dtolnay:bare, r=alexcrichton

Remove documentation about proc_macro being bare-bones

A large chunk of useful API surface area is stabilizing in Rust 1.29. We no longer have a commitment to expand the API over time as much as implied by these comments.

r? @alexcrichton

5 years agoRollup merge of #54074 - toidiu:ak-spimplifyOrd, r=eddyb
kennytm [Wed, 12 Sep 2018 04:17:33 +0000 (12:17 +0800)]
Rollup merge of #54074 - toidiu:ak-spimplifyOrd, r=eddyb

simplify ordering for Kind

Missed from https://github.com/rust-lang/rust/pull/50930

r? @eddyb

5 years agoRollup merge of #54073 - behnam:docs-1, r=frewsxcv
kennytm [Wed, 12 Sep 2018 04:17:32 +0000 (12:17 +0800)]
Rollup merge of #54073 - behnam:docs-1, r=frewsxcv

docs: Use dollar sign for all bash prompts

Making it consistent across the board, as most of them already use `$`.

Also split one continues bash run into two, to make it easier see
different runs: one with warning and another with error.

5 years agoRollup merge of #54072 - blitzerr:master, r=Mark-Simulacrum
kennytm [Wed, 12 Sep 2018 04:17:30 +0000 (12:17 +0800)]
Rollup merge of #54072 - blitzerr:master, r=Mark-Simulacrum

Stabilization change for mod.rs

This change is in response to https://github.com/rust-lang/rust/issues/53125.
The patch makes the feature accepted and removes the tests that tested the
non-accepted status of the feature.

5 years agoRollup merge of #54064 - nagisa:tiny-typo, r=sfackler
kennytm [Wed, 12 Sep 2018 04:17:29 +0000 (12:17 +0800)]
Rollup merge of #54064 - nagisa:tiny-typo, r=sfackler

`&CStr`, not `CStr`, is the counterpart of `&str`

5 years agoRollup merge of #54046 - snaedis:issue-48022, r=steveklabnik
kennytm [Wed, 12 Sep 2018 04:17:28 +0000 (12:17 +0800)]
Rollup merge of #54046 - snaedis:issue-48022, r=steveklabnik

Update documentation for fill_buf in std::io::BufRead

Brings the documentation in line with the BufReader implementation.

Fixes #48022.

This is my first PR, and I think the `E-easy` label is very cool, as so is the practice of describing the fix but leaving it for someone else; it really makes it a lot less intimidating to get started with something!

5 years agoRollup merge of #54031 - ljedrz:cleanup_passes, r=oli-obk
kennytm [Wed, 12 Sep 2018 04:17:26 +0000 (12:17 +0800)]
Rollup merge of #54031 - ljedrz:cleanup_passes, r=oli-obk

A few cleanups and minor improvements to rustc_passes

- prefer `if let` to `match` when only one branch matters
- prefer equality checks to pattern matching
- prefer `is_empty` to `len() == 0`
- collapse a couple of `if` expressions
- rename `label` to `destination` when destructuring `hir::ExprKind::Continue`
- `derive Copy` for `Promotability`
- `impl BitAndAssign` for `Promotability`
- a few formatting fixes
- a few other minor cleanups

5 years agoRollup merge of #53777 - ivanbakel:result_map_or_else, r=alexcrichton
kennytm [Wed, 12 Sep 2018 04:17:25 +0000 (12:17 +0800)]
Rollup merge of #53777 - ivanbakel:result_map_or_else, r=alexcrichton

Implemented map_or_else for Result<T, E>

Fulfills #53268
The example is ripped from `Option::map_or_else`, with the types corrected.

5 years agoRollup merge of #53703 - sourcefrog:doc-wrapping, r=frewsxcv
kennytm [Wed, 12 Sep 2018 04:17:24 +0000 (12:17 +0800)]
Rollup merge of #53703 - sourcefrog:doc-wrapping, r=frewsxcv

Document .0 to unpack integer from Wrapping

5 years agoRollup merge of #52514 - DiamondLovesYou:amdgpu-fixes, r=eddyb
kennytm [Wed, 12 Sep 2018 04:17:22 +0000 (12:17 +0800)]
Rollup merge of #52514 - DiamondLovesYou:amdgpu-fixes, r=eddyb

Fix a few AMDGPU related issues

* AMDGPU ignores `noinline` and sadly doesn't clear the attribute when it slaps `alwaysinline` on everything,
* an AMDGPU related load bit range metadata assertion,
* I didn't enable the `amdgpu` component in the `librustc_llvm` build script,
* Add AMDGPU call abi info.

5 years agoAuto merge of #51159 - pacman82:master, r=oli-obk
bors [Wed, 12 Sep 2018 01:56:48 +0000 (01:56 +0000)]
Auto merge of #51159 - pacman82:master, r=oli-obk

First step towards `u128` instead of `Const` in `PatternKind::Range`

This PR accomplishes two things:
* It adds `ty::Ty` to `PatternKind::Range`. The extra type information will make it easier to remove it from the `hi` and `lo` members.
* It exchanges `Const` for `u128` in `Constructor::ConstantRange`.

5 years agoaddress review comment, reduce scope
Esteban Küber [Wed, 12 Sep 2018 00:06:11 +0000 (17:06 -0700)]
address review comment, reduce scope

5 years agoSimplify the recovered tuple ty
Esteban Küber [Sun, 19 Aug 2018 22:12:09 +0000 (15:12 -0700)]
Simplify the recovered tuple ty

5 years agoDo not emit E0277 on incorrect tuple destructured binding
Esteban Küber [Tue, 14 Aug 2018 23:46:28 +0000 (16:46 -0700)]
Do not emit E0277 on incorrect tuple destructured binding

5 years agoAuto merge of #53913 - petrochenkov:biattr4, r=alexcrichton
bors [Tue, 11 Sep 2018 23:28:39 +0000 (23:28 +0000)]
Auto merge of #53913 - petrochenkov:biattr4, r=alexcrichton

resolve: Future proof resolutions for potentially built-in attributes

This is not full "pass all attributes through name resolution", but a more conservative solution.
If built-in attribute is ambiguous with any other macro in scope, then an error is reported.

What complications arise with the full solution - https://github.com/rust-lang/rust/pull/53913#issuecomment-418204136.

cc https://github.com/rust-lang/rust/pull/50911#issuecomment-411605393
cc https://github.com/rust-lang/rust/issues/52269
Closes https://github.com/rust-lang/rust/issues/53531

5 years agoAdd ty::Ty to PatternKind::Range;u128 for Const in Constructor::ConstantRange
Markus Klein [Tue, 11 Sep 2018 22:26:07 +0000 (00:26 +0200)]
Add ty::Ty to PatternKind::Range;u128 for Const in Constructor::ConstantRange

5 years agoRecover proper regression test for issue #16278.
Felix S. Klock II [Tue, 11 Sep 2018 21:33:22 +0000 (23:33 +0200)]
Recover proper regression test for issue #16278.

5 years agoAuto merge of #53873 - nikomatsakis:nll-universe-subtyping-and-pattern-ascription...
bors [Tue, 11 Sep 2018 20:59:11 +0000 (20:59 +0000)]
Auto merge of #53873 - nikomatsakis:nll-universe-subtyping-and-pattern-ascription, r=pnkfelix

support ascription for patterns in NLL

This implements the strategy outlined in [this comment](https://github.com/rust-lang/rust/issues/47184#issuecomment-416669986):

- We first extend the NLL subtyping code so it can handle inference variables and subtyping.
- Then we extend HAIR patterns with type ascription.
- Then we treat the type `T` in `let pat: T = ...` as an ascription.

Before landing, a few things:

- [x] Fix the WF rule bug (filed a FIXME https://github.com/rust-lang/rust/issues/54105)
- [x] Fix an ICE I encountered locally around bound regions, or else file a follow-up
- [x] More tests probably =)

r? @pnkfelix

5 years agoUpdate LLVM to fix GlobalISel dbg.declare
Josh Stone [Tue, 11 Sep 2018 18:59:50 +0000 (11:59 -0700)]
Update LLVM to fix GlobalISel dbg.declare

Fixes #49807.

5 years agoUpdate stage0 to latest beta
James Duley [Tue, 11 Sep 2018 16:14:08 +0000 (17:14 +0100)]
Update stage0 to latest beta

Fixes bootstrap on AArch64

5 years agoAuto merge of #54111 - nikomatsakis:issue-53686-keywords-and-macros, r=alexcrichton
bors [Tue, 11 Sep 2018 15:40:44 +0000 (15:40 +0000)]
Auto merge of #54111 - nikomatsakis:issue-53686-keywords-and-macros, r=alexcrichton

warn about keywords in macro invocations

Fixes #53686

r? @alexcrichton

5 years agostabalize infer outlives requirements (RFC 2093).
toidiu [Tue, 28 Aug 2018 04:46:08 +0000 (00:46 -0400)]
stabalize infer outlives requirements (RFC 2093).

Co-authored-by: nikomatsakis
5 years agowe now successfully warn about `async` in macro invocations
Niko Matsakis [Tue, 11 Sep 2018 12:56:59 +0000 (08:56 -0400)]
we now successfully warn about `async` in macro invocations

5 years agoAuto merge of #51363 - japaric:stable-used, r=cramertj
bors [Tue, 11 Sep 2018 08:54:11 +0000 (08:54 +0000)]
Auto merge of #51363 - japaric:stable-used, r=cramertj

stabilize #[used]

closes #40289

RFC for stabilization: rust-lang/rfcs#2386

r? @Centril

Where should this be documented? Currently the documentation is in the unstable book

5 years agoAdd some unit tests for find_best_match_for_name
Philipp Hansch [Tue, 11 Sep 2018 06:31:47 +0000 (08:31 +0200)]
Add some unit tests for find_best_match_for_name

There were only some UI tests that covered this function.
Since there's more diagnostic work going on, I think it makes
sense to have this unit tested.

5 years agoAuto merge of #54113 - alexcrichton:update-cargo, r=Mark-Simulacrum
bors [Tue, 11 Sep 2018 06:28:29 +0000 (06:28 +0000)]
Auto merge of #54113 - alexcrichton:update-cargo, r=Mark-Simulacrum

Update Cargo submodule

Bring in a few last-minute updates before the 1.30.0 release

5 years agoAuto merge of #54092 - estebank:gotta-go-fast, r=nikomatsakis
bors [Tue, 11 Sep 2018 01:08:49 +0000 (01:08 +0000)]
Auto merge of #54092 - estebank:gotta-go-fast, r=nikomatsakis

Don't compute padding of braces unless they are unmatched

Follow up to #53949. Attempt to fix # #54083.

r? @nikomatsakis

5 years agoUpdate Cargo submodule
Alex Crichton [Mon, 10 Sep 2018 23:40:57 +0000 (16:40 -0700)]
Update Cargo submodule

Bring in a few last-minute updates before the 1.30.0 release

5 years agoresolve: Reserve a few very special names in macro namespace
Vadim Petrochenkov [Mon, 10 Sep 2018 21:30:21 +0000 (00:30 +0300)]
resolve: Reserve a few very special names in macro namespace

5 years agoresolve: Skip bang macros when resolving potentially built-in attributes
Vadim Petrochenkov [Mon, 10 Sep 2018 21:28:35 +0000 (00:28 +0300)]
resolve: Skip bang macros when resolving potentially built-in attributes

5 years agoresolve: Future proof resolutions for potentially built-in attributes
Vadim Petrochenkov [Sun, 2 Sep 2018 21:04:54 +0000 (00:04 +0300)]
resolve: Future proof resolutions for potentially built-in attributes

5 years agoresolve: Support resolving identifier macros without their own ID
Vadim Petrochenkov [Sun, 2 Sep 2018 01:57:56 +0000 (04:57 +0300)]
resolve: Support resolving identifier macros without their own ID

Invocation/expansion ID (aka `Mark`) is not really necessary for resolving a macro path.
What is really necessary is its parent module, parent expansion and parent legacy scope.
This is required for validation resolutions of built-in attributes, which don't get their own `Mark`s

5 years agofix incremental test
Niko Matsakis [Mon, 10 Sep 2018 21:24:43 +0000 (17:24 -0400)]
fix incremental test

We are now carrying the user-given type through MIR, so it makes sense
that this would change the hash.

5 years agoadd test case
Niko Matsakis [Mon, 10 Sep 2018 21:14:30 +0000 (17:14 -0400)]
add test case

5 years agovisit the paths in pre-expansion macros
Niko Matsakis [Mon, 10 Sep 2018 21:12:55 +0000 (17:12 -0400)]
visit the paths in pre-expansion macros

5 years agomake `add_pre_expansion_builtin` add a pre-expansion lint
Niko Matsakis [Mon, 10 Sep 2018 21:10:11 +0000 (17:10 -0400)]
make `add_pre_expansion_builtin` add a pre-expansion lint

Copy-and-paste error.

5 years agoadd FIXME related to `ref x` bindings
Niko Matsakis [Mon, 10 Sep 2018 18:06:50 +0000 (14:06 -0400)]
add FIXME related to `ref x` bindings

5 years agoAuto merge of #54093 - petrochenkov:noinner, r=alexcrichton
bors [Mon, 10 Sep 2018 17:18:27 +0000 (17:18 +0000)]
Auto merge of #54093 - petrochenkov:noinner, r=alexcrichton

Feature gate non-builtin attributes in inner attribute position

Closes item 3 from https://github.com/rust-lang/rust/pull/50911#issuecomment-411605393

5 years agoAdd rustc SHA to released DWARF debuginfo
Alex Crichton [Thu, 30 Aug 2018 17:25:07 +0000 (10:25 -0700)]
Add rustc SHA to released DWARF debuginfo

This commit updates the debuginfo that is encoded in all of our released
artifacts by default. Currently it has paths like `/checkout/src/...` but these
are a little inconsistent and have changed over time. This commit instead
attempts to actually define the file paths in our debuginfo to be consistent
between releases.

All debuginfo paths are now intended to be `/rustc/$sha` where `$sha` is the git
sha of the released compiler. Sub-paths are all paths into the git repo at that
`$sha`.

5 years agofix typos in growth algo description
Val [Mon, 10 Sep 2018 16:02:16 +0000 (09:02 -0700)]
fix typos in growth algo description

modified to read "the first table overflows into the second, and the second into the first." plus smaller typos

5 years agoReexport CheckLintNameResult
flip1995 [Mon, 10 Sep 2018 15:13:31 +0000 (17:13 +0200)]
Reexport CheckLintNameResult

5 years agoadd link to https://github.com/rust-lang/rust/issues/54105
Niko Matsakis [Mon, 10 Sep 2018 15:03:11 +0000 (11:03 -0400)]
add link to https://github.com/rust-lang/rust/issues/54105

5 years agopropagate user-ascribes types down onto resulting bindings
Niko Matsakis [Mon, 10 Sep 2018 14:54:31 +0000 (10:54 -0400)]
propagate user-ascribes types down onto resulting bindings

But only in very simple cases.

5 years agoexpand the patterns test with a bunch more scenarios
Niko Matsakis [Mon, 10 Sep 2018 13:39:43 +0000 (09:39 -0400)]
expand the patterns test with a bunch more scenarios

5 years agoAuto merge of #54000 - jkozlowski:fix-53174, r=cramertj
bors [Mon, 10 Sep 2018 12:58:04 +0000 (12:58 +0000)]
Auto merge of #54000 - jkozlowski:fix-53174, r=cramertj

Allow named lifetimes in async functions.

- Fixes #53174

Code by @eddyb; @cramertj suggested I lift it off another change so we can fix #53174.

r? @cramertj

5 years agobump version
Jorge Aparicio [Mon, 10 Sep 2018 12:34:04 +0000 (14:34 +0200)]
bump version

5 years agooptimize `let x: T = ..` to avoid a temporary
Niko Matsakis [Wed, 5 Sep 2018 20:23:45 +0000 (16:23 -0400)]
optimize `let x: T = ..` to avoid a temporary

For some weird reason this fixes `intrinsic-move-val`. It also affects
various test heuristics. I removed one test (`reborrow_basic`) that
didn't seem to really be testing anything in particular anymore,
compared to all the other tests we've got.

5 years agogeneralize `AscribeUserType` to handle sub or super type
Niko Matsakis [Wed, 5 Sep 2018 19:52:01 +0000 (15:52 -0400)]
generalize `AscribeUserType` to handle sub or super type

5 years agoWIP remove incorrect nll.stderr reference files
Niko Matsakis [Wed, 5 Sep 2018 14:16:56 +0000 (10:16 -0400)]
WIP remove incorrect nll.stderr reference files

5 years agofix SCCs containing mixture of universes
Niko Matsakis [Wed, 5 Sep 2018 13:38:06 +0000 (09:38 -0400)]
fix SCCs containing mixture of universes

And add a test showing a universe violation getting caught.

5 years agofixup: rename `UserAssertTy` to `AscribeUserType`
Niko Matsakis [Tue, 4 Sep 2018 20:32:34 +0000 (16:32 -0400)]
fixup: rename `UserAssertTy` to `AscribeUserType`

This is some rebase pain.

5 years agopacify the mercilous tidy
Niko Matsakis [Mon, 3 Sep 2018 14:35:44 +0000 (10:35 -0400)]
pacify the mercilous tidy

5 years agoinsert `AscribeUserType` for ascriptions
Niko Matsakis [Fri, 31 Aug 2018 23:20:43 +0000 (19:20 -0400)]
insert `AscribeUserType` for ascriptions

5 years agoadd the `AscribeUserType` statement kind
Niko Matsakis [Fri, 31 Aug 2018 22:59:35 +0000 (18:59 -0400)]
add the `AscribeUserType` statement kind

Make it have the semantics of subtype.

5 years agomatches/mod.rs: rustfmt
Niko Matsakis [Fri, 31 Aug 2018 22:36:28 +0000 (18:36 -0400)]
matches/mod.rs: rustfmt

5 years agoadd a `AscribeUserType` pattern, largely ignored
Niko Matsakis [Fri, 31 Aug 2018 22:34:15 +0000 (18:34 -0400)]
add a `AscribeUserType` pattern, largely ignored

5 years agoremove the old `UserAssertTy` support
Niko Matsakis [Fri, 31 Aug 2018 22:34:03 +0000 (18:34 -0400)]
remove the old `UserAssertTy` support

5 years agonow that we can handle subtyping, fix higher-ranked equality
Niko Matsakis [Fri, 31 Aug 2018 21:04:07 +0000 (17:04 -0400)]
now that we can handle subtyping, fix higher-ranked equality

5 years agoadd a test for variables used twice
Niko Matsakis [Fri, 31 Aug 2018 21:03:56 +0000 (17:03 -0400)]
add a test for variables used twice

5 years agoAuto merge of #54011 - eddyb:anchored-in-the-future, r=petrochenkov
bors [Mon, 10 Sep 2018 10:28:53 +0000 (10:28 +0000)]
Auto merge of #54011 - eddyb:anchored-in-the-future, r=petrochenkov

rustc_resolve: inject `uniform_paths` canaries regardless of the feature-gate, on Rust 2018.

This PR is an attempt at future-proofing "anchored paths" by emitting the same ambiguity errors that `#![feature(uniform_paths)]` would, with slightly changed phrasing (see added UI tests).

Also, on top of #54005, this PR allows this as well:
```rust
use crate_name;
use crate_name::foo;
```
In that any ambiguity between an extern crate and an import *of that same crate* is ignored.

r? @petrochenkov cc @aturon @Centril @joshtriplett

5 years agorustc_resolve: ignore uniform_paths canaries that resolve to an import of the same...
Eduard-Mihai Burtescu [Mon, 10 Sep 2018 05:47:40 +0000 (08:47 +0300)]
rustc_resolve: ignore uniform_paths canaries that resolve to an import of the same crate.

5 years agorustc_resolve: inject `uniform_paths` canaries regardless of the feature-gate, on...
Eduard-Mihai Burtescu [Thu, 6 Sep 2018 19:45:26 +0000 (22:45 +0300)]
rustc_resolve: inject `uniform_paths` canaries regardless of the feature-gate, on Rust 2018.

5 years agoAuto merge of #53565 - PramodBisht:issue/53359_b, r=estebank
bors [Mon, 10 Sep 2018 07:48:45 +0000 (07:48 +0000)]
Auto merge of #53565 - PramodBisht:issue/53359_b, r=estebank

#53359: putting multiple unresolved import on single line

r? @estebank
Here is WIP implementation of #53359
this PR have clubbed multiple unresolved imports into a single line.
I think still two things need to improve like giving specific `label message` for each span of multi_span(how we can do this?) and second we are getting a warning while compiling, stating something like `E0432` have been passed before.

5 years agoAuto merge of #53854 - davidtwco:issue-53668, r=nikomatsakis
bors [Mon, 10 Sep 2018 04:05:14 +0000 (04:05 +0000)]
Auto merge of #53854 - davidtwco:issue-53668, r=nikomatsakis

if- and while-let-chains, take 2 - edition changes

Part of #53668.

r? @nikomatsakis

5 years agoAuto merge of #53936 - petrochenkov:2macpre, r=alexcrichton
bors [Mon, 10 Sep 2018 01:42:11 +0000 (01:42 +0000)]
Auto merge of #53936 - petrochenkov:2macpre, r=alexcrichton

resolve: Split macro prelude into built-in and user-defined parts

This is a refactoring that will help to remove `unshadowable_attrs` when https://github.com/rust-lang/rust/pull/53410 lands.

UPDATE: The second commit actually removes `unshadowable_attrs`.

5 years agoresolve: Remove `unshadowable_attrs`
Vadim Petrochenkov [Wed, 5 Sep 2018 19:43:11 +0000 (22:43 +0300)]
resolve: Remove `unshadowable_attrs`

5 years agoresolve: Split macro prelude into built-in and user-defined parts
Vadim Petrochenkov [Mon, 3 Sep 2018 22:14:58 +0000 (01:14 +0300)]
resolve: Split macro prelude into built-in and user-defined parts

5 years agoFeature gate non-builtin attributes in inner attribute position
Vadim Petrochenkov [Sun, 9 Sep 2018 22:54:51 +0000 (01:54 +0300)]
Feature gate non-builtin attributes in inner attribute position

5 years agoDon't compute padding of braces unless they are unmatched
Esteban Küber [Sun, 9 Sep 2018 21:55:46 +0000 (14:55 -0700)]
Don't compute padding of braces unless they are unmatched

5 years agoAuto merge of #53778 - petrochenkov:shadrelax2, r=nikomatsakis
bors [Sun, 9 Sep 2018 21:00:55 +0000 (21:00 +0000)]
Auto merge of #53778 - petrochenkov:shadrelax2, r=nikomatsakis

resolve: Relax shadowing restrictions on macro-expanded macros

Previously any macro-expanded macros weren't allowed to shadow macros from outer scopes.
Now only "more macro-expanded" macros cannot shadow "less macro-expanded" macros.
See comments to `fn may_appear_after` and added tests for more details and examples.

The functional changes are a21f6f588fc28c97533130ae44a6957b579ab58c and 46dd365ce9ca0a6b8653849b80267763c542842a, other commits are refactorings.

5 years agoupdate ui tests
Jorge Aparicio [Sun, 9 Sep 2018 20:08:42 +0000 (22:08 +0200)]
update ui tests

5 years agoadd generalization
Niko Matsakis [Fri, 31 Aug 2018 20:22:19 +0000 (16:22 -0400)]
add generalization

5 years agoinstantiate traversed binders rather than saving the scopes
Niko Matsakis [Fri, 31 Aug 2018 19:52:22 +0000 (15:52 -0400)]
instantiate traversed binders rather than saving the scopes

5 years agoadd a `first_free_index` parameter
Niko Matsakis [Fri, 31 Aug 2018 19:41:27 +0000 (15:41 -0400)]
add a `first_free_index` parameter

5 years agoadd ability to create region vars with explicit universe
Niko Matsakis [Wed, 29 Aug 2018 18:33:38 +0000 (14:33 -0400)]
add ability to create region vars with explicit universe