Commit graph

106033 commits

Author SHA1 Message Date
Oliver Scherer
0e14b9ff26 Add tests 2020-01-15 10:30:26 +01:00
csmoe
4eb47ded54 wrap expr id into GeneratorInteriorTypeCause 2020-01-15 15:13:51 +08:00
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
Dylan MacKenzie
1006ad036a Fix test 2020-01-14 18:44:00 -08:00
CAD97
f76177ce43 Stabilize ptr::slice_from_raw_parts[_mut] 2020-01-14 20:15:39 -05: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
Dylan MacKenzie
b70898d5ee Improve docs for GenKill and GenKillSet 2020-01-14 16:13:21 -08:00
Dylan MacKenzie
2727f10b21 Improve docs for new framework 2020-01-14 16:13:21 -08:00
Dylan MacKenzie
47dce1be81 Add test for ResultsCursor
This is a unit test that ensures the `seek` functions work correctly.
2020-01-14 16:13: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
Dylan MacKenzie
355cfcdf43 Use unified dataflow framework in check_consts 2020-01-14 14:37:16 -08:00
Dylan MacKenzie
7d5885727d Remove old "generic" framework 2020-01-14 14:37:16 -08:00
Dylan MacKenzie
07c51f605a Implement new dataflow framework and cursor 2020-01-14 14:37:16 -08: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
Dylan MacKenzie
2fb4c4472e Improve graphviz visualization for new framework 2020-01-14 13:23:07 -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
Guillaume Gomez
1bf9f69579 Prevent urls in headings 2020-01-14 19:21:10 +01: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
6421127340 Update rustc-guide 2020-01-14 14:08:00 +09: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