Commit Graph

104823 Commits

Author SHA1 Message Date
Ohad Ravid
d4fbb55c9c Suggest adding a lifetime constraint when opaque type is responsible for "does not live long enough" error 2019-12-30 18:10:46 +01:00
Vadim Petrochenkov
208c1bff0a Support -Z ui-testing=yes/no 2019-12-30 20:01:34 +03:00
Vadim Petrochenkov
7608f21b27 Rename rustc_resolve/resolve_imports.rs -> rustc_resolve/imports.rs 2019-12-30 19:18:18 +03:00
Vadim Petrochenkov
a2823e3af6 Rename libsyntax_ext and libsyntax_expand in code 2019-12-30 19:18:17 +03:00
Vadim Petrochenkov
b9a9c5b4fd Make things build again 2019-12-30 19:18:16 +03:00
Vadim Petrochenkov
b683de4ad7 Rename directories for some crates from syntax_x to rustc_x
`syntax_expand` -> `rustc_expand`
`syntax_pos` -> `rustc_span`
`syntax_ext` -> `rustc_builtin_macros`
2019-12-30 19:18:16 +03:00
bors
9d6f87184e Auto merge of #67474 - mark-i-m:simplify-borrow_check-4, r=matthewjasper
Get rid of ErrorReportingCtx [5/N]

We can now use `MirBorrowckCtxt` instead :)

```
6 files changed, 122 insertions(+), 243 deletions(-)
```

This is a followup to (and thus blocked on) #67241.

r? @matthewjasper

cc @eddyb

I while try to do one more to get rid of the weird usage of `RegionInferenceCtx` in `borrow_check::diagnostics::{region_errors, region_naming}`. I think those uses can possibly also be refactored to use `MirBorrowckCtxt`...
2019-12-30 14:47:26 +00:00
Mazdak Farrokhzad
63dc0e41db discriminant -> scrutinee 2019-12-30 14:28:40 +01:00
Mazdak Farrokhzad
f8d2cce0ce Blame user type in pat type error. 2019-12-30 14:28:40 +01:00
Mazdak Farrokhzad
f2c6a19c0d check_fn: simplify 2019-12-30 14:05:17 +01:00
Mazdak Farrokhzad
d7e2f3aee5 refactor and fix this-expression-has-type note 2019-12-30 14:05:17 +01:00
Mateusz Mikuła
d452f89206 Bump smallvec 2019-12-30 13:50:23 +01:00
Mazdak Farrokhzad
f35840f77c Pass the span of <init> in let <pat> = <init>;
when type checking `<pat>`.
2019-12-30 13:50:20 +01:00
Mazdak Farrokhzad
6137ad49e4 move demand_eqtype_pat* to pat.rs 2019-12-30 13:50:20 +01:00
Mazdak Farrokhzad
e952377ddc MatchExpressionArmPattern -> Pattern
Current name is too specific for incoming changes.
2019-12-30 13:50:20 +01:00
Mazdak Farrokhzad
960acb044b Show scrutinee expr type for struct fields.
TODO: The type is wrong and will be fixed in later commits.
2019-12-30 13:50:20 +01:00
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