Commit Graph

83522 Commits

Author SHA1 Message Date
Oliver Schneider
5f42a0f005 Change debug printing to print in the old concise style 2018-09-11 13:49:10 +02:00
Oliver Schneider
68298a5087 Use assertion-like static assertions 2018-09-11 13:30:26 +02:00
Oliver Schneider
8053f6319a Rebase fallout 2018-09-11 12:06:37 +02:00
Oliver Schneider
1ec86708ca Split CrateNum into an enum instead of having magic constants 2018-09-11 11:30:47 +02:00
Oliver Schneider
d1b5231aa7 Fix const eval of ZST index operations to make the static assertion work 2018-09-11 11:27:12 +02:00
Oliver Schneider
24dca6aeca Simplify Scope/ScopeData to have less chance of introducing UB or size increases 2018-09-11 11:27:12 +02:00
Oliver Schneider
88ebb95f46 only allow restricting scalar layouts 2018-09-11 11:25:51 +02:00
Oliver Schneider
833dc7e682 Address attribute naming and use Bound enum 2018-09-11 11:25:51 +02:00
Oliver Schneider
a2c924b5ae Satisfy tidy 2018-09-11 11:25:29 +02:00
Oliver Schneider
3828e9e16f Use the same way to specifiy the SCOPE_DATA_* constants as used for the MAX 2018-09-11 11:25:29 +02:00
Oliver Schneider
06a041cbd3 Forbid the upper indices of IndexVec indices to allow for niche optimizations 2018-09-11 11:25:28 +02:00
Oliver Schneider
d272e2f6e2 Get rid of the non_zero lang item in favour of arbitrary range specifications 2018-09-11 11:19:48 +02:00
bors
7ee72070bd 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
2018-09-11 08:54:11 +00:00
Philipp Hansch
09973d227d
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.
2018-09-11 08:31:47 +02:00
bors
1f02f23263 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
2018-09-11 06:28:29 +00:00
bors
d6720cc810 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
2018-09-11 01:08:49 +00:00
Alex Crichton
00e6d54609 Update Cargo submodule
Bring in a few last-minute updates before the 1.30.0 release
2018-09-10 16:40:57 -07:00
Vadim Petrochenkov
de153d61f5 resolve: Reserve a few very special names in macro namespace 2018-09-11 01:13:55 +03:00
Vadim Petrochenkov
65c8c97bc7 resolve: Skip bang macros when resolving potentially built-in attributes 2018-09-11 00:30:44 +03:00
Vadim Petrochenkov
d0aaf895ee resolve: Future proof resolutions for potentially built-in attributes 2018-09-11 00:30:44 +03:00
Vadim Petrochenkov
730c5de281 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
2018-09-11 00:30:44 +03:00
Niko Matsakis
f95f23f0c3 fix incremental test
We are now carrying the user-given type through MIR, so it makes sense
that this would change the hash.
2018-09-10 17:24:43 -04:00
Niko Matsakis
5adbdf82f3 add test case 2018-09-10 17:21:01 -04:00
Niko Matsakis
b1a9f9eae8 visit the paths in pre-expansion macros 2018-09-10 17:12:55 -04:00
Niko Matsakis
38774aaf7f make add_pre_expansion_builtin add a pre-expansion lint
Copy-and-paste error.
2018-09-10 17:10:11 -04:00
Niko Matsakis
df37678b76 add FIXME related to ref x bindings 2018-09-10 14:12:20 -04:00
bors
551244f05b 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
2018-09-10 17:18:27 +00:00
Alex Crichton
5595aeb6b7 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`.
2018-09-10 10:10:38 -07:00
Val
abe0f027ae
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
2018-09-10 09:02:16 -07:00
flip1995
c549e656aa
Reexport CheckLintNameResult 2018-09-10 17:13:31 +02:00
Niko Matsakis
2b6f9664ed add link to https://github.com/rust-lang/rust/issues/54105 2018-09-10 11:03:11 -04:00
Niko Matsakis
e87bf30f5f propagate user-ascribes types down onto resulting bindings
But only in very simple cases.
2018-09-10 10:58:31 -04:00
Niko Matsakis
a8710539cb expand the patterns test with a bunch more scenarios 2018-09-10 09:39:43 -04:00
bors
3c3e372e18 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
2018-09-10 12:58:04 +00:00
Jorge Aparicio
d37658afbd bump version 2018-09-10 14:34:04 +02:00
Niko Matsakis
2f6628ecec 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.
2018-09-10 08:28:56 -04:00
Niko Matsakis
16f4e8ac1d generalize AscribeUserType to handle sub or super type 2018-09-10 08:28:31 -04:00
Niko Matsakis
9c5e7941ef WIP remove incorrect nll.stderr reference files 2018-09-10 08:22:31 -04:00
Niko Matsakis
fced2b1200 fix SCCs containing mixture of universes
And add a test showing a universe violation getting caught.
2018-09-10 08:22:31 -04:00
Niko Matsakis
f0e3a09bb8 fixup: rename UserAssertTy to AscribeUserType
This is some rebase pain.
2018-09-10 08:22:31 -04:00
Niko Matsakis
05a6e1e73f pacify the mercilous tidy 2018-09-10 08:22:31 -04:00
Niko Matsakis
7e1b97884b insert AscribeUserType for ascriptions 2018-09-10 08:22:31 -04:00
Niko Matsakis
dd3cc9669a add the AscribeUserType statement kind
Make it have the semantics of subtype.
2018-09-10 08:22:31 -04:00
Niko Matsakis
22f9bcce04 matches/mod.rs: rustfmt 2018-09-10 08:22:31 -04:00
Niko Matsakis
50754d0513 add a AscribeUserType pattern, largely ignored 2018-09-10 08:22:31 -04:00
Niko Matsakis
4b5f19a0b0 remove the old UserAssertTy support 2018-09-10 08:22:31 -04:00
Niko Matsakis
34575e693b now that we can handle subtyping, fix higher-ranked equality 2018-09-10 08:22:31 -04:00
Niko Matsakis
07e21b1e4b add a test for variables used twice 2018-09-10 08:22:31 -04:00
bors
595345419d 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
2018-09-10 10:28:53 +00:00
Eduard-Mihai Burtescu
d5da94a3b1 rustc_resolve: ignore uniform_paths canaries that resolve to an import of the same crate. 2018-09-10 11:48:46 +03:00