Commit graph

30568 commits

Author SHA1 Message Date
Ralf Jung
7d23c3bf8a adjust tests 2020-04-24 16:18:19 -04:00
Eduard-Mihai Burtescu
d00f94ffc1 Remove redundant descr/descriptive_variant methods from HIR. 2020-04-24 13:44:08 -05:00
flip1995
485f1999f5
Add rustdoc regression test for the unused_braces lint 2020-04-24 19:15:07 +02:00
bors
0612568358 Auto merge of #71509 - Dylan-DPC:rollup-n8s37rm, r=Dylan-DPC
Rollup of 5 pull requests

Successful merges:

 - #71235 (Tweak `'static` suggestion code)
 - #71318 (miri-unleash tests: ensure they fire even with 'allow(const_err)')
 - #71428 (Let compiletest recognize gdb 10.x)
 - #71475 (Miri Frame: use mir::Location to represent position in function)
 - #71476 (more compact way to adjust test sizes for Miri)

Failed merges:

r? @ghost
2020-04-24 12:28:44 +00:00
Dylan DPC
2846aa2f2f
Rollup merge of #71318 - RalfJung:miri-unleash-cleanup, r=oli-obk
miri-unleash tests: ensure they fire even with 'allow(const_err)'

This is easier with `static` than `const` so I switched some of them over.
2020-04-24 13:14:20 +02:00
Dylan DPC
7d8a3ad128
Rollup merge of #71235 - estebank:lt-sugg-2, r=ecstatic-morse
Tweak `'static` suggestion code

Fix #71196.
2020-04-24 13:14:19 +02:00
bors
0b958790b3 Auto merge of #70820 - spastorino:replace-fragile-erroneous-const-sys, r=oli-obk
Replace fragile erroneous const sys

Closes #67191

r? @oli-obk
2020-04-24 09:14:47 +00:00
Val Markovic
2155adbc3a Moving more build-pass tests to check-pass
One or two tests became build-pass without the FIXME because they really
needed build-pass (were failing without it).

Helps with #62277
2020-04-23 20:21:38 -07:00
Dylan DPC
ed25ca0efb
Rollup merge of #71459 - divergentdave:pointer-offset-0x, r=RalfJung
Add leading 0x to offset in Debug fmt of Pointer

Currently the `Debug` format for `Pointer` prints its offset in hexadecimal, for example, `alloc38657819+e2` or `alloc35122748+64`. This PR adds a leading `0x` to the offset, in order to make it apparent that it is indeed a hexadecimal number. This came up during discussion of rust-lang/miri#1354. r? @RalfJung
2020-04-24 02:47:37 +02:00
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
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
flip1995
898cbf265a
update_tests 2020-04-24 00:22:50 +02:00
Santiago Pastorino
7bafb5704d
normalize field projection ty to fix broken MIR issue 2020-04-23 18:14:01 -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
Ralf Jung
6b76b0e558 explain what we are testing in mutable_const 2020-04-23 21:25:27 +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
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
6463ecfe76 miri-unleash tests: ensure they fire even with 'allow(const_err)' 2020-04-23 20:08:41 +02:00
Dylan MacKenzie
15f95b145e Cycle errors now occur during const-eval, not checking 2020-04-23 11:01:56 -07:00
Guillaume Gomez
96a352ebd3 Add UI tests for new rustdoc lint 2020-04-23 16:18:50 +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
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
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
YI
baac961fb5 fix error code for E0751 2020-04-23 15:46:05 +08:00
David Cook
c16b6e0faa Add leading 0x to offset in Debug fmt of Pointer 2020-04-23 00:43:27 -05:00
Esteban Küber
25f8966b5a Sort MultiSpans on creation 2020-04-22 17:15:34 -07:00
Josh Stone
22efd95910 Bless From<Cow> UI changes 2020-04-22 14:40:27 -07:00
Ralf Jung
9ea5eed32b smoke-test for async fn with mir-opt-level=0 2020-04-22 23:34:13 +02:00
Mohsen Zohrevandi
db1fbd4a11 Process termination tests
Related issues:
- https://github.com/fortanix/rust-sgx/issues/109
2020-04-22 14:24:20 -07:00
Dylan DPC
0f806534c0
Rollup merge of #71400 - dtolnay:isavailable, r=petrochenkov
proc_macro::is_available()

This PR adds `proc_macro::is_available() -> bool` to determine whether proc_macro has been made accessible to the currently running program.

The proc_macro crate is only intended for use inside the implementation of procedural macros. All the functions in the crate panic if invoked from outside of a procedural macro, such as from a build script or unit test or ordinary Rust binary.

Unfortunately those panics made it impossible for libraries that are designed to support both macro and non-macro use cases (e.g. Syn) to be used from binaries that are compiled with panic=abort. In panic=unwind mode we're able to attempt a proc macro call inside catch_unwind and use libproc_macro's result if it succeeds, otherwise fall back to a non-macro alternative implementation. But in panic=abort there was no way to determine which implementation needs to be used.

r? @eddyb
attn: @petrochenkov @adetaylor
ref: https://github.com/dtolnay/cxx/issues/130
2020-04-22 23:19:24 +02:00
Dylan DPC
10e47f5b7b
Rollup merge of #71256 - cuviper:must_use_replace, r=estebank
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-22 23:19:19 +02:00
Esteban Küber
59c816d58b fix test 2020-04-22 12:42:02 -07:00
Esteban Küber
322b2045f2 Revert old span change 2020-04-22 12:12:33 -07:00
Esteban Küber
1f43fc0209 Tweak wording 2020-04-22 12:12:33 -07:00
Esteban Küber
13c1daeb2f Tweak 'static suggestion code
Fix #71196.
2020-04-22 12:12:33 -07:00
Antoni Boucher
f8f0f7b228 Add help message for missing right operand in condition 2020-04-22 11:57:40 -04:00
Dylan DPC
7939a4d728
Rollup merge of #71370 - PankajChaudhary5:ErrorCode-E0696, r=GuillaumeGomez
Added detailed error code explanation for issue E0696 in Rust compiler.

Added proper error explanation for issue E0696 in the Rust compiler.
Error Code E0696

Sub Part of Issue #61137

r? @GuillaumeGomez
2020-04-22 16:41:12 +02:00
Dylan DPC
221f677d70
Rollup merge of #71336 - ecstatic-morse:check-consts-asm, r=oli-obk
Exhaustively match on `{Statement,Terminator}Kind` during const checking

This adds a pre-monomorphization error for inline assembly in a const context as well.

r? @oli-obk
2020-04-22 16:41:11 +02:00
bors
00f677d897 Auto merge of #71424 - Dylan-DPC:rollup-iunh61a, r=Dylan-DPC
Rollup of 6 pull requests

Successful merges:

 - #70970 (Detect mistyped associated consts in `Instance::resolve`.)
 - #71203 (Correct await span for async-await error reporting)
 - #71214 (Add error code for inner doc error)
 - #71337 (Moving all rustdoc-ui tests to check-pass)
 - #71412 (Clarify unused_doc_comments note on macro invocations)
 - #71414 (More diagnostic items for Clippy usage)

Failed merges:

r? @ghost
2020-04-22 11:14:23 +00:00
Dylan DPC
91ef66374b
Rollup merge of #71412 - dtolnay:uselessdoc, r=Manishearth
Clarify unused_doc_comments note on macro invocations

The previous error message used to say:

<pre>
/// doc
^^^^^^^ rustdoc does not generate documentation for <b>macros</b>
</pre>

Obviously we do generate documentation for macros, such as https://docs.rs/bitflags/1.2.1/bitflags/macro.bitflags.html. It's only macro invocations that don't get their own docs. This PR updates the message to say "rustdoc does not generate documentation for <b>macro invocations</b>".

I observe that prior to #69084 this used to say "rustdoc does not generate documentation for **macro expansions**", as implemented originally in #57882. I don't have a preference between those but I made the commit before looking up the history.

r? @Manishearth
attn: @yaahc @euclio
2020-04-22 12:18:38 +02:00
Dylan DPC
e7c5334a88
Rollup merge of #71337 - Valloric:rustdoc-check-pass, r=GuillaumeGomez
Moving all rustdoc-ui tests to check-pass

These were all build-pass before and don't seem to need it.

Helps with #62277

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/rust-lang/rust/71337)
<!-- Reviewable:end -->
2020-04-22 12:18:36 +02:00
Dylan DPC
372d37b106
Rollup merge of #71214 - GuillaumeGomez:add-error-code-inner-doc-error, r=Dylan-DPC
Add error code for inner doc error

r? @Dylan-DPC

cc @oli-obk
2020-04-22 12:18:34 +02:00
Dylan DPC
7b1ce6e98d
Rollup merge of #71203 - csmoe:issue-71137, r=csmoe
Correct await span for async-await error reporting

Closes #71137
r? @tmandry
2020-04-22 12:18:33 +02:00
Dylan DPC
707004c552
Rollup merge of #70970 - eddyb:trait-vs-impl-mismatch, r=oli-obk
Detect mistyped associated consts in `Instance::resolve`.

*Based on #71049 to prevent redundant/misleading downstream errors.*

Fixes #70942 by refusing to resolve an associated `const` if it doesn't have the same type in the `impl` that it does in the `trait` (which we assume had errored, and `delay_span_bug` guards against bugs).
2020-04-22 12:18:31 +02:00
Guillaume Gomez
038f5b7433 Update UI tests 2020-04-22 11:09:57 +02:00
YI
bb1eedb026 add message for resolution failure because wrong namespace 2020-04-22 16:05:17 +08:00
bors
4bfd62acb1 Auto merge of #71323 - nnethercote:bitcode-in-rlib, r=alexcrichton
Add `-Cbitcode-in-rlib`.

This is a cut-down version of #70458 that gets the compile-time wins.

r? @alexcrichton
2020-04-22 07:52:42 +00:00