Commit Graph

110271 Commits

Author SHA1 Message Date
Josh Stone
ccecae5fdd Fix unused results from mem::replace 2020-04-17 13:59:14 -07:00
Josh Stone
7c4ca59f4b Lint must_use on mem::replace
This adds a hint on `mem::replace`, "if you don't need the old value,
you can just assign the new value directly". This is in similar spirit
to the `must_use` on `ManuallyDrop::take`.
2020-04-17 11:36:56 -07: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
65243a8f7c
Rollup merge of #71225 - leocassarani:patch-1, r=jonas-schievink
Fix typo in Default trait docs: Provides -> Provide

An earlier commit (99ed06e) accidentally changed this paragraph from the original, imperative `Provide` to the present tense `Provides`. The latter is indeed the standard for Rustdoc comments relating to a function or method, but this snippet is introducing the `Default` trait in general terms and not talking about any particular function. I believe this change was likely made in error and should be reverted.
2020-04-17 03:05:21 +02:00
Dylan DPC
28964b4ef2
Rollup merge of #71220 - cuviper:std_or_patterns, r=Mark-Simulacrum
Dogfood or_patterns in the standard library

We can start using `or_patterns` in the standard library as a step toward stabilization.

cc #54883 @Centril
2020-04-17 03:05:19 +02: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
d19458784f
Rollup merge of #70910 - rakshith-ravi:master, r=cuviper
Hides default fns inside Fuse impl to avoid exposing it to any crate

Fixes #70796

@cuviper I've added some default, private traits to do the job for us. If required, I can expose them to a specific visibility if you want to call these functions for #70332

r? @cuviper
2020-04-17 03:05:13 +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
Leo Cassarani
da48550b33 Fix typo in Default trait docs: Provides -> Provide
An earlier commit (99ed06e) accidentally changed this paragraph from the
original, imperative "Provide" to the present tense "Provides". The
latter is indeed the standard for Rustdoc comments relating to a
function or method, but this snippet is introducing the Default trait in
general terms and not talking about any particular function. I believe
this change was likely made in error and should be reverted.
2020-04-16 22:39:00 +01:00
bors
868b51be6f Auto merge of #71223 - Dylan-DPC:rollup-z5itu39, r=Dylan-DPC
Rollup of 5 pull requests

Successful merges:

 - #70611 (Add long error explanation for E0708 #61137)
 - #71197 (Don't use the HirId to NodeId map in MIR)
 - #71211 (Update cargo)
 - #71219 (Minor fixes to doc comments of 'VecDeque')
 - #71221 (Dogfood or_patterns in rustdoc)

Failed merges:

r? @ghost
2020-04-16 21:36:23 +00:00
Dylan DPC
f51d2d07ec
Rollup merge of #71221 - cuviper:rustdoc_or_patterns, r=Mark-Simulacrum
Dogfood or_patterns in rustdoc

We can start using `or_patterns` in `rustdoc` as a step toward stabilization.

cc #54883 @Centril
2020-04-16 23:34:46 +02:00
Dylan DPC
53f3130bdb
Rollup merge of #71219 - JOE1994:patch-4, r=Mark-Simulacrum
Minor fixes to doc comments of 'VecDeque'

1. Changed descriptions of `fn get` & `fn get_mut`.
  Since both of these functions are returning references, and not the owned value, I thought the doc comments could be fixed to be consistent with doc comments of `fn front` & `fn front_mut`.

2. Other changes are minor fixes or additions for clarification.

Thank you for taking a look :)
2020-04-16 23:34:45 +02:00
Dylan DPC
42aab583e5
Rollup merge of #71211 - ehuss:update-cargo, r=ehuss
Update cargo

3 commits in 74e3a7d5b756d7c0e94399fc29fcd154e792c22a..ebda5065ee8a1e46801380abcbac21a25bc7e755
2020-04-13 20:41:52 +0000 to 2020-04-16 14:28:43 +0000
- Don't use debug display for error object. (rust-lang/cargo#8119)
- Add backwards-compatibility for old cargo-tree flags. (rust-lang/cargo#8115)
- Try to avoid panics on buggy (?) clocks (rust-lang/cargo#8114)
2020-04-16 23:34:43 +02:00
Dylan DPC
aa0db0bb43
Rollup merge of #71197 - ljedrz:unsafe_unused, r=ecstatic-morse
Don't use the HirId to NodeId map in MIR

Another step towards not having to build a `HirId` to `NodeId` map other than for doc and RLS purposes.

We are currently sorting `unsafe` blocks by `NodeId` in `check_unsafety`; change it to sorting by `Span` instead; this passes the tests, but better ideas are welcome.

In addition, simplify the split between the used and unused `unsafe` blocks for readability and less sorting.

cc https://github.com/rust-lang/rust/issues/50928
2020-04-16 23:34:42 +02: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
Josh Stone
554847c513 Dogfood or_patterns in rustdoc 2020-04-16 13:58:47 -07:00
Youngsuk Kim
9707bec3c5
Minor fixes to doc comments of 'VecDequeue'
1. Changed descriptions of `fn get` & `fn get_mut`.
  Since both of these functions are returning references, and not the owned value, I thought the doc comments could be fixed to be consistent with doc comments of `fn front` & `fn front_mut`.

2. Other changes are minor fixes or additions for clarification.

Thank you for taking a look :)
2020-04-16 16:26:14 -04:00
Josh Stone
2edd123a23 Dogfood or_patterns in the standard library 2020-04-16 12:44:57 -07: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
ljedrz
66575c9962 comment on the sorting of unused unsafe blocks 2020-04-16 20:00:54 +02:00
Eric Huss
26ba0dd45c Update cargo 2020-04-16 10:16:11 -07: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
Eduard-Mihai Burtescu
d7c4081b18 mir/interpret: only use ErrorHandled::Reported for ErrorReported. 2020-04-16 19:00:30 +03:00
Eduard-Mihai Burtescu
e22d4795d8 Partially revert "Do not ICE in the face of invalid enum discriminant"
This (partially) reverts commit f47c4ffdfa.
2020-04-16 19:00:30 +03:00
Eduard-Mihai Burtescu
2deb39dd1f ty: add ty::ConstKind::Error to replace tcx.consts.err. 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
9d28dfee78
Rollup merge of #71191 - GuillaumeGomez:cleanup-e0520, r=Dylan-DPC
Clean up E0520 explanation

r? @Dylan-DPC
2020-04-16 16:34:32 +02:00
Dylan DPC
294f9f30cd
Rollup merge of #71179 - matthiaskrgr:cl6ppy, r=Dylan-DPC
fix more clippy warnings
2020-04-16 16:34:30 +02:00
Dylan DPC
7da24a2287
Rollup merge of #71149 - RalfJung:check-const-call, r=eddyb
remove an impossible branch from check_consts

All function calleess are either `FnPtr` or `FnDef`, so we can remove the alternative from check_consts and just make it ICE instead.
2020-04-16 16:34:29 +02: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
ljedrz
672b7682b0 sort unused unsafe blocks by Span instead of NodeId 2020-04-16 14:53:09 +02:00
Wesley Wiser
9666d31bcf Respond to code review feedback
- Remove reads of indirect `Place`s
- Add comments explaining what the algorithm does
2020-04-16 08:34:37 -04:00
ljedrz
d167408cb4 simplify unused unsafe block handling 2020-04-16 14:24:52 +02:00
Guillaume Gomez
6b83d0851f Clean up E0520 explanation 2020-04-16 13:51:02 +02: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