]> git.lizzy.rs Git - rust.git/log
rust.git
4 years agoUpdate version of `rustc-std-workspace-*` crates
Alex Crichton [Mon, 9 Sep 2019 20:01:05 +0000 (13:01 -0700)]
Update version of `rustc-std-workspace-*` crates

This commit updates the version of the `rustc-std-workspace-*` crates
in-tree which are used in `[patch]`. This will guarantee that Cargo will
select these versions even if minor updates are published to crates.io
because otherwise a newer version on crates.io would be preferred which
misses the point of `[patch]`!

4 years agoAuto merge of #63118 - Centril:stabilize-bind-by-move, r=matthewjasper
bors [Mon, 9 Sep 2019 12:46:59 +0000 (12:46 +0000)]
Auto merge of #63118 - Centril:stabilize-bind-by-move, r=matthewjasper

Stabilize `bind_by_move_pattern_guards` in Rust 1.39.0

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

After stabilizing `#![feature(bind_by_move_pattern_guards)]`, you can now use bind-by-move bindings in patterns and take references to those bindings in `if` guards of `match` expressions. For example, the following now becomes legal:

```rust
fn main() {
    let array: Box<[u8; 4]> = Box::new([1, 2, 3, 4]);

    match array {
        nums
//      ---- `nums` is bound by move.
            if nums.iter().sum::<u8>() == 10
//                 ^------ `.iter()` implicitly takes a reference to `nums`.
        => {
            drop(nums);
//          --------- Legal as `nums` was bound by move and so we have ownership.
        }
        _ => unreachable!(),
    }
}
```

r? @matthewjasper

4 years agoAuto merge of #64237 - estebank:tweak-method-not-found, r=Centril
bors [Mon, 9 Sep 2019 08:39:59 +0000 (08:39 +0000)]
Auto merge of #64237 - estebank:tweak-method-not-found, r=Centril

Give method not found a primary span label

4 years agoAuto merge of #64195 - mark-i-m:update-rustc-guide-1, r=ehuss
bors [Mon, 9 Sep 2019 04:44:18 +0000 (04:44 +0000)]
Auto merge of #64195 - mark-i-m:update-rustc-guide-1, r=ehuss

Update rustc-guide

r? @ehuss

4 years agoGive method not found a primary span label
Esteban Küber [Fri, 6 Sep 2019 19:00:07 +0000 (12:00 -0700)]
Give method not found a primary span label

4 years agoupdate guide
mark [Fri, 6 Sep 2019 21:01:46 +0000 (16:01 -0500)]
update guide

4 years agoupdate rustc-guide
Mark Mansi [Thu, 5 Sep 2019 22:03:12 +0000 (17:03 -0500)]
update rustc-guide

4 years agoAuto merge of #64108 - estebank:issue-36836, r=Centril
bors [Mon, 9 Sep 2019 00:58:38 +0000 (00:58 +0000)]
Auto merge of #64108 - estebank:issue-36836, r=Centril

Do not complain about unconstrained params when Self is Ty Error

Fix #36836.

4 years agoAuto merge of #64293 - Centril:rollup-blnhxwl, r=Centril
bors [Sun, 8 Sep 2019 20:51:22 +0000 (20:51 +0000)]
Auto merge of #64293 - Centril:rollup-blnhxwl, r=Centril

Rollup of 4 pull requests

Successful merges:

 - #64078 (compiletest: disable -Aunused for run-pass tests)
 - #64263 (Replace "feature gated" wording with "unstable".)
 - #64280 (Factor out pluralisation into syntax::errors)
 - #64288 (use 'get_toml' instead of regular expression)

Failed merges:

r? @ghost

4 years agoRollup merge of #64288 - guanqun:use-get-toml, r=Mark-Simulacrum
Mazdak Farrokhzad [Sun, 8 Sep 2019 20:34:26 +0000 (22:34 +0200)]
Rollup merge of #64288 - guanqun:use-get-toml, r=Mark-Simulacrum

use 'get_toml' instead of regular expression

4 years agoRollup merge of #64280 - V1shvesh:master, r=Centril
Mazdak Farrokhzad [Sun, 8 Sep 2019 20:34:24 +0000 (22:34 +0200)]
Rollup merge of #64280 - V1shvesh:master, r=Centril

Factor out pluralisation into syntax::errors

Fixes #64238.

4 years agoRollup merge of #64263 - crlf0710:improve_wording, r=petrochenkov
Mazdak Farrokhzad [Sun, 8 Sep 2019 20:34:23 +0000 (22:34 +0200)]
Rollup merge of #64263 - crlf0710:improve_wording, r=petrochenkov

Replace "feature gated" wording with "unstable".

4 years agoRollup merge of #64078 - Mark-Simulacrum:compiletest-lint-unused, r=petrochenkov
Mazdak Farrokhzad [Sun, 8 Sep 2019 20:34:22 +0000 (22:34 +0200)]
Rollup merge of #64078 - Mark-Simulacrum:compiletest-lint-unused, r=petrochenkov

compiletest: disable -Aunused for run-pass tests

Disabled the flag, but that led to quite a bit of fall out -- I think most of it is benign but I've not investigated thoroughly.

r? @petrochenkov

4 years agoDedent macro definition
V1shvesh [Sun, 8 Sep 2019 17:31:43 +0000 (23:01 +0530)]
Dedent macro definition

4 years agoRemove extra trailing newline
V1shvesh [Sun, 8 Sep 2019 17:28:28 +0000 (22:58 +0530)]
Remove extra trailing newline

4 years agoAuto merge of #63994 - Centril:refactor-qualify-consts, r=spastorino,oli-obk
bors [Sun, 8 Sep 2019 16:49:39 +0000 (16:49 +0000)]
Auto merge of #63994 - Centril:refactor-qualify-consts, r=spastorino,oli-obk

Refactor the `MirPass for QualifyAndPromoteConstants`

This is an accumulation of drive-by commits while working on `Vec::new` as a stable `const fn`.
The PR is probably easiest read commit-by-commit.

r? @oli-obk

cc @eddyb @ecstatic-morse -- your two PRs https://github.com/rust-lang/rust/pull/63812 and https://github.com/rust-lang/rust/pull/63860 respectively will conflict with this a tiny bit but it should be trivial to reintegrate your changes atop of this.

4 years agouse 'get_toml' instead of regular expression
Guanqun Lu [Sun, 8 Sep 2019 08:26:06 +0000 (16:26 +0800)]
use 'get_toml' instead of regular expression

4 years agoUpdate test stderr with results of enabling unused lints
Mark Rousskov [Sun, 1 Sep 2019 21:30:19 +0000 (17:30 -0400)]
Update test stderr with results of enabling unused lints

4 years agoAuto merge of #64281 - Centril:rollup-inyqjf8, r=Centril
bors [Sun, 8 Sep 2019 13:02:54 +0000 (13:02 +0000)]
Auto merge of #64281 - Centril:rollup-inyqjf8, r=Centril

Rollup of 4 pull requests

Successful merges:

 - #62205 (Add Iterator comparison methods that take a comparison function)
 - #64152 (Use backtrace formatting from the backtrace crate)
 - #64265 (resolve: Mark more erroneous imports as used)
 - #64267 (rustdoc: fix diagnostic with mixed code block styles)

Failed merges:

r? @ghost

4 years agoRollup merge of #64267 - ehuss:rustdoc-fix-mixed-code-block, r=GuillaumeGomez
Mazdak Farrokhzad [Sun, 8 Sep 2019 10:11:59 +0000 (12:11 +0200)]
Rollup merge of #64267 - ehuss:rustdoc-fix-mixed-code-block, r=GuillaumeGomez

rustdoc: fix diagnostic with mixed code block styles

This fixes a relatively obscure issue where the diagnostic (emitted [here](https://github.com/rust-lang/rust/blame/ef54f57c5b9d894a38179d09b00610c1b337b086/src/librustdoc/passes/check_code_block_syntax.rs#L69)) would get confused since the "is_fenced" flag wasn't reset properly.

4 years agoRollup merge of #64265 - petrochenkov:useerr, r=estebank
Mazdak Farrokhzad [Sun, 8 Sep 2019 10:11:57 +0000 (12:11 +0200)]
Rollup merge of #64265 - petrochenkov:useerr, r=estebank

resolve: Mark more erroneous imports as used

Fixes https://github.com/rust-lang/rust/issues/63724
r? @estebank

4 years agoRollup merge of #64152 - cramertj:update-backtrace, r=alexcrichton
Mazdak Farrokhzad [Sun, 8 Sep 2019 10:11:56 +0000 (12:11 +0200)]
Rollup merge of #64152 - cramertj:update-backtrace, r=alexcrichton

Use backtrace formatting from the backtrace crate

r? @alexcrichton

4 years agoRollup merge of #62205 - timvermeulen:iter_order_by, r=KodrAus
Mazdak Farrokhzad [Sun, 8 Sep 2019 10:11:55 +0000 (12:11 +0200)]
Rollup merge of #62205 - timvermeulen:iter_order_by, r=KodrAus

Add Iterator comparison methods that take a comparison function

This PR adds `Iterator::{cmp_by, partial_cmp_by, eq_by, ne_by, lt_by, le_by, gt_by, ge_by}`. We already have `Iterator::{cmp, partial_cmp, ...}` which are less general (but not any simpler) than the ones I'm proposing here.

I'm submitting this PR now because #61505 has been merged, so this change should not have a noticeable effect on the `Iterator` docs page size.

The diff is quite messy, here's what I changed:
- The logic of `cmp` / `partial_cmp` / `eq` is moved to `cmp_by` / `partial_cmp_by` / `eq_by` respectively, changing `x.cmp(&y)` to `cmp(&x, &y)` in the `cmp` method where `cmp` is the given comparison function (and similar for `partial_cmp_by` and `eq_by`).
- `ne_by` / `lt_by` / `le_by` / `gt_by` / `ge_by` are each implemented in terms of one of the three methods above.
- The existing comparison methods are each forwarded to their `_by` counterpart, passing one of `Ord::cmp` / `PartialOrd::partial_cmp` / `PartialEq::eq` as the comparison function.

The corresponding `_by_key` methods aren't included because they're not as fundamental as the `_by` methods and can easily be implemented in terms of them. Is that reasonable, or would adding the `_by_key` methods be desirable for the sake of completeness?

I didn't add any tests – I couldn't think of any that weren't already covered by our existing tests. Let me know if there's a particular test that would be useful to add.

4 years agoRefactor Pluralisation
V1shvesh [Sun, 8 Sep 2019 09:30:08 +0000 (15:00 +0530)]
Refactor Pluralisation

Modify files performing pluralisation checks to incorporate the
dedicated macro located in `syntax::errors`.

4 years agoAdd pluralise macro
V1shvesh [Sun, 8 Sep 2019 09:27:03 +0000 (14:57 +0530)]
Add pluralise macro

Adress issue #64238. Create a macro to be used for pluralisation check
throughout rustc codebase.

4 years agoAuto merge of #64096 - GuillaumeGomez:theme-regex-fix, r=Mark-Simulacrum
bors [Sun, 8 Sep 2019 06:06:39 +0000 (06:06 +0000)]
Auto merge of #64096 - GuillaumeGomez:theme-regex-fix, r=Mark-Simulacrum

Fix regex replacement in theme detection

Fixes #64061.

This is sadly a lot of bad luck: after making the changes and re-build the docs, I just forgot to force reload the page. Hence having the old (working) version with two replacements instead of the failing regex. Sorry again about that...

cc @fenhl
r? @Mark-Simulacrum

4 years agoAuto merge of #64044 - Mark-Simulacrum:rustdoc-clean-2, r=GuillaumeGomez
bors [Sun, 8 Sep 2019 02:12:24 +0000 (02:12 +0000)]
Auto merge of #64044 - Mark-Simulacrum:rustdoc-clean-2, r=GuillaumeGomez

Rustdoc: formatting to buffers

This should be reviewed commit-by-commit.

I've not attempted to fully flesh out what the end state of this PR could look like yet as I wanted to get it up for some early feedback (I already think this has some wins, too, so we could land it as-is).

The primary idea with `Buffer` is that it internally tracks whether we're printing to HTML or text, and the goal is that eventually instead of branch on `fmt.alternate()` anywhere, we'd call a helper like `buf.nbsp()` which would either return `&nbsp;` or ` ` depending on the target we're printing to. Obviously, that's not included in this PR, in part because it was already getting quite big.

4 years agoImprove wording.
Charles Lew [Sun, 8 Sep 2019 01:34:24 +0000 (09:34 +0800)]
Improve wording.

4 years agobind-by-move: add E0008 commented out to error_codes.rs
Mazdak Farrokhzad [Thu, 5 Sep 2019 17:37:38 +0000 (19:37 +0200)]
bind-by-move: add E0008 commented out to error_codes.rs

4 years agobootstrap -> boostrap_stdarch_ignore_this
Mazdak Farrokhzad [Tue, 20 Aug 2019 03:03:58 +0000 (05:03 +0200)]
bootstrap -> boostrap_stdarch_ignore_this

4 years agoTests: No longer emitting 0008, E0301, E0302.
Mazdak Farrokhzad [Tue, 30 Jul 2019 03:56:02 +0000 (05:56 +0200)]
Tests: No longer emitting 0008, E0301, E0302.

4 years agoUpdate tests wrt. bind_by_by_move_pattern_guards stabilization.
Mazdak Farrokhzad [Mon, 29 Jul 2019 23:25:30 +0000 (01:25 +0200)]
Update tests wrt. bind_by_by_move_pattern_guards stabilization.

4 years agoMove to buffers throughout print_item
Mark Rousskov [Sat, 31 Aug 2019 19:47:55 +0000 (15:47 -0400)]
Move to buffers throughout print_item

4 years agoItem to function
Mark Rousskov [Sat, 31 Aug 2019 17:29:31 +0000 (13:29 -0400)]
Item to function

4 years agoAllTypes to function
Mark Rousskov [Sat, 31 Aug 2019 16:31:55 +0000 (12:31 -0400)]
AllTypes to function

4 years agoSettings to function
Mark Rousskov [Sat, 31 Aug 2019 16:27:27 +0000 (12:27 -0400)]
Settings to function

4 years agoMove Source to Buffer
Mark Rousskov [Sat, 31 Aug 2019 16:20:56 +0000 (12:20 -0400)]
Move Source to Buffer

4 years agolayout::render takes Print instead of fmt::Display
Mark Rousskov [Sat, 31 Aug 2019 16:18:25 +0000 (12:18 -0400)]
layout::render takes Print instead of fmt::Display

4 years agoDe-indent all fmt::Display impls for later replacement to functions
Mark Rousskov [Sat, 31 Aug 2019 15:34:37 +0000 (11:34 -0400)]
De-indent all fmt::Display impls for later replacement to functions

4 years agoDelete Sidebar struct in favor of FnOnce impl
Mark Rousskov [Sat, 31 Aug 2019 15:32:47 +0000 (11:32 -0400)]
Delete Sidebar struct in favor of FnOnce impl

4 years agoImplement Print for FnOnce(&mut Buffer)
Mark Rousskov [Sat, 31 Aug 2019 15:22:51 +0000 (11:22 -0400)]
Implement Print for FnOnce(&mut Buffer)

This means that callers can pass in a closure like
`|buf| some_function(..., &mut buf)` and pass in arbitrary arguments to
that function without complicating the trait definition. We also keep
the impl for str and String, since it's useful to be able to just pass
in "" or format!("{}"...) results in some cases.

This changes Print's definition to take self, instead of &self, because
otherwise FnOnce cannot be called directly. We could instead take FnMut
or even Fn, but that seems like it'd merely complicate matters -- most
of the time, the FnOnce does not constrain us at all anyway. If it does,
a custom Print impl for &'_ SomeStruct is not all that painful.

4 years agoMove sidebar to Buffer-printing
Mark Rousskov [Sat, 31 Aug 2019 13:07:29 +0000 (09:07 -0400)]
Move sidebar to Buffer-printing

4 years agoRemove unnecessary Buffer in layout::render
Mark Rousskov [Sat, 31 Aug 2019 12:52:04 +0000 (08:52 -0400)]
Remove unnecessary Buffer in layout::render

4 years agoReplace writeln!/write! with push_str
Mark Rousskov [Sat, 31 Aug 2019 12:45:44 +0000 (08:45 -0400)]
Replace writeln!/write! with push_str

4 years agoMove constant parameters to render to Layout struct
Mark Rousskov [Fri, 30 Aug 2019 14:51:13 +0000 (10:51 -0400)]
Move constant parameters to render to Layout struct

4 years agoRemove needless clone of layout
Mark Rousskov [Fri, 30 Aug 2019 14:41:56 +0000 (10:41 -0400)]
Remove needless clone of layout

4 years agoCreate buffers in top-level rendering
Mark Rousskov [Fri, 30 Aug 2019 14:35:14 +0000 (10:35 -0400)]
Create buffers in top-level rendering

This avoids needlessly creating and threading the buffers through when
we only use them once.

4 years agoMigrate top-level rendering to Buffer
Mark Rousskov [Fri, 30 Aug 2019 14:24:42 +0000 (10:24 -0400)]
Migrate top-level rendering to Buffer

4 years agoAdd buffer abstraction
Mark Rousskov [Tue, 27 Aug 2019 21:09:13 +0000 (17:09 -0400)]
Add buffer abstraction

4 years agorun-pass tests shouldn't have unused contents
Mark Rousskov [Sun, 1 Sep 2019 21:05:02 +0000 (17:05 -0400)]
run-pass tests shouldn't have unused contents

4 years agoDont use gate bind_by_move_pattern_guards internally.
Mazdak Farrokhzad [Mon, 29 Jul 2019 21:36:58 +0000 (23:36 +0200)]
Dont use gate bind_by_move_pattern_guards internally.

4 years agoUpdate bind_and_guard_matched_candidate docs.
Mazdak Farrokhzad [Mon, 29 Jul 2019 21:35:43 +0000 (23:35 +0200)]
Update bind_and_guard_matched_candidate docs.

4 years agoStabilize bind_by_move_pattern_guards in 1.39.0.
Mazdak Farrokhzad [Mon, 29 Jul 2019 21:29:14 +0000 (23:29 +0200)]
Stabilize bind_by_move_pattern_guards in 1.39.0.

4 years agoAuto merge of #64269 - Centril:rollup-y4dm32c, r=Centril
bors [Sat, 7 Sep 2019 22:08:30 +0000 (22:08 +0000)]
Auto merge of #64269 - Centril:rollup-y4dm32c, r=Centril

Rollup of 5 pull requests

Successful merges:

 - #64052 (Rename test locals to work around LLDB bug)
 - #64066 (Support "soft" feature-gating using a lint)
 - #64177 (resolve: Do not afraid to set current module to enums and traits)
 - #64229 (Reduce span to function name in unreachable calls)
 - #64255 (Add methods for converting `bool` to `Option<T>`)

Failed merges:

r? @ghost

4 years agoRollup merge of #64255 - varkor:bool-to-option, r=Centril
Mazdak Farrokhzad [Sat, 7 Sep 2019 22:07:36 +0000 (00:07 +0200)]
Rollup merge of #64255 - varkor:bool-to-option, r=Centril

Add methods for converting `bool` to `Option<T>`

This provides a reference implementation for https://github.com/rust-lang/rfcs/pull/2757.

4 years agoRollup merge of #64229 - kawa-yoiko:unreachable-call-lint, r=estebank
Mazdak Farrokhzad [Sat, 7 Sep 2019 22:07:34 +0000 (00:07 +0200)]
Rollup merge of #64229 - kawa-yoiko:unreachable-call-lint, r=estebank

Reduce span to function name in unreachable calls

As title suggests, this might close #64103. Refer to the updated tests for expected output.

There is potential to further improve usability. In particular, is it favourable that the exact diverging expression/statement be pointed out (not only in this case, but for all unreachable code)? Certainly that would deserve another issue, but I'm interested in the opinions.

4 years agoRollup merge of #64177 - petrochenkov:curmod, r=matthewjasper
Mazdak Farrokhzad [Sat, 7 Sep 2019 22:07:33 +0000 (00:07 +0200)]
Rollup merge of #64177 - petrochenkov:curmod, r=matthewjasper

resolve: Do not afraid to set current module to enums and traits

After https://github.com/rust-lang/rust/pull/63535/commits/cfbb60bf6d83fbcfcca1f2919131aa39fb997b53 it's ok.

This is likely required for https://github.com/rust-lang/rust/pull/63468 to work correctly, because that PR starts resolving attributes on enum variants.

r? @matthewjasper @c410-f3r

4 years agoRollup merge of #64066 - petrochenkov:softstab, r=matthewjasper
Mazdak Farrokhzad [Sat, 7 Sep 2019 22:07:31 +0000 (00:07 +0200)]
Rollup merge of #64066 - petrochenkov:softstab, r=matthewjasper

Support "soft" feature-gating using a lint

Use it for feature-gating `#[bench]`.

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

4 years agoRollup merge of #64052 - ranweiler:debuginfo-boxed-struct-64050, r=alexcrichton
Mazdak Farrokhzad [Sat, 7 Sep 2019 22:07:30 +0000 (00:07 +0200)]
Rollup merge of #64052 - ranweiler:debuginfo-boxed-struct-64050, r=alexcrichton

Rename test locals to work around LLDB bug

LLDB's expression parser can't unambiguously resolve local variables in
some cases, as described in #47938. Work around this by using names that
don't shadow direct submodules of `core`.

Closes #64050.

4 years agoTurn `soft_unstable` into a future-compatibility lint
Vadim Petrochenkov [Sat, 7 Sep 2019 19:23:53 +0000 (22:23 +0300)]
Turn `soft_unstable` into a future-compatibility lint

4 years agorustdoc: fix diagnostic with mixed code block styles
Eric Huss [Sat, 7 Sep 2019 19:21:32 +0000 (12:21 -0700)]
rustdoc: fix diagnostic with mixed code block styles

4 years agoSupport "soft" feature-gating using a lint
Vadim Petrochenkov [Sun, 1 Sep 2019 11:54:57 +0000 (14:54 +0300)]
Support "soft" feature-gating using a lint

Use it for feature-gating `#[bench]`

4 years agoresolve: Mark more erroneous imports as used
Vadim Petrochenkov [Sat, 7 Sep 2019 16:34:25 +0000 (19:34 +0300)]
resolve: Mark more erroneous imports as used

4 years agoAuto merge of #64264 - Centril:rollup-w1khzun, r=Centril
bors [Sat, 7 Sep 2019 18:02:22 +0000 (18:02 +0000)]
Auto merge of #64264 - Centril:rollup-w1khzun, r=Centril

Rollup of 7 pull requests

Successful merges:

 - #64023 (libstd fuchsia fixes)
 - #64098 (Ensure edition lints and internal lints are enabled with deny-warnings=false)
 - #64139 (Migrate internal diagnostic registration to macro_rules)
 - #64226 (Aggregation of cosmetic changes made during work on REPL PRs: libsyntax)
 - #64227 (Aggregation of cosmetic changes made during work on REPL PRs: librustc)
 - #64235 (Upgrade env_logger to 0.6)
 - #64258 (compiletest: Match suffixed environments)

Failed merges:

r? @ghost

4 years agoRollup merge of #64258 - smaeul:patch/arm-tests, r=Mark-Simulacrum
Mazdak Farrokhzad [Sat, 7 Sep 2019 18:01:50 +0000 (20:01 +0200)]
Rollup merge of #64258 - smaeul:patch/arm-tests, r=Mark-Simulacrum

compiletest: Match suffixed environments

This fixes a case where an `ignore-musl` test was not ignored on
`armv7-unknown-linux-musleabihf` because the environment did not exactly
match. Only enforce that the environment starts with the argument to
`ignore-`.

4 years agoRollup merge of #64235 - mati865:env_logger, r=alexcrichton
Mazdak Farrokhzad [Sat, 7 Sep 2019 18:01:48 +0000 (20:01 +0200)]
Rollup merge of #64235 - mati865:env_logger, r=alexcrichton

Upgrade env_logger to 0.6

4 years agoRollup merge of #64227 - alexreg:rush-pr-4, r=centril
Mazdak Farrokhzad [Sat, 7 Sep 2019 18:01:47 +0000 (20:01 +0200)]
Rollup merge of #64227 - alexreg:rush-pr-4, r=centril

Aggregation of cosmetic changes made during work on REPL PRs: librustc

Factored out from hacking on rustc for work on the REPL.

r? @Centril

4 years agoRollup merge of #64226 - alexreg:rush-pr-3, r=centril
Mazdak Farrokhzad [Sat, 7 Sep 2019 18:01:45 +0000 (20:01 +0200)]
Rollup merge of #64226 - alexreg:rush-pr-3, r=centril

Aggregation of cosmetic changes made during work on REPL PRs: libsyntax

Factored out from hacking on rustc for work on the REPL.

r? @Centril

4 years agoRollup merge of #64139 - Mark-Simulacrum:strip-legacy-proc-macro, r=petrochenkov
Mazdak Farrokhzad [Sat, 7 Sep 2019 18:01:44 +0000 (20:01 +0200)]
Rollup merge of #64139 - Mark-Simulacrum:strip-legacy-proc-macro, r=petrochenkov

Migrate internal diagnostic registration to macro_rules

Review is best done commit-by-commit.

Fixes #64132.

4 years agoRollup merge of #64098 - Mark-Simulacrum:always-warn, r=alexcrichton
Mazdak Farrokhzad [Sat, 7 Sep 2019 18:01:43 +0000 (20:01 +0200)]
Rollup merge of #64098 - Mark-Simulacrum:always-warn, r=alexcrichton

Ensure edition lints and internal lints are enabled with deny-warnings=false

Previously we only passed the deny command line flags if deny-warnings was enabled, but now we either pass -W... or -D... for each of the flags as appropriate.

This is also a breaking change to x.py as it changes `--warnings=allow` to `--warnings=warn` which is what that flag actually did; we don't have an allow warnings mode.

4 years agoRollup merge of #64023 - tmandry:libstd-fuchsia-fixes, r=cramertj
Mazdak Farrokhzad [Sat, 7 Sep 2019 18:01:41 +0000 (20:01 +0200)]
Rollup merge of #64023 - tmandry:libstd-fuchsia-fixes, r=cramertj

libstd fuchsia fixes

This fixes two bugs in libstd on Fuchsia:

- `zx_time_t` was changed to an `i64`, but this never made it into libstd
- When spawning processes where any of the stdio were null, libstd attempts to open `/dev/null`, which doesn't exist on Fuchsia

r? @cramertj

4 years agoAdd tracking issue
varkor [Sat, 7 Sep 2019 16:06:39 +0000 (17:06 +0100)]
Add tracking issue

4 years agoMove `libcore/bool/mod.rs` to `libcore/bool.rs`
varkor [Sat, 7 Sep 2019 16:04:19 +0000 (17:04 +0100)]
Move `libcore/bool/mod.rs` to `libcore/bool.rs`

4 years agocompiletest: Match suffixed environments
Samuel Holland [Tue, 3 Sep 2019 03:10:10 +0000 (22:10 -0500)]
compiletest: Match suffixed environments

This fixes a case where an `ignore-musl` test was not ignored on
`armv7-unknown-linux-musleabihf` because the environment did not exactly
match. Only enforce that the environment starts with the argument to
`ignore-`.

4 years agoApply suggestions from code review
Alexander Regueiro [Fri, 6 Sep 2019 21:38:07 +0000 (22:38 +0100)]
Apply suggestions from code review

4 years agoAggregation of cosmetic changes made during work on REPL PRs: libsyntax
Alexander Regueiro [Fri, 6 Sep 2019 02:56:45 +0000 (03:56 +0100)]
Aggregation of cosmetic changes made during work on REPL PRs: libsyntax

4 years agoApply suggestions from code review
Alexander Regueiro [Fri, 6 Sep 2019 20:05:37 +0000 (21:05 +0100)]
Apply suggestions from code review

Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
4 years agoAggregation of cosmetic changes made during work on REPL PRs: librustc
Alexander Regueiro [Fri, 6 Sep 2019 02:57:44 +0000 (03:57 +0100)]
Aggregation of cosmetic changes made during work on REPL PRs: librustc

4 years agoAdd `bool::then` and `bool::then_with`
varkor [Sat, 7 Sep 2019 14:49:27 +0000 (15:49 +0100)]
Add `bool::then` and `bool::then_with`

4 years agoresolve: Adjust `hygienic_lexical_parent` to account for enum and trait modules
Vadim Petrochenkov [Sat, 7 Sep 2019 14:33:50 +0000 (17:33 +0300)]
resolve: Adjust `hygienic_lexical_parent` to account for enum and trait modules

4 years agoresolve: Do not afraid to set current module to enums and traits
Vadim Petrochenkov [Thu, 5 Sep 2019 15:04:58 +0000 (18:04 +0300)]
resolve: Do not afraid to set current module to enums and traits

4 years agoAdd "bool" lang item
varkor [Sat, 7 Sep 2019 12:16:18 +0000 (13:16 +0100)]
Add "bool" lang item

4 years agoAuto merge of #64246 - Centril:rollup-zey4o09, r=Centril
bors [Sat, 7 Sep 2019 10:22:58 +0000 (10:22 +0000)]
Auto merge of #64246 - Centril:rollup-zey4o09, r=Centril

Rollup of 10 pull requests

Successful merges:

 - #63919 (Use hygiene for AST passes)
 - #63927 (Filter linkcheck spurious failure)
 - #64149 (rustc_codegen_llvm: give names to non-alloca variable values.)
 - #64192 (Bail out when encountering likely missing turbofish in parser)
 - #64231 (Move the HIR CFG to `rustc_ast_borrowck`)
 - #64233 (Correct pluralisation of various diagnostic messages)
 - #64236 (reduce visibility)
 - #64240 (Include compiler-rt in the source tarball)
 - #64241 ([doc] Added more prereqs and note about default directory)
 - #64243 (Move injection of attributes from command line to `libsyntax_ext`)

Failed merges:

r? @ghost

4 years agoRollup merge of #64243 - petrochenkov:cmdattr, r=alexcrichton
Mazdak Farrokhzad [Sat, 7 Sep 2019 06:06:17 +0000 (08:06 +0200)]
Rollup merge of #64243 - petrochenkov:cmdattr, r=alexcrichton

Move injection of attributes from command line to `libsyntax_ext`

Just a tiny bit of code generation that wasn't moved into `libsyntax_ext` in https://github.com/rust-lang/rust/pull/62771.

4 years agoRollup merge of #64241 - adityaatluri:install-doc, r=Mark-Simulacrum
Mazdak Farrokhzad [Sat, 7 Sep 2019 06:06:15 +0000 (08:06 +0200)]
Rollup merge of #64241 - adityaatluri:install-doc, r=Mark-Simulacrum

[doc] Added more prereqs and note about default directory

4 years agoRollup merge of #64240 - maurer:include-compiler-rt, r=alexcrichton
Mazdak Farrokhzad [Sat, 7 Sep 2019 06:06:14 +0000 (08:06 +0200)]
Rollup merge of #64240 - maurer:include-compiler-rt, r=alexcrichton

Include compiler-rt in the source tarball

In #60981 we switched to using src/llvm-project/compiler-rt inside
compiler-builtins rather than a separate copy of it.
In order to have the "c" feature turn on in builds from the source
tarball, we need to include that path in its creation.

fixes #64239

4 years agoRollup merge of #64236 - matklad:reduce-visibility, r=Centril
Mazdak Farrokhzad [Sat, 7 Sep 2019 06:06:13 +0000 (08:06 +0200)]
Rollup merge of #64236 - matklad:reduce-visibility, r=Centril

reduce visibility

4 years agoRollup merge of #64233 - varkor:correct-pluralisation, r=estebank
Mazdak Farrokhzad [Sat, 7 Sep 2019 06:06:11 +0000 (08:06 +0200)]
Rollup merge of #64233 - varkor:correct-pluralisation, r=estebank

Correct pluralisation of various diagnostic messages

4 years agoRollup merge of #64231 - matthewjasper:move-ast-cfg, r=Centril
Mazdak Farrokhzad [Sat, 7 Sep 2019 06:06:10 +0000 (08:06 +0200)]
Rollup merge of #64231 - matthewjasper:move-ast-cfg, r=Centril

Move the HIR CFG to `rustc_ast_borrowck`

No new code should be using it.

4 years agoRollup merge of #64192 - estebank:turbofish-madness, r=petrochenkov
Mazdak Farrokhzad [Sat, 7 Sep 2019 06:06:09 +0000 (08:06 +0200)]
Rollup merge of #64192 - estebank:turbofish-madness, r=petrochenkov

Bail out when encountering likely missing turbofish in parser

When encountering a likely intended turbofish without `::`, bubble
up the diagnostic instead of emitting it to allow the parser to recover
more gracefully and avoid uneccessary type errors that are likely to be
wrong.

Fix #61329.

4 years agoRollup merge of #64149 - eddyb:llvm-var-names, r=rkruppe
Mazdak Farrokhzad [Sat, 7 Sep 2019 06:06:07 +0000 (08:06 +0200)]
Rollup merge of #64149 - eddyb:llvm-var-names, r=rkruppe

rustc_codegen_llvm: give names to non-alloca variable values.

These names only matter when looking at LLVM IR, but they can help.

When one value is used for multiple variables, I decided to combine the names.
I chose `,` as a separator but maybe `=` or ` ` (space) are more appropriate.
(LLVM names can contain any characters - if necessary they end up having quotes)

As an example, this function:
```rust
#[no_mangle]
pub fn test(a: u32, b: u32) -> u32 {
    let c = a + b;
    let d = c;
    let e = d * a;
    e
}
```
Used to produce this LLVM IR:
```llvm
define i32 @test(i32 %a, i32 %b) unnamed_addr #0 {
start:
  %0 = add i32 %a, %b
  %1 = mul i32 %0, %a
  ret i32 %1
}
```
But after this PR you get this:
```llvm
define i32 @test(i32 %a, i32 %b) unnamed_addr #0 {
start:
  %"c,d" = add i32 %a, %b
  %e = mul i32 %"c,d", %a
  ret i32 %e
}
```

cc @nagisa @rkruppe

4 years agoRollup merge of #63927 - mark-i-m:filter-spurious, r=ehuss
Mazdak Farrokhzad [Sat, 7 Sep 2019 06:06:05 +0000 (08:06 +0200)]
Rollup merge of #63927 - mark-i-m:filter-spurious, r=ehuss

Filter linkcheck spurious failure

r? @ehuss

cc @spastorino

Basically, we filter errors with messages containing "timed out"... a bit of a hack, but hopefully this will be functionality built into linkcheck soon.

4 years agoRollup merge of #63919 - matthewjasper:remove-gensymmed, r=petrochenkov
Mazdak Farrokhzad [Sat, 7 Sep 2019 06:06:04 +0000 (08:06 +0200)]
Rollup merge of #63919 - matthewjasper:remove-gensymmed, r=petrochenkov

Use hygiene for AST passes

AST passes are now able to have resolve consider their expansions as if they were opaque macros defined either in some module in the current crate, or a fake empty module with `#[no_implicit_prelude]`.

* Add an ExpnKind for AST passes.
* Remove gensyms in AST passes.
* Remove gensyms in`#[test]`, `#[bench]` and `#[test_case]`.
* Allow opaque macros to define tests.
* Move tests for unit tests to their own directory.
* Remove `Ident::{gensym, is_gensymed}` - `Ident::gensym_if_underscore` still exists.

cc #60869, #61019

r? @petrochenkov

4 years agoAuto merge of #63789 - Wind-River:master, r=alexcrichton
bors [Fri, 6 Sep 2019 20:49:20 +0000 (20:49 +0000)]
Auto merge of #63789 - Wind-River:master, r=alexcrichton

Support both static and dynamic linking mode in testing for vxWorks

1. Support both static and dynamic linking mode in testing for vxWorks
2. Ignore unsupported test cases: net:tcp:tests:timeouts and net:ucp:tests:timeouts

r? @alexcrichton

4 years agoMove injection of attributes from command line to `libsyntax_ext`
Vadim Petrochenkov [Fri, 6 Sep 2019 20:41:54 +0000 (23:41 +0300)]
Move injection of attributes from command line to `libsyntax_ext`

4 years agoAdded more prereqs and note about default directory
Aditya Atluri [Fri, 6 Sep 2019 19:54:42 +0000 (12:54 -0700)]
Added more prereqs and note about default directory

4 years agoInclude compiler-rt in the source tarball
Matthew Maurer [Fri, 6 Sep 2019 19:41:54 +0000 (12:41 -0700)]
Include compiler-rt in the source tarball

In #60981 we switched to using src/llvm-project/compiler-rt inside
compiler-builtins rather than a separate copy of it.
In order to have the "c" feature turn on in builds from the source
tarball, we need to include that path in its creation.

fixes #64239

4 years agoreduce visibility
Aleksey Kladov [Sat, 31 Aug 2019 13:03:54 +0000 (16:03 +0300)]
reduce visibility

4 years agoUpdate ui tests
varkor [Fri, 6 Sep 2019 18:21:26 +0000 (19:21 +0100)]
Update ui tests

4 years agoCorrect pluralisation of various diagnostic messages
varkor [Fri, 6 Sep 2019 18:21:20 +0000 (19:21 +0100)]
Correct pluralisation of various diagnostic messages