Commit Graph

105043 Commits

Author SHA1 Message Date
bors
d297b19663 Auto merge of #67721 - JohnTitor:rollup-o8zm4r9, r=JohnTitor
Rollup of 10 pull requests

Successful merges:

 - #64273 (Stabilize attribute macros on inline modules)
 - #67287 (typeck: note other end-point when checking range pats)
 - #67564 (docs: Iterator adapters have unspecified results after a panic)
 - #67622 (Some keyword documentation.)
 - #67657 (Clean up const-hack PRs now that const if / match exist.)
 - #67677 (resolve: Minor cleanup of duplicate macro reexports)
 - #67687 (Do not ICE on lifetime error involving closures)
 - #67698 (Move reachable_set and diagnostic_items to librustc_passes.)
 - #67701 (tidy: Enforce formatting rather than just check it if `--bless` is specified)
 - #67715 (Typo fix)

Failed merges:

r? @ghost
2019-12-30 05:12:48 +00:00
Yuki Okushi
dcc30aced0
Rollup merge of #67715 - petertodd:2019-typo-manuallydrop, r=Centril
Typo fix
2019-12-30 14:07:57 +09:00
Yuki Okushi
b6244af566
Rollup merge of #67701 - petrochenkov:tidybless, r=Mark-Simulacrum
tidy: Enforce formatting rather than just check it if `--bless` is specified

Ensuring the "tidy"-ness currently requires running `rustfmt` twice:
```sh
./x.py fmt && ./x.py test tidy
```
, once to actually format code and the second time as a part of tidy to check that the code is formatted.

Running `rustfmt` is slow, so we don't want to run it twice.

With this PR tidy enforces the formatting rather than just checks it if `--bless` was passed to it:
```sh
./x.py test tidy --bless
```

r? @Mark-Simulacrum
2019-12-30 14:07:56 +09:00
Yuki Okushi
88e322c4f1
Rollup merge of #67698 - cjgillot:passes-first, r=Zoxc
Move reachable_set and diagnostic_items to librustc_passes.

Split out of #67688

r? @Zoxc
2019-12-30 14:07:55 +09:00
Yuki Okushi
3928aceb49
Rollup merge of #67687 - estebank:issue-67634, r=matthewjasper
Do not ICE on lifetime error involving closures

Fix #67634.
2019-12-30 14:07:53 +09:00
Yuki Okushi
f70847a863
Rollup merge of #67677 - petrochenkov:dupexp, r=Centril
resolve: Minor cleanup of duplicate macro reexports

Enabled by https://github.com/rust-lang/rust/pull/65785 which changed `duplicate_macro_exports` from a lint to a hard error.
2019-12-30 14:07:52 +09:00
Yuki Okushi
047a4bb432
Rollup merge of #67657 - jumbatm:cleanup-const-hack, r=oli-obk
Clean up const-hack PRs now that const if / match exist.

Closes #67627.

Cleans up these merged PRs tagged with `const-hack`:

- #63810
- #63786
- #61635
- #58044

reverting their contents to have the match or if expressions they originally contained.

r? @oli-obk

There's one more PR in those tagged with `const-hack` that originally wasn't merged (#65107). Reading the thread, it looks like it was originally closed because the `const-hack` for the checked arithmetic non-negligibly hurt performance, and because there was no way to manipulate the returned Option at compile time anyway (with neither const if nor const match). Would you like me to add these changes to the changes from this PR here too, now that we have the necessary features?
2019-12-30 14:07:50 +09:00
Yuki Okushi
0eb19dcf8b
Rollup merge of #67622 - gilescope:async-keyword-doc, r=Centril
Some keyword documentation.

I thought about going into detail, but I'd much rather route them to the async book asap.
2019-12-30 14:07:49 +09:00
Yuki Okushi
97a7b03298
Rollup merge of #67564 - Mark-Simulacrum:iter-adapter-panic, r=LukasKalbertodt
docs: Iterator adapters have unspecified results after a panic

Fixes #58170.

That issue also has rough consensus from 3 members of the library team for this being the behavior we would like to specify.
2019-12-30 14:07:47 +09:00
Yuki Okushi
2c46dd16a5
Rollup merge of #67287 - Centril:mismatch-range-improve-diag, r=estebank
typeck: note other end-point when checking range pats

Fixes #57389, alternative to #67214 that should be less invasive to type checking logic.

r? @estebank
2019-12-30 14:07:46 +09:00
Yuki Okushi
f0309f5a72
Rollup merge of #64273 - petrochenkov:stabattrmod, r=Centril
Stabilize attribute macros on inline modules

While still gating non-inline modules in proc macro input.

Split from https://github.com/rust-lang/rust/pull/63931
cc https://github.com/rust-lang/rust/issues/54727
2019-12-30 14:07:44 +09:00
jumbatm
27a083375e Add self to mailmap. 2019-12-30 13:59:39 +10:00
mark
96ce6076c3 fix review comment 2019-12-29 21:55:46 -06:00
mark
eb218fc8f0 Get rid of ErrorReportingCtx 2019-12-29 21:55:46 -06:00
Esteban Küber
8a3872ea9c review comments 2019-12-29 19:17:23 -08:00
Esteban Küber
cfa0b07c8d clean up logic 2019-12-29 19:16:53 -08:00
Esteban Küber
e843245716 review comments 2019-12-29 19:16:53 -08:00
Esteban Küber
3a9c3f92cc Format and fix rebase 2019-12-29 19:16:15 -08:00
Esteban Küber
fb52883690 Account for existing type params when suggesting replacing _ for a new one 2019-12-29 19:16:15 -08:00
Esteban Küber
6c8b2dcb19 Account for all item kinds when collecting and gateing _ in item defs 2019-12-29 19:16:15 -08:00
Esteban Küber
8cb193a5cb Suggest type param when encountering _ in fn defs
When encountering `_` type placeholder in fn arguments and return type,
suggest using generic type parameters.
Expand what counts as an inferable return type to slice, array and
tuples of `_`.
2019-12-29 19:11:27 -08:00
bors
214548b8af Auto merge of #67631 - oli-obk:polymorphic_promotion, r=wesleywiser
Work around a resolve bug in const prop

r? @wesleywiser @anp

This isn't exposed right now, but further changes to rustc may start causing bugs without this.
2019-12-30 02:05:24 +00:00
Peter Todd
e4c0eddbdb
Typo fix 2019-12-29 20:50:01 -05:00
Mazdak Farrokhzad
c4b6de2d6a note other end-point when typeck range pats 2019-12-30 02:48:35 +01:00
bors
2ba0d2acbd Auto merge of #66942 - cjgillot:hirene-ty, r=Zoxc
Allocate HIR on an arena 3/4 -- Ty

This is the third PR in the series started by #66931 and #66936

Once again, commits don't really make sense on their own.
They are mostly split by type of compile error.

The additional diff is here: https://github.com/cjgillot/rust/compare/hirene-expr...hirene-ty
2019-12-29 22:51:02 +00:00
Wesley Wiser
5ca3a1bed1 Resolve long compile times when evaluating always valid constants
This extends the existing logic which skips validating every integer or
floating point number type to also skip validating empty structs because
they are also trivially valid.

Fixes #67539
2019-12-29 16:45:58 -05:00
bors
da3629b05f Auto merge of #67112 - Centril:expr-polish, r=estebank
Refactor expression parsing thoroughly

Based on https://github.com/rust-lang/rust/pull/66994 together with which this has refactored basically the entirety of `expr.rs`.

r? @estebank
2019-12-29 19:30:53 +00:00
bors
25434f898b Auto merge of #67661 - JohnTitor:clippy-cargo, r=oli-obk
Update Clippy and cargo

includes latest rustup and resolves dependency conflicts with cargo
Closes #67541

r? @oli-obk @Manishearth
2019-12-29 16:12:57 +00:00
Camille GILLOT
f5c63e7b27 Introduce librustc/middle/mod.rs 2019-12-29 16:21:55 +01:00
Camille GILLOT
57681628f9 Move get_lib_features query in librustc_passes. 2019-12-29 16:18:05 +01:00
Camille GILLOT
ec3a9f64f1 Move lib_features.rs in librustc_passes. 2019-12-29 16:17:35 +01:00
Vadim Petrochenkov
5b80a99a9f tidy: Enforce formatting rather than just check it if --bless is specified 2019-12-29 14:31:54 +03:00
Camille GILLOT
fd4d50d442 Move diagnostic_items queries to librustc_passes. 2019-12-29 10:45:20 +01:00
Camille GILLOT
2a14d16583 Move diagnostic_items.rs to librustc_passes. 2019-12-29 10:45:08 +01:00
Camille GILLOT
4922310a3b Move reachable_set query in librustc_passes. 2019-12-29 10:45:00 +01:00
Camille GILLOT
2e7dbb42c7 Move reachable.rs to librustc_passes. 2019-12-29 10:44:52 +01:00
bors
e0239b4bd0 Auto merge of #67694 - Dylan-DPC:rollup-wxxm9yu, r=Dylan-DPC
Rollup of 3 pull requests

Successful merges:

 - #67482 (Fix outdated comment)
 - #67673 (Update .mailmap)
 - #67679 (Change "be returning" to "return")

Failed merges:

r? @ghost
2019-12-29 09:33:04 +00:00
Giles Cope
bc1b2d5017 Some keyword documentation. 2019-12-29 08:19:33 +00:00
Yuki Okushi
f541e91a7a Update Cargo.lock 2019-12-29 17:03:07 +09:00
Yuki Okushi
6f1ebf8ec2 Update cargo 2019-12-29 17:03:07 +09:00
Yuki Okushi
a102e9bc69 Update Clippy 2019-12-29 17:03:07 +09:00
Dylan DPC
71b6ae92a1
Rollup merge of #67679 - kraai:change-be-returning-to-return, r=Dylan-DPC
Change "be returning" to "return"
2019-12-29 13:09:59 +05:30
Dylan DPC
e619b6cda0
Rollup merge of #67673 - JohnTitor:mailmap, r=Dylan-DPC
Update .mailmap

r? @Mark-Simulacrum
2019-12-29 13:09:58 +05:30
Dylan DPC
115e3c80df
Rollup merge of #67482 - ldm0:master, r=petrochenkov
Fix outdated comment

Logics in `libsyntax/ext/expand.rs:MacroExpander::expand()` have been moved to `libsyntax_expand/expand.rs:MacroExpander::fully_expand_fragment()`
This pull request fixs the dangling file path.

#### Old

35176867f6/src/libsyntax/ext/expand.rs (L285-L301)

#### New

9ff30a7810/src/libsyntax_expand/expand.rs (L421-L439)

9ff30a7810/src/libsyntax_expand/base.rs (L224-L234)
2019-12-29 13:09:56 +05:30
bors
774a4bd4f4 Auto merge of #67614 - Mark-Simulacrum:global-callbacks, r=Zoxc
Set callbacks globally

This sets the callbacks from syntax and rustc_errors just once, utilizing static (rather than thread-local) storage.
2019-12-29 04:30:56 +00:00
Oliver Scherer
5fd8abd227 Ensure that we don't cause *new* hard errors if we suddenly can evaluate more constants during const prop 2019-12-29 00:26:25 +01:00
bors
00fc203b65 Auto merge of #67334 - estebank:ignore-triple, r=nikomatsakis
Teach `compiletest` to ignore platform triples

The UI tests are written assuming `--remap-path-prefix` is *not used* (`remap-debuginfo` in `config.toml`). The consequence is that the error messages may include paths and snippets into the standard library. When `remap-debuginfo` is enabled, these messages change in format and structure because `rustc` will not show paths and snippets into the standard library.

This normally isn't a problem for the "main" platforms (linux/macos/windows), because the CI infrastructure is set up so that the tests run without `remap-debuginfo`, but the `dist` artifacts are built separately with `remap-debuginfo` enabled. However, some of the lower-tier platforms perform both tests and distribution in a single step with `remap-debuginfo` enabled. This also affects developers and distributors who use `remap-debuginfo`.

To sidestep this problem, we add a way to ignore tests in specific platform triples, and update the overly broad `ignore-x86` rule in affected tests.

Address #46948, #54546, #53081.
2019-12-28 23:02:09 +00:00
Esteban Küber
5e1b366fb6 Do not ICE on lifetime error involving closures 2019-12-28 13:51:29 -08:00
Esteban Küber
90bf0d2e33 Ignore i586-unknown-linux-gnu and i586-unknown-musl in tests 2019-12-28 12:26:48 -08:00
bors
3a3f4a7cba Auto merge of #67151 - petrochenkov:docomm, r=estebank
doc comments: Less attribute mimicking

Make sure doc comments are not converted into intermediate meta-items, or not mixed with `doc(inline)` or something like that.

Follow-up to https://github.com/rust-lang/rust/pull/65750.
2019-12-28 19:23:36 +00:00