Commit Graph

104730 Commits

Author SHA1 Message Date
Michael Woerister
971aa2bd62 Attempt to fix intermittent failures of pgo-branch-weights test. 2020-01-03 10:40:15 +01:00
bors
0a58f58646 Auto merge of #63177 - MOZGIII:find-result, r=Amanieu
Add Iterator::try_find

I found a need for this fn, and created this PR.

Tracking issue: #63178

I did a fair amount of thinking about the function name, and settled on the current one.
I don't see other anything else that's non-trivial here, but I'm open for debate. I just want this functionality to be there.
It couples with the `collect` trick for collecting `Result<Vec<T>, E>` from `Iterator<Item = Result<T, E>>`.

UPD:

I've already looked at `fallible_iterator` crate, but I don't think it supports my use case.
The main problem is that I can't construct a failable iterator. I have a regular iterator, and I just need to apply a predicate that can fail via `find` method.

UPD: `fallible_iterator` would work, but it's not elegant cause I'd have to make a failable iterator by mapping iterator with `Result::Ok` first.
2020-01-02 10:20:09 +00:00
bors
766fba3fdc Auto merge of #67779 - Amanieu:ehabi_fix, r=Mark-Simulacrum
Update the barrier cache during ARM EHABI unwinding

Fixes #67242

r? @alexcrichton
2020-01-02 07:04:20 +00:00
bors
68fdecd0ba Auto merge of #67700 - cjgillot:passes-stability, r=Zoxc
Move stability queries to librustc_passes.

Contains:
- check_mod_unstable_api_usage query;
- stability_index query;
- check_unused_or_stable features pass.

Split out of #67688

r? @Zoxc
2020-01-02 03:52:42 +00:00
bors
aaca5f1d76 Auto merge of #67689 - mark-i-m:update-guide, r=JohnTitor
Update rustc-guide

r? @ehuss

cc @rust-lang/wg-learning
2020-01-02 00:37:03 +00:00
MOZGIII
5446cc99bb Add Iterator::try_find 2020-01-02 00:59:26 +03:00
bors
0ec3706702 Auto merge of #67676 - wesleywiser:lint_overflowing_int_casts, r=oli-obk
Lint overflowing integer casts in const prop

This extends the invalid cases we catch in const prop to include
overflowing integer casts using the same machinery as the overflowing
binary and unary operation logic.

r? @oli-obk
2020-01-01 21:27:11 +00:00
Wesley Wiser
e8c1c4cd5b Ignore overflow lint on 32-bit platform 2020-01-01 12:31:36 -05:00
Mark Mansi
01c93d5f5b update rustc-guide 2020-01-01 11:05:59 -06:00
Amanieu d'Antras
057ad39ea8 Update the barrier cache during ARM EHABI unwinding 2020-01-01 17:20:16 +01:00
bors
1ed41b0720 Auto merge of #67729 - mati865:deps, r=nikomatsakis
Bump smallvec
2020-01-01 15:10:48 +00:00
Camille GILLOT
36b6630771 Move stability queries to librustc_passes.
Contains:
- check_mod_unstable_api_usage query;
- stability_index query;
- check_unused_or_stable features pass.
2020-01-01 14:15:02 +01:00
Camille GILLOT
eca7797d6b Move stability.rs to librustc_passes. 2020-01-01 13:28:12 +01:00
bors
e380efa5ec Auto merge of #67471 - nnethercote:revert-66405, r=nikomatsakis
Revert parts of #66405.

Because PR #66405 caused major performance regressions in some cases.

That PR had five commits, two of which affected performance, and three
of which were refactorings. This change undoes the performance-affecting
changes, while keeping the refactorings in place.

Fixes #67454.

r? @nikomatsakis
2020-01-01 11:54:21 +00:00
bors
9e6fb538f9 Auto merge of #67763 - petrochenkov:crateren2, r=Centril
Rename `syntax_pos` to `rustc_span` in source code

Follow-up to https://github.com/rust-lang/rust/pull/67707.

r? @Centril
2020-01-01 08:39:44 +00:00
Vadim Petrochenkov
70f1d57048 Rename syntax_pos to rustc_span in source code 2020-01-01 09:15:18 +03:00
Nicholas Nethercote
18a3669903 Revert parts of #66405.
Because it caused major performance regressions in some cases.

That PR had five commits, two of which affected performance, and three
of which were refactorings. This change undoes the performance-affecting
changes, while keeping the refactorings in place.

Fixes #67454.
2019-12-31 17:58:29 -05:00
bors
38aa6bdfd7 Auto merge of #67726 - JohnTitor:clippy-up, r=oli-obk
Update Clippy

Fixes #67716
r? @oli-obk
2019-12-31 22:51:24 +00:00
bors
119307a83e Auto merge of #67764 - Centril:rollup-ycbq3os, r=Centril
Rollup of 6 pull requests

Successful merges:

 - #67574 (Extract `rustc_ast_lowering` crate from `rustc`)
 - #67685 (Constify Result)
 - #67702 (Add symbol normalization for proc_macro_server.)
 - #67730 (Cleanup pattern type checking, fix diagnostics bugs (+ improvements))
 - #67744 (parser: reduce diversity in error handling mechanisms)
 - #67748 (Use function attribute "frame-pointer" instead of "no-frame-pointer-elim")

Failed merges:

r? @ghost
2019-12-31 19:41:36 +00:00
Mazdak Farrokhzad
40579d15db
Rollup merge of #67748 - MaskRay:frame-pointer, r=rkruppe
Use function attribute "frame-pointer" instead of "no-frame-pointer-elim"

LLVM 8 ([D56351](http://reviews.llvm.org/D56351)) introduced "frame-pointer". In LLVM 10 (D71863),
"no-frame-pointer-elim"/"no-frame-pointer-elim-non-leaf" will be
ignored.

-----

In the LLVM monorepo, run `git show origin/release/8.x:llvm/lib/CodeGen/TargetOptionsImpl.cpp` to see that `"frame-pointer"` is available since LLVM 8.
2019-12-31 19:19:39 +01:00
Mazdak Farrokhzad
3cca3c6ace
Rollup merge of #67744 - Centril:reduce-diversity, r=petrochenkov
parser: reduce diversity in error handling mechanisms

Instead of having e.g. `span_err`, `fatal`, etc., we prefer to move towards uniformly using `struct_span_err` thus making it harder to emit fatal and/or unstructured diagnostics.

This PR also de-fatalizes some diagnostics.

r? @estebank
2019-12-31 19:19:38 +01:00
Mazdak Farrokhzad
50fb8480db
Rollup merge of #67730 - Centril:typeck-pat-cleanup, r=estebank
Cleanup pattern type checking, fix diagnostics bugs (+ improvements)

r? @estebank
2019-12-31 19:19:36 +01:00
Mazdak Farrokhzad
bc5963d2eb
Rollup merge of #67702 - crlf0710:normalize_ident2, r=petrochenkov
Add symbol normalization for proc_macro_server.

Follow up for #66670, finishing the first bullet point in #55467.

r? @petrochenkov
2019-12-31 19:19:34 +01:00
Mazdak Farrokhzad
89fbed98c2
Rollup merge of #67685 - lukaslueg:const_result, r=oli-obk
Constify Result

r? @oli-obk

This is just the `Result`-part of #67494 which I'll resubmit once #66254 has landed.
2019-12-31 19:19:33 +01:00
Mazdak Farrokhzad
3cf2bc0e51
Rollup merge of #67574 - Centril:librustc_lowering, r=Mark-Simulacrum
Extract `rustc_ast_lowering` crate from `rustc`

Working towards https://github.com/rust-lang/rust/issues/65031.

This PR moves `src/librustc/hir/lowering{/, .rs}` to its own crate (`librustc_ast_lowering`) which is very self-contained (only `fn lower_crate` and `trait Resolver` are exposed).

r? @Mark-Simulacrum
2019-12-31 19:19:31 +01:00
Mazdak Farrokhzad
70eca998d7 nix lower_label identity function. 2019-12-31 17:57:17 +01:00
Mazdak Farrokhzad
52179c56be librustc_ast_lowering: fix misc fallout. 2019-12-31 17:56:25 +01:00
Mazdak Farrokhzad
7b6ef2b369 librustc_ast_lowering: cargo changes. 2019-12-31 17:33:10 +01:00
Mazdak Farrokhzad
ce8dbf05f9 librustc_ast_lowering: move the files. 2019-12-31 17:27:34 +01:00
bors
769eb2194a Auto merge of #67699 - cjgillot:passes-resolve, r=Zoxc
Move resolve_lifetimes query in librustc_resolve.

Split out of #67688

r? @Zoxc
2019-12-31 16:21:10 +00:00
Lukas Lueg
954c432a87 Constify Result 2019-12-31 15:13:37 +01:00
bors
5095101528 Auto merge of #67752 - Dylan-DPC:rollup-7f9v4nx, r=Dylan-DPC
Rollup of 5 pull requests

Successful merges:

 - #67430 (doc: minus (U+2212) instead of dash (U+002D) for negative infinity)
 - #67697 (Move the region_scope_tree query to librustc_passes.)
 - #67719 (Add self to .mailmap)
 - #67723 (Add error code explanation for E0477)
 - #67735 (Support `-Z ui-testing=yes/no`)

Failed merges:

r? @ghost
2019-12-31 12:58:10 +00:00
Dylan DPC
529a42a1a6
Rollup merge of #67735 - petrochenkov:uibool, r=Mark-Simulacrum
Support `-Z ui-testing=yes/no`

`ui-testing` is now a boolean option (`-Z ui-testing=yes/no`) and can be specified multiple times with later values overriding earlier values (`-Z ui-testing=yes -Z ui-testing=no` == `-Z ui-testing=no`), so it can be set in a hierarchical way, e.g. UI testing infra may enable it by default with specific tests being able to opt-out.

This way we can remove the special opt-out support from `compiletest`.

Inspired by https://github.com/rust-lang/rust/pull/67709.
2019-12-31 18:14:07 +05:30
Dylan DPC
cf24b6bcbf
Rollup merge of #67723 - ldm0:E0477, r=Dylan-DPC
Add error code explanation for E0477

Part of #61137
2019-12-31 18:14:06 +05:30
Dylan DPC
b223f5b043
Rollup merge of #67719 - jumbatm:add-self-to-mailmap, r=Mark-Simulacrum
Add self to .mailmap

r? @Mark-Simulacrum

Cheers.
2019-12-31 18:14:04 +05:30
Dylan DPC
83f5cf8c4d
Rollup merge of #67697 - cjgillot:passes-scope-tree, r=Zoxc
Move the region_scope_tree query to librustc_passes.

Split out of #67688.

r? @Zoxc
2019-12-31 18:14:03 +05:30
Dylan DPC
2c64475069
Rollup merge of #67430 - tspiteri:minus-inf, r=Dylan-DPC
doc: minus (U+2212) instead of dash (U+002D) for negative infinity

The documentation for [`f32::NEG_INFINITY`](https://doc.rust-lang.org/std/f32/constant.NEG_INFINITY.html) contains “-∞” with a dash instead of a minus sign, “−∞” with a proper minus sign looks better with the used Source Serif Pro font. Similarly for [`f64::NEG_INFINITY`](https://doc.rust-lang.org/std/f64/constant.NEG_INFINITY.html).
2019-12-31 18:14:01 +05:30
Yuki Okushi
b5f340c196 Update Clippy 2019-12-31 20:49:40 +09:00
bors
71bb0ff33e Auto merge of #67597 - estebank:placeholder-type, r=oli-obk
Suggest type param when encountering `_` in item signatures

Fix #27435.
2019-12-31 09:50:49 +00:00
Camille GILLOT
7e4345ca79 Simplify ResolveLiftimes creation. 2019-12-31 10:21:33 +01:00
Camille GILLOT
31f85d3fe2 Review comments. 2019-12-31 10:21:33 +01:00
Camille GILLOT
1b92e7e446 Inert doc comments. 2019-12-31 10:21:32 +01:00
Camille GILLOT
28eefb3797 Move resolve_lifetimes query in librustc_resolve. 2019-12-31 10:21:32 +01:00
Camille GILLOT
2675765a1e Move resolve_lifetime.rs to librustc_resolve. 2019-12-31 10:21:32 +01:00
Fangrui Song
b40dc30a3e Use function attribute "frame-pointer" instead of "no-frame-pointer-elim"
LLVM 8 (D56351) introduced "frame-pointer". In LLVM 10 (D71863),
"no-frame-pointer-elim"/"no-frame-pointer-elim-non-leaf" will be
ignored.
2019-12-30 23:16:02 -08:00
Mazdak Farrokhzad
2e7806146c parser: bug -> span_bug 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
4ae9c1c3ec parser::diagnostics: remove fn fatal 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
2e812c1c5f parser::pat: remove .fatal calls 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
6fba125912 parser::path: remove .fatal calls 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
51fb599849 parser::module: remove .fatal calls 2019-12-31 04:33:34 +01:00