Commit graph

29685 commits

Author SHA1 Message Date
JOE1994
b469d2db6d check '-Zast-json' & '-Zast-json-noexpand' to output legal JSON 2020-04-19 22:24:42 -04:00
bors
8d67f576b5 Auto merge of #71049 - eddyb:const-err, r=oli-obk
Add `ConstKind::Error` and convert `ErrorHandled::Reported` to it.

By replicating the `ty::Error` approach to encoding "an error has occurred", all of the mechanisms that skip redundant/downstream errors are engaged and help out (see the reduction in test output).

This PR also adds `ErrorHandled::Linted` for the lint case because using `ErrorHandled::Reported` *without* having emitted an error that is *guaranteed* to stop compilation, is incorrect now.

r? @oli-obk cc @rust-lang/wg-const-eval @varkor @yodaldevoid
2020-04-17 11:52:01 +00:00
bors
b2c1a606fe Auto merge of #70629 - anyska:fields-variant, r=oli-obk
rustc_target::abi: add Primitive variant to FieldsShape.

Originally suggested by @eddyb.
2020-04-17 08:42:51 +00:00
bors
861996e138 Auto merge of #71230 - Dylan-DPC:rollup-rofigbv, r=Dylan-DPC
Rollup of 7 pull requests

Successful merges:

 - #70578 (Add long error explanation for E0657)
 - #70910 (Hides default fns inside Fuse impl to avoid exposing it to any crate)
 - #71164 (reword Miri validity errors: undefined -> uninitialized)
 - #71182 (Add some regression tests)
 - #71206 (Miri error messages: avoid try terminology)
 - #71220 (Dogfood or_patterns in the standard library)
 - #71225 (Fix typo in Default trait docs: Provides -> Provide)

Failed merges:

r? @ghost
2020-04-17 04:15:18 +00:00
Dylan DPC
b2e4d4836f
Rollup merge of #71206 - RalfJung:dont-try, r=oli-obk
Miri error messages: avoid try terminology

r? @oli-obk
2020-04-17 03:05:18 +02:00
Dylan DPC
b347097e4d
Rollup merge of #71182 - JohnTitor:regression-tests, r=Mark-Simulacrum
Add some regression tests

Closes #24843
Closes #28575
Closes #54067
Closes #66868
Closes #67893
Closes #68813
2020-04-17 03:05:16 +02:00
Dylan DPC
5280d15d62
Rollup merge of #71164 - RalfJung:uninit-not-undef, r=oli-obk
reword Miri validity errors: undefined -> uninitialized

I don't think we say "undefined value" or anything like that anywhere in the docs or so, but we do use the term "uninitialized memory", so I think we should do the same here.

Longer-term, I think we should also internally rename "undef" to "uninit".

r? @oli-obk
2020-04-17 03:05:15 +02:00
Dylan DPC
abd72f7fc2
Rollup merge of #70578 - PankajChaudhary5:master, r=GuillaumeGomez
Add long error explanation for E0657

Added proper error explanation for issue E0657 in the Rust compiler.

Part of #61137

r? @GuillaumeGomez
2020-04-17 03:05:11 +02:00
bors
318726b301 Auto merge of #71131 - pnkfelix:issue-69798-dont-reuse-post-lto-products-when-exports-change, r=nagisa
Do not reuse post LTO products when exports change

Do not reuse post lto products when exports change

Generalizes code from PR #67020, which handled case when imports change.

Fix #69798
2020-04-17 00:44:24 +00:00
Dylan DPC
c68c71e24e
Rollup merge of #70611 - pawanbisht62:doc/61137-add-long-error-code-e0708, r=GuillaumeGomez
Add long error explanation for E0708 #61137

Add long explanation for the E0708 error code
Part of #61137

r? @GuillaumeGomez
2020-04-16 23:34:41 +02:00
Yuki Okushi
a6855b918b
Avoid emitting stderr for now 2020-04-17 06:16:15 +09:00
Yuki Okushi
0b85356387
Add test for issue-67893 2020-04-17 06:16:15 +09:00
Yuki Okushi
119bbbe31a
Add test for issue-54067 2020-04-17 06:16:15 +09:00
Yuki Okushi
077a7f741f
Add test for issue-28575 2020-04-17 06:16:14 +09:00
Yuki Okushi
9fb3f55211
Add test for issue-24843 2020-04-17 06:16:14 +09:00
bors
7f3df57724 Auto merge of #71201 - Dylan-DPC:rollup-23202uf, r=Dylan-DPC
Rollup of 5 pull requests

Successful merges:

 - #70566 (Don't bail out before linting in generic contexts.)
 - #71141 (Provide better compiler output when using `?` on `Option` in fn returning `Result` and vice-versa)
 - #71149 (remove an impossible branch from check_consts)
 - #71179 (fix more clippy warnings)
 - #71191 (Clean up E0520 explanation)

Failed merges:

r? @ghost
2020-04-16 18:02:11 +00:00
Ralf Jung
250b27d996 bikeshed 2020-04-16 18:47:05 +02:00
Eduard-Mihai Burtescu
77f38dc284 ty: convert ErrorHandled::Reported to ConstKind::Error. 2020-04-16 19:00:30 +03:00
Ralf Jung
18d0907dcc Miri error messages: avoid try terminology 2020-04-16 17:41:28 +02:00
Ana-Maria Mihalache
8f081d5b2b rustc_target::abi: add Primitive variant to FieldsShape. 2020-04-16 15:15:51 +00:00
Dylan DPC
e4ec7965ef
Rollup merge of #71141 - Duddino:master, r=estebank
Provide better compiler output when using `?` on `Option` in fn returning `Result` and vice-versa

Fixes #71089
2020-04-16 16:34:27 +02:00
Dylan DPC
33500a2bbf
Rollup merge of #70566 - jumbatm:exceeding-bitshifts-constprop, r=RalfJung
Don't bail out before linting in generic contexts.

Fixes #69021.

cc #70017

r? @RalfJung
2020-04-16 16:34:23 +02:00
bors
7fb5187d04 Auto merge of #70755 - wesleywiser:simplify_locals_2_electric_boogaloo, r=oli-obk
[mir-opt] Run SimplifyLocals to a fixedpoint and handle most rvalues

Follow up to review feedback left on #70595.
2020-04-16 14:26:43 +00:00
Ralf Jung
69423bf049 test fast path offset reporting 2020-04-16 13:21:23 +02:00
Ralf Jung
0d01ce6a1b switch back to 'bytes' 2020-04-16 13:19:51 +02:00
bors
4e4d49d60f Auto merge of #70831 - sfackler:shrink-future-stack, r=matthewjasper
Remove a stack frame from .await calls

The stack frames when `.await`ing one async fn from another currently look like this:

```
  12: foo:🅱️:{{closure}}
             at src/main.rs:2
  13: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /home/sfackler/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/future/mod.rs:66
  14: core::future::poll_with_context
             at /home/sfackler/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/future/mod.rs:84
  15: foo:🅰️:{{closure}}
             at src/main.rs:6
```

Since the move away from using TLS to pass the Context around, it's now easy to remove frame 14 by removing poll_with_context in favor of calling Future::poll directly. This still leaves the `GenFuture` frame, but that seems significantly harder to deal with.

It also improves diagnostics a bit since they no longer talk about the private poll_with_context function.
2020-04-16 09:13:07 +00:00
Wesley Wiser
7c0802b341 Remove other Rvalues 2020-04-15 14:53:41 -04:00
Wesley Wiser
0e0a71a393 Add test case 2020-04-15 14:34:23 -04:00
Esteban Küber
f47c4ffdfa Do not ICE in the face of invalid enum discriminant 2020-04-15 10:22:51 -07:00
Ralf Jung
9ee4d1aadc reword Miri validity errors: undefined -> uninitialized 2020-04-15 13:38:07 +02:00
Duddino
fbc4168d80 Provide better compiler output when using ? on Option in fn returning Result and vice-versa 2020-04-15 10:58:12 +02:00
Mazdak Farrokhzad
629e51b761
Rollup merge of #70891 - lcnr:replace-rvalue_aggregate, r=eddyb
unit rvalue, use constant `()` instead of tuple

fixes #70886

r? @eddyb
2020-04-15 09:10:00 +02:00
bors
76cbf0053f Auto merge of #71151 - Dylan-DPC:rollup-6rt4h7b, r=Dylan-DPC
Rollup of 8 pull requests

Successful merges:

 - #70657 (Allow `try`-blocks in places where an open delim is expected)
 - #70947 (tighten CTFE safety net for accesses to globals)
 - #70949 (simplify `vec!` macro)
 - #71002 (fix target & runtool args order)
 - #71082 (ptr: introduce len() method on raw slices)
 - #71128 (Remove unused single_step flag)
 - #71133 (Tighten time complexity on the doc of sort_by_key)
 - #71135 (Update books)

Failed merges:

r? @ghost
2020-04-15 00:39:22 +00:00
jumbatm
ed73023a50 Update stderrs after rebase. 2020-04-15 09:35:46 +10:00
jumbatm
3e6609e7bf Amend exceeding-bitshifts test case for #69021.
- Change to warnings so that all lints are emitted
- Expect build-pass
- Change placeholder FIXME to WARN.
2020-04-15 08:58:45 +10:00
Duddino
ce994b633d Provide better compiler output when using ? on Option in fn returning Result and vice-versa 2020-04-14 20:50:26 +02:00
Eduard-Mihai Burtescu
8bb7b7bf9c typeck: always expose repeat count AnonConsts' parent in generics_of. 2020-04-14 20:13:20 +03:00
Eduard-Mihai Burtescu
8989029476 borrow_check/type_check: normalize Aggregate and Call operands. 2020-04-14 20:03:18 +03:00
Bastian Kauschke
81a3cd7278 allow try as scrutinee, e.g. match try ... 2020-04-14 18:39:20 +02:00
Eduard-Mihai Burtescu
38d38349f3 typeck: workaround WF hole in to_const. 2020-04-14 19:31:31 +03:00
Eduard-Mihai Burtescu
2bbc33aaf0 typeck: track any errors injected during writeback and taint tables appropriately. 2020-04-14 19:06:52 +03:00
Felix S. Klock II
12207f6c66 Tests.
Namely, a regression test for issue #69798 (export added), and the inverse of
that test (export removd).
2020-04-14 10:52:19 -04:00
Bastian Kauschke
647f810d7b update 32 bit mir-opt tests 2020-04-14 09:14:58 +02:00
bors
a3ef360368 Auto merge of #70679 - tmandry:issue-68112, r=nikomatsakis
Improve async-await/generator obligation errors in some cases

Fixes #68112.

This change is best read one commit at a time (I add a test at the beginning and update it in each change after).

The `test2` function is a case I found while writing the test that we don't handle with this code yet. I don't attempt to fix it in this PR, but it's a good candidate for future work.

r? @davidtwco, @nikomatsakis
2020-04-14 06:47:38 +00:00
bors
513a6473d6 Auto merge of #70643 - Rustin-Liu:rustin-patch-rename, r=eddyb
Rename AssocKind::Method to AssocKind::Fn

Part of https://github.com/rust-lang/rust/issues/60163.

https://github.com/rust-lang/rust/issues/60163#issuecomment-607284413
2020-04-14 03:11:12 +00:00
Tyler Mandry
4326d959f4 Update test after rebase 2020-04-13 19:14:26 -07:00
Tyler Mandry
df64c5d260 Incorporate feedback into diagnostics 2020-04-13 18:58:17 -07:00
Tyler Mandry
e340375ef8 Don't double-annotate the same Span 2020-04-13 18:58:17 -07:00
Tyler Mandry
aed7c30e4f Use clearer message when obligation is caused by await expr 2020-04-13 18:58:11 -07:00
Tyler Mandry
6edfd66c5d Use "generator" instead of "future" when appropriate 2020-04-13 18:48:55 -07:00