Commit Graph

110902 Commits

Author SHA1 Message Date
Dylan DPC
fa7fb932cc
Rollup merge of #71426 - contrun:fix-e0751-explanation, r=estebank
fix error code in E0751.md

reference: https://github.com/rust-lang/rust/issues/71304
2020-04-24 02:47:35 +02:00
Dylan DPC
c33deb9fda
Rollup merge of #71068 - pyfisch:unicode-version-stable, r=SimonSapin
Stabilize UNICODE_VERSION (feature unicode_version)

Tracking issue: #49726

r? @sfackler

#71020 changed the definition of `UNICODE_VERSION` just yesterday from a struct to a tuple. Maybe you want to wait some more before stabilizing this constant, on the other hand this is a very small and simple addition.

CC @behnam @SimonSapin @Serentty
2020-04-24 02:47:32 +02:00
Dylan DPC
9ff020e0dd
Rollup merge of #71063 - LeSeulArtichaut:document-unsafe, r=Mark-Simulacrum
Document unsafety in core::{option, hash}

Helps with #66219.
I think that the part that will need reviewing the most is the `hash/sip.rs` file.
r? @LukasKalbertodt (or someone else from the libs team)
2020-04-24 02:47:30 +02:00
Dylan DPC
45e04feb1d
Rollup merge of #70845 - varkor:const-generics-derive-eq-diagnostic, r=estebank
Make the `structural_match` error diagnostic for const generics clearer

The previous diagnostic caused confusion (https://github.com/rust-lang/rust/issues/70790), so this changes the message to be closer to the message for using non-`structural_match` constants in patterns, explicitly mentioning `#[derive(PartialEq, Eq)]`.

Fixes https://github.com/rust-lang/rust/issues/70790.

r? @estebank
2020-04-24 02:47:26 +02:00
LeSeulArtichaut
d515168f3b Document unsafety in core::{panicking, alloc::layout, hint, iter::adapters::zip} 2020-04-24 01:48:48 +02:00
marmeladema
b9ba521e95 Fix librustdoc error due to as_local_hir_id changes 2020-04-23 23:41:47 +01:00
mibac138
c3b6cc76d4 Minor formatting changes in cfg-sanitize.md 2020-04-24 00:40:03 +02:00
flip1995
898cbf265a
update_tests 2020-04-24 00:22:50 +02:00
flip1995
602f206408
Use correct span on while (let) lowering 2020-04-24 00:22:34 +02:00
marmeladema
fe7531579d Address comments from review 2020-04-23 23:14:07 +01:00
marmeladema
bfce24aa67 Modify as_local_hir_id to return a bare HirId 2020-04-23 23:14:07 +01:00
marmeladema
6148db719f Modify as_local_hir_id to accept a LocalDefId instead of a DefId 2020-04-23 23:14:07 +01:00
marmeladema
92fb59d7f3 librustc_middle: return LocalDefId instead of DefId in local_def_id 2020-04-23 23:14:07 +01:00
Santiago Pastorino
7bafb5704d
normalize field projection ty to fix broken MIR issue 2020-04-23 18:14:01 -03:00
Santiago Pastorino
7bc45f6baa
Import RequiredConstsVisitor 2020-04-23 18:07:37 -03:00
Santiago Pastorino
c1ed7cc95f
Rename uneval_consts to required_consts 2020-04-23 18:07:36 -03:00
Santiago Pastorino
da9aa2dd55
Adjust name of never typed const test 2020-04-23 18:07:36 -03:00
Santiago Pastorino
39be0b5b6c
Bless mir-opt tests 2020-04-23 18:07:27 -03:00
LeSeulArtichaut
a694315ed1 Add a note about fat pointers
Co-Authored-By: Mark-Simulacrum <mark.simulacrum@gmail.com>
2020-04-23 23:05:37 +02:00
cohenarthur
b4a11d4dd9 doc-example: Refactor pointer name to avoid confusion
Changed raw pointer name from ptr to raw_pointer to avoid confusion with
the `use std::ptr` statement a few lines above. This way the crate name
and pointer name are well differenciated.
2020-04-23 22:22:27 +02:00
Santiago Pastorino
25e0be736c
Clean up fragile checks of optimized away constants 2020-04-23 16:50:18 -03:00
Santiago Pastorino
f925a03ead
Make ConstPropagator only visit basic blocks when visiting body
Avoid exercising unevaluated constants and go straight to visit the
blocks.
2020-04-23 16:50:18 -03:00
Santiago Pastorino
0107cecc01
Visit unevaluated constants in super_body 2020-04-23 16:50:17 -03:00
Santiago Pastorino
5313e2e929
Make inlining carry over unevaluated consts 2020-04-23 16:50:17 -03:00
Santiago Pastorino
db18b42343
Evaluate unevaluated MIR constants in codegen_mir 2020-04-23 16:50:17 -03:00
Santiago Pastorino
f8976e377f
Add MirPass to collect Unevaluated consts in MIR body 2020-04-23 16:50:17 -03:00
Santiago Pastorino
6807bb7482
Make mir::Constant Copy 2020-04-23 16:50:16 -03:00
Alex Crichton
c7a7658c6d Enable "full tools" option on ARM dist builders
This commit switches the `--enable-extended` option on the arm-related
dist builders to `--enable-full-tools`. This alias in `config.py`
corresponds to enabling a few more options:

* `rust.lld = true` - this is the main purpose of this PR, to enable LLD
  on ARM-related platforms. This means it will effectively unlock
  compilation of wasm programs from an arm host.

* `rust.llvm-tools = true` - it turns out that this option is largely
  ignored in rustbuild today. This is only read in one location to set
  some flags for the `llvm-tools` package, but the `llvm-tools` package
  is already produced on all of these builders. It's predicted that this
  will have no effect on build times.

* `rust.codegen-backends = ['llvm']` - historically this also enabled
  the emscripten backend, but that has long since been removed.

This brings the ARM dist builders in line with the x86_64 dist builders
using this flag. The hope is that the extra time spent on CI building
LLD will acceptable because it's cached by `sccache`, LLD is a
relatively small C++ project, and the dist builders are all clocking
well under 3 hours (the slowest of all builders) around 2 hours.

There's likely some possible cleanup that can happen with these
configure options since it doesn't look like they've aged too too well,
but I'm hopeful that possible refactorings, if necessary, could be
deferred to future PRs.
2020-04-23 12:45:18 -07:00
Ralf Jung
6b76b0e558 explain what we are testing in mutable_const 2020-04-23 21:25:27 +02:00
bors
14b15521c5 Auto merge of #71483 - Dylan-DPC:rollup-c2h9s8b, r=Dylan-DPC
Rollup of 7 pull requests

Successful merges:

 - #70633 (Confusing suggestion on incorrect closing `}`)
 - #71404 (Don't fuse Chain in its second iterator)
 - #71408 (Check code blocks tags)
 - #71442 (Add a "by reference" adaptor for `AllocRef`)
 - #71446 (Only use read_unaligned in transmute_copy if necessary)
 - #71470 (Fix doc links)
 - #71479 (add back Scalar::null_ptr)

Failed merges:

r? @ghost
2020-04-23 18:36:59 +00:00
Dylan MacKenzie
0658259325 Set RUSTDOCFLAGS in cargo invocation 2020-04-23 11:36:24 -07:00
Dylan DPC
b107eb5ea4
Rollup merge of #71479 - RalfJung:scalar-null-ptr, r=jonas-schievink
add back Scalar::null_ptr

We were a bit overeager with removing this in https://github.com/rust-lang/rust/pull/71005, Miri uses this function quite a bit.

The important part is that the `Place::null` methods are gone. :)
r? @jonas-schievink @oli-obk

Fixes https://github.com/rust-lang/rust/issues/71474
2020-04-23 20:35:07 +02:00
Dylan DPC
5f9ffb9c02
Rollup merge of #71470 - TyPR124:fix-doc-links, r=jonas-schievink
Fix doc links

This fixes a few doc links which were causing `cargo doc` to fail when using `--document-private-items --document-hidden-items` on libstd. Most of the fixes are just escaping '[' and ']' characters in doc comments, and one change actually fixes a doc link.
2020-04-23 20:35:06 +02:00
Dylan DPC
199f4deef0
Rollup merge of #71446 - Amanieu:transmute_copy, r=sfackler
Only use read_unaligned in transmute_copy if necessary

I've noticed that this causes LLVM to generate poor code on targets that don't support unaligned memory accesses.
2020-04-23 20:35:04 +02:00
Dylan DPC
1363a4b352
Rollup merge of #71442 - TimDiekmann:allocref-mut-ref, r=Amanieu
Add a "by reference" adaptor for `AllocRef`

Fixes rust-lang/wg-allocators#53

r? @Amanieu
2020-04-23 20:35:02 +02:00
Dylan DPC
0959802a57
Rollup merge of #71408 - GuillaumeGomez:check-code-blocks-tags, r=kinnison
Check code blocks tags

Fixes #71347.

Explanations here: I realized recently that it was a common issue to confuse/misspell tags on code blocks. This is actually quite a big issue since it generally ends up in a code blocks being ignored since it's not being considered as a rust one. With this new warning, users will at least be notified about it.

PS: some improvements can be done on the error rendering but considering how big the PR already is, I think it's better to do it afterwards.

r? @ollie27

cc @rust-lang/rustdoc
2020-04-23 20:35:01 +02:00
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