Dylan DPC
2a1cd440f2
Rollup merge of #71404 - cuviper:chain-unfused, r=scottmcm
...
Don't fuse Chain in its second iterator
Only the "first" iterator is actually set `None` when exhausted,
depending on whether you iterate forward or backward. This restores
behavior similar to the former `ChainState`, where it would transition
from `Both` to `Front`/`Back` and only continue from that side.
However, if you mix directions, then this may still set both sides to
`None`, totally fusing the iterator.
Fixes #71375
r? @scottmcm
2020-04-23 20:34:59 +02:00
Dylan DPC
1d3d80f773
Rollup merge of #70633 - kper:master, r=estebank
...
Confusing suggestion on incorrect closing `}`
Compiler returns
```
error: unexpected closing delimiter: `}`
--> main.rs:20:1
|
9 | ErrorHandled::Reported => {}
| -- this block is empty, you might have not meant to close it temp
...
20 | }
| ^ unexpected closing delimiter
error: aborting due to previous error
```
2020-04-23 20:34:57 +02:00
Ralf Jung
5bb1afc7e7
add back Scalar::null_ptr
2020-04-23 20:13:53 +02:00
Ralf Jung
6463ecfe76
miri-unleash tests: ensure they fire even with 'allow(const_err)'
2020-04-23 20:08:41 +02:00
Ralf Jung
eb1de2ff39
liballoc: more compact way to adjust test sizes for Miri
2020-04-23 20:05:01 +02:00
Dylan MacKenzie
15f95b145e
Cycle errors now occur during const-eval, not checking
2020-04-23 11:01:56 -07:00
Dylan MacKenzie
1343797859
Lazily run dataflow for const qualification
2020-04-23 11:01:56 -07:00
Dylan MacKenzie
274c85f5c8
Don't cache result of in_any_value_of_ty
for locals
...
This was needed by an early version of dataflow-based const
qualification where `QualifCursor` needed to return a full `BitSet` with
the current state.
2020-04-23 11:01:55 -07:00
Dylan MacKenzie
a75c792888
Make type alias private
2020-04-23 10:57:05 -07:00
Ralf Jung
f1c30519f3
libcore: more compact way to adjust test sizes for Miri
2020-04-23 19:50:24 +02:00
Ralf Jung
90f1131022
Miri Frame: use mir::Location to represent position in function
2020-04-23 19:43:13 +02:00
LeSeulArtichaut
3029e9e9e4
Add note about padding
...
Co-authored-by: Mark-Simulacrum <mark.simulacrum@gmail.com>
2020-04-23 18:32:41 +02:00
Tyler Ruckinger
0ad9a4d26e
Make VaList::arg link actually work
2020-04-23 11:06:46 -04:00
Guillaume Gomez
977603cd1f
Update LangString::parse usage in markdown tests
2020-04-23 17:02:37 +02:00
Tyler Ruckinger
28847e5c37
Merge branch 'master' into fix-doc-links
2020-04-23 10:47:30 -04:00
Tyler Ruckinger
547219c7e4
Fix doc link errors
2020-04-23 10:40:28 -04:00
bors
413a12909f
Auto merge of #71467 - Dylan-DPC:rollup-d1os8ug, r=Dylan-DPC
...
Rollup of 6 pull requests
Successful merges:
- #71005 (Reading from the return place is fine)
- #71198 (Const check/promotion cleanup and sanity assertion)
- #71396 (Improve E0308 error message wording again)
- #71452 (Remove outdated reference to interpreter snapshotting)
- #71454 (Inline some function docs in `core::ptr`)
- #71461 (Improve E0567 explanation)
Failed merges:
r? @ghost
2020-04-23 14:40:20 +00:00
Guillaume Gomez
96a352ebd3
Add UI tests for new rustdoc lint
2020-04-23 16:18:50 +02:00
Dylan DPC
47e2687a4e
Rollup merge of #71461 - GuillaumeGomez:improve-e0567, r=Dylan-DPC
...
Improve E0567 explanation
r? @Dylan-DPC
2020-04-23 15:57:19 +02:00
Dylan DPC
98cadb28ac
Rollup merge of #71454 - ecstatic-morse:inline-core-ptr-docs, r=RalfJung
...
Inline some function docs in `core::ptr`
Resolves #64539 .
2020-04-23 15:57:18 +02:00
Dylan DPC
414355b42e
Rollup merge of #71452 - ecstatic-morse:no-more-snapshot, r=RalfJung
...
Remove outdated reference to interpreter snapshotting
This should have been a part of #70087 .
r? @RalfJung
2020-04-23 15:57:16 +02:00
Dylan DPC
4ae7037582
Rollup merge of #71396 - DeeDeeG:improve-e0308-again, r=estebank
...
Improve E0308 error message wording again
Hello again,
I recently did this PR: #70242
I felt the error message could be further improved, so I made [a post on the Rust community forum](https://users.rust-lang.org/t/looking-for-feedback-on-an-improved-error-message-for-e0308/40004 ) to ask for feedback.
(Also, there were some comments on my original PR that I took into consideration as well.)
This PR is my attempt to take all the feedback into account and propose a better and simplified error message that should still be accurate. Its main benefit is having simpler grammar, and hopefully being easier to read and understand.
Thanks to everyone who commented and gave feedback, and thank you for taking a look at this PR.
2020-04-23 15:57:14 +02:00
Dylan DPC
629a613faa
Rollup merge of #71198 - oli-obk:const_check_cleanup, r=RalfJung
...
Const check/promotion cleanup and sanity assertion
r? @RalfJung
This is just the part of https://github.com/rust-lang/rust/pull/70042#issuecomment-614592765 that does not change behaviour
2020-04-23 15:57:13 +02:00
Dylan DPC
61fbc6a394
Rollup merge of #71005 - jonas-schievink:no-place-like-return, r=oli-obk
...
Reading from the return place is fine
Const eval thinks that reading from local `_0` is UB, but it isn't. `_0` is just a normal local like any other, and codegen handles it that way too. The only special thing is that the `Return` terminator will read from it.
I've hit these errors while working on an NRVO pass that can merge other locals with `_0` in https://github.com/rust-lang/rust/pull/71003 .
r? @oli-obk
2020-04-23 15:57:11 +02:00
Oliver Scherer
e4ab4ee020
Update src/librustc_mir/interpret/memory.rs
...
Co-Authored-By: Ralf Jung <post@ralfj.de>
2020-04-23 15:56:26 +02:00
Oliver Scherer
af44cdf04f
Disallow statics initializing themselves
2020-04-23 15:55:08 +02:00
Pyfisch
aa0175c98d
Stabilize UNICODE_VERSION (feature unicode_version)
...
The feature will become stable in Rust 1.45.
Noted that the value of UNICODE_VERSION is expected to change.
2020-04-23 14:36:30 +02:00
Guillaume Gomez
c687d0490e
Create new rustdoc lint to check for code blocks tags
2020-04-23 14:30:30 +02:00
Oliver Scherer
4cdc31b965
Document our sanity assertion around explicit promotion
2020-04-23 13:21:25 +02:00
Oliver Scherer
119c6365e4
Catch and fix explicit promotions that fail to actually promote
2020-04-23 13:21:25 +02:00
Oliver Scherer
22a53790ed
Use ConstCx
for validate_candidates
2020-04-23 13:21:25 +02:00
Guillaume Gomez
cffd4b699e
Improve E0567 explanation
2020-04-23 13:17:00 +02:00
Oliver Scherer
0bc743ed12
Use ConstCx in the promoted collector
2020-04-23 13:09:58 +02:00
Oliver Scherer
f0f7a59eaa
Use ConstCx in more places
2020-04-23 13:07:21 +02:00
Oliver Scherer
6a3fb269ed
Rename Item
to ConstCx
.
...
This renaming was already done in some modules via import renaming. It's strictly used as a context, and it contains a `TyCtxt`.
2020-04-23 13:06:16 +02:00
Oliver Scherer
a135ced5ce
Fix ui test blessing when a test has an empty stderr file after having had content there before the current changes
2020-04-23 13:00:23 +02:00
YI
baac961fb5
fix error code for E0751
2020-04-23 15:46:05 +08:00
bors
66f7a5d92f
Auto merge of #71343 - RalfJung:miri, r=RalfJung
...
update Miri
Fixes https://github.com/rust-lang/rust/issues/71241
r? @ghost Cc @rust-lang/miri
2020-04-23 06:53:19 +00:00
David Cook
c16b6e0faa
Add leading 0x to offset in Debug fmt of Pointer
2020-04-23 00:43:27 -05:00
bors
8af87b1126
Auto merge of #71312 - wesleywiser:const_prop_bitset, r=Mark-Simulacrum
...
[ConstProp] Use a `BitSet<Local>` instead of `IndexVec<Local, bool>`
2020-04-23 03:44:28 +00:00
Dylan MacKenzie
34dfbc3fef
Add module docs and restrict visibility
2020-04-22 18:56:23 -07:00
Dylan MacKenzie
59c746030a
Use a ref-counted pointer for ownership of the predecessor cache
...
...instead of a `LockGuard` which means the lock is held for longer than
necessary.
2020-04-22 18:24:20 -07:00
Dylan MacKenzie
740f228b5b
Remove predecessors_for
...
There is no `Arc::map` equivalent to `LockGuard::map`
2020-04-22 18:24:20 -07:00
Dylan MacKenzie
b3c26de25e
Inline some function docs re-exported in std::ptr
2020-04-22 18:01:26 -07:00
bors
fc145e19d0
Auto merge of #71445 - Dylan-DPC:rollup-31givp1, r=Dylan-DPC
...
Rollup of 5 pull requests
Successful merges:
- #71256 (Lint must_use on mem::replace)
- #71350 (Error code explanation extra check)
- #71369 (allow wasm32 compilation of librustc_data_structures/profiling.rs)
- #71400 (proc_macro::is_available())
- #71440 (Implement `Copy` for `AllocErr`)
Failed merges:
r? @ghost
2020-04-23 00:28:05 +00:00
Esteban Küber
25f8966b5a
Sort MultiSpan
s on creation
2020-04-22 17:15:34 -07:00
Dylan MacKenzie
e97c227dbc
Remove outdated reference to interpreter snapshotting
2020-04-22 16:31:14 -07:00
Ralf Jung
9b11c60178
update Miri
2020-04-23 00:12:04 +02:00
Amanieu d'Antras
99de3728f9
Only use read_unaligned in transmute_copy if necessary
2020-04-22 22:22:48 +01:00
Dylan DPC
bb13aab8e5
Rollup merge of #71440 - TimDiekmann:copy-allocerr, r=Amanieu
...
Implement `Copy` for `AllocErr`
r? @Amanieu
2020-04-22 23:19:25 +02:00