]> git.lizzy.rs Git - rust.git/log
rust.git
5 years agoadd '// ignore-pass' where applicable.
Mazdak Farrokhzad [Wed, 12 Jun 2019 20:55:38 +0000 (22:55 +0200)]
add '// ignore-pass' where applicable.

5 years agocompiletest: support '--pass check' and '// ignore-pass'.
Mazdak Farrokhzad [Wed, 12 Jun 2019 20:54:52 +0000 (22:54 +0200)]
compiletest: support '--pass check' and '// ignore-pass'.

5 years agobootstrap: pass '--pass' on to compiletest.
Mazdak Farrokhzad [Tue, 11 Jun 2019 22:43:44 +0000 (00:43 +0200)]
bootstrap: pass '--pass' on to compiletest.

5 years agoAuto merge of #62070 - ia0:rustfmt, r=petrochenkov
bors [Sun, 23 Jun 2019 22:50:56 +0000 (22:50 +0000)]
Auto merge of #62070 - ia0:rustfmt, r=petrochenkov

Run rustfmt on some libsyntax files

As part of #62008, run rustfmt on:
- src/libsyntax/ext/tt/macro_rules.rs
- src/libsyntax/ext/tt/quoted.rs

There is no semantic change. To fix potential merge conflicts, simply choose the other side then run rustfmt and fix any tidy check (like line length).

5 years agoAuto merge of #62037 - Mark-Simulacrum:tidy-fast, r=eddyb
bors [Sun, 23 Jun 2019 20:05:01 +0000 (20:05 +0000)]
Auto merge of #62037 - Mark-Simulacrum:tidy-fast, r=eddyb

Speed up tidy

master:
  Time (mean ± σ):      3.478 s ±  0.033 s    [User: 3.298 s, System: 0.178 s]
  Range (min … max):    3.425 s …  3.525 s    10 runs

This PR:
  Time (mean ± σ):      1.098 s ±  0.006 s    [User: 783.7 ms, System: 310.2 ms]
  Range (min … max):    1.092 s …  1.113 s    10 runs

Alleviates https://github.com/rust-lang/rust/issues/59884. For the most part each commit stands on its own. Timings are on warm filesystem cache.

r? @eddyb

5 years agoAuto merge of #61778 - petrochenkov:pass, r=Mark-Simulacrum
bors [Sun, 23 Jun 2019 17:16:22 +0000 (17:16 +0000)]
Auto merge of #61778 - petrochenkov:pass, r=Mark-Simulacrum

compiletest: Introduce `// {check,build,run}-pass` pass modes

Pass UI tests now have three modes
```
// check-pass
// build-pass
// run-pass
```
mirroring equivalent well-known `cargo` commands.

`// check-pass` will compile the test skipping codegen (which is expensive and isn't supposed to fail in most cases).
`// build-pass` will compile and link the test without running it.
`// run-pass` will compile, link and run the test.
Tests without a "pass" annotation are still considered "fail" tests.

Most UI tests would probably want to switch to `check-pass`.
Tests validating codegen would probably want to run the generated code as well and use `run-pass`.
`build-pass` should probably be rare (linking tests?).

https://github.com/rust-lang/rust/pull/61755 will provide a way to run the tests with any mode, e.g. bump `check-pass` tests to `run-pass` to satisfy especially suspicious people, and be able to make sure that codegen doesn't breaks in some entirely unexpected way.
Tests marked with any mode are expected to pass with any other mode, if that's not the case for some legitimate reason, then the test should be made a "fail" test rather than a "pass" test.
Perhaps some secondary CI can verify this invariant, but that's not super urgent.

`// compile-pass` still works and is equivalent to `build-pass`.
Why is `// compile-pass` bad - 1) it gives an impression that the test is only compiled, but not linked, 2) it doesn't mirror a cargo command.
It can be removed some time in the future in a separate PR.

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

5 years agoExit early from feature search if no features in file
Mark Rousskov [Fri, 21 Jun 2019 18:58:48 +0000 (14:58 -0400)]
Exit early from feature search if no features in file

5 years agoCollect features only once
Mark Rousskov [Fri, 21 Jun 2019 18:32:58 +0000 (14:32 -0400)]
Collect features only once

5 years agoUse Path/PathBuf directly instead of through path::
Mark Rousskov [Fri, 21 Jun 2019 18:19:05 +0000 (14:19 -0400)]
Use Path/PathBuf directly instead of through path::

5 years agoSkip querying each ignore directive if none in file
Mark Rousskov [Fri, 21 Jun 2019 17:16:41 +0000 (13:16 -0400)]
Skip querying each ignore directive if none in file

5 years agoUtilize entry.metadata over fs::symlink_metadata
Mark Rousskov [Fri, 21 Jun 2019 16:53:32 +0000 (12:53 -0400)]
Utilize entry.metadata over fs::symlink_metadata

5 years agoMove file-reading into walker loop
Mark Rousskov [Fri, 21 Jun 2019 16:47:15 +0000 (12:47 -0400)]
Move file-reading into walker loop

5 years agoPass contents and DirEntry to walkers
Mark Rousskov [Fri, 21 Jun 2019 16:23:20 +0000 (12:23 -0400)]
Pass contents and DirEntry to walkers

5 years agoStop calling format! to check feature gate
Mark Rousskov [Fri, 21 Jun 2019 16:08:26 +0000 (12:08 -0400)]
Stop calling format! to check feature gate

5 years agoUse walkdir crate
Mark Rousskov [Fri, 21 Jun 2019 16:05:00 +0000 (12:05 -0400)]
Use walkdir crate

It's more efficient than the fs::read_dir API

5 years agoCache Regex's
Mark Rousskov [Fri, 21 Jun 2019 16:04:27 +0000 (12:04 -0400)]
Cache Regex's

5 years agoMake tidy quieter by default
Mark Rousskov [Fri, 21 Jun 2019 15:04:30 +0000 (11:04 -0400)]
Make tidy quieter by default

5 years agoAuto merge of #60861 - Centril:let-chains-ast-intro, r=petrochenkov
bors [Sun, 23 Jun 2019 12:28:12 +0000 (12:28 +0000)]
Auto merge of #60861 - Centril:let-chains-ast-intro, r=petrochenkov

[let_chains, 2/6] Introduce `Let(..)` in AST, remove IfLet + WhileLet and parse let chains

Here we remove `ast::ExprKind::{IfLet, WhileLet}` and introduce `ast::ExprKind::Let`.
Moreover, we also:
+ connect the parsing logic for let chains
+ introduce the feature gate
+ rewire HIR lowering a bit.

However, this does not connect the new syntax to semantics in HIR.
That will be the subject of a subsequent PR.

Per https://github.com/rust-lang/rust/issues/53667#issuecomment-471583239.
Next step after https://github.com/rust-lang/rust/pull/59288.

cc @Manishearth re. Clippy.

r? @oli-obk

5 years agoRun rustfmt
Julien Cretin [Wed, 29 May 2019 18:21:26 +0000 (20:21 +0200)]
Run rustfmt

5 years agoAuto merge of #62069 - Centril:rollup-m8n4uw7, r=Centril
bors [Sun, 23 Jun 2019 00:10:17 +0000 (00:10 +0000)]
Auto merge of #62069 - Centril:rollup-m8n4uw7, r=Centril

Rollup of 5 pull requests

Successful merges:

 - #62047 (Trigger `unused_attribute` lint on `#[cfg_attr($pred,)]`)
 - #62049 (Fix one missing `dyn`.)
 - #62051 (Lint empty `#[derive()]` as unused attribute.)
 - #62057 (Deny explicit_outlives_requirements in the compiler)
 - #62068 (Fix meta-variable binding errors in macros)

Failed merges:

r? @ghost

5 years agoRollup merge of #62068 - ia0:fix_meta_var, r=petrochenkov
Mazdak Farrokhzad [Sat, 22 Jun 2019 23:59:20 +0000 (01:59 +0200)]
Rollup merge of #62068 - ia0:fix_meta_var, r=petrochenkov

Fix meta-variable binding errors in macros

The errors are either:
- The meta-variable used in the right-hand side is not bound (or defined) in the
  left-hand side.
- The meta-variable used in the right-hand side does not repeat with the same
  kleene operator as its binder in the left-hand side. Either it does not repeat
  enough, or it uses a different operator somewhere.

This change should have no semantic impact.

Found by https://github.com/rust-lang/rust/pull/62008

5 years agoRollup merge of #62057 - matthewjasper:deny-unnecessary-outlives, r=Mark-Simulacrum
Mazdak Farrokhzad [Sat, 22 Jun 2019 23:59:19 +0000 (01:59 +0200)]
Rollup merge of #62057 - matthewjasper:deny-unnecessary-outlives, r=Mark-Simulacrum

Deny explicit_outlives_requirements in the compiler

5 years agoRollup merge of #62051 - Centril:unused-derive-, r=petrochenkov
Mazdak Farrokhzad [Sat, 22 Jun 2019 23:59:17 +0000 (01:59 +0200)]
Rollup merge of #62051 - Centril:unused-derive-, r=petrochenkov

Lint empty `#[derive()]` as unused attribute.

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

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

r? @petrochenkov

5 years agoRollup merge of #62049 - crlf0710:patch-2, r=jonas-schievink
Mazdak Farrokhzad [Sat, 22 Jun 2019 23:59:16 +0000 (01:59 +0200)]
Rollup merge of #62049 - crlf0710:patch-2, r=jonas-schievink

Fix one missing `dyn`.

It's in the documentation of `Unsize`.

5 years agoRollup merge of #62047 - Centril:cfg-attr-empty-lint, r=estebank
Mazdak Farrokhzad [Sat, 22 Jun 2019 23:59:15 +0000 (01:59 +0200)]
Rollup merge of #62047 - Centril:cfg-attr-empty-lint, r=estebank

Trigger `unused_attribute` lint on `#[cfg_attr($pred,)]`

Lint on `#[cfg_attr($pred,)]` as decided in https://github.com/rust-lang/rust/issues/54881#issuecomment-441442173.

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

r? @estebank

5 years agolet_chains: note re. back-compat wrt. expr beginning.
Mazdak Farrokhzad [Sat, 22 Jun 2019 23:41:09 +0000 (01:41 +0200)]
let_chains: note re. back-compat wrt. expr beginning.

5 years agolet_chains: Revert 'fn with' in ast_validation.
Mazdak Farrokhzad [Sat, 22 Jun 2019 23:39:13 +0000 (01:39 +0200)]
let_chains: Revert 'fn with' in ast_validation.

5 years agoFix meta-variable binding errors in macros
Julien Cretin [Wed, 29 May 2019 18:05:43 +0000 (20:05 +0200)]
Fix meta-variable binding errors in macros

The errors are either:
- The meta-variable used in the right-hand side is not bound (or defined) in the
  left-hand side.
- The meta-variable used in the right-hand side does not repeat with the same
  kleene operator as its binder in the left-hand side. Either it does not repeat
  enough, or it uses a different operator somewhere.

This change should have no semantic impact.

5 years agolet_chains: More accurately describe `ast::ExprKind::Let`.
Mazdak Farrokhzad [Sat, 22 Jun 2019 23:17:11 +0000 (01:17 +0200)]
let_chains: More accurately describe `ast::ExprKind::Let`.

Co-Authored-By: Vadim Petrochenkov <vadim.petrochenkov@gmail.com>
5 years agolet_chains: Add test cases to pprust-expr-roundtrip.
Mazdak Farrokhzad [Mon, 17 Jun 2019 23:28:51 +0000 (01:28 +0200)]
let_chains: Add test cases to pprust-expr-roundtrip.

5 years agolet_chains: Fix bugs in pretty printing.
Mazdak Farrokhzad [Mon, 17 Jun 2019 23:28:20 +0000 (01:28 +0200)]
let_chains: Fix bugs in pretty printing.

5 years agolet_chains: Refactor parse_{if,while}_expr a bit.
Mazdak Farrokhzad [Mon, 17 Jun 2019 20:03:23 +0000 (22:03 +0200)]
let_chains: Refactor parse_{if,while}_expr a bit.

5 years agolet_chains: --bless tests due to recovery in lowering.
Mazdak Farrokhzad [Mon, 17 Jun 2019 05:38:26 +0000 (07:38 +0200)]
let_chains: --bless tests due to recovery in lowering.

5 years agolet_chains: Remove ast_validation logic in favor of lowering with recovery.
Mazdak Farrokhzad [Mon, 17 Jun 2019 05:36:45 +0000 (07:36 +0200)]
let_chains: Remove ast_validation logic in favor of lowering with recovery.

5 years agolet_chains: Adjust tests for pre-expansion gating.
Mazdak Farrokhzad [Mon, 17 Jun 2019 03:41:45 +0000 (05:41 +0200)]
let_chains: Adjust tests for pre-expansion gating.

5 years agolet_chains: Move feature gating to pre-expansion.
Mazdak Farrokhzad [Mon, 17 Jun 2019 03:41:21 +0000 (05:41 +0200)]
let_chains: Move feature gating to pre-expansion.

5 years agolet_chains: Inline visit_expr_with_let_maybe_allowed.
Mazdak Farrokhzad [Sun, 16 Jun 2019 23:18:22 +0000 (01:18 +0200)]
let_chains: Inline visit_expr_with_let_maybe_allowed.

5 years agolet_chains: readd kw::let to ident_can_begin_expr.
Mazdak Farrokhzad [Sun, 16 Jun 2019 22:45:09 +0000 (00:45 +0200)]
let_chains: readd kw::let to ident_can_begin_expr.

5 years agolet_chains: Fuse PatternSource::Let & ::LetExpr.
Mazdak Farrokhzad [Sun, 16 Jun 2019 22:16:29 +0000 (00:16 +0200)]
let_chains: Fuse PatternSource::Let & ::LetExpr.

5 years agolet_chains: scrutinee -> condition
Mazdak Farrokhzad [Sat, 25 May 2019 10:59:44 +0000 (12:59 +0200)]
let_chains: scrutinee -> condition

5 years agolet_chains: Account for const generics in validation tests.
Mazdak Farrokhzad [Tue, 21 May 2019 04:50:53 +0000 (06:50 +0200)]
let_chains: Account for const generics in validation tests.

5 years agolet_chains: Change AST validation strategy slightly.
Mazdak Farrokhzad [Sat, 18 May 2019 09:49:27 +0000 (11:49 +0200)]
let_chains: Change AST validation strategy slightly.

5 years agolet_chains: scrutinee -> head expression.
Mazdak Farrokhzad [Fri, 17 May 2019 23:22:43 +0000 (01:22 +0200)]
let_chains: scrutinee -> head expression.

5 years agolet_chains: Fix outdated doc-comment re. 'parse_if_expr'.
Mazdak Farrokhzad [Fri, 17 May 2019 22:34:55 +0000 (00:34 +0200)]
let_chains: Fix outdated doc-comment re. 'parse_if_expr'.

5 years agolet_chains: Improve documentation for ast::ExprKind::Let(..).
Mazdak Farrokhzad [Fri, 17 May 2019 22:27:12 +0000 (00:27 +0200)]
let_chains: Improve documentation for ast::ExprKind::Let(..).

5 years agolet_chains: Comment out Let in ident_can_begin_expr.
Mazdak Farrokhzad [Thu, 16 May 2019 12:17:10 +0000 (14:17 +0200)]
let_chains: Comment out Let in ident_can_begin_expr.

5 years agolet_chains: Test pretty output for simple stable if-let.
Mazdak Farrokhzad [Wed, 15 May 2019 19:03:44 +0000 (21:03 +0200)]
let_chains: Test pretty output for simple stable if-let.

5 years agolet_chains: Remove redundant tests in syntax-ambiguity-*.rs.
Mazdak Farrokhzad [Sat, 11 May 2019 13:11:54 +0000 (15:11 +0200)]
let_chains: Remove redundant tests in syntax-ambiguity-*.rs.

5 years agolet_chains: Add test protecting the precedence of && in relation to other things.
Mazdak Farrokhzad [Wed, 15 May 2019 13:16:04 +0000 (15:16 +0200)]
let_chains: Add test protecting the precedence of && in relation to other things.

5 years agolet_chains: Adjust unnecessary parens tests.
Mazdak Farrokhzad [Wed, 15 May 2019 13:33:34 +0000 (15:33 +0200)]
let_chains: Adjust unnecessary parens tests.

5 years agolet_chains: Add feature gate tests.
Mazdak Farrokhzad [Sat, 11 May 2019 13:11:31 +0000 (15:11 +0200)]
let_chains: Add feature gate tests.

5 years agolet_chains: Add tests for places where let expressions aren't allowed.
Mazdak Farrokhzad [Sat, 11 May 2019 13:06:36 +0000 (15:06 +0200)]
let_chains: Add tests for places where let expressions aren't allowed.

5 years agolet_chains: Add feature gate.
Mazdak Farrokhzad [Sat, 11 May 2019 13:11:04 +0000 (15:11 +0200)]
let_chains: Add feature gate.

5 years agolet_chains: Adjust lowering logic in lieu of ::Let.
Mazdak Farrokhzad [Wed, 15 May 2019 14:05:05 +0000 (16:05 +0200)]
let_chains: Adjust lowering logic in lieu of ::Let.

5 years agolet_chains: Handle disallowing of let chains in places lowering won't support.
Mazdak Farrokhzad [Wed, 15 May 2019 14:02:51 +0000 (16:02 +0200)]
let_chains: Handle disallowing of let chains in places lowering won't support.

5 years agolet_chains: Handle in unused parenthesis lint.
Mazdak Farrokhzad [Wed, 15 May 2019 14:03:43 +0000 (16:03 +0200)]
let_chains: Handle in unused parenthesis lint.

5 years agolet_chains: Handle in resolve.
Mazdak Farrokhzad [Wed, 15 May 2019 14:05:39 +0000 (16:05 +0200)]
let_chains: Handle in resolve.

5 years agolet_chains: Add support for parsing let expressions.
Mazdak Farrokhzad [Wed, 15 May 2019 14:03:22 +0000 (16:03 +0200)]
let_chains: Add support for parsing let expressions.

5 years agolet_chains: Handle it in AST pretty printing.
Mazdak Farrokhzad [Wed, 15 May 2019 14:05:58 +0000 (16:05 +0200)]
let_chains: Handle it in AST pretty printing.

5 years agolet_chains: Remove ast::ExprKind::{IfLet, WhileLet} from visitors and introduce ...
Mazdak Farrokhzad [Wed, 15 May 2019 14:06:58 +0000 (16:06 +0200)]
let_chains: Remove ast::ExprKind::{IfLet, WhileLet} from visitors and introduce ::Let.

5 years agolet_chains: Remove ast::ExprKind::{IfLet, WhileLet} and introduce ::Let.
Mazdak Farrokhzad [Wed, 15 May 2019 14:04:12 +0000 (16:04 +0200)]
let_chains: Remove ast::ExprKind::{IfLet, WhileLet} and introduce ::Let.

5 years agoAuto merge of #62040 - felixrabe:patch-3, r=dtolnay
bors [Sat, 22 Jun 2019 20:45:34 +0000 (20:45 +0000)]
Auto merge of #62040 - felixrabe:patch-3, r=dtolnay

Punctuation typo in ! docs

5 years agoAuto merge of #61874 - jonas-schievink:remove-rem-output-default, r=Centril
bors [Sat, 22 Jun 2019 17:59:05 +0000 (17:59 +0000)]
Auto merge of #61874 - jonas-schievink:remove-rem-output-default, r=Centril

Remove the default type of `Rem::Output`

Associated type defaults are not yet stable, and `Rem` is the only trait that specifies a default. Let's see what breaks when it's removed.

cc https://github.com/rust-lang/rust/pull/61812#issuecomment-502394566
cc @Centril

@bors try

5 years agoDeny explicit_outlives_requirements in the compiler
Matthew Jasper [Sat, 22 Jun 2019 16:13:19 +0000 (17:13 +0100)]
Deny explicit_outlives_requirements in the compiler

5 years agoAuto merge of #61020 - HeroicKatora:master, r=matthewjasper
bors [Sat, 22 Jun 2019 15:12:15 +0000 (15:12 +0000)]
Auto merge of #61020 - HeroicKatora:master, r=matthewjasper

librustc_data_structures: Speedup union of sparse and dense hybrid set

This optimization speeds up the union of a hybrid bitset when that
switches it from a sparse representation to a dense bitset. It now
clones the dense bitset and integrate only the spare elements instead of
densifying the sparse bitset, initializing all elements, and then a
union on two dense bitset, touching all words a second time.

It's not completely certain if the added complexity is worth it but I would
like to hear some feedback in any case. Benchmark results from my machine:

```
Now:  bit_set::union_hybrid_sparse_to_dense ... bench:          72 ns/iter (+/- 5)
Previous: bit_set::union_hybrid_sparse_to_dense ... bench:          90 ns/iter (+/- 6)
```

This being the second iteration of trying to improve the speed, since I missed the return value in the first, and forgot to run the relevant tests. Oops.

5 years agoLint empty 'derive()' as unused attribute.
Mazdak Farrokhzad [Sat, 22 Jun 2019 11:19:34 +0000 (13:19 +0200)]
Lint empty 'derive()' as unused attribute.

5 years agoFix one missing `dyn`.
CrLF0710 [Sat, 22 Jun 2019 10:35:43 +0000 (18:35 +0800)]
Fix one missing `dyn`.

It's in the documentation of `Unsize`.

5 years agoAuto merge of #62024 - RalfJung:miri, r=oli-obk
bors [Sat, 22 Jun 2019 10:31:43 +0000 (10:31 +0000)]
Auto merge of #62024 - RalfJung:miri, r=oli-obk

update miri

r? @oli-obk

5 years agoupdate miri
Ralf Jung [Sat, 22 Jun 2019 10:30:05 +0000 (12:30 +0200)]
update miri

5 years agoAdd test for linting on 'cfg_attr(,)'.
Mazdak Farrokhzad [Sat, 22 Jun 2019 10:12:26 +0000 (12:12 +0200)]
Add test for linting on 'cfg_attr(,)'.

5 years agoLint on 'cfg_attr(,).'
Mazdak Farrokhzad [Sat, 22 Jun 2019 10:11:01 +0000 (12:11 +0200)]
Lint on 'cfg_attr(,).'

5 years agoAuto merge of #62010 - ecstatic-morse:kill-borrows-of-proj, r=pnkfelix
bors [Sat, 22 Jun 2019 05:12:11 +0000 (05:12 +0000)]
Auto merge of #62010 - ecstatic-morse:kill-borrows-of-proj, r=pnkfelix

Kill conflicting borrows of places with projections.

Resolves #62007.

Due to a bug, the previous version of this check did not actually kill all conflicting borrows unless the borrowed place had no projections. Specifically, `sets.on_entry` will always be empty when `statement_effect` is called. It does not contain the set of borrows which are live at this point in the program.

@pnkfelix describes why this was not caught before in #62007, and created an example where the current borrow checker failed unnecessarily. This PR adds their example as a test, but they will likely want to add some additional ones.

r? @pnkfelix

5 years agoAuto merge of #62041 - Centril:rollup-95eeyx7, r=Centril
bors [Sat, 22 Jun 2019 02:16:53 +0000 (02:16 +0000)]
Auto merge of #62041 - Centril:rollup-95eeyx7, r=Centril

Rollup of 9 pull requests

Successful merges:

 - #60971 (Add DocFS layer to rustdoc)
 - #61146 (SliceConcatExt::connect defaults to calling join)
 - #61181 (Fix theme-checker failure)
 - #61267 (rustc-book: Update the rustc/clang compatibility table for xLTO.)
 - #61270 (Remove warnings about incr. comp. generating less debugging output.)
 - #61681 (Changed the error message to more clearly explain what is allowed)
 - #61984 (More NodeId pruning)
 - #62016 (Add test for issue-27697)
 - #62019 (Remove needless lifetimes)

Failed merges:

r? @ghost

5 years agoRollup merge of #62019 - jeremystucki:refactoring, r=estebank
Mazdak Farrokhzad [Fri, 21 Jun 2019 23:42:41 +0000 (01:42 +0200)]
Rollup merge of #62019 - jeremystucki:refactoring, r=estebank

Remove needless lifetimes

5 years agoRollup merge of #62016 - JohnTitor:add-test-for-issue-27697, r=alexcrichton
Mazdak Farrokhzad [Fri, 21 Jun 2019 23:42:40 +0000 (01:42 +0200)]
Rollup merge of #62016 - JohnTitor:add-test-for-issue-27697, r=alexcrichton

Add test for issue-27697

Closes #27697

5 years agoRollup merge of #61984 - ljedrz:more_node_id_pruning, r=Zoxc
Mazdak Farrokhzad [Fri, 21 Jun 2019 23:42:38 +0000 (01:42 +0200)]
Rollup merge of #61984 - ljedrz:more_node_id_pruning, r=Zoxc

More NodeId pruning

Just another round of the `HirId`ification initiative.

r? @Zoxc

5 years agoRollup merge of #61681 - asfreitas:addSendTrait, r=estebank
Mazdak Farrokhzad [Fri, 21 Jun 2019 23:42:37 +0000 (01:42 +0200)]
Rollup merge of #61681 - asfreitas:addSendTrait, r=estebank

Changed the error message to more clearly explain what is allowed

This is in regard to #61634. I changed the language to make it more clear what is allowed.

5 years agoRollup merge of #61270 - michaelwoerister:remove-incr-comp-warning, r=oli-obk
Mazdak Farrokhzad [Fri, 21 Jun 2019 23:42:35 +0000 (01:42 +0200)]
Rollup merge of #61270 - michaelwoerister:remove-incr-comp-warning, r=oli-obk

Remove warnings about incr. comp. generating less debugging output.

This PR removes the

> `-C save-temps` might not produce all requested temporary products when incremental compilation is enabled.`

warning and others similar to it.

I think these warnings have annoyed lots of people over the past ~3 years; while not helping a single one of them `:P`

r? @oli-obk

5 years agoRollup merge of #61267 - michaelwoerister:update-xlto-table, r=alexcrichton
Mazdak Farrokhzad [Fri, 21 Jun 2019 23:42:33 +0000 (01:42 +0200)]
Rollup merge of #61267 - michaelwoerister:update-xlto-table, r=alexcrichton

rustc-book: Update the rustc/clang compatibility table for xLTO.

Firefox is using these combinations successfully.

5 years agoRollup merge of #61181 - GuillaumeGomez:fix-theme-checker, r=kinnison
Mazdak Farrokhzad [Fri, 21 Jun 2019 23:42:31 +0000 (01:42 +0200)]
Rollup merge of #61181 - GuillaumeGomez:fix-theme-checker, r=kinnison

Fix theme-checker failure

Fixes #61145.

I didn't find a way to check it without strongly depending on the output... Is there a way to check if a program fails without checking its output?

r? @QuietMisdreavus

5 years agoRollup merge of #61146 - czipperz:SliceConcatExt-connect-default-to-join, r=sfackler
Mazdak Farrokhzad [Fri, 21 Jun 2019 23:42:30 +0000 (01:42 +0200)]
Rollup merge of #61146 - czipperz:SliceConcatExt-connect-default-to-join, r=sfackler

SliceConcatExt::connect defaults to calling join

It makes sense to default a deprecated method to the new one.  Precedence example is `Error::cause` defaults to calling `Error::source`.

5 years agoRollup merge of #60971 - rbtcollins:docs-perf, r=rbtcollins,GuillaumeGomez
Mazdak Farrokhzad [Fri, 21 Jun 2019 23:42:28 +0000 (01:42 +0200)]
Rollup merge of #60971 - rbtcollins:docs-perf, r=rbtcollins,GuillaumeGomez

Add DocFS layer to rustdoc

* Move fs::create_dir_all calls into DocFS to provide a clean
  extension point if async extension there is needed.
* Convert callsites of create_dir_all to ensure_dir to reduce syscalls.
* Convert fs::write usage to DocFS.write
  (which also removes a lot of try_err! usage for easier reading)
* Convert File::create calls to use Vec buffers and then DocFS.write
  in order to both consistently reduce syscalls as well as make
  deferring to threads cleaner.
* Convert OpenOptions usage similarly - I could find no discussion on
  the use of create_new for that one output file vs all the other
  files render creates, if link redirection attacks are a concern
  DocFS will provide a good central point to introduce systematic
  create_new usage.
* DocFS::write defers to rayon for IO on Windows producing a modest
  speedup: before this patch on my development workstation:

$ time cargo +mystg1 doc -p winapi:0.3.7
 Documenting winapi v0.3.7
    Finished dev [unoptimized + debuginfo] target(s) in 6m 11s

real    6m11.734s
user    0m0.015s
sys     0m0.000s

Afterwards:
$ time cargo +mystg1 doc -p winapi:0.3.7
   Compiling winapi v0.3.7
 Documenting winapi v0.3.7
    Finished dev [unoptimized + debuginfo] target(s) in 49.53s

real    0m49.643s
user    0m0.000s
sys     0m0.015s

I haven't measured how much time is in the compilation logic vs in the
IO and outputting etc, but this takes it from frustating to tolerable
for me, at least for now.

5 years agoAuto merge of #62018 - Zoxc:vs2019, r=alexcrichton
bors [Fri, 21 Jun 2019 23:28:13 +0000 (23:28 +0000)]
Auto merge of #62018 - Zoxc:vs2019, r=alexcrichton

Update LLVM to fix VS 2019 compilation

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

r? @alexcrichton

5 years agoTypo
Felix Rabe [Fri, 21 Jun 2019 22:44:31 +0000 (00:44 +0200)]
Typo

5 years agoAuto merge of #62027 - lzutao:clippy-update, r=oli-obk
bors [Fri, 21 Jun 2019 16:26:14 +0000 (16:26 +0000)]
Auto merge of #62027 - lzutao:clippy-update, r=oli-obk

submodules: Update clippy from 149a988 to 5a11ed7b

r? @oli-obk

5 years agoadding in these files that didn't get added in previous commit
Andrew [Fri, 21 Jun 2019 16:12:28 +0000 (00:12 +0800)]
adding in these files that didn't get added in previous commit

5 years agochanged expected output in tests so it now passes with changed output
Andrew [Fri, 21 Jun 2019 14:12:07 +0000 (22:12 +0800)]
changed expected output in tests so it now passes with changed output

5 years agosubmodules: Update clippy from 149a988 to 5a11ed7b
Lzu Tao [Fri, 21 Jun 2019 11:54:50 +0000 (11:54 +0000)]
submodules: Update clippy from 149a988 to 5a11ed7b

5 years agoAdd test checking our behavior for assigning over a `ConstIndex` projection.
Felix S. Klock II [Fri, 21 Jun 2019 11:08:15 +0000 (13:08 +0200)]
Add test checking our behavior for assigning over a `ConstIndex` projection.

5 years agoAdd test that our handling of projections hasn't gone too far:
Felix S. Klock II [Fri, 21 Jun 2019 10:50:18 +0000 (12:50 +0200)]
Add test that our handling of projections hasn't gone too far:
overwriting one field should not allow reborrow of an unrelated field.

5 years agoAdded test for deref projection.
Felix S. Klock II [Fri, 21 Jun 2019 10:43:04 +0000 (12:43 +0200)]
Added test for deref projection.

5 years agoadd comment outlining test.
Felix S. Klock II [Fri, 21 Jun 2019 10:38:12 +0000 (12:38 +0200)]
add comment outlining test.

5 years agorename file because I found the old filename too long and unwieldy.
Felix S. Klock II [Fri, 21 Jun 2019 10:39:11 +0000 (12:39 +0200)]
rename file because I found the old filename too long and unwieldy.

5 years agoAuto merge of #61959 - oli-obk:const_field_ice, r=eddyb
bors [Fri, 21 Jun 2019 10:16:14 +0000 (10:16 +0000)]
Auto merge of #61959 - oli-obk:const_field_ice, r=eddyb

Fix a hash collision issue on the `const_field` query

fixes #61530

5 years agoBetter handling of the sender channel part in rustdoc file writing
Guillaume Gomez [Thu, 20 Jun 2019 22:26:13 +0000 (00:26 +0200)]
Better handling of the sender channel part in rustdoc file writing

5 years agoHandle fs errors through errors::Handler instead of eprintln and panic
Guillaume Gomez [Sun, 26 May 2019 12:54:50 +0000 (14:54 +0200)]
Handle fs errors through errors::Handler instead of eprintln and panic

5 years agoAdd DocFS layer to rustdoc
Robert Collins [Mon, 20 May 2019 02:04:04 +0000 (14:04 +1200)]
Add DocFS layer to rustdoc

* Move fs::create_dir_all calls into DocFS to provide a clean
  extension point if async extension there is needed.
* Convert callsites of create_dir_all to ensure_dir to reduce syscalls.
* Convert fs::write usage to DocFS.write
  (which also removes a lot of try_err! usage for easier reading)
* Convert File::create calls to use Vec buffers and then DocFS.write
  in order to consistently reduce syscalls as well, make
  deferring to threads cleaner and avoid leaving dangling content if
  writing to existing files....
* Convert OpenOptions usage similarly - I could find no discussion on
  the use of create_new for that one output file vs all the other
  files render creates, if link redirection attacks are a concern
  DocFS will provide a good central point to introduce systematic
  create_new usage. (fs::write/File::create is vulnerable to link
  redirection attacks).
* DocFS::write defers to rayon for IO on Windows producing a modest
  speedup: before this patch on my development workstation:

$ time cargo +mystg1 doc -p winapi:0.3.7
 Documenting winapi v0.3.7
    Finished dev [unoptimized + debuginfo] target(s) in 6m 11s

real    6m11.734s

Afterwards:
$ time cargo +mystg1 doc -p winapi:0.3.7
   Compiling winapi v0.3.7
 Documenting winapi v0.3.7
    Finished dev [unoptimized + debuginfo] target(s) in 49.53s

real    0m49.643s

I haven't measured how much time is in the compilation logic vs in the
IO and outputting etc, but this takes it from frustating to tolerable
for me, at least for now.

5 years agoRemove needless lifetimes
Jeremy Stucki [Fri, 21 Jun 2019 09:39:28 +0000 (11:39 +0200)]
Remove needless lifetimes

5 years agoRemove warnings about incr. comp. generating less debugging output.
Michael Woerister [Tue, 28 May 2019 15:27:46 +0000 (17:27 +0200)]
Remove warnings about incr. comp. generating less debugging output.

5 years agoFurther reduce the likelyhood of hash collisions
Oliver Scherer [Fri, 21 Jun 2019 07:56:02 +0000 (09:56 +0200)]
Further reduce the likelyhood of hash collisions