Commit Graph

104807 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
ab050d6a83 MatchExpressionArmPattern: Use more generic wording.
The existing wording was inappropriate for e.g.
`if let Ok(_) = expr { .. }`. The diagnostic would
leak the fact that we desugar to a `match`.
2019-12-30 13:50:20 +01:00
Mazdak Farrokhzad
73db83aa70 cleanup check_pat 2019-12-30 13:50:20 +01:00
bors
0fb4380136 Auto merge of #67667 - wesleywiser:speed_up_trivially_valid_constants, r=oli-obk
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

r? @oli-obk
cc @RalfJung @spastorino
2019-12-30 11:31:04 +00:00
Camille GILLOT
5ed625a86e Outdated comment. 2019-12-30 11:45:59 +01:00
Camille GILLOT
176efc4323 Inert doc comments. 2019-12-30 11:45:59 +01:00
Camille GILLOT
afcd5c16b7 Move region_scope_tree query to librustc_passes. 2019-12-30 11:45:57 +01:00
Camille GILLOT
ca5a10f53e Move region.rs to librustc_passes. 2019-12-30 11:39:14 +01:00
Camille GILLOT
8f05d12c67 Duplicate allocations in lowering. 2019-12-30 11:29:49 +01:00
Camille GILLOT
4d773829c5 Avoid a few allocations. 2019-12-30 11:29:30 +01:00
Camille GILLOT
2d74e9ba13 Allocate inside lower_path_extra. 2019-12-30 11:29:30 +01:00
Camille GILLOT
e569ada528 Retire hir::ptr. 2019-12-30 11:29:30 +01:00
Camille GILLOT
e2c9dd7a10 Retire HirVec. 2019-12-30 11:29:30 +01:00
Camille GILLOT
aa3678d4f4 Remove HirVec from Generics. 2019-12-30 11:29:29 +01:00
Donough Liu
b4e1fbcf81 Gammer fix 2019-12-30 17:14:08 +08:00
bors
580ac0b4f1 Auto merge of #67658 - spastorino:do-not-copy-zsts, r=oli-obk
Avoid memory copy logic for zsts

r? @oli-obk

One of the included commits is work done by @HeroicKatora in #62655
2019-12-30 08:24:22 +00:00
Donough Liu
751fe7c43d Add error code explanation for E0477 2019-12-30 14:41:46 +08:00
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