Commit Graph

120184 Commits

Author SHA1 Message Date
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
Nicholas Nethercote
98d6254415 Change WorkProduct::saved_files to an Option.
Because there is at most one file.
2020-05-12 17:55:07 +10:00
Ralf Jung
6f9810c981 strings do not have to be valid UTF-8 any more 2020-05-12 09:46:41 +02:00
Jack Huey
41f6b958d5 Remove ty::UnnormalizedProjection 2020-05-12 01:56:29 -04: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
Matthew Jasper
e7b02046a0 Fix hang in lexical_region_resolve 2020-05-11 21:05:08 +01: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
Igor Matuszewski
e26f35d343 rustbook: Bump mdbook dependency 2020-05-11 14:43:41 +02:00
Igor Matuszewski
3bdacedfd9 cargo update -p derive-new 2020-05-11 14:43:41 +02:00
Igor Matuszewski
8c6e568141 cargo update -p pest_generator 2020-05-11 14:43:41 +02:00
Igor Matuszewski
403a9d0867 cargo update -p failure_derive 2020-05-11 14:43:41 +02:00
Igor Matuszewski
5e354932fe cargo update -p serde_derive 2020-05-11 14:40:52 +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
csmoe
a1104b4dea bless ui tests 2020-05-11 14:06:57 +08:00
Jonas Schievink
a32463ade4 Make MIR typeck use LocalDefId and fix docs 2020-05-11 02:19:34 +02:00
Vadim Petrochenkov
00dcb665e7 cmdline: Make target features individually overridable 2020-05-11 02:04:53 +03:00
Ralf Jung
51e466de3c rustc_driver::main: more informative return type 2020-05-11 00:11:42 +02:00
Ralf Jung
82e81191e4 update miri 2020-05-10 23:55:41 +02:00
Marko Mijalkovic
7444494330 Run rustfmt 2020-05-10 17:53:04 -04:00
Marko Mijalkovic
7b649c7364 Renamed lld_link_script to link_script and support all GNU-like linkers 2020-05-10 17:39:57 -04:00
Ralf Jung
23d880b127 rustc_driver: factor out computing the exit code 2020-05-10 23:36: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
Marko Mijalkovic
7e62240801 Add lld_link_script to TargetOptions 2020-05-10 16:06:33 -04:00