Commit Graph

92989 Commits

Author SHA1 Message Date
varkor
594685b5a2 token::LArrow can begin arguments
`<-` may indicate the start of a negative const argument.
2019-05-06 17:00:01 +01:00
bors
7ac02005f3 Auto merge of #60436 - Xanewok:update-rls, r=Manishearth
Update RLS and Cargo

Fixes the `test-fail` RLS toolstate caused by #59114.

r? @Centril @Manishearth
2019-05-06 06:00:43 +00:00
bors
eda0699443 Auto merge of #60569 - RalfJung:miri-visitor-generators, r=Centril
fix typo in enum variant name
2019-05-06 03:11:14 +00:00
bors
46d0ca00ad Auto merge of #60261 - matklad:one-escape, r=petrochenkov
introduce unescape module

A WIP PR to gauge early feedback

Currently, we deal with escape sequences twice: once when we [lex](112f7e9ac5/src/libsyntax/parse/lexer/mod.rs (L928-L1065)) a string, and a second time when we [unescape](112f7e9ac5/src/libsyntax/parse/mod.rs (L313-L366)) literals. Note that we also produce different sets of diagnostics in these two cases.

This PR aims to remove this duplication, by introducing a new `unescape` module as a single source of truth for character escaping rules.

I think this would be a useful cleanup by itself, but I also need this for https://github.com/rust-lang/rust/pull/59706.

In the current state, the PR has `unescape` module which fully (modulo bugs) deals with string and char literals. I am quite happy about the state of this module

What this PR doesn't have yet are:
* [x] handling of byte and byte string literals (should be simple to add)
* [x] good diagnostics
* [x] actual removal of code from lexer (giant `scan_char_or_byte` should go away completely)
* [x] performance check
* [x] general cleanup of the new code

Diagnostics will be the most labor-consuming bit here, but they are mostly a question of just correctly adjusting spans to sub-tokens. The current setup for diagnostics is that `unescape` produces a plain old `enum` with various problems, and they are rendered into `Handler` separately. This bit is not actually required (it is possible to just pass the `Handler` in), but I like the separation between diagnostics and logic this approach imposes, and such separation should again be useful for #59706

cc @eddyb , @petrochenkov
2019-05-06 00:16:16 +00:00
bors
40bd145cbe Auto merge of #60567 - Manishearth:rollup-rjagqnw, r=Manishearth
Rollup of 5 pull requests

Successful merges:

 - #60131 (Fix broken link in rustc_plugin doc)
 - #60426 (Stop `-O`/`-C opt-level` and `-g`/`-C debuginfo` conflicting)
 - #60515 (use span instead of div for since version)
 - #60530 (rustc: rename all occurences of "freevar" to "upvar".)
 - #60536 (Correct code points to match their textual description)

Failed merges:

r? @ghost
2019-05-05 21:11:47 +00:00
Ralf Jung
dc54cd0c60 fix typo in enum variant name 2019-05-05 22:53:56 +02:00
Manish Goregaokar
ff7ef116fb
Rollup merge of #60536 - brainplot:fix-unicode-character, r=dtolnay
Correct code points to match their textual description

Probably due to a copy-paste error, in the sentence

> For example, despite looking similar, the 'é' character is one Unicode code point while 'é' is two Unicode code points:

the two `é`'s were actually the same character in the text (i.e. the same Unicode character U+00E9).
The code listing below instead had two different Unicode characters for the two `é`s, as it was supposed to.
The example shown wasn't clear at first so I started inspecting the text and found this out.
I simply copied the character from the code listing to the description surrounding the code.
It's a minor thing but I thought it would make things clearer for others, especially since the example is about how Rust handles `char`s.
2019-05-05 12:37:31 -07:00
Manish Goregaokar
2c7712b3f1
Rollup merge of #60530 - eddyb:unfreevars, r=oli-obk
rustc: rename all occurences of "freevar" to "upvar".

Most of the more recent code talks about "(closure) upvars", so I believe that's the name we want to use.
There's also the possibility of using "capture" which is more user-facing, but I'd rather not change *both* "freevar" and "upvar" to something else in this one PR.

cc @nikomatsakis @petrochenkov
2019-05-05 12:37:30 -07:00
Manish Goregaokar
d475c4e853
Rollup merge of #60515 - euclio:div-in-heading, r=GuillaumeGomez
use span instead of div for since version

Fixes #60403.

r? @GuillaumeGomez
2019-05-05 12:37:29 -07:00
Manish Goregaokar
a8ed6777ee
Rollup merge of #60426 - varkor:fix-duplicate-arg-handling, r=alexcrichton
Stop `-O`/`-C opt-level` and `-g`/`-C debuginfo` conflicting

Allow `-O` and `-C opt-level`, and `-g` and `-C debuginfo` to be specified simultaneously without conflict. In such cases, the rightmost provided option is chosen.

Fixes https://github.com/rust-lang/rust/issues/7493.
Fixes https://github.com/rust-lang/rust/issues/32352.

~Blocked on https://github.com/rust-lang-nursery/getopts/pull/79.~

r? @alexcrichton
2019-05-05 12:37:27 -07:00
Manish Goregaokar
577b0b9c62
Rollup merge of #60131 - agnxy:doc-link, r=ehuss
Fix broken link in rustc_plugin doc

fix #57489
r? @steveklabnik
2019-05-05 12:37:26 -07:00
bors
d628c2e642 Auto merge of #60237 - saleemjaffer:issue-56166-miri-fntype-arg-passing, r=eddyb
Move pointee_info_at from rustc_codegen_llvm to rustc_target.

Makes progress towards #56166.

This is a continuation of https://github.com/rust-lang/rust/pull/57150.

@oli-obk Should I close the older PR?
2019-05-05 18:25:13 +00:00
Saleem Jaffer
968eb7ff5a code review fixes 2019-05-05 23:39:04 +05:30
Eduard-Mihai Burtescu
8d9f4a128c rustc: rename all occurences of "freevar" to "upvar". 2019-05-05 18:49:32 +03:00
Eduard-Mihai Burtescu
125dc60dab rustc: replace uses of with_freevars with the freevars query. 2019-05-05 18:48:42 +03:00
bors
c6b1698764 Auto merge of #60541 - RalfJung:miri-visitor-generators, r=oli-obk
fix Miri visiting generators

Fixes fall-out caused by https://github.com/rust-lang/rust/pull/59897.

r? @oli-obk
2019-05-05 15:28:08 +00:00
bors
5d8fd98d34 Auto merge of #60544 - petrochenkov:parder, r=eddyb
Rename `PathResolution` to `PartialRes`

Don't use `PartialRes` when `Res` is enough.
Rename `Res::kind_name` to `Res::descr` for consistency.
Remove `Res::Label`, paths can never resolve to labels.

Some further cleanup after https://github.com/rust-lang/rust/pull/60462
r? @eddyb
2019-05-05 12:30:14 +00:00
varkor
80f54ba881 Update Cargo.lock 2019-05-05 10:45:10 +01:00
varkor
12f63ecd29 Move run-make test to run-make-fulldeps 2019-05-05 10:45:10 +01:00
varkor
ecd046817b Update getopts to 0.2.19 2019-05-05 10:45:10 +01:00
varkor
d54cf00c77 Add comments 2019-05-05 10:45:10 +01:00
varkor
11b1d483b2 Add a run-make test for command aliases 2019-05-05 10:45:10 +01:00
varkor
e8e43c9e16 Fix argument alias handling for -g and -C debuginfo 2019-05-05 10:45:10 +01:00
varkor
e6da57f3e7 Fix argument alias handling for -O and -C opt-level 2019-05-05 10:45:10 +01:00
bors
d65e721ef8 Auto merge of #60525 - eddyb:namespaces-not-kinds, r=petrochenkov
rustc: collapse relevant DefPathData variants into {Type,Value,Macro,Lifetime}Ns.

`DefPathData` was meant to disambiguate within each namespace, but over the years, that purpose was overlooked, and it started to serve a double-role as a sort of `DefKind` (which #60462 properly adds).
Now, we can go back to *only* categorizing namespaces (at least for the variants with names in them).

r? @petrochenkov or @nikomatsakis cc @michaelwoerister
2019-05-05 06:34:13 +00:00
bors
c55b68aaef Auto merge of #60508 - varkor:const-generics-fold-ct-err, r=petrochenkov
Fix substs issues for const errors

Fixes https://github.com/rust-lang/rust/issues/60503.
2019-05-05 03:39:16 +00:00
bors
a823fa4fa8 Auto merge of #60476 - froydnj:aarch64-profiling, r=alexcrichton
build dist-aarch64-linux with --enable-profiler

This change should enable PGO to be used for aarch64-linux.

Fixes #57257.
2019-05-05 00:40:38 +00:00
bors
747dd57e0f Auto merge of #60415 - jespersm:pr_unused_import_45268, r=petrochenkov
Fix #45268 by saving all NodeId's for resolved traits.

This fixes #45268 by saving all NodeId's for resolved traits.

I've verifies this against master (but only on MacOS). However, with some recent changes in master, it appears that there are some failures on my machine. They are unrelated to my changes, anyway.
2019-05-04 21:50:11 +00:00
varkor
3e6787cb4c Early error for mixing order of const and type parameters 2019-05-04 22:28:08 +01:00
Vadim Petrochenkov
f5b5ca8b23 Revert Cargo.lock changes accidentally introduced during rebase 2019-05-05 00:12:38 +03:00
Jesper Steen Møller
6da7649f61 Delegate SmallVec's stable_hash to array's stable_hash. 2019-05-04 20:29:35 +02:00
Jesper Steen Møller
6802082039 Hash all of the import_ids for the TraitCandidate. 2019-05-04 20:29:35 +02:00
Jesper Steen Møller
fc34d5f608 Removed unneccesary reference for trait name 2019-05-04 20:29:35 +02:00
Jesper Steen Møller
7dbb5e3b49 Use binding autoref, because we can. 2019-05-04 20:29:34 +02:00
Jesper Steen Møller
42255d93ef Reuse 'kind' parameter. 2019-05-04 20:29:34 +02:00
Jesper Steen Møller
719890502e Improved name: first_import_id 2019-05-04 20:29:34 +02:00
Jesper Steen Møller
a300cab526 Revert the introduced typedefs 2019-05-04 20:29:34 +02:00
Jesper Steen Møller
5d2be7d1fa Fix misleading indentation 2019-05-04 20:29:33 +02:00
Jesper Steen Møller
5deec307f7 Fix #45268 by saving all NodeId's for resolved traits. 2019-05-04 20:29:33 +02:00
Vadim Petrochenkov
7da9250fb5 Remove Res::Label
Paths can never resolve to labels
2019-05-04 17:22:00 +03:00
Vadim Petrochenkov
85ddd1dc58 Rename Res::kind_name to Res::descr for consistency 2019-05-04 16:55:46 +03:00
Vadim Petrochenkov
917a0fbc1b Rename PathResolution to PartialRes
Don't use `PartialRes` when `Res` is enough
2019-05-04 16:55:46 +03:00
varkor
47f373128a Add tests 2019-05-04 14:39:43 +01:00
varkor
823293bf16 Fix subst error for consts in wfcheck 2019-05-04 14:39:43 +01:00
varkor
c187f71120 Fix subst error for consts in astconv 2019-05-04 14:39:43 +01:00
varkor
0439efbbee Improve subst error when parameter kinds mismatch 2019-05-04 14:39:43 +01:00
bors
8dd4aae9a8 Auto merge of #60538 - matthiaskrgr:submodule_upd, r=eddyb
submodules: update clippy from 2ed0b3bf to fc96aa03

Changes:
````
Rustup to rustc 1.36.0-nightly (13fde05b1 2019-05-03)
Fix link in into_iter_on_array documentation
remove function body from "too many args" span
check closure arguments before use it
format code
fix suggestion for search_is_some
fix suggestion for search_is_some naively
change |&x| to |x| in stderr file
cargo fmt
useless_let_if_seq handle interior mutability
````
Fixes https://github.com/rust-lang/rust/issues/60534
2019-05-04 13:08:58 +00:00
Saleem Jaffer
80d5478649 removing param_env from pointee_info_at 2019-05-04 18:06:40 +05:30
Ralf Jung
c5c161e394 match on type directlty 2019-05-04 13:49:04 +02:00
Ralf Jung
64967b693c fix Miri visiting generators 2019-05-04 13:14:56 +02:00