]> git.lizzy.rs Git - rust.git/log
rust.git
4 years ago[const-prop] Replace `Cast` handling with use of `InterpCx`
Wesley Wiser [Fri, 6 Sep 2019 01:42:30 +0000 (21:42 -0400)]
[const-prop] Replace `Cast` handling with use of `InterpCx`

4 years ago[const-prop] Replace `Use` handling with use of `InterpCx`
Wesley Wiser [Fri, 6 Sep 2019 01:06:57 +0000 (21:06 -0400)]
[const-prop] Replace `Use` handling with use of `InterpCx`

4 years ago[const-prop] Replace `eval_place()` with use of `InterpCx`
Wesley Wiser [Wed, 4 Sep 2019 01:56:15 +0000 (21:56 -0400)]
[const-prop] Replace `eval_place()` with use of `InterpCx`

4 years agoAuto merge of #64819 - Manishearth:clippyup, r=Manishearth
bors [Fri, 27 Sep 2019 00:15:40 +0000 (00:15 +0000)]
Auto merge of #64819 - Manishearth:clippyup, r=Manishearth

Update clippy

r? @ghost

4 years agoAuto merge of #64816 - Centril:rollup-gbeqot4, r=Centril
bors [Thu, 26 Sep 2019 20:29:40 +0000 (20:29 +0000)]
Auto merge of #64816 - Centril:rollup-gbeqot4, r=Centril

Rollup of 5 pull requests

Successful merges:

 - #64221 ( Rust 2015: No longer downgrade NLL errors)
 - #64772 (Remove tx_to_llvm_workers from TyCtxt)
 - #64783 (Fix issue #64732)
 - #64787 (Fix ExitStatus on Fuchsia)
 - #64812 (Add test for E0543)

Failed merges:

r? @ghost

4 years agoUpdate clippy
Manish Goregaokar [Thu, 26 Sep 2019 18:57:12 +0000 (11:57 -0700)]
Update clippy

4 years agoRollup merge of #64812 - GuillaumeGomez:add-test-for-e0543, r=Centril
Mazdak Farrokhzad [Thu, 26 Sep 2019 15:55:18 +0000 (17:55 +0200)]
Rollup merge of #64812 - GuillaumeGomez:add-test-for-e0543, r=Centril

Add test for E0543

4 years agoRollup merge of #64787 - tmandry:fuchsia-exitstatus, r=cramertj
Mazdak Farrokhzad [Thu, 26 Sep 2019 15:55:16 +0000 (17:55 +0200)]
Rollup merge of #64787 - tmandry:fuchsia-exitstatus, r=cramertj

Fix ExitStatus on Fuchsia

Fuchsia exit codes don't follow the convention of libc::WEXITSTATUS et
al, and they are 64 bits instead of 32 bits. This gives Fuchsia its own
representation of ExitStatus.

Additionally, the zircon syscall structs were out of date, causing us to
see bogus exit codes.

r? @cramertj @alexcrichton

4 years agoRollup merge of #64783 - onehr:onehrxn, r=varkor
Mazdak Farrokhzad [Thu, 26 Sep 2019 15:55:15 +0000 (17:55 +0200)]
Rollup merge of #64783 - onehr:onehrxn, r=varkor

Fix issue #64732

Based on issue #64732, when creating a byte literal with single quotes,
the suggestion message would indicate that you meant to write a `str` literal,
but we actually meant to write a byte string literal.

So I changed the unescape_error_reporting.rs to decide whether to print out
"if you meant to write a `str` literal, use double quotes",
or "if you meant to write a byte string literal, use double quotes".

Fixes #64732.

4 years agoRollup merge of #64772 - Mark-Simulacrum:no-tyctxt-tx, r=eddyb
Mazdak Farrokhzad [Thu, 26 Sep 2019 15:55:13 +0000 (17:55 +0200)]
Rollup merge of #64772 - Mark-Simulacrum:no-tyctxt-tx, r=eddyb

Remove tx_to_llvm_workers from TyCtxt

This can be kept within the codegen backend crates entirely -- there's no reason for us to create it outside and attempt to hold it in the (global) context.

Changes here aren't really too easily reviewable I suspect -- not sure if they can be cleaned up by splitting into more commits though, it's just hard to reason about `Box<Any>` in general. If there are thoughts though I'd be happy to hear them.

The primary goal of this PR is to get rid of the field on `rustc_interface::Queries`.

4 years agoRollup merge of #64221 - Centril:nll-no-migrate-2015, r=matthewjasper
Mazdak Farrokhzad [Thu, 26 Sep 2019 15:55:12 +0000 (17:55 +0200)]
Rollup merge of #64221 - Centril:nll-no-migrate-2015, r=matthewjasper

 Rust 2015: No longer downgrade NLL errors

As per decision on a language team meeting as described in https://github.com/rust-lang/rust/pull/63565#issuecomment-528563744, in Rust 2015, we refuse to downgrade NLL errors, that AST borrowck accepts, into warnings and keep them as hard errors.

The remaining work to throw out AST borrowck and adjust some tests still remains after this PR.

Fixes https://github.com/rust-lang/rust/issues/38899
Fixes https://github.com/rust-lang/rust/issues/53432
Fixes https://github.com/rust-lang/rust/issues/45157
Fixes https://github.com/rust-lang/rust/issues/31567
Fixes https://github.com/rust-lang/rust/issues/27868
Fixes https://github.com/rust-lang/rust/issues/47366

r? @matthewjasper

4 years agoissue-#45696: remove ignore-compare-mode-nll
Mazdak Farrokhzad [Thu, 26 Sep 2019 15:19:03 +0000 (17:19 +0200)]
issue-#45696: remove ignore-compare-mode-nll

4 years agoAuto merge of #64515 - varkor:kindedterm, r=oli-obk
bors [Thu, 26 Sep 2019 12:34:54 +0000 (12:34 +0000)]
Auto merge of #64515 - varkor:kindedterm, r=oli-obk

Rename `subst::Kind` to `subst::GenericArg`

And `subst::UnpackedKind` to `subst::GenericArgKind`. Individual variable names (e.g. `kind`) are not renamed, which would be an infeasible mission.

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

r? @eddyb

4 years agoAdd test for E0543
Guillaume Gomez [Thu, 26 Sep 2019 11:24:41 +0000 (13:24 +0200)]
Add test for E0543

4 years agoRename some `_sty` variables to `_kind`
varkor [Thu, 26 Sep 2019 11:10:43 +0000 (12:10 +0100)]
Rename some `_sty` variables to `_kind`

4 years agoRename `subst::Kind` to `subst::GenericArg`
varkor [Wed, 25 Sep 2019 15:39:44 +0000 (16:39 +0100)]
Rename `subst::Kind` to `subst::GenericArg`

4 years agoAuto merge of #62661 - arielb1:never-reserve, r=nikomatsakis
bors [Thu, 26 Sep 2019 08:42:34 +0000 (08:42 +0000)]
Auto merge of #62661 - arielb1:never-reserve, r=nikomatsakis

reserve `impl<T> From<!> for T`

this is necessary for never-type stabilization.

cc #57012 #35121

I think we wanted a crater run for this @nikomatsakis?

r? @nikomatsakis

4 years agocargotest: bump iron
Mazdak Farrokhzad [Thu, 26 Sep 2019 05:50:39 +0000 (07:50 +0200)]
cargotest: bump iron

4 years agocargotest: bump webrender
Mazdak Farrokhzad [Thu, 26 Sep 2019 04:44:50 +0000 (06:44 +0200)]
cargotest: bump webrender

4 years agoissue-#45696-scribble...: remove outdated comment.
Mazdak Farrokhzad [Wed, 25 Sep 2019 20:09:09 +0000 (22:09 +0200)]
issue-#45696-scribble...: remove outdated comment.

4 years agorm "src/test/ui/issues/issue-45696-scribble-on-boxed-borrow.migrate.stderr"
Mazdak Farrokhzad [Wed, 25 Sep 2019 20:08:10 +0000 (22:08 +0200)]
rm "src/test/ui/issues/issue-45696-scribble-on-boxed-borrow.migrate.stderr"

4 years agoremove feature(nll) in more cases.
Mazdak Farrokhzad [Fri, 6 Sep 2019 14:23:00 +0000 (16:23 +0200)]
remove feature(nll) in more cases.

4 years agoremove feature(nll) from #27868 test.
Mazdak Farrokhzad [Fri, 6 Sep 2019 14:04:26 +0000 (16:04 +0200)]
remove feature(nll) from #27868 test.

4 years agoremove feature(nll) from #31567 test.
Mazdak Farrokhzad [Fri, 6 Sep 2019 14:02:04 +0000 (16:02 +0200)]
remove feature(nll) from #31567 test.

4 years agoremove feature(nll) from #45157 test.
Mazdak Farrokhzad [Fri, 6 Sep 2019 13:58:39 +0000 (15:58 +0200)]
remove feature(nll) from #45157 test.

4 years agoadd test for #53432.
Mazdak Farrokhzad [Fri, 6 Sep 2019 13:52:48 +0000 (15:52 +0200)]
add test for #53432.

4 years agoAdjust & --bless tests due to no longer downgrading NLL errors on 2015.
Mazdak Farrokhzad [Fri, 6 Sep 2019 13:47:50 +0000 (15:47 +0200)]
Adjust & --bless tests due to no longer downgrading NLL errors on 2015.

4 years agorustc_mir: remove dead code for downgrading errors.
Mazdak Farrokhzad [Fri, 6 Sep 2019 09:54:50 +0000 (11:54 +0200)]
rustc_mir: remove dead code for downgrading errors.

4 years agoRefuse downgrading NLL errors on Rust 2015.
Mazdak Farrokhzad [Fri, 6 Sep 2019 09:41:57 +0000 (11:41 +0200)]
Refuse downgrading NLL errors on Rust 2015.

4 years agoAuto merge of #64513 - varkor:sty-begone, r=eddyb
bors [Thu, 26 Sep 2019 04:29:18 +0000 (04:29 +0000)]
Auto merge of #64513 - varkor:sty-begone, r=eddyb

Rename `TyS.sty` to `TyS.kind`

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

r? @eddyb

4 years agoAdd test case for issue #64732
Haoran Wang [Thu, 26 Sep 2019 00:18:25 +0000 (20:18 -0400)]
Add test case for issue #64732

4 years agoFix issue #64732
Haoran Wang [Wed, 25 Sep 2019 21:22:46 +0000 (17:22 -0400)]
Fix issue #64732

Based on issue #64732, when creating a byte literal with single quotes,
the suggestion message would indicate that you meant to write a `str` literal,
but we actually meant to write a byte string literal.

So I changed the unescape_error_reporting.rs to decide whether to print out
"if you meant to write a `str` literal, use double quotes",
or "if you meant to write a byte string literal, use double quotes".

4 years agoFix ExitStatus on Fuchsia
Tyler Mandry [Wed, 25 Sep 2019 04:34:44 +0000 (21:34 -0700)]
Fix ExitStatus on Fuchsia

Fuchsia exit codes don't follow the convention of libc::WEXITSTATUS et
al, and they are 64 bits instead of 32 bits. This gives Fuchsia its own
representation of ExitStatus.

Additionally, the zircon syscall structs were out of date, causing us to
see bogus return codes.

4 years agoAuto merge of #64785 - Manishearth:clippyup, r=Manishearth
bors [Wed, 25 Sep 2019 22:24:21 +0000 (22:24 +0000)]
Auto merge of #64785 - Manishearth:clippyup, r=Manishearth

Update clippy

We had a series of breakages, getting this in fast before more things break.

https://github.com/rust-lang/rust-clippy/pull/4574

r? @ghost

4 years agoUpdate clippy
Manish Goregaokar [Wed, 25 Sep 2019 21:43:23 +0000 (14:43 -0700)]
Update clippy

4 years agoFix fallout
varkor [Wed, 25 Sep 2019 19:38:27 +0000 (20:38 +0100)]
Fix fallout

4 years agoRemove tx_to_llvm_workers from TyCtxt
Mark Rousskov [Wed, 25 Sep 2019 17:14:43 +0000 (13:14 -0400)]
Remove tx_to_llvm_workers from TyCtxt

This can be kept within the codegen backend crates entirely

4 years agoaddress rebase damage
Ariel Ben-Yehuda [Tue, 24 Sep 2019 18:16:09 +0000 (21:16 +0300)]
address rebase damage

4 years agoAuto merge of #64774 - alexcrichton:update-cargo, r=ehuss
bors [Wed, 25 Sep 2019 18:34:40 +0000 (18:34 +0000)]
Auto merge of #64774 - alexcrichton:update-cargo, r=ehuss

Update cargo

4 commits in aa6b7e01abce30091cc594cb23a15c46cead6e24..ab6fa8908c9b6c8f7e2249231c395eebfbc49891
2019-09-24 17:19:12 +0000 to 2019-09-25 17:00:56 +0000
- Fix macOS collection of CPU data (rust-lang/cargo#7429)
- Don't ever capture CPU state if timings are disabled (rust-lang/cargo#7428)
- Change build-std to use --sysroot (rust-lang/cargo#7421)
- set -Zmtime_on_use from config or ENV (rust-lang/cargo#7411)

4 years agoUpdate cargo
Alex Crichton [Wed, 25 Sep 2019 18:15:21 +0000 (11:15 -0700)]
Update cargo

4 commits in aa6b7e01abce30091cc594cb23a15c46cead6e24..ab6fa8908c9b6c8f7e2249231c395eebfbc49891
2019-09-24 17:19:12 +0000 to 2019-09-25 17:00:56 +0000
- Fix macOS collection of CPU data (rust-lang/cargo#7429)
- Don't ever capture CPU state if timings are disabled (rust-lang/cargo#7428)
- Change build-std to use --sysroot (rust-lang/cargo#7421)
- set -Zmtime_on_use from config or ENV (rust-lang/cargo#7411)

4 years agoFix rebase
varkor [Wed, 25 Sep 2019 14:57:54 +0000 (15:57 +0100)]
Fix rebase

4 years agoRename surviving uses of `sty`
varkor [Mon, 16 Sep 2019 18:11:57 +0000 (19:11 +0100)]
Rename surviving uses of `sty`

4 years agoRename `sty` to `kind`
varkor [Mon, 16 Sep 2019 18:08:35 +0000 (19:08 +0100)]
Rename `sty` to `kind`

4 years agoRename non-`TyS` uses of `sty`
varkor [Mon, 16 Sep 2019 17:59:31 +0000 (18:59 +0100)]
Rename non-`TyS` uses of `sty`

4 years agoAuto merge of #64766 - Centril:rollup-gdy5jr6, r=Centril
bors [Wed, 25 Sep 2019 14:27:08 +0000 (14:27 +0000)]
Auto merge of #64766 - Centril:rollup-gdy5jr6, r=Centril

Rollup of 6 pull requests

Successful merges:

 - #62975 (Almost fully deprecate hir::map::Map.hir_to_node_id)
 - #64386 (use `sign` variable in abs and wrapping_abs methods)
 - #64508 (or-patterns: Push `PatKind/PatternKind::Or` at top level to HIR & HAIR)
 - #64738 (Add const-eval support for SIMD types, insert, and extract)
 - #64759 (Refactor mbe a tiny bit)
 - #64764 (Master is now 1.40 )

Failed merges:

r? @ghost

4 years agoRollup merge of #64764 - Mark-Simulacrum:snap, r=Centril
Mazdak Farrokhzad [Wed, 25 Sep 2019 14:26:22 +0000 (16:26 +0200)]
Rollup merge of #64764 - Mark-Simulacrum:snap, r=Centril

Master is now 1.40

r? @pietroalbini

4 years agoRollup merge of #64759 - matklad:simplify-macro, r=petrochenkov
Mazdak Farrokhzad [Wed, 25 Sep 2019 14:26:21 +0000 (16:26 +0200)]
Rollup merge of #64759 - matklad:simplify-macro, r=petrochenkov

Refactor mbe a tiny bit

4 years agoRollup merge of #64738 - gnzlbg:miri_norm_abi, r=oli-obk
Mazdak Farrokhzad [Wed, 25 Sep 2019 14:26:19 +0000 (16:26 +0200)]
Rollup merge of #64738 - gnzlbg:miri_norm_abi, r=oli-obk

Add const-eval support for SIMD types, insert, and extract

This adds initial support for constant-evaluation of Abi::Vector types.

r? @oli-obk

4 years agoRollup merge of #64508 - Centril:or-pat-hir, r=matthewjasper
Mazdak Farrokhzad [Wed, 25 Sep 2019 14:26:18 +0000 (16:26 +0200)]
Rollup merge of #64508 - Centril:or-pat-hir, r=matthewjasper

or-patterns: Push `PatKind/PatternKind::Or` at top level to HIR & HAIR

Following up on work in https://github.com/rust-lang/rust/pull/64111, https://github.com/rust-lang/rust/pull/63693, and https://github.com/rust-lang/rust/pull/61708, in this PR:

- We change `hair::Arm.patterns: Vec<Pattern<'_>>` into `hir::Arm.pattern: Pattern<'_>`.

   - `fn hair::Arm::top_pats_hack` is introduced as a temporary crutch in MIR building to avoid more changes.

- We change `hir::Arm.pats: HirVec<P<Pat>>` into `hir::Arm.pat: P<Pat>`.

   - The hacks in `rustc::hir::lowering` are removed since the representation hack is no longer necessary.

   - In some places, `fn hir::Arm::top_pats_hack` is introduced to leave some things as future work.

   - Misc changes: HIR pretty printing is adjusted to behave uniformly wrt. top/inner levels, rvalue promotion is adjusted, regionck, and dead_code is also.

   - Type checking is adjusted to uniformly handle or-patterns at top/inner levels.
      To make things compile, `p_0 | ... | p_n` is redefined as a "reference pattern" in [`fn is_non_ref_pat`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_typeck/check/struct.FnCtxt.html#method.is_non_ref_pat) for now. This is done so that reference types are not eagerly stripped from the `expected: Ty<'tcx>`.

    - Liveness is adjusted wrt. the `unused_variables` and `unused_assignments` lints to handle top/inner levels uniformly and the handling of `fn` parameters, `let` locals, and `match` arms are unified in this respect. This is not tested for now as exhaustiveness checks are reachable and will ICE.

    - In `check_match`, checking `@` and by-move bindings is adjusted. However, exhaustiveness checking is not adjusted the moment and is handled by @dlrobertson in https://github.com/rust-lang/rust/pull/63688.

    - AST borrowck (`construct.rs`) is not adjusted as AST borrowck will be removed soon.

r? @matthewjasper
cc @dlrobertson @varkor @oli-obk

4 years agoRollup merge of #64386 - tspiteri:const-abs2, r=oli-obk
Mazdak Farrokhzad [Wed, 25 Sep 2019 14:26:16 +0000 (16:26 +0200)]
Rollup merge of #64386 - tspiteri:const-abs2, r=oli-obk

use `sign` variable in abs and wrapping_abs methods

This also makes the code easier to understand by hinting at the significance of `self >> ($BITS - 1)`.

Also, now `overflowing_abs` simply uses `wrapping_abs`, which is clearer and avoids a potential performance regression in the LLVM IR.

This PR follows from the discussion from #63786.

r? @eddyb
cc @nikic

4 years agoRollup merge of #62975 - ljedrz:kill_off_hir_to_node_id, r=Zoxc
Mazdak Farrokhzad [Wed, 25 Sep 2019 14:26:14 +0000 (16:26 +0200)]
Rollup merge of #62975 - ljedrz:kill_off_hir_to_node_id, r=Zoxc

Almost fully deprecate hir::map::Map.hir_to_node_id

- HirIdify `doctree::Module.id`
- HirIdify `hir::Crate.modules`
- introduce a `HirId` to `DefIndex` map in `map::Definitions`

The only last uses of `hir::map::Map.hir_to_node_id` in the compiler are:
- for the purposes of `driver::pretty` (in `map::nodes_matching_suffix`), but I don't know if we can remove `NodeId`s in there (I think when I attempted it previously there was some issue due to `HirId` not being representable with an integer)
- in `ty::query::on_disk_cache` (not sure about the purpose of this one)
- in `mir::transform::check_unsafety` (only important for error message order)

Any suggestions how to kill these off?

r? @Zoxc

4 years agoSnap cfgs to new beta
Mark Rousskov [Wed, 25 Sep 2019 12:42:46 +0000 (08:42 -0400)]
Snap cfgs to new beta

4 years agoRemove fail tests
gnzlbg [Wed, 25 Sep 2019 12:32:57 +0000 (14:32 +0200)]
Remove fail tests

4 years agoSwitch version to 1.40
Mark Rousskov [Wed, 25 Sep 2019 12:20:32 +0000 (08:20 -0400)]
Switch version to 1.40

4 years agoClean tests
gnzlbg [Wed, 25 Sep 2019 12:05:39 +0000 (14:05 +0200)]
Clean tests

4 years agoFormat
gnzlbg [Wed, 25 Sep 2019 11:39:28 +0000 (13:39 +0200)]
Format

4 years agoTest errors
gnzlbg [Wed, 25 Sep 2019 11:39:20 +0000 (13:39 +0200)]
Test errors

4 years agoRefactor
gnzlbg [Wed, 25 Sep 2019 10:54:23 +0000 (12:54 +0200)]
Refactor

4 years agoAuto merge of #64663 - jakoschiko:report-time, r=alexcrichton
bors [Wed, 25 Sep 2019 09:54:50 +0000 (09:54 +0000)]
Auto merge of #64663 - jakoschiko:report-time, r=alexcrichton

libtest: Add --report-time flag to print test execution time

Implements the flag `--report-time` to print the execution time of each executed (successful or failed) test.

Closes #46610

# Example

`cargo test -- --report-time` produces the following output to stdout:
```
running 6 tests
test tests::ignore ... ignored
test tests::noop ... ok 0.000s
test tests::should_panic ... ok 0.000s
test tests::panic_after_10millis ... FAILED 0.010s
test tests::sleep_100millis ... ok 0.100s
test tests::sleep_10secs ... ok 10.001s

failures:

---- tests::panic_after_10millis stdout ----
thread 'tests::panic_after_10millis' panicked at 'foo', src\lib.rs:31:9

failures:
    tests::panic_after_10millis

test result: FAILED. 4 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out
```
`cargo test -- --report-time -Z unstable-options --format=json` produces the following output to stdout:
```
{ "type": "suite", "event": "started", "test_count": 6 }
{ "type": "test", "event": "started", "name": "tests::ignore" }
{ "type": "test", "event": "started", "name": "tests::noop" }
{ "type": "test", "event": "started", "name": "tests::panic_after_10millis" }
{ "type": "test", "event": "started", "name": "tests::should_panic" }
{ "type": "test", "name": "tests::ignore", "event": "ignored" }
{ "type": "test", "event": "started", "name": "tests::sleep_100millis" }
{ "type": "test", "name": "tests::noop", "event": "ok", "exec_time": "0.000s" }
{ "type": "test", "event": "started", "name": "tests::sleep_10secs" }
{ "type": "test", "name": "tests::should_panic", "event": "ok", "exec_time": "0.000s" }
{ "type": "test", "name": "tests::panic_after_10millis", "event": "failed", "exec_time": "0.010s", "stdout": "thread 'tests::panic_after_10millis' panicked at 'foo', src\\lib.rs:31:9\n" }
{ "type": "test", "name": "tests::sleep_100millis", "event": "ok", "exec_time": "0.101s" }
{ "type": "test", "name": "tests::sleep_10secs", "event": "ok", "exec_time": "10.000s" }
{ "type": "suite", "event": "failed", "passed": 4, "failed": 1, "allowed_fail": 0, "ignored": 1, "measured": 0, "filtered_out": 0 }
```
`cargo test -- --report-time --logfile foo.log` produces the following logfile:
```
ignored tests::ignore
ok tests::noop 0.000s
ok tests::should_panic 0.000s
failed tests::panic_after_10millis 0.010s
ok tests::sleep_100millis 0.100s
ok tests::sleep_10secs 10.001s
```

4 years agoTidy
gnzlbg [Wed, 25 Sep 2019 08:34:44 +0000 (10:34 +0200)]
Tidy

4 years agoRemove unreachable code
gnzlbg [Wed, 25 Sep 2019 08:33:12 +0000 (10:33 +0200)]
Remove unreachable code

4 years agoAllow simd_insert and simd_extract in const_fn
gnzlbg [Wed, 25 Sep 2019 08:28:53 +0000 (10:28 +0200)]
Allow simd_insert and simd_extract in const_fn

4 years agoremove unused peekable
Aleksey Kladov [Wed, 25 Sep 2019 07:41:43 +0000 (10:41 +0300)]
remove unused peekable

4 years agomove function closer to its usage
Aleksey Kladov [Wed, 25 Sep 2019 07:17:59 +0000 (10:17 +0300)]
move function closer to its usage

4 years agoremove unused parameters
Aleksey Kladov [Wed, 25 Sep 2019 07:14:47 +0000 (10:14 +0300)]
remove unused parameters

4 years agoAuto merge of #64627 - nnethercote:ObligForest-even-more, r=nikomatsakis
bors [Wed, 25 Sep 2019 05:54:00 +0000 (05:54 +0000)]
Auto merge of #64627 - nnethercote:ObligForest-even-more, r=nikomatsakis

Even more `ObligationForest` improvements

Following on from #64545, more speed and readability improvements.

r? @nikomatsakis

4 years agoAuto merge of #64754 - Centril:rollup-iwtb5xd, r=Centril
bors [Wed, 25 Sep 2019 01:49:46 +0000 (01:49 +0000)]
Auto merge of #64754 - Centril:rollup-iwtb5xd, r=Centril

Rollup of 7 pull requests

Successful merges:

 - #64324 (rustc: Fix mixing crates with different `share_generics`)
 - #64428 (Error explanation e0524)
 - #64481 (A more explanatory thread local storage panic message)
 - #64599 (Rustdoc render async function re-export)
 - #64743 (Update cargo)
 - #64746 (Remove blanket silencing of "type annotation needed" errors)
 - #64753 (Don't emit explain with json short messages.)

Failed merges:

r? @ghost

4 years agoRollup merge of #64753 - ehuss:json-short-explain, r=Mark-Simulacrum
Mazdak Farrokhzad [Wed, 25 Sep 2019 01:48:32 +0000 (03:48 +0200)]
Rollup merge of #64753 - ehuss:json-short-explain, r=Mark-Simulacrum

Don't emit explain with json short messages.

This fixes an issue where `--error-format=json --json=diagnostic-short` would emit the "For more information about this error" message, which doesn't match the behavior of `--error-format=short` which explicitly excludes it.

4 years agoRollup merge of #64746 - estebank:elide-impl-trait-obligations-on-err, r=cramertj
Mazdak Farrokhzad [Wed, 25 Sep 2019 01:48:30 +0000 (03:48 +0200)]
Rollup merge of #64746 - estebank:elide-impl-trait-obligations-on-err, r=cramertj

Remove blanket silencing of "type annotation needed" errors

Remove blanket check for existence of other errors before emitting "type annotation needed" errors, and add some eager checks to avoid adding obligations when they refer to types that reference `[type error]` in order to reduce unneeded errors.

Fix #64084.

4 years agoRollup merge of #64743 - alexcrichton:update-cargo, r=nikomatsakis
Mazdak Farrokhzad [Wed, 25 Sep 2019 01:48:29 +0000 (03:48 +0200)]
Rollup merge of #64743 - alexcrichton:update-cargo, r=nikomatsakis

Update cargo

11 commits in b6c6f685b38d523580813b0031677c2298f458ea..aa6b7e01abce30091cc594cb23a15c46cead6e24
2019-09-19 21:10:09 +0000 to 2019-09-24 17:19:12 +0000
- Fix interpretation of `--features a b` on the CLI (rust-lang/cargo#7419)
- Update env_logger requirement from 0.6.0 to 0.7.0 (rust-lang/cargo#7422)
- Update some unstable docs (rust-lang/cargo#7407)
- Fix xcompile tests. (rust-lang/cargo#7408)
- -Ztimings: Fix more scale problems. (rust-lang/cargo#7403)
- Fix some rendering issues with -Ztimings. (rust-lang/cargo#7397)
- -Ztimings: show max jobs/cpus (rust-lang/cargo#7398)
- Fix -Ztimings with doc tests. (rust-lang/cargo#7395)
- Add documentation for the -Zdoctest-xcompile feature (rust-lang/cargo#7391)
- Fix integration tests waiting for binaries to finish. (rust-lang/cargo#7394)
- Extract Platform to a separate crate. (rust-lang/cargo#7375)

4 years agoRollup merge of #64599 - csmoe:doc_async_reexport, r=nikomatsakis
Mazdak Farrokhzad [Wed, 25 Sep 2019 01:48:27 +0000 (03:48 +0200)]
Rollup merge of #64599 - csmoe:doc_async_reexport, r=nikomatsakis

Rustdoc render async function re-export

Closes #63710
r? @nikomatsakis

4 years agoRollup merge of #64481 - tomtau:fix/tls-error-message, r=KodrAus
Mazdak Farrokhzad [Wed, 25 Sep 2019 01:48:26 +0000 (03:48 +0200)]
Rollup merge of #64481 - tomtau:fix/tls-error-message, r=KodrAus

A more explanatory thread local storage panic message

Outside rust-std internals, TLS is usually understood as Transport Layer Security, so the existing message could be a bit puzzling when one has TLS sessions in `thread_local!`.

4 years agoRollup merge of #64428 - GuillaumeGomez:error-explanation-E0524, r=Centril
Mazdak Farrokhzad [Wed, 25 Sep 2019 01:48:24 +0000 (03:48 +0200)]
Rollup merge of #64428 - GuillaumeGomez:error-explanation-E0524, r=Centril

Error explanation e0524

Part of https://github.com/rust-lang/rust/issues/61137

4 years agoRollup merge of #64324 - alexcrichton:share-generics-again, r=michaelwoerister
Mazdak Farrokhzad [Wed, 25 Sep 2019 01:48:22 +0000 (03:48 +0200)]
Rollup merge of #64324 - alexcrichton:share-generics-again, r=michaelwoerister

rustc: Fix mixing crates with different `share_generics`

This commit addresses #64319 by removing the `dylib` crate type from the
list of crate type that exports generic symbols. The bug in #64319
arises because a `dylib` crate type was trying to export a symbol in an
uptream crate but it miscalculated the symbol name of the uptream
symbol. This isn't really necessary, though, since `dylib` crates aren't
that heavily used, so we can just conservatively say that the `dylib`
crate type never exports generic symbols, forcibly removing them from
the exported symbol lists if were to otherwise find them.

The fix here happens in two places:

* First is in the `local_crate_exports_generics` method, indicating that
  it's now `false` for the `Dylib` crate type. Only rlibs actually
  export generics at this point.

* Next is when we load exported symbols from upstream crate. If, for our
  compilation session, the crate may be included from a dynamic library,
  then its generic symbols are removed. When the crate was linked into a
  dynamic library its symbols weren't exported, so we can't consider
  them a candidate to link against.

Overally this should avoid situations where we incorrectly calculate the
upstream symbol names in the face of differnet `share_generics` options,
ultimately...

Closes #64319

4 years agoDon't emit explain with json short messages.
Eric Huss [Tue, 24 Sep 2019 23:53:33 +0000 (16:53 -0700)]
Don't emit explain with json short messages.

4 years agoAuto merge of #64751 - Centril:rollup-hpbmcfj, r=Centril
bors [Tue, 24 Sep 2019 21:46:26 +0000 (21:46 +0000)]
Auto merge of #64751 - Centril:rollup-hpbmcfj, r=Centril

Rollup of 16 pull requests

Successful merges:

 - #63356 (Issue#63183: Add fs::read_dir() and ReadDir warning about iterator order + example)
 - #63934 (Fix coherence checking for impl trait in type aliases)
 - #64016 (Streamline `Compiler`)
 - #64296 (Document the unstable iter_order_by library feature)
 - #64443 (rustdoc: general cleanup)
 - #64622 (Add a cycle detector for generic `Graph`s and `mir::Body`s)
 - #64689 (Refactor macro by example)
 - #64698 (Recover on `const X = 42;` and infer type + Error Stash API)
 - #64702 (Remove unused dependencies)
 - #64717 (update mem::discriminant test to use assert_eq and assert_ne over comparison operators)
 - #64720 ( remove rtp.rs, and move rtpSpawn and RTP_ID_ERROR to libc)
 - #64721 (Fixed issue from #64447)
 - #64725 (fix one typo)
 - #64737 (fix several issues in String docs)
 - #64742 (relnotes: make compatibility section more sterile and fix rustc version)
 - #64748 (Fix #64744. Account for the Zero sub-pattern case.)

Failed merges:

r? @ghost

4 years agoRollup merge of #64748 - Centril:fix-64744, r=estebank
Mazdak Farrokhzad [Tue, 24 Sep 2019 21:45:37 +0000 (23:45 +0200)]
Rollup merge of #64748 - Centril:fix-64744, r=estebank

Fix #64744. Account for the Zero sub-pattern case.

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

r? @estebank

4 years agoRollup merge of #64742 - pietroalbini:relnotes-fixes, r=Mark-Simulacrum
Mazdak Farrokhzad [Tue, 24 Sep 2019 21:45:35 +0000 (23:45 +0200)]
Rollup merge of #64742 - pietroalbini:relnotes-fixes, r=Mark-Simulacrum

relnotes: make compatibility section more sterile and fix rustc version

r? @Mark-Simulacrum

4 years agoRollup merge of #64737 - jordins:master, r=steveklabnik
Mazdak Farrokhzad [Tue, 24 Sep 2019 21:45:34 +0000 (23:45 +0200)]
Rollup merge of #64737 - jordins:master, r=steveklabnik

fix several issues in String docs

- In some places &str was shown instead of String.
- into_bytes is the reverse of from_utf8

Fixes #63797

I've retaken the work done in this PR: https://github.com/rust-lang/rust/pull/63865 which for some reason was closed.
and just done a minor change (I hope you don't mind @sam09 ).

4 years agoRollup merge of #64725 - guanqun:typo-fix, r=zackmdavis
Mazdak Farrokhzad [Tue, 24 Sep 2019 21:45:33 +0000 (23:45 +0200)]
Rollup merge of #64725 - guanqun:typo-fix, r=zackmdavis

fix one typo

4 years agoRollup merge of #64721 - hman523:issue64447, r=estebank
Mazdak Farrokhzad [Tue, 24 Sep 2019 21:45:31 +0000 (23:45 +0200)]
Rollup merge of #64721 - hman523:issue64447, r=estebank

Fixed issue from #64447

Did two tiny fixes. One is a micro optimization since we know that max is going to be assigned a `usize`, we do not have to worry about a possible negative number.
The other issue that was fixed is that the max from the children isn't updated correctly. Now it will use `sub_result` instead of `primary` and will properly get the needed value.

4 years agoRollup merge of #64720 - Wind-River:master, r=alexcrichton
Mazdak Farrokhzad [Tue, 24 Sep 2019 21:45:30 +0000 (23:45 +0200)]
Rollup merge of #64720 - Wind-River:master, r=alexcrichton

 remove rtp.rs, and move rtpSpawn and RTP_ID_ERROR to libc

r? @alexcrichton

4 years agoRollup merge of #64717 - andrewbanchich:master, r=joshtriplett
Mazdak Farrokhzad [Tue, 24 Sep 2019 21:45:28 +0000 (23:45 +0200)]
Rollup merge of #64717 - andrewbanchich:master, r=joshtriplett

update mem::discriminant test to use assert_eq and assert_ne over comparison operators

Use assert_eq and assert_ne over comparison operators.

4 years agoRollup merge of #64702 - sinkuu:deps, r=jonas-schievink
Mazdak Farrokhzad [Tue, 24 Sep 2019 21:45:27 +0000 (23:45 +0200)]
Rollup merge of #64702 - sinkuu:deps, r=jonas-schievink

Remove unused dependencies

4 years agoRollup merge of #64698 - Centril:infer-const-with-stash, r=estebank
Mazdak Farrokhzad [Tue, 24 Sep 2019 21:45:24 +0000 (23:45 +0200)]
Rollup merge of #64698 - Centril:infer-const-with-stash, r=estebank

Recover on `const X = 42;` and infer type + Error Stash API

Here we:

1. Introduce a notion of the "error stash".

   This is a map in the `Handler` to which you can `err.stash(...)` away your diagnostics and then steal them in a later "phase" of the compiler (e.g. stash in parser, steal in typeck) to enrich them with more information that isn't available in the previous "phase".

    I believe I've covered all the bases to make sure these diagnostics are actually emitted eventually even under `#[cfg(FALSE)]` but please check my logic.

2. Recover when parsing `[const | static mut?] $ident = $expr;` which has a missing type.

    Use the "error stash" to stash away the error and later steal the error in typeck where we emit the error as `MachineApplicable` with the actual inferred type. This builds on https://github.com/rust-lang/rust/pull/62804.

cc https://github.com/rust-lang/rfcs/pull/2545

r? @estebank

4 years agoRollup merge of #64689 - matklad:refactor-mbe, r=petrochenkov
Mazdak Farrokhzad [Tue, 24 Sep 2019 21:45:24 +0000 (23:45 +0200)]
Rollup merge of #64689 - matklad:refactor-mbe, r=petrochenkov

Refactor macro by example

This doesn't do anything useful yet, and just moves code around and restricts visibility

4 years agoRollup merge of #64622 - ecstatic-morse:cycle-detector, r=oli-obk
Mazdak Farrokhzad [Tue, 24 Sep 2019 21:45:22 +0000 (23:45 +0200)]
Rollup merge of #64622 - ecstatic-morse:cycle-detector, r=oli-obk

Add a cycle detector for generic `Graph`s and `mir::Body`s

Cycle detection is one way to differentiate the upcoming `const_loop` feature flag (#52000) from the `const_if_match` one (#49146). It would be possible to use the existing implementation of strongly-connected components for this but less efficient.

The ["tri-color" terminology](http://www.cs.cornell.edu/courses/cs2112/2012sp/lectures/lec24/lec24-12sp.html) is common in introductory data structures and algorithms courses: black nodes are settled, grey nodes are visited, and white nodes have no state. This particular implementation is iterative and uses a well-known technique where "node settled" events are kept on the stack alongside nodes to visit. When a settled event is popped, we know that all successors of that node have been visited and themselves settled. If we encounter a successor node that has been visited (is on the stack) but not yet settled, we have found a cycle.

r? @eddyb

4 years agoRollup merge of #64443 - Mark-Simulacrum:rustdoc-clean-1, r=GuillaumeGomez
Mazdak Farrokhzad [Tue, 24 Sep 2019 21:45:20 +0000 (23:45 +0200)]
Rollup merge of #64443 - Mark-Simulacrum:rustdoc-clean-1, r=GuillaumeGomez

rustdoc: general cleanup

Review should be conducted commit-by-commit.

There are some general cleanup commits in the end, which are somewhat related but can be easily split into another PR, so just let me know.

4 years agoRollup merge of #64296 - KodrAus:chore/iter_order_by, r=Centril
Mazdak Farrokhzad [Tue, 24 Sep 2019 21:45:19 +0000 (23:45 +0200)]
Rollup merge of #64296 - KodrAus:chore/iter_order_by, r=Centril

Document the unstable iter_order_by library feature

Tracking issue: #64295

Follow-up for: #62205

References the tracking issue and adds a page to the unstable book for the new unstable `iter_order_by` feature.

4 years agoRollup merge of #64016 - nnethercote:Compiler-fiddling, r=oli-obk
Mazdak Farrokhzad [Tue, 24 Sep 2019 21:45:17 +0000 (23:45 +0200)]
Rollup merge of #64016 - nnethercote:Compiler-fiddling, r=oli-obk

Streamline `Compiler`

A few commits to clean up `Compiler`.

r? @Zoxc

4 years agoRollup merge of #63934 - Aaron1011:fix/impl-trait-coherence, r=nikomatsakis
Mazdak Farrokhzad [Tue, 24 Sep 2019 21:45:15 +0000 (23:45 +0200)]
Rollup merge of #63934 - Aaron1011:fix/impl-trait-coherence, r=nikomatsakis

Fix coherence checking for impl trait in type aliases

**UPDATE**: This PR now treats all opaque types as remote. The original description appears below, but is no longer accurate.

Fixes #63677

[RFC 2071](https://github.com/rust-lang/rfcs/pull/2071) (impl-trait-existential-types) does not explicitly state how `type_alias_impl_trait` should interact with coherence. However, there's only one choice which makes sense - coherence should look at the underlying type (i.e. the *"defining"* type of the `impl Trait`) of the type alias, just like we do for non-`impl Trait` type aliases.

Specifically, `impl Trait` type aliases that resolve to a local type should be treated like a local type with respect to coherence (e.g. `impl Trait` type aliases which resolve to a foreign type should be treated as a foreign type, and those that resolve to a local type should be treated as a local type).

Since neither inherent impls nor direct trait impl (i.e. `impl MyType` or `impl MyTrait for MyType`) are allowed for type aliases, this usually does not come up. Before we ever attempt to do coherence checking, we will have errored out if an `impl Trait` type alias was used directly in an `impl` clause.

However, during trait selection, we sometimes need to prove bounds like `T: Sized` for some type `T`. If `T` is an impl trait type alias, this requires to know the coherence behavior for `impl Trait` type aliases when we perform coherence checking.

Note: Since determining the underlying type of an `impl Trait` type alias requires us to perform body type checking, this commit causes us to type check some bodies easier than we otherwise would have. However, since this is done through a query, this shouldn't cause any problems

For completeness, I've added an additional test of the coherence-related behavior of `impl Trait` type aliases.

cc https://github.com/rust-lang/rust/issues/63063

4 years agoRollup merge of #63356 - ali-raheem:issue#63183, r=KodrAus
Mazdak Farrokhzad [Tue, 24 Sep 2019 21:45:13 +0000 (23:45 +0200)]
Rollup merge of #63356 - ali-raheem:issue#63183, r=KodrAus

Issue#63183: Add fs::read_dir() and ReadDir warning about iterator order + example

As per https://github.com/rust-lang/rust/issues/63183

Add warning about iterator order to read_dir and ReadDir, add example of explicitly ordering direntrys.

4 years agoFix #64744 -- handle zero sub-pats case.
Mazdak Farrokhzad [Tue, 24 Sep 2019 20:42:45 +0000 (22:42 +0200)]
Fix #64744 -- handle zero sub-pats case.

4 years agoAdd additional tests for type alias impl trait coherence
Aaron Hill [Tue, 24 Sep 2019 14:01:14 +0000 (10:01 -0400)]
Add additional tests for type alias impl trait coherence

4 years agofix rebase
Esteban Küber [Tue, 24 Sep 2019 18:55:53 +0000 (11:55 -0700)]
fix rebase

4 years agoclean up, push silencing logic to more relevant places
Esteban Küber [Tue, 24 Sep 2019 18:28:30 +0000 (11:28 -0700)]
clean up, push silencing logic to more relevant places

4 years agoRemove blanket silencing of "type annotation needed" errors
Esteban Küber [Tue, 24 Sep 2019 18:05:49 +0000 (11:05 -0700)]
Remove blanket silencing of "type annotation needed" errors

Remove blanket check for existence of other errors before emitting
"type annotation needed" errors, and add some eager checks to avoid
adding obligations when they refer to types that reference
`[type error]` in order to reduce unneded errors.

4 years agoadd a rustdoc comment to the reservation impl
Niko Matsakis [Tue, 24 Sep 2019 15:10:42 +0000 (11:10 -0400)]
add a rustdoc comment to the reservation impl

4 years agonit: update error text to cite tracking issue
Niko Matsakis [Mon, 23 Sep 2019 18:27:34 +0000 (14:27 -0400)]
nit: update error text to cite tracking issue

4 years agonit: update text to avoid "lattice specialization" term
Niko Matsakis [Mon, 23 Sep 2019 17:52:24 +0000 (13:52 -0400)]
nit: update text to avoid "lattice specialization" term