87263 Commits

Author SHA1 Message Date
Pietro Albini
050bb10dc3
Rollup merge of #56758 - Manishearth:emoji-status-toolstate, r=kennytm
Add short emoji status to toolstate updates

I get a lot of these emails and it's good to know which ones I should be paying closer attention to -- i.e. the ones where clippy breaks. This adds a short emoji status report to the first line of the commit message, which shows up in notifications directly

I haven't been able to test it, and the actual emoji are just suggestions.

r? @kennytm

cc @rust-lang/infra @rust-lang/devtools
2018-12-15 10:17:37 +01:00
Pietro Albini
c530e31245
Rollup merge of #56755 - estebank:impl-trait-lt-sugg, r=cramertj
Account for `impl Trait` when suggesting lifetime

Fix https://github.com/rust-lang/rust/issues/56745
2018-12-15 10:17:36 +01:00
Pietro Albini
7c83737b44
Rollup merge of #56751 - mbrubeck:hash, r=dtolnay
Allow ptr::hash to accept fat pointers

Fat pointers implement Hash since #45483.  This is a follow-up to #56250.
2018-12-15 10:17:35 +01:00
Pietro Albini
3a9fa9b66a
Rollup merge of #56747 - ljedrz:remove_box_from_target, r=zackmdavis
target: remove Box returned by get_targets
2018-12-15 10:17:33 +01:00
Pietro Albini
9544c1760c
Rollup merge of #56746 - pnkfelix:issue-56537-add-test-of-closure-using-region-from-containing-fn, r=nikomatsakis
Add test of current behavior (infer free region within closure body)

This behavior was previously not encoded in our test suite.

it is pretty important that we test this behavior. In particular, in #56537  I had proposed expanding the lifetime elision rules so that they would apply to some of the cases encoded in this test, which would cause them to start failing to compile successfully (because the lifetime attached to the return type would start being treated as connected to the lifetime on the input parameter to the lambda expression, which is explicitly *not* what the code wants in this particular case).

In other words, I am trying to ensure that anyone who tries such experiments with lifetime elision in the future quickly finds out why we don't support lifetime elision on lambda expressions (at least not in the naive manner described on #56537).
2018-12-15 10:17:32 +01:00
Pietro Albini
846db94c66
Rollup merge of #56738 - turboladen:fix-private_no_mangle_fns-message, r=zackmdavis
Fix private_no_mangle_fns message grammar

Simply changes "an warning" to "a warning" in the `private_no_mangle_fns` warning. I started getting this in some code after upgrading to 1.31.0.
2018-12-15 10:17:31 +01:00
Pietro Albini
3af0cf89fa
Rollup merge of #56731 - GuillaumeGomez:ffi-doc-urls, r=Centril
Add missing urls in ffi module docs

r? @QuietMisdreavus
2018-12-15 10:17:30 +01:00
Pietro Albini
63acc9ff2d
Rollup merge of #56725 - piersfinlayson:master, r=alexcrichton
fix rust-lang/rust issue #50583

Rationale for the fix is in #50583.  I've verified that before the fix /musl-armhf/lib/libc.a is riddled with the illegal variant of vmov.f64 and after the fix the version built doesn't contain any of these illegal instructions.

I originally thought that the arm-linux-gnueabi version also needed fixing - to add a -mfloat-abi-soft but that's unnecessary as it's compiled with the gnueabi (not hf) compiler (I've some a quick check that the libc.a produced doesn't include VFP instructions).

r? @alexcrichton
2018-12-15 10:17:29 +01:00
Pietro Albini
9f3151abe6
Rollup merge of #56718 - RalfJung:use-libbacktrace-printing, r=alexcrichton
Use libbacktrace pretty-printing

r? @alexcrichton
2018-12-15 10:17:27 +01:00
bors
7f04a646c6 Auto merge of #56005 - GuillaumeGomez:speedup-doc-render, r=QuietMisdreavus
Greatly improve rustdoc rendering speed issues

Fixes #55900.

So a few improvements here:

* we're switching to `DOMTokenList` API when available providing a replacement if it isn't (should only happen on safari and IE I think...)
* hide doc sections by default to allow the whole HTML generation to happen in the background to avoid triggering DOM redraw all the times (which killed the performances)

r? @QuietMisdreavus
2018-12-15 06:42:27 +00:00
bors
91857a3c82 Auto merge of #56540 - oli-obk:less_const_hackery, r=varkor
Don't depend on `Allocation` sizes for pattern length

And generally be more explicit about shortcomings of the implementation

cc @RalfJung
2018-12-15 04:24:16 +00:00
bors
bcf920fc27 Auto merge of #56825 - alexcrichton:demangle-mem, r=nikomatsakis
std: Activate compiler_builtins `mem` feature for no_std targets

This was an accidental regression from #56092, but for `no_std` targets
being built and distributed we want to be sure to activate the
compiler-builtins `mem` feature which demangles important memory-related
intrinsics.
2018-12-15 00:50:19 +00:00
bors
96d1334e56 Auto merge of #56572 - kevgrasso:let_self_err_dev, r=estebank
Contexually dependent error message for E0424 when value is assigned to "self"

This is an improvement for pull request #54495 referencing issue #54369. If the "self" keyword is assigned a value as though it were a valid identifier, it will now report:
```
let self = "self";
    ^^^^ `self` value is a keyword and may not be bound to variables or shadowed
```
instead of
```
let self = "self";
    ^^^^ `self` value is a keyword only available in methods with `self` parameter
```
If anyone has a better idea for what the error should be I'd be happy to modify it appropriately.
2018-12-14 20:36:12 +00:00
Alex Crichton
c811915eaf std: Activate compiler_builtins mem feature for no_std targets
This was an accidental regression from #56092, but for `no_std` targets
being built and distributed we want to be sure to activate the
compiler-builtins `mem` feature which demangles important memory-related
intrinsics.
2018-12-14 09:05:31 -08:00
bors
1897657ef0 Auto merge of #56818 - kennytm:rollup-2, r=kennytm
Rollup of 14 pull requests (first batch)

Successful merges:

 - #56562 (Update libc version required by rustc)
 - #56609 (Unconditionally emit the target-cpu LLVM attribute.)
 - #56637 (rustdoc: Fix local reexports of proc macros)
 - #56658 (Add non-panicking `maybe_new_parser_from_file` variant)
 - #56695 (Fix irrefutable matches on integer ranges)
 - #56699 (Use a `newtype_index!` within `Symbol`.)
 - #56702 ([self-profiler] Add column for percent of total time)
 - #56708 (Remove some unnecessary feature gates)
 - #56709 (Remove unneeded extra chars to reduce search-index size)
 - #56744 (specialize: remove Boxes used by Children::insert)
 - #56748 (Update panic message to be clearer about env-vars)
 - #56749 (x86: Add the `adx` target feature to whitelist)
 - #56756 (Disable btree pretty-printers on older gdbs)
 - #56789 (rustc: Add an unstable `simd_select_bitmask` intrinsic)

r? @ghost
2018-12-14 16:15:20 +00:00
kennytm
e065de2ea8
Rollup merge of #56562 - pnkfelix:issue-55465-update-libc-version, r=alexcrichton
Update libc version required by rustc

This is meant to be an easy-to-backport fix for #55465
2018-12-14 22:17:54 +08:00
kennytm
3397b79868
Rollup merge of #56789 - alexcrichton:simd_select_bitmask, r=rkruppe
rustc: Add an unstable `simd_select_bitmask` intrinsic

This is going to be required for binding a number of AVX-512 intrinsics
in the `stdsimd` repository, and this intrinsic is the same as
`simd_select` except that it takes a bitmask as the first argument
instead of a SIMD vector. This bitmask is then transmuted into a `<NN x
i8>` argument, depending on how many bits it is.

cc rust-lang-nursery/stdsimd#310
2018-12-14 22:17:52 +08:00
kennytm
4a0ee22bc2
Rollup merge of #56756 - tromey:Bug-56730-btree-pretty-printer, r=alexcrichton
Disable btree pretty-printers on older gdbs

gdb versions before 8.1 have a bug that prevents the BTreeSet and
BTreeMap pretty-printers from working.  This patch disables the test
on those versions, and also disables the pretty-printers there as
well.

Closes #56730
2018-12-14 22:17:49 +08:00
kennytm
adb674ca29
Rollup merge of #56749 - alexcrichton:adx, r=gnzlbg
x86: Add the `adx` target feature to whitelist

Requested in rust-lang-nursery/stdsimd#322 this is hopefully the first
step!
2018-12-14 22:17:46 +08:00
kennytm
123b72a05e
Rollup merge of #56748 - kinnison:kinnison/fix-56734, r=dtolnay
Update panic message to be clearer about env-vars

Esteban Kuber requested that the panic message make it clear
that `RUST_BACKTRACE=1` is an environment variable.  This change
makes that clear.

I understand that this may simply be closed if the concept isn't accepted, and I'd be fine with that :-)

Fixes #56734
2018-12-14 22:17:43 +08:00
kennytm
7ec1faa27a
Rollup merge of #56744 - ljedrz:unbox_the_children, r=matthewjasper
specialize: remove Boxes used by Children::insert
2018-12-14 22:17:40 +08:00
kennytm
facad1d6f2
Rollup merge of #56709 - GuillaumeGomez:reduce-search-index, r=QuietMisdreavus
Remove unneeded extra chars to reduce search-index size

Before:

```
2013782 Dec 11 10:16 build/x86_64-unknown-linux-gnu/doc/search-index.js
```

After:

```
1736597 Dec 11 10:50 build/x86_64-unknown-linux-gnu/doc/search-index.js
```

No changes in the output of the search.

r? @QuietMisdreavus
2018-12-14 22:10:13 +08:00
kennytm
27c3631d82
Rollup merge of #56708 - oli-obk:stability_internal_const_fn, r=alexcrichton
Remove some unnecessary feature gates

fixes #56585

cc @jethrogb
2018-12-14 22:10:12 +08:00
kennytm
3e17988a53
Rollup merge of #56702 - wesleywiser:calc_total_time_stats, r=michaelwoerister
[self-profiler] Add column for percent of total time

Example output:

```
Self profiling results:

| Phase            | Time (ms)      | Time (%) | Queries        | Hits (%)
| ---------------- | -------------- | -------- | -------------- | --------
| Parsing          | 3              | 0.52     |                |
| Expansion        | 64             | 11.27    |                |
| TypeChecking     | 13             | 2.36     | 35208          | 90.77
| BorrowChecking   | 0              | 0.10     | 68             | 50.00
| Codegen          | 22             | 3.82     | 7362           | 75.12
| Linking          | 252            | 43.81    | 458            | 68.56
| Other            | 219            | 38.12    | 47372          | 56.84

Optimization level: No
Incremental: off

```

cc @michaelwoerister
2018-12-14 22:10:11 +08:00
kennytm
dadf7fcc2d
Rollup merge of #56699 - nnethercote:SymbolIndex, r=oli-obk
Use a `newtype_index!` within `Symbol`.

This shrinks `Option<Symbol>` from 8 bytes to 4 bytes, which shrinks
`Token` from 24 bytes to 16 bytes. This reduces instruction counts by up
to 1% across a range of benchmarks.

r? @oli-obk
2018-12-14 22:10:09 +08:00
kennytm
53a2de2d54
Rollup merge of #56695 - varkor:let-exhaustive-range, r=estebank
Fix irrefutable matches on integer ranges

Fixes https://github.com/rust-lang/rust/issues/56659.
2018-12-14 22:10:08 +08:00
kennytm
35fe8c92e9
Rollup merge of #56658 - Xanewok:non-panicking-file-parser, r=petrochenkov
Add non-panicking `maybe_new_parser_from_file` variant

Add (seemingly?) missing `maybe_new_parser_from_file` constructor variant.

Disclaimer: I'm not certain this is the correct approach - just found out we don't have this when working on a Rustfmt PR to catch/prevent more Rust parser panics: https://github.com/rust-lang/rustfmt/pull/3240 and tried to make it work somehow.
2018-12-14 22:10:07 +08:00
kennytm
795f18efb8
Rollup merge of #56637 - ollie27:rustdoc_proc_macro_local_reexport, r=QuietMisdreavus
rustdoc: Fix local reexports of proc macros

Filter out `ProcMacroStub`s to avoid an ICE during cleaning.

Also add proc macros to `cache().paths` so it can generate links.

r? @QuietMisdreavus
2018-12-14 22:10:06 +08:00
kennytm
4f0f1102bf
Rollup merge of #56609 - michaelwoerister:unconditional-target-cpu-attr, r=alexcrichton
Unconditionally emit the target-cpu LLVM attribute.

This PR makes `rustc` always emit the `target-cpu` LLVM attribute for functions. The goal is to allow for cross-language inlining of functions defined in `libstd`. So far `libstd` functions were the only function without a `target-cpu` attribute, so in whole-crate-graph cross-lang LTO scenarios they were not eligible for inlining into foreign code.

r? @alexcrichton
2018-12-14 22:10:04 +08:00
bors
7d03617bab Auto merge of #56568 - notriddle:master, r=alexcrichton
Remove dependency on shell32.dll

Closes #56510 if it works on MinGW (I've only tested it on MSVC).
2018-12-14 13:44:15 +00:00
bors
f4b07e0713 Auto merge of #56490 - faern:add-checked-add-to-instant, r=alexcrichton
Add checked_add method to Instant time type

Appending functionality to the already opened topic of `checked_add` on time types over at #55940.

Doing checked addition between an `Instant` and a `Duration` is important to reliably determine a future instant. We could use this in the `parking_lot` crate to compute an instant when in the future to wake a thread up without risking a panic.
2018-12-14 09:10:35 +00:00
bors
664ede88fa Auto merge of #56536 - alexcrichton:update-master, r=Mark-Simulacrum
Bump to 1.33.0

* Update bootstrap compiler
* Update version to 1.33.0
* Remove some `#[cfg(stage0)]` annotations
2018-12-14 06:52:19 +00:00
bors
97a0bd6082 Auto merge of #56778 - Xanewok:update-clippy, r=kennytm
Update Clippy

Hopefully unbreaks toolstate: https://github.com/rust-lang/rust/pull/56092#issuecomment-446631916
2018-12-14 03:22:14 +00:00
Kevyn Grasso
9de6beeae2 debug logging, added conditional error message, tests updated 2018-12-13 20:16:03 -05:00
bors
0d4f91905b Auto merge of #56351 - davidtwco:issue-55396-stabilize-linker-flavor, r=nagisa
Stabilize `linker-flavor` flag.

Part of #55396.

This commit moves the linker-flavor flag from a debugging option to a
codegen option, thus stabilizing it. There are no feature flags
associated with this flag.

r? @nagisa
2018-12-14 00:28:08 +00:00
Daniel Silverstone
6057147fde Update panic message to be clearer about env-vars
Esteban Kuber requested that the panic message make it clear
that `RUST_BACKTRACE=1` is an environment variable.  This change
makes that clear.  Wording provided in part by David Tolnay.
2018-12-13 23:07:04 +00:00
Alex Crichton
5087aef792 rustc: Add an unstable simd_select_bitmask intrinsic
This is going to be required for binding a number of AVX-512 intrinsics
in the `stdsimd` repository, and this intrinsic is the same as
`simd_select` except that it takes a bitmask as the first argument
instead of a SIMD vector. This bitmask is then transmuted into a `<NN x
i8>` argument, depending on how many bits it is.

cc rust-lang-nursery/stdsimd#310
2018-12-13 14:05:12 -08:00
bors
5900dae51d Auto merge of #56142 - jnqnfe:osstr_lossy_example, r=alexcrichton
[std] Osstr lossy example
2018-12-13 21:52:17 +00:00
Guillaume Gomez
987bf2ed29 Split on words instead 2018-12-13 22:11:22 +01:00
Linus Färnstrand
9e5e89a0d3 Fix dur2intervals import on cloudabi 2018-12-13 18:49:54 +01:00
bors
f4a421ee3c Auto merge of #56783 - alexcrichton:pinentry-mode, r=Mark-Simulacrum
Add `--pinentry-mode=loopback` to deployment script

Apparently this changed with gpg2 or... something like that?
2018-12-13 17:38:17 +00:00
Alex Crichton
b1858677ce Add --pinentry-mode=loopback to deployment script
Apparently this changed with gpg2 or... something like that?
2018-12-13 08:19:06 -08:00
Linus Färnstrand
9511fc7845 Fix checked_add/sub for sys/sgx/time.rs 2018-12-13 15:25:14 +01:00
Linus Färnstrand
f5a99c321b Add checked_sub for Instant and SystemTime 2018-12-13 15:25:14 +01:00
Linus Färnstrand
13f0463a19 Add checked_add method to Instant time type 2018-12-13 15:25:14 +01:00
Igor Matuszewski
11b6432026 Update Clippy 2018-12-13 15:21:18 +01:00
bors
7489ee9c6f Auto merge of #56461 - oli-obk:alloc_ids, r=RalfJung
Some cleanups around `AllocId` management

r? @eddyb
cc @RalfJung
2018-12-13 12:36:13 +00:00
Oliver Scherer
1c2a29e29a Expand on a few comments 2018-12-13 12:54:57 +01:00
Oliver Scherer
5df6af49a7 Update tests to show diagnostics 2018-12-13 12:54:49 +01:00
Oliver Scherer
25a4f76d63 Fix indent 2018-12-13 12:24:38 +01:00