Commit Graph

119989 Commits

Author SHA1 Message Date
Nathan Corbyn
f6aa161936 Don't ICE on missing Unsize impl 2020-05-14 15:29:05 +01:00
bors
7c34d8d662 Auto merge of #69756 - wesleywiser:simplify_try, r=oli-obk
Modify SimplifyArmIdentity so it can trigger on mir-opt-level=1

I also added test cases to make sure the optimization can fire on all of
these cases:

```rust
fn case_1(o: Option<u8>) -> Option<u8> {
  match o {
    Some(u) => Some(u),
    None => None,
  }
}

fn case2(r: Result<u8, i32>) -> Result<u8, i32> {
  match r {
    Ok(u) => Ok(u),
    Err(i) => Err(i),
  }
}

fn case3(r: Result<u8, i32>) -> Result<u8, i32> {
  let u = r?;
  Ok(u)
}

```

Without MIR inlining, this still does not completely optimize away the
`?` operator because the `Try::into_result()`, `From::from()` and
`Try::from_error()` calls still exist. This does move us a bit closer to
that goal though because:

- We can now run the pass on mir-opt-level=1

- We no longer depend on the copy propagation pass running which is
  unlikely to stabilize anytime soon.

Fixes #66855
2020-05-14 06:22:40 +00:00
bors
23ffeea307 Auto merge of #72058 - RalfJung:no-dist-lldb, r=Mark-Simulacrum
bootstrap: remove lldb dist packaging

The lldb-preview rustup package is missing on every single target, and has never been shipped beyond x86_64-apple-darwin. It was removed in #62592 which landed around a year ago, and there's not been demand that we re-enable it since, so we're now removing support entirely to cleanup the code a bit.

The hope is that this will also kill the useless "lldb-preview" row on https://rust-lang.github.io/rustup-components-history/.
2020-05-14 02:50:34 +00:00
bors
94c0ab936b Auto merge of #72118 - flip1995:clippyup, r=oli-obk
Update Clippy to 43a1777

Updates Clippy to 43a1777b89

We should establish a process on how often and when to update Clippy. (After X feature PRs? Once per week? Only on bug fixes and in the release week? ...?)

r? @oli-obk
2020-05-13 21:15:09 +00:00
bors
75e1463c52 Auto merge of #72013 - nnethercote:make-RawVec-grow-mostly-non-generic, r=Amanieu
Make `RawVec::grow` mostly non-generic.

`cargo-llvm-lines` shows that, in various benchmarks, `RawVec::grow` is
instantiated 10s or 100s of times and accounts for 1-8% of lines of
generated LLVM IR.

This commit moves most of `RawVec::grow` into a separate function that
isn't parameterized by `T`, which means it doesn't need to be
instantiated many times. This reduces compile time significantly.

r? @ghost
2020-05-13 14:29:56 +00:00
bors
750db09fa8 Auto merge of #71451 - estebank:suggest-super-trait-constraint, r=nikomatsakis
Suggest adding super trait constraints
2020-05-13 06:54:15 +00:00
bors
a2e0b48e6e Auto merge of #70416 - mzohreva:mz/sgx-test, r=nikomatsakis
Process termination test for SGX

The issue is described in https://github.com/fortanix/rust-sgx/issues/109

cc @jethrogb
2020-05-13 03:29:00 +00:00
Esteban Küber
58797b01f1 review comments 2020-05-12 11:56:11 -07:00
Esteban Küber
4556130e7d fix test output after rebase 2020-05-12 11:19:07 -07:00
Esteban Küber
45738e8cd1 Increase verbosity of bound restriction suggestions
- Make the bound restriction suggestion `span_suggestion_verbose`.
- Fix whitespace typo.
2020-05-12 11:19:07 -07:00
Esteban Küber
545320a22f Suggest adding super trait constraints 2020-05-12 11:19:07 -07:00
bors
769d12eec1 Auto merge of #72091 - RalfJung:miri, r=RalfJung
update miri

Fixes https://github.com/rust-lang/rust/issues/72037
Cc @rust-lang/miri r? @ghost
2020-05-12 13:59:16 +00:00
bors
d903a9def4 Auto merge of #72134 - Dylan-DPC:rollup-h3shfz5, r=Dylan-DPC
Rollup of 5 pull requests

Successful merges:

 - #71737 (Miri: run liballoc tests with threads)
 - #71928 (Add strikethrough support to rustdoc)
 - #72048 (Visit move out of `_0` when visiting `return`)
 - #72096 (Make MIR typeck use `LocalDefId` and fix docs)
 - #72128 (strings do not have to be valid UTF-8 any more)

Failed merges:

r? @ghost
2020-05-12 10:28:08 +00:00
Dylan DPC
ceeb9bdee6
Rollup merge of #72128 - RalfJung:str-validity, r=oli-obk
strings do not have to be valid UTF-8 any more

Cc https://github.com/rust-lang/reference/pull/792
r? @oli-obk
2020-05-12 11:41:15 +02:00
Dylan DPC
31e5be027e
Rollup merge of #72096 - jonas-schievink:mirck-docs, r=matthewjasper
Make MIR typeck use `LocalDefId` and fix docs

The docs on `fn type_check` were not in sync with the arguments it takes.

r? @matthewjasper
2020-05-12 11:41:13 +02:00
Dylan DPC
0f9563091f
Rollup merge of #72048 - jonas-schievink:visit-return, r=oli-obk
Visit move out of `_0` when visiting `return`

Closes https://github.com/rust-lang/rust/issues/72032
2020-05-12 11:41:12 +02:00
Dylan DPC
5fe77e5997
Rollup merge of #71928 - mibac138:strikethrough, r=GuillaumeGomez
Add strikethrough support to rustdoc

Implements uncontroversial part of #71183.
r? @GuillaumeGomez
2020-05-12 11:41:10 +02:00
Dylan DPC
2a1581c50c
Rollup merge of #71737 - RalfJung:miri-test-threads, r=shepmaster
Miri: run liballoc tests with threads

Miri now supports threads, so we can run these tests. :)
2020-05-12 11:41:05 +02:00
Ralf Jung
6f9810c981 strings do not have to be valid UTF-8 any more 2020-05-12 09:46:41 +02:00
Nicholas Nethercote
68b75033ad Split RawVec::grow up.
The amortized case is much more common than the exact case, and it is
typically instantiated many times.

Also, we can put a chunk of the code into a function that isn't generic
over T, which reduces the amount of LLVM IR generated quite a lot,
improving compile times.
2020-05-12 12:38:14 +10:00
Nicholas Nethercote
f420726566 Remove RawVec::double.
It's only used once, for `VecDeque`, and can easily be replaced by
something else. The commit changes `grow_if_necessary` to `grow` to
avoid some small regressions caused by changed inlining.

The commit also removes `Strategy::Double`, and streamlines the
remaining variants of `Strategy`.

It's a compile time win on some benchmarks because the many
instantations of `RawVec::grow` are a little smaller.
2020-05-12 12:37:22 +10:00
Wesley Wiser
6de6d70ae0 Modify SimplifyArmIdentity so it can trigger on mir-opt-level=1
I also added test cases to make sure the optimization can fire on all of
these cases:

```rust
fn case_1(o: Option<u8>) -> Option<u8> {
  match o {
    Some(u) => Some(u),
    None => None,
  }
}

fn case2(r: Result<u8, i32>) -> Result<u8, i32> {
  match r {
    Ok(u) => Ok(u),
    Err(i) => Err(i),
  }
}

fn case3(r: Result<u8, i32>) -> Result<u8, i32> {
  let u = r?;
  Ok(u)
}

```

Without MIR inlining, this still does not completely optimize away the
`?` operator because the `Try::into_result()`, `From::from()` and
`Try::from_error()` calls still exist. This does move us a bit closer to
that goal though because:

- We can now run the pass on mir-opt-level=1

- We no longer depend on the copy propagation pass running which is
  unlikely to stabilize anytime soon.
2020-05-11 20:31:02 -04:00
bors
09c817eeb2 Auto merge of #72120 - Dylan-DPC:rollup-ca0tur2, r=Dylan-DPC
Rollup of 10 pull requests

Successful merges:

 - #72014 (Deprecated emoji)
 - #72019 (Fix debug assertion in error code)
 - #72027 (Use CDN for ci-caches on download)
 - #72044 (use min_specialization for some rustc crates where it requires no changes)
 - #72052 (display `ConstKind::Param`)
 - #72067 (Emit a warning when optimization fuel runs out)
 - #72072 (doc: minus (U+2212) instead of dash (U+002D) for negative infinity)
 - #72077 (Improve E0571 wording)
 - #72107 (Clean up E0579 explanation)
 - #72109 (Fix clippy warnings)

Failed merges:

r? @ghost
2020-05-11 23:14:06 +00:00
Nicholas Nethercote
a3cc435f57 Remove RawVec::double_in_place.
It's unused.
2020-05-12 08:39:08 +10:00
Dylan DPC
dfa3677bee
Rollup merge of #72109 - matthiaskrgr:cl8ppy, r=Dylan-DPC
Fix clippy warnings

Fixes clippy::{cone_on_copy, filter_next, redundant_closure, single_char_pattern, len_zero,redundant_field_names, useless_format, identity_conversion, map_clone, into_iter_on_ref, needless_return, option_as_ref_deref, unused_unit, unnecessary_mut_passed}

r? @Dylan-DPC
2020-05-11 22:21:08 +02:00
Dylan DPC
dd53768692
Rollup merge of #72107 - GuillaumeGomez:cleanup-e0579, r=Dylan-DPC
Clean up E0579 explanation

r? @Dylan-DPC
2020-05-11 22:21:07 +02:00
Dylan DPC
400a9bae49
Rollup merge of #72077 - GuillaumeGomez:cleanup-E0571, r=Dylan-DPC
Improve E0571 wording

r? @Dylan-DPC
2020-05-11 22:21:05 +02:00
Dylan DPC
6a8ac8b975
Rollup merge of #72072 - tspiteri:minus-inf, r=Dylan-DPC
doc: minus (U+2212) instead of dash (U+002D) for negative infinity

Like #67430, for the new associated constants.
2020-05-11 22:21:03 +02:00
Dylan DPC
d9c3110ae8
Rollup merge of #72067 - jonas-schievink:fuel-warn, r=varkor
Emit a warning when optimization fuel runs out

`eprintln!` gets swallowed by Cargo too easily.
2020-05-11 22:21:01 +02:00
Dylan DPC
a14af7fff8
Rollup merge of #72052 - lcnr:const_pprint, r=ecstatic-morse
display `ConstKind::Param`
2020-05-11 22:20:59 +02:00
Dylan DPC
eade6f7881
Rollup merge of #72044 - RalfJung:min-spec, r=matthewjasper
use min_specialization for some rustc crates where it requires no changes

and add FIXME for the rest

Cc @matthewjasper
2020-05-11 22:20:57 +02:00
Dylan DPC
9c4c52fd77
Rollup merge of #72027 - Mark-Simulacrum:ci-caches, r=pietroalbini
Use CDN for ci-caches on download

This will reduce costs, as well as lays the groundwork for developers to be able
to locally pull the published docker images without needing AWS credentials.

r? @pietroalbini
2020-05-11 22:20:55 +02:00
Dylan DPC
705671ef49
Rollup merge of #72019 - matthewjasper:dont-skip-binder, r=davidtwco
Fix debug assertion in error code

Closes #70813
2020-05-11 22:20:54 +02:00
Dylan DPC
dd595fade5
Rollup merge of #72014 - GuillaumeGomez:deprecated-emoji, r=kinnison,ollie27
Deprecated emoji

Fixes #67872.

r? @kinnison

cc @rust-lang/rustdoc
2020-05-11 22:20:51 +02:00
flip1995
10f3cd9bea
Update Cargo.lock 2020-05-11 21:18:42 +02:00
flip1995
9dd5b2d97e
Merge commit '43a1777b89cf6791f9e20878b4e5e3ae907867a5' into clippyup 2020-05-11 20:23:47 +02:00
bors
99cb9ccb9c Auto merge of #72089 - Mark-Simulacrum:error-is-really-an-error, r=pietroalbini
Fail if I/O error occurs during testing

First known case of this is in https://github.com/rust-lang/rust/pull/72053#issuecomment-626364402 but may have happened before then.

r? @pietroalbini
2020-05-11 16:33:26 +00:00
Matthias Krüger
8bfd84539e Fix clippy warnings
Fixes clippy::{cone_on_copy, filter_next, redundant_closure, single_char_pattern, len_zero,redundant_field_names, useless_format, identity_conversion, map_clone, into_iter_on_ref, needless_return, option_as_ref_deref, unused_unit, unnecessary_mut_passed}
2020-05-11 17:13:32 +02:00
Mark Rousskov
9a4e7183d4 Configure cache domain for GHA 2020-05-11 10:50:53 -04:00
Ralf Jung
7bea58eeac fix test_weak_count_locked for Miri 2020-05-11 16:49:36 +02:00
Guillaume Gomez
806f09cf21 Clean up E0579 explanation 2020-05-11 13:22:56 +02:00
Ralf Jung
42f70d503b update miri some more 2020-05-11 12:13:53 +02:00
bors
3fe4dd2dda Auto merge of #71953 - oli-obk:const_prop_deaggregates, r=wesleywiser
Const prop aggregates even if partially or fully modified

r? @wesleywiser

cc @rust-lang/wg-mir-opt I'm moderately scared of this change, but I'm confident in having reviewed all the cases.
2020-05-11 07:23:31 +00:00
Jonas Schievink
a32463ade4 Make MIR typeck use LocalDefId and fix docs 2020-05-11 02:19:34 +02:00
Ralf Jung
82e81191e4 update miri 2020-05-10 23:55:41 +02:00
Mark Rousskov
a5ba75283e Fail if I/O error occurs during testing 2020-05-10 16:53:48 -04:00
bors
aeb473803d Auto merge of #71825 - contrun:cg-option-strip, r=petrochenkov
add codegen option strip

closes https://github.com/rust-lang/rust/issues/71757

I don't know if the flags added here works for all linkers. I only tested on my Linux pc. I also don't know what is the best for emlinker, PtxLinker, MsvcLinker. The option for WasmLd is copied from https://aransentin.github.io/cwasm/.
2020-05-10 20:48:40 +00:00
Ralf Jung
dc7524be27 remove lldb package from bootstrap, config and build-manifest
it's not been built since a long time ago
2020-05-10 22:43:58 +02:00
Jonas Schievink
62116c31cd Emit a warning when optimization fuel runs out
`eprintln!` gets swallowed by Cargo too easily.
2020-05-10 15:40:17 +02:00
bors
9912925c25 Auto merge of #72074 - RalfJung:rollup-1ns58no, r=RalfJung
Rollup of 4 pull requests

Successful merges:

 - #71840 (Rework MIR drop tree lowering)
 - #71882 (Update the `cc` crate)
 - #71945 (Sort "implementations on foreign types" section in the sidebar)
 - #72043 (Add missing backtick in E0569 explanation)

Failed merges:

r? @ghost
2020-05-10 12:07:34 +00:00