Commit Graph

110431 Commits

Author SHA1 Message Date
bors
cff9a758ae Auto merge of #71264 - Dylan-DPC:rollup-njgbey7, r=Dylan-DPC
Rollup of 6 pull requests

Successful merges:

 - #70467 (Use `call` instead of `invoke` for functions that cannot unwind )
 - #71070 (rustbuild: Remove stage 0 LLD flavor workaround for MSVC)
 - #71167 (big-O notation: parenthesis for function calls, explicit multiplication)
 - #71238 (Miri: fix typo)
 - #71242 (Format Mailmap To Work With GitHub)
 - #71243 (Account for use of `try!()` in 2018 edition and guide users in the right direction)

Failed merges:

r? @ghost
2020-04-17 21:57:06 +00:00
Dylan DPC
4b9eeca5c5
Rollup merge of #71243 - Duddino:Fix2, r=estebank
Account for use of `try!()` in 2018 edition and guide users in the right direction

fixes #71155
2020-04-17 23:56:04 +02:00
Dylan DPC
6a140a31df
Rollup merge of #71242 - XAMPPRocky:mailmap, r=Dylan-DPC
Format Mailmap To Work With GitHub

r? @Mark-Simulacrum
2020-04-17 23:56:03 +02:00
Dylan DPC
0050a6479b
Rollup merge of #71238 - RalfJung:miri-typo, r=oli-obk
Miri: fix typo

r? @oli-obk at least I think this should be "without", right?
2020-04-17 23:56:01 +02:00
Dylan DPC
d5d9bf0406
Rollup merge of #71167 - RalfJung:big-o, r=shepmaster
big-O notation: parenthesis for function calls, explicit multiplication

I saw `O(n m log n)` in the docs and found that really hard to parse. In particular, I don't think we should use blank space as syntax for *both* multiplication and function calls, that is just confusing.

This PR makes both multiplication and function calls explicit using Rust-like syntax. If you prefer, I can also leave one of them implicit, but I believe explicit is better here.

While I was at it I also added backticks consistently.
2020-04-17 23:56:00 +02:00
Dylan DPC
b45f133a0d
Rollup merge of #71070 - petrochenkov:nolldaround, r=Mark-Simulacrum
rustbuild: Remove stage 0 LLD flavor workaround for MSVC
2020-04-17 23:55:58 +02:00
Dylan DPC
43cf9d791b
Rollup merge of #70467 - wesleywiser:invoke-vs-call, r=nagisa
Use `call` instead of `invoke` for functions that cannot unwind

The `FnAbi` now knows if the function is allowed to unwind. If a
function isn't allowed to unwind, we can use a `call` instead of an
`invoke`.

This resolves an issue when calling LLVM intrinsics which cannot unwind
LLVM will generate an error if you attempt to invoke them so we need to
ignore cleanup blocks in codegen and generate a call instead.

Fixes #69911

r? @eddyb
cc @rust-lang/wg-ffi-unwind
2020-04-17 23:55:56 +02:00
Felix S. Klock II
1abfd4ab23 Issue #71248: attempt to recover perf by removing exports_all_green flag.
(My hypothesis is that my use of this flag was an overly conservative
generalization of PR 67020.)
2020-04-17 16:04:59 -04:00
Amanieu d'Antras
7fe41279c5 Make -Zprofile set codegen-units to 1 2020-04-17 19:53:31 +01:00
Jonas Schievink
ae533151c3 Ignore generator-drop-cleanup on wasm32-bare 2020-04-17 20:37:34 +02:00
bors
ce93331e2c Auto merge of #71255 - Dylan-DPC:rollup-u5yl04z, r=Dylan-DPC
Rollup of 5 pull requests

Successful merges:

 - #69642 (Use query to determine whether function needs const checking)
 - #71239 (Rename `asm` test directory in favor of `llvm_asm`)
 - #71246 (Implement `Clone` for `liballoc::collections::linked_list::Cursor`.)
 - #71247 (Remove unnecessary variable intialization)
 - #71254 (Minor fix and addition to doc comments)

Failed merges:

r? @ghost
2020-04-17 18:36:53 +00:00
Jonas Schievink
7bbdd2d4d6 Adjust mir-opt test and make it drop something 2020-04-17 20:36:46 +02:00
Dylan DPC
4132642e8a
Rollup merge of #71254 - JOE1994:add_comment, r=jonas-schievink
Minor fix and addition to doc comments

1. Fixed doc comment of struct 'rustc_middle::mir::Location'
Currently, the general explanation of the struct appears at the field
explanation section. I moved and changed the doc comments slightly, so
that the general explanation would appear in the proper location in
docs.
2. Added doc comment explaining 'rustc_mir::util::pretty::write_mir_fn'
Unlike other counterparts, brief explanation for this function was missing,
so I added one.

Thank you for reviewing this PR :)
2020-04-17 20:35:25 +02:00
Dylan DPC
029e930ab7
Rollup merge of #71247 - ldm0:minor, r=estebank
Remove unnecessary variable intialization

Minor fix.
2020-04-17 20:35:24 +02:00
Dylan DPC
07cb4f44e4
Rollup merge of #71246 - crlf0710:linked_list_cursor, r=Amanieu
Implement `Clone` for `liballoc::collections::linked_list::Cursor`.

This implements `Clone` for linked list `Cursor`. Implementing `Copy` is also possible here, but i'm not sure whether i should also do it.

r? @Amanieu
2020-04-17 20:35:22 +02:00
Dylan DPC
d30292caa7
Rollup merge of #71239 - JohnTitor:llvm-asm, r=Amanieu
Rename `asm` test directory in favor of `llvm_asm`

r? @Amanieu
2020-04-17 20:35:21 +02:00
Dylan DPC
a12d42ba86
Rollup merge of #69642 - ecstatic-morse:issue-69615, r=oli-obk
Use query to determine whether function needs const checking

Resolves #69615.

The HIR const-checker was checking the `constness` of a function's `fn_sig` to determine whether a function needed const-checking. Now that const trait impls are a thing, this is no longer enough. All code should use the `is_const_fn_raw` query instead, which takes the constness of the impl block into account.

r? @oli-obk
2020-04-17 20:35:19 +02:00
Jonas Schievink
50c1c295ee Make needs_drop less pessimistic on generators 2020-04-17 20:30:23 +02:00
Duddino
79abac863e Improved try_macro_suggestion function 2020-04-17 20:14:27 +02:00
JOE1994
5847c581d1 Minor fix and addition to doc comments
1. Fixed doc comment of struct 'rustc_middle::mir::Location'
Currently, the general explanation of the struct appears at the field
explanation section. I moved and changed the doc comments slightly, so
that the general explanation would appear in the proper location in
docs.
2. Added doc comment explaining 'rustc_mir::util::pretty::write_mir_fn'
Unlike other counterparts, brief explanation for this function was missing,
so I added one.

Thank you for reviewing this PR :)
2020-04-17 13:24:33 -04:00
Duddino
67128f1e4a Improved try_macro_suggestion 2020-04-17 19:10:29 +02:00
Duddino
d3f5c274c6 Moved is_try check into try_macro_suggestion 2020-04-17 18:26:39 +02:00
Guillaume Gomez
b4fb3069ce Replace big JS dict with JSON parsing 2020-04-17 18:09:04 +02:00
Charles Lew
22e51cd78a Implement Clone for liballoc::collections::linked_list::Cursor. 2020-04-17 21:31:59 +08:00
Donough Liu
be6716f7f9 Remove unnecessary variable intialization 2020-04-17 21:30:26 +08:00
Duddino
ba61fe432a Account for use of try!() in 2018 edition and guide users in the right direction 2020-04-17 14:08:08 +02: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
XAMPPRocky
1922d20355 Format Mailmap To Work With GitHub 2020-04-17 13:51:08 +02:00
Yuki Okushi
af442d964d
Rename asm test directory in favor of llvm_asm 2020-04-17 18:36:16 +09:00
Ralf Jung
e33b5173dc Miri: fix typo 2020-04-17 11:23:20 +02: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
Eduard-Mihai Burtescu
eccb28e3d6 ty/print: pretty-print constant aggregates (arrays, tuples and ADTs). 2020-04-17 05:18:32 +03:00
Eduard-Mihai Burtescu
aabed9322e mir: pretty-print Rvalue::Aggregate correctly. 2020-04-17 04:58:37 +03: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
Eduard-Mihai Burtescu
2472e04291 ty/print/pretty: use comma_sep instead of replicating it. 2020-04-17 03:54:13 +03: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