Commit Graph

89496 Commits

Author SHA1 Message Date
Guillaume Gomez
a74e4f7fd5
Rollup merge of #58157 - h-michael:cargo-lock, r=alexcrichton
Add Cargo.lock automatically adding message

If I execute `cargo +nightly fix`, this change always occurs; cc #58099
r? @Centril
2019-02-10 21:45:11 +01:00
Guillaume Gomez
82e051b6ce
Rollup merge of #57926 - icefoxen:test-doc-pr, r=frewsxcv
Tiny expansion to docs for `core::convert`.

This is not really significant, accept or reject as you wish.  I just want to make sure I understand how the PR process works and that I'm doing it right before doing a bigger one for #33417.
2019-02-10 21:45:09 +01:00
Guillaume Gomez
d9f9780918
Rollup merge of #57740 - JakubOnderka:ipv4addr-to_ne_bytes, r=scottmcm
Use `to_ne_bytes` for converting IPv4Addr to octets

It is easier and it should be also faster, because [`to_ne_bytes`](https://doc.rust-lang.org/std/primitive.u32.html#method.to_ne_bytes) just calls `mem::transmute`.
2019-02-10 21:45:08 +01:00
Guillaume Gomez
e917f8b531
Rollup merge of #57259 - king6cong:master, r=alexcrichton
Update reference of rlibc crate to compiler-builtins crate

None
2019-02-10 21:45:07 +01:00
bors
c3d2490433 Auto merge of #58151 - ljedrz:HirIdify_rustc, r=Zoxc
Partially HirId-ify rustc

Another step towards https://github.com/rust-lang/rust/pull/57578.
2019-02-10 14:30:37 +00:00
bors
68650cacf2 Auto merge of #58085 - wesleywiser:profiler_2, r=wesleywiser
Implement more detailed self profiling

Timing data and cache hits/misses are now recorded at the query level.
This allows us to show detailed per query information such as total time
for each query.

To see detailed query information in the summary pass the `-Z verbose`
flag. For example:

```
rustc -Z self-profile -Z verbose hello_world.rs
```

results in something like:

```md
Self profiling results:

| Phase                                     | Time (ms)      | Time (%) | Queries        | Hits (%)
| ----------------------------------------- | -------------- | -------- | -------------- | --------
| Other                                     |            177 |    54.97 |           8094 |    45.47
| - {time spent not running queries}        |            113 |    35.09 |              0 |     0.00
| - const_eval                              |             16 |     4.97 |             26 |    11.54
| - type_of                                 |              9 |     2.80 |            627 |    27.75
| - const_eval_raw                          |              8 |     2.48 |             22 |     0.00
| - adt_def                                 |              7 |     2.17 |            381 |    11.55
| - visible_parent_map                      |              7 |     2.17 |             99 |    98.99
| - item_attrs                              |              6 |     1.86 |            698 |    50.14
| - item_children                           |              5 |     1.55 |           2815 |     0.00
| - adt_dtorck_constraint                   |              4 |     1.24 |              2 |     0.00
| - adt_destructor                          |              2 |     0.62 |             15 |    86.67
| TypeChecking                              |             53 |    16.46 |           2834 |    79.89
| - trait_impls_of                          |              9 |     2.80 |             65 |    86.15
| - evaluate_obligation                     |              7 |     2.17 |             80 |     2.50
| - const_is_rvalue_promotable_to_static    |              6 |     1.86 |              1 |     0.00
| - is_copy_raw                             |              6 |     1.86 |             29 |    58.62
| - rvalue_promotable_map                   |              6 |     1.86 |              2 |    50.00
| - {time spent not running queries}        |              6 |     1.86 |              0 |     0.00
| - typeck_item_bodies                      |              5 |     1.55 |              1 |     0.00
| - typeck_tables_of                        |              5 |     1.55 |             19 |    94.74
| - dropck_outlives                         |              2 |     0.62 |              1 |     0.00
| - layout_raw                              |              1 |     0.31 |            668 |    87.87
| Linking                                   |             48 |    14.91 |             43 |    46.51
| - {time spent not running queries}        |             48 |    14.91 |              0 |     0.00
| Codegen                                   |             29 |     9.01 |            420 |    61.90
| - {time spent not running queries}        |             16 |     4.97 |              0 |     0.00
| - collect_and_partition_mono_items        |             11 |     3.42 |             13 |    92.31
| - mir_const                               |              1 |     0.31 |              1 |     0.00
| - mir_validated                           |              1 |     0.31 |              3 |    66.67
| Expansion                                 |             14 |     4.35 |              0 |     0.00
| - {time spent not running queries}        |             14 |     4.35 |              0 |     0.00
| BorrowChecking                            |              1 |     0.31 |             12 |    41.67
| - borrowck                                |              1 |     0.31 |              2 |    50.00
| Parsing                                   |              0 |     0.00 |              0 |     0.00

Optimization level: No
Incremental: off
```

<details>
<summary>Rendered</summary>

Self profiling results:

| Phase                                     | Time (ms)      | Time (%) | Queries        | Hits (%)
| ----------------------------------------- | -------------- | -------- | -------------- | --------
| **Other**                                     |           **177** |   **54.97** |   **8094** |  **45.47**
| - {time spent not running queries}        |            113 |    35.09 |              0 |     0.00
| - const_eval                              |             16 |     4.97 |             26 |    11.54
| - type_of                                 |              9 |     2.80 |            627 |    27.75
| - const_eval_raw                          |              8 |     2.48 |             22 |     0.00
| - adt_def                                 |              7 |     2.17 |            381 |    11.55
| - visible_parent_map                      |              7 |     2.17 |             99 |    98.99
| - item_attrs                              |              6 |     1.86 |            698 |    50.14
| - item_children                           |              5 |     1.55 |           2815 |     0.00
| - adt_dtorck_constraint                   |              4 |     1.24 |              2 |     0.00
| - adt_destructor                          |              2 |     0.62 |             15 |    86.67
| TypeChecking                              |             53 |    16.46 |           2834 |    79.89
| - trait_impls_of                          |              9 |     2.80 |             65 |    86.15
| - evaluate_obligation                     |              7 |     2.17 |             80 |     2.50
| - const_is_rvalue_promotable_to_static    |              6 |     1.86 |              1 |     0.00
| - is_copy_raw                             |              6 |     1.86 |             29 |    58.62
| - rvalue_promotable_map                   |              6 |     1.86 |              2 |    50.00
| - {time spent not running queries}        |              6 |     1.86 |              0 |     0.00
| - typeck_item_bodies                      |              5 |     1.55 |              1 |     0.00
| - typeck_tables_of                        |              5 |     1.55 |             19 |    94.74
| - dropck_outlives                         |              2 |     0.62 |              1 |     0.00
| - layout_raw                              |              1 |     0.31 |            668 |    87.87
| Linking                                   |             48 |    14.91 |             43 |    46.51
| - {time spent not running queries}        |             48 |    14.91 |              0 |     0.00
| Codegen                                   |             29 |     9.01 |            420 |    61.90
| - {time spent not running queries}        |             16 |     4.97 |              0 |     0.00
| - collect_and_partition_mono_items        |             11 |     3.42 |             13 |    92.31
| - mir_const                               |              1 |     0.31 |              1 |     0.00
| - mir_validated                           |              1 |     0.31 |              3 |    66.67
| Expansion                                 |             14 |     4.35 |              0 |     0.00
| - {time spent not running queries}        |             14 |     4.35 |              0 |     0.00
| BorrowChecking                            |              1 |     0.31 |             12 |    41.67
| - borrowck                                |              1 |     0.31 |              2 |    50.00
| Parsing                                   |              0 |     0.00 |              0 |     0.00

Optimization level: No
Incremental: off

</details>
cc @nikomatsakis @michaelwoerister @Zoxc

Fixes #54141
2019-02-10 11:18:50 +00:00
bors
de111e6367 Auto merge of #58103 - RalfJung:mir-shim-dump, r=eddyb
Make -Zdump-mir dump shims

Fixes https://github.com/rust-lang/rust/issues/53532 by (a) making the MIR shim generation use the MIR pass infrastructure, and (b) fixing said infrastructure to handle the fallout.

Cc @eddyb @oli-obk
2019-02-10 08:52:10 +00:00
bors
2e08bb1dd2 Auto merge of #58339 - Mark-Simulacrum:embedded-book, r=Mark-Simulacrum
Add EmbeddedBook to test list in bootstrap

r? @alexcrichton
2019-02-10 04:34:12 +00:00
Mark Rousskov
80942e95ea Add EmbeddedBook to test list in bootstrap 2019-02-09 19:42:23 -07:00
bors
1bfb44133d Auto merge of #57770 - Zoxc:no-hash-query, r=michaelwoerister
Add a query type which is always marked as red if it runs

This is useful for queries which produce results which are very likely to change if their inputs do.

I also expect this to be useful for end to end queries because 1) we don't need `HashStable` impls and 2) we avoid the overhead of hashing the result of large results like the AST or the HIR map.

r? @michaelwoerister
2019-02-10 01:33:17 +00:00
bors
abcfc3b762 Auto merge of #58065 - alexreg:refactor-smart_resolve_path_fragment, r=petrochenkov
Factor out error reporting from `smart_resolve_path_fragment` fn

This function was ridiculously monolithic before. We now have three rather-less-monolithic-and-horrifying functions.

r? @centril
2019-02-09 23:02:15 +00:00
bors
3315728c06 Auto merge of #57944 - estebank:unclosed-delim-the-quickening, r=oli-obk
Deduplicate mismatched delimiter errors

Delay unmatched delimiter errors until after the parser has run to deduplicate them when parsing and attempt recovering intelligently.

Second attempt at #54029, follow up to #53949. Fix #31528.
2019-02-09 20:15:57 +00:00
bors
4c9233cdeb Auto merge of #57885 - arielb1:xform-probe, r=nikomatsakis
Avoid committing to autoderef in object method probing

This fixes the "leak" introduced in #57835 (see test for details, also apparently #54252 had no tests for the "leaks" that were fixed in it, so go ahead and add one).

Maybe beta-nominating because regression, but I'm against landing things on beta we don't have to.

r? @nikomatsakis
2019-02-09 15:11:43 +00:00
bors
d329d46a3f Auto merge of #58207 - nnethercote:intern_lazy_const, r=oli-obk
Make `intern_lazy_const` actually intern its argument.

Currently it just unconditionally allocates it in the arena.

For a "Clean Check" build of the the `packed-simd` benchmark, this
change reduces both the `max-rss` and `faults` counts by 59%; it
slightly (~3%) increases the instruction counts but the `wall-time` is
unchanged.

For the same builds of a few other benchmarks, `max-rss` and `faults`
drop by 1--5%, but instruction counts and `wall-time` changes are in the
noise.

Fixes #57432, fixes #57829.
2019-02-09 12:38:51 +00:00
Ralf Jung
544b3a1bb4 fix rebase fallout 2019-02-09 12:19:04 +01:00
Ralf Jung
a413242efe fix printing closures 2019-02-09 12:11:13 +01:00
Ralf Jung
84d75dbd7e fix node classification 2019-02-09 12:11:12 +01:00
Ralf Jung
27ce224a8f fix --emit=mir: StructCtors are functions 2019-02-09 12:11:12 +01:00
Ralf Jung
fed4c5d9e1 disambiguate filenames of multiple drop shims being dumped 2019-02-09 12:11:12 +01:00
Ralf Jung
2708946787 pass full InstanceDef to run_passes 2019-02-09 12:11:12 +01:00
Ralf Jung
cd2169682e fix rebase fallout: AnonConsts are Consts, and Methods are functions 2019-02-09 12:11:12 +01:00
Ralf Jung
276219e0e2 fix dumping MIR from another crate 2019-02-09 12:11:12 +01:00
Ralf Jung
f5bbcf3818 use pass infrastructure for mir shims, so that they can get dumped 2019-02-09 12:08:39 +01:00
bors
618f5a08a1 Auto merge of #57617 - mark-i-m:multiple-matcher-bindings, r=petrochenkov
Error on duplicate matcher bindings

fix  #57593

This should not be merged without a crater run and maybe an FCP. Discussion is ongoing at  #57593.

TODO:
- [x] write tests
- [x] crater run
- [x] ~maybe need edition gating?~ not for 1 regression /centril

r? @petrochenkov
2019-02-09 09:48:41 +00:00
bors
312f3827fa Auto merge of #57184 - varkor:deny-warnings-lib, r=Mark-Simulacrum
Deny warnings in libcore and libstd

This probably fixes https://github.com/rust-lang/rust/issues/57178 (though there may still be some crates that need warnings denied). At least after this change, rustc currently produces no warnings during compilation.

r? @oli-obk
2019-02-09 03:54:31 +00:00
bors
cb6fafbdf3 Auto merge of #58316 - Centril:rollup, r=Centril
Rollup of 18 pull requests

Successful merges:

 - #58091 (Transition compiletest to Rust 2018)
 - #58115 (Transition rustdoc to 2018 edition)
 - #58120 (Transition build_helper to 2018 edition)
 - #58222 (librustc_allocator => 2018)
 - #58233 (librustc_save_analysis => 2018)
 - #58245 (librustc_lint => 2018)
 - #58247 (librustc_passes => 2018)
 - #58251 (Transition librustc_traits to 2018 edition)
 - #58255 (librustc_metadata => 2018)
 - #58256 (librustc_cratesio_shim => 2018)
 - #58257 (librustc_target => 2018)
 - #58259 (librustc_codegen_utils => 2018)
 - #58260 (librustc_borrowck => 2018)
 - #58261 (librustc_incremental => 2018)
 - #58265 (librustc_mir => 2018)
 - #58275 (libcore, liballoc: disable tests in Miri)
 - #58285 (error_index_generator => 2018)
 - #58312 (librustc_data_structures => 2018)

Failed merges:

r? @ghost
2019-02-09 01:04:13 +00:00
Mazdak Farrokhzad
068a926622
Rollup merge of #58312 - taiki-e:librustc_data_structures-2018, r=Centril
librustc_data_structures => 2018

Transitions `librustc_data_structures` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:16:06 +01:00
Mazdak Farrokhzad
5e208f6982
Rollup merge of #58285 - taiki-e:error_index_generator-2018, r=Centril
error_index_generator => 2018

Transitions `error_index_generator` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:16:05 +01:00
Mazdak Farrokhzad
9708644530
Rollup merge of #58275 - RalfJung:miri-test-libcore, r=Mark-Simulacrum
libcore, liballoc: disable tests in Miri

I am going to run the libcore and liballoc unit test suites in Miri.  Not all tests pass.  This PR disables a whole bunch of tests when running in Miri, to get us to a baseline from which I can investigate failures.

Cc @SimonSapin @alexcrichton
2019-02-09 00:16:04 +01:00
Mazdak Farrokhzad
c3b4102e2f
Rollup merge of #58265 - taiki-e:librustc_mir-2018, r=matthewjasper
librustc_mir => 2018

Transitions `librustc_mir` to Rust 2018; cc #58099

TODO: ~~elided_lifetimes_in_paths~~

r? @Centril
2019-02-09 00:16:03 +01:00
Mazdak Farrokhzad
4476e4fd36
Rollup merge of #58261 - taiki-e:librustc_incremental-2018, r=Centril
librustc_incremental => 2018

Transitions `librustc_incremental` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:16:02 +01:00
Mazdak Farrokhzad
c3d365f460
Rollup merge of #58260 - taiki-e:librustc_borrowck-2018, r=Centril
librustc_borrowck => 2018

Transitions `librustc_borrowck` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:16:01 +01:00
Mazdak Farrokhzad
d7a4dd1074
Rollup merge of #58259 - taiki-e:librustc_codegen_utils-2018, r=Centril
librustc_codegen_utils => 2018

Transitions `librustc_codegen_utils` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:15:59 +01:00
Mazdak Farrokhzad
869135ceda
Rollup merge of #58257 - taiki-e:librustc_target-2018, r=Centril
librustc_target => 2018

Transitions `librustc_target` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:15:58 +01:00
Mazdak Farrokhzad
21509b81fa
Rollup merge of #58256 - taiki-e:librustc_cratesio_shim-2018, r=Centril
librustc_cratesio_shim => 2018

Transitions `librustc_cratesio_shim` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:15:57 +01:00
Mazdak Farrokhzad
8cbee1c68e
Rollup merge of #58255 - taiki-e:librustc_metadata-2018, r=Centril
librustc_metadata => 2018

Transitions `librustc_metadata` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:15:55 +01:00
Mazdak Farrokhzad
379a048bbb
Rollup merge of #58251 - h-michael:librustc_traits-2018, r=Centril
Transition librustc_traits to 2018 edition

Transitions librustc_traits to Rust 2018; cc #58099
r? @Centril
2019-02-09 00:15:54 +01:00
Mazdak Farrokhzad
50df4d188f
Rollup merge of #58247 - taiki-e:librustc_passes-2018, r=Centril
librustc_passes => 2018

Transitions `librustc_passes` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:15:53 +01:00
Mazdak Farrokhzad
543f457169
Rollup merge of #58245 - taiki-e:librustc_lint-2018, r=Centril
librustc_lint => 2018

Transitions `librustc_lint` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:15:52 +01:00
Mazdak Farrokhzad
2b8ed1e1bd
Rollup merge of #58233 - taiki-e:librustc_save_analysis-2018, r=Centril
librustc_save_analysis => 2018

Transitions `librustc_save_analysis` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:15:50 +01:00
Mazdak Farrokhzad
5b4cf9b90d
Rollup merge of #58222 - taiki-e:librustc_allocator-2018, r=Centril
librustc_allocator => 2018

Transitions `librustc_allocator` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:15:49 +01:00
Mazdak Farrokhzad
6f5941e113
Rollup merge of #58120 - h-michael:build_helper-theme-2018, r=Centril
Transition build_helper to 2018 edition

Transitions build_helper to Rust 2018; cc #58099
r? @Centril
2019-02-09 00:15:48 +01:00
Mazdak Farrokhzad
f674779012
Rollup merge of #58115 - h-michael:rustdoc-2018, r=Centril
Transition rustdoc to 2018 edition

Transitions rustdoc to Rust 2018; cc #58099
2019-02-09 00:15:46 +01:00
Mazdak Farrokhzad
dbd73f640f
Rollup merge of #58091 - phansch:compiletest2018, r=Centril
Transition compiletest to Rust 2018

This transitions `src/tools/compiletest` to Rust 2018.

cc #58099
2019-02-09 00:15:44 +01:00
bors
a2ec156a5b Auto merge of #58161 - davidtwco:issue-57960, r=arielb1
Lower constant patterns with ascribed types.

Fixes #57960.

This PR fixes a bug introduced by #55937 which started checking user
type annotations for associated type patterns. Where lowering a
associated constant expression would previously return a
`PatternKind::Constant`, it now returns a `PatternKind::AscribeUserType`
with a `PatternKind::Constant` inside, this PR unwraps that to
access the constant pattern inside and behaves as before.

r? @pnkfelix
2019-02-08 17:13:56 +00:00
Taiki Endo
3e2b5a4b08 librustc_data_structures => 2018 2019-02-09 01:36:22 +09:00
varkor
5f41f8be30 Deny warnings in std stage 0 2019-02-08 16:45:58 +01:00
bors
0710c2026f Auto merge of #58294 - hrls:master, r=GuillaumeGomez
fix rustdoc JS

#58290
2019-02-08 14:16:14 +00:00
Taiki Endo
4f2e97e0ed librustc_incremental => 2018 2019-02-08 21:16:35 +09:00
Taiki Endo
a2c4a36c61 librustc_borrowck => 2018 2019-02-08 21:11:10 +09:00