Commit Graph

105541 Commits

Author SHA1 Message Date
Dylan DPC
6801cf436b
Update E0170.md 2020-01-15 11:52:21 +05:30
bors
632387f38d Auto merge of #66329 - ktrianta:mir-opt-unreachable-propagation, r=oli-obk
Add unreachable propagation mir optimization pass

@oli-obk suggested we create a MIR pass that optimizes away basic blocks that lead only to basic blocks with terminator kind **unreachable**. This is a first take on this, which we started with @gilescope at RustFest Impl Days.

The test currently fails when the compiled program runs (undefined behaviour). Is there a way to avoid running the compiled program?
2020-01-15 05:01:10 +00:00
bors
4b172cc73f Auto merge of #68118 - skinny121:eager_lit_eval, r=varkor
perf: Eagerly convert literals to consts

Previousely even literal constants were being converted to an `Unevaluted` constant for evaluation later. This seems unecessary as no more information is needed to be able to convert the literal to a mir constant.

Hopefully this will also minimise the performance impact of #67717, as far less constant evaluations are needed.
2020-01-15 00:56:53 +00:00
Esteban Küber
268a1ff3fb Account for Paths on is_suggestable_infer_ty
Fix #68162.
2020-01-14 16:18:21 -08:00
Mark Rousskov
efcda04739 Replace old tables with new unicode data 2020-01-14 19:11:28 -05:00
Mark Rousskov
40ad877851 Add support code for new unicode_data module 2020-01-14 19:11:15 -05:00
Mark Rousskov
064f8885d5 Add unicode table generator 2020-01-14 19:11:15 -05:00
Aaron Hill
01dc44bfe0
Avoid calling tcx.hir().get() on CRATE_HIR_ID
This was causing an ICE when enabling trace logging for an unrelated
module, since the arguments to `trace!` ended up getting evaluated
2020-01-14 16:41:43 -05:00
Daniel Frampton
106fe0b13a Update to a version of compiler_builtins with changes for fixes remainder for aarch64 windows 2020-01-14 13:32:26 -08:00
Daniel Frampton
7d6271b76b Better support for cross compilation on Windows. 2020-01-14 12:15:13 -08:00
Daniel Frampton
9febc2bc7a Update to a version of cmake with windows arm64 support 2020-01-14 11:56:51 -08:00
Daniel Frampton
535fc9ce4c Update iovec to a version with no winapi dependency 2020-01-14 11:52:46 -08:00
Daniel Frampton
9f1452f699 Update libssh2-sys to a version that can build for aarch64-pc-windows-msvc 2020-01-14 11:26:03 -08:00
Alex Crichton
87504173b3 Update the wasi-libc bundled with libstd 2020-01-14 09:59:46 -08:00
Ben Lewis
583a4fc827 Fix normalizing 32bit symbol hash. 2020-01-15 06:59:26 +13:00
Eric Huss
55cb505257 Update rustfix in compiletest. 2020-01-14 09:50:55 -08:00
Eric Huss
6da85d6f99 Update cargo, rls 2020-01-14 09:47:04 -08:00
Richard Dodd
9864ec499f Implement finish_non_exhaustive for DebugStruct. 2020-01-14 16:57:59 +00:00
csmoe
5ad8b9e394 update async-await send/sync test 2020-01-15 00:45:08 +08:00
Oliver Scherer
6faad6dc7a Untangle ZST validation from integer validation and generalize it to all zsts 2020-01-14 17:18:14 +01:00
bors
8a87b945b2 Auto merge of #67711 - Amanieu:fix_unwind_leak, r=alexcrichton
Fix memory leak if C++ catches a Rust panic and discards it

If C++ catches a Rust panic using `catch (...)` and then chooses not to rethrow it, the `Box<dyn Any>` in the exception may be leaked. This PR fixes this by adding the necessary destructors to the exception object.

r? @Mark-Simulacrum
2020-01-14 15:29:43 +00:00
csmoe
b975601167 suggest to limit lifetime of temporary borrow with let 2020-01-14 21:22:19 +08:00
csmoe
148c1bca0f record generoator interior exprs in typecktable 2020-01-14 21:21:14 +08:00
Guillaume Gomez
5076a3efc7 Add failing example for E0170 explanation 2020-01-14 14:04:03 +01:00
Charles Lew
06b9a73cfa Update APIs according to RFC change suggestions. 2020-01-14 20:11:52 +08:00
bors
cb6122db3f Auto merge of #67076 - mbrubeck:condvar, r=dtolnay
Stabilize Condvar::wait_while and wait_timeout_while (previously wait_until, wait_timeout_until)

Closes #47960.
2020-01-14 10:34:43 +00:00
Ben Lewis
30dba97540 Normalize symbol hash in ui test for legacy symbol mangling, as it's dependent on the
number of bits within consts.
2020-01-14 20:41:14 +13:00
Konstantinos Triantafyllou
72710d6dc2 Add unreachable propagation mir optimization pass 2020-01-14 08:22:10 +01:00
bors
c06e4aca19 Auto merge of #68201 - JohnTitor:rollup-26e39gu, r=JohnTitor
Rollup of 10 pull requests

Successful merges:

 - #67854 (Use `report_in_external_macro` for internal lints)
 - #67989 (rustdoc: Don't allow `#![feature(...)]` on stable or beta)
 - #68036 (libterm: parse extended terminfo format)
 - #68127 (Clarify the relationship between `extended` and `tools` in `config.toml`)
 - #68143 (Forbid elided lifetimes within const generic parameter types)
 - #68150 (Document behavior of set_nonblocking on UnixListener)
 - #68166 (rustdoc: HTML escape arrows on help popup)
 - #68176 (Clean up err codes)
 - #68179 (Remove unneeded scope)
 - #68188 (Tweak assertion note in format check)

Failed merges:

r? @ghost
2020-01-14 07:13:31 +00:00
Yuki Okushi
b8c0e3129c
Rollup merge of #68188 - JohnTitor:tweak-assertion-note, r=Mark-Simulacrum
Tweak assertion note in format check

It's informative to tell the existence of `--bless` flag if we're running `tidy`.
2020-01-14 14:02:31 +09:00
Yuki Okushi
7d1cbc7f7c
Rollup merge of #68179 - JohnTitor:nll-scope, r=varkor
Remove unneeded scope

Now, we can remove this scope.
2020-01-14 14:02:29 +09:00
Yuki Okushi
d6d5b74fb2
Rollup merge of #68176 - GuillaumeGomez:clean-up-err-codes, r=Dylan-DPC
Clean up err codes

r? @Dylan-DPC
2020-01-14 14:02:28 +09:00
Yuki Okushi
076d6a0c9a
Rollup merge of #68166 - ollie27:rustdoc_help_escape, r=GuillaumeGomez
rustdoc: HTML escape arrows on help popup

r? @GuillaumeGomez
2020-01-14 14:02:26 +09:00
Yuki Okushi
725f88b09c
Rollup merge of #68150 - tillarnold:master, r=cramertj
Document behavior of set_nonblocking on UnixListener

The description on `set_nonblocking` in `UnixListener` was rather brief so I adapted it to be more like the documentation of  `set_nonblocking` in `TcpListener`.
2020-01-14 14:02:24 +09:00
Yuki Okushi
d7e599203c
Rollup merge of #68143 - skinny121:const-param-type-elided-lifetime, r=petrochenkov
Forbid elided lifetimes within const generic parameter types

Disallows `fn foo<const T: &u32>()`, the lifetime must be explicitly given, i.e. `fn foo<const T: &'static u32>()`.

Fixes #67883
2020-01-14 14:02:23 +09:00
Yuki Okushi
7da1dcc3e0
Rollup merge of #68127 - varkor:clarify-extended-option, r=alexcrichton
Clarify the relationship between `extended` and `tools` in `config.toml`

I.e. `tools` is only effective if `extended = true`. Alternatively, we could make `tools = []` by default and remove `extended` (although we'd want to list the possible options), but improving the description seems sufficient to solve the issue.

Fixes https://github.com/rust-lang/rust/issues/61194.
2020-01-14 14:02:21 +09:00
Yuki Okushi
974b69927b
Rollup merge of #68036 - euclio:libterm-ncurses6-fix, r=KodrAus
libterm: parse extended terminfo format

Fixes #45728.

Modifies libterm to parse the extended terminfo format introduced in ncurses 6.1. This fixes the lack of color in test output for users with newer ncurses versions.

The ideal fix for this would be to migrate libtest to use `termcolor` (https://github.com/rust-lang/rust/issues/60349), but that's blocked for the foreseeable future.
2020-01-14 14:02:20 +09:00
Yuki Okushi
9e47ddd399
Rollup merge of #67989 - ollie27:rustdoc_unstable, r=GuillaumeGomez
rustdoc: Don't allow `#![feature(...)]` on stable or beta

Fixes #67647

r? @GuillaumeGomez
2020-01-14 14:02:18 +09:00
Yuki Okushi
fd162a48bc
Rollup merge of #67854 - afnanenayet:afnan/report-external-macro-lints, r=petrochenkov
Use `report_in_external_macro` for internal lints

Add the option to report lints in external macros for rustc internal lints to resolve #66370
2020-01-14 14:02:16 +09:00
Yuki Okushi
d975228ced Tweak assertion note in fmt 2020-01-14 07:09:15 +09:00
bors
30ca215b4e Auto merge of #68183 - JohnTitor:clippy-up, r=JohnTitor
Update Clippy

Fixes #68107

r? @ghost
2020-01-13 20:56:44 +00:00
Ben Lewis
02fffc1556 Code review changes and fix rustdoc test. 2020-01-14 07:47:45 +13:00
Ben Lewis
a6c4025fac perf: eagerly convert literals to consts, this avoids creating loads on unevaluated consts
which requires a lot of unnecessary work to evaluate them further down the line.
2020-01-14 07:47:45 +13:00
bors
31dd4f4acb Auto merge of #68088 - oli-obk:fix_miri, r=RalfJung
Don't try to force_ptr pointers to zsts

r? @RalfJung

cc @wesleywiser

This is required to fix miri after https://github.com/rust-lang/rust/pull/67501 broke it. The reason only miri sees this is that it uses validation on values during interpretation and not just on the final value of constants, which never contain such values.
2020-01-13 17:39:01 +00:00
Oliver Scherer
19b9b26986 Early abort validation of arrays of zsts because there is no data to be checked 2020-01-13 16:12:10 +01:00
Yuki Okushi
19f8c5824f Update Clippy 2020-01-13 23:45:20 +09:00
Camille GILLOT
894dc2d3d2 Do not forget to provide queries. 2020-01-13 15:36:05 +01:00
Guillaume Gomez
3ec0a84e6e Clean up E0192 explanation 2020-01-13 15:02:49 +01:00
Guillaume Gomez
11f74189f1 Clean up E0191 explanation 2020-01-13 15:02:49 +01:00
Yuki Okushi
13785c4c2e Remove unneeded scope 2020-01-13 22:51:57 +09:00