Commit Graph

140564 Commits

Author SHA1 Message Date
Denis Drakhnia c992fced6b e2k impl 2021-05-09 12:35:30 +03:00
bors 88f19c6dab Auto merge of #84864 - Mark-Simulacrum:stable-next, r=Mark-Simulacrum
[stable] 1.52.0 release

This includes the release notes (#84183) as well as cherry-picked commits from:

* [beta] revert PR #77885 #84710
* [beta] remove assert_matches #84759
* Revert PR 81473 to resolve (on beta) issues 81626 and 81658. #83171
* [beta] rustdoc revert deref recur #84868
*  Fix ICE of for-loop mut borrowck where no suggestions are available #83401

Additionally in "fresh work" we're also:

* reverting: directly expose copy and copy_nonoverlapping intrinsics #81238 to avoid https://github.com/rust-lang/rust/issues/84297 on 1.52
2021-05-03 20:56:34 +00:00
Mark Rousskov 47c7b9c578 remove copy intrinsic test - no longer const 2021-05-03 15:20:12 -04:00
Mark Rousskov f99929f24a Remove some more consts 2021-05-03 14:52:12 -04:00
Deadbeef ab7b1cca2d Fix ICE of for-loop mut borrowck where no suggestions are available 2021-05-03 14:35:18 -04:00
Mark Rousskov 28e5e93fc2 drop some const unstables, due to revert no longer possible 2021-05-03 14:35:18 -04:00
Mark Rousskov 80ec986f9f Revert "Fix clippy's path to the copy intrinsics."
This reverts commit 1a806352e4.
2021-05-03 14:24:21 -04:00
Mark Rousskov a3ebc6eaf4 Revert "directly expose copy and copy_nonoverlapping intrinsics"
This reverts commit 18d12ad171.
2021-05-03 14:23:55 -04:00
Felix S. Klock II 9c14391f93 placate tidy. 2021-05-03 13:51:18 -04:00
Felix S. Klock II 106ac7eefc regression test for issue 82465. 2021-05-03 13:51:18 -04:00
Felix S. Klock II e917d2f1ea beta-targetted revert of PR #80653, to address issue #82465.
adapted from 513756bb55a0dbc6e74d0043afd1727bd3c73aae
2021-05-03 13:51:18 -04:00
Felix S. Klock II 381f1318ad Revert PR 81473 to resolve (on beta) issues 81626 and 81658.
Revert "Add missing brace"

This reverts commit 85ad773049.

Revert "Simplify base_expr"

This reverts commit 899aae465e.

Revert "Warn write-only fields"

This reverts commit d3c69a4c0d.
2021-05-03 11:43:15 -04:00
Mara Bos cadf901b1d Remove assert_matches feature attributes. 2021-05-03 09:30:11 -04:00
Mark Rousskov aa3e8d3e78 Remove assert_matches users 2021-05-03 09:30:11 -04:00
Mark Rousskov 1406d06104 Revert "Add debug_assert_matches macro."
This reverts commit 0a8e401188.
2021-05-03 09:30:11 -04:00
Mark Rousskov fa332b0245 Revert "Add assert_matches!(expr, pat)."
This reverts commit eb18746bc6.
2021-05-03 09:30:11 -04:00
Felix S. Klock II 463b3a2a74 Remove tests introduced or cahnged by PR #77885, which is reverted in this PR. 2021-05-03 09:29:50 -04:00
Felix S. Klock II 1905c98e92 Effective beta backport of 8d1083e319841624f64400e1524805a40d725439
(I recreated it by hand because the result of the cherry-pick wasn't worth
trying to salvage.)
2021-05-03 09:29:50 -04:00
Mark Rousskov 59ed9c3add Cherry-pick release notes 2021-05-03 09:29:08 -04:00
Mark Rousskov 3ee054c324 bump channel to stable 2021-05-03 09:26:13 -04:00
bors 9a1dfd2dc5 Auto merge of #84722 - pnkfelix:address-c-unwind-via-backport-of-84158, r=Mark-Simulacrum
backport: move new c abi abort behavior behind feature gate

This is a backport of PR #84158 to the beta branch.

The original T-compiler plan was to revert PR #76570 in its entirety, as was attempted in PR #84672. But the revert did not go smoothly (details below).

Therefore, we are backporting PR #84158 instead, which was our established backup plan if a revert did not go smoothly.

I have manually confirmed that this backport fixes the luajit issue described on issue #83541

<details>

<summary>Click for details as to why revert of PR #76570 did not go smoothly.</summary>

It turns out that Miri had been subsequently updated to reflect changes to `rustc_target` that landed in PR #76570. This meant that the attempt to land PR #84672 broke Miri builds.

Normally we allow tools to break when landing PR's (and just expect follow-up PR's to fix the tools), but we don't allow it for tools in the run-up to a release.

(We shouldn't be using that uniform policy for all tools. Miri should be allow to break during the week before a release; but currently we cannot express that, due to issue #74709.)

Therefore, its a lot of pain to try to revert PR #76570. And we're going with the backup plan.

</details>

Original commit message follows:

----

 *Background*

In #76570, new ABI strings including `C-unwind` were introduced. Their behavior is specified in RFC 2945 <sup>[1]</sup>.

However, it was reported in the #ffi-unwind stream of the Rust community Zulip that this had altered the way that `extern "C"` functions behaved even when the `c_unwind` feature gate was not active. <sup>[2]</sup>

 *Overview*

 This makes a small patch to `rustc_mir_build::build::should_abort_on_panic`, so that the same  behavior from before is in place when the `c_unwind` gate is not active.

`rustc_middle::ty::layout::fn_can_unwind` is not touched, as the visible behavior should not differ before/after #76570. <sup>[3]</sup>

 ### Footnotes

 1.: https://github.com/rust-lang/rfcs/blob/master/text/2945-c-unwind-abi.md
 2.: https://rust-lang.zulipchat.com/#narrow/stream/210922-project-ffi-unwind/topic/Is.20unwinding.20through.20extern.20C.20UB.3F/near/230112325
 3.: https://github.com/rust-lang/rust/pull/76570/files#diff-b0320c2b8868f325d83c027fc5d71732636e9763551e35895488f30fe057c6e9L2599-R2617

 [1]: https://github.com/rust-lang/rfcs/blob/master/text/2945-c-unwind-abi.md
 [2]: https://rust-lang.zulipchat.com/#narrow/stream/210922-project-ffi-unwind/topic/Is.20unwinding.20through.20extern.20C.20UB.3F/near/230112325
 [3]: https://github.com/rust-lang/rust/pull/76570/files#diff-b0320c2b8868f325d83c027fc5d71732636e9763551e35895488f30fe057c6e9L2599-R2617
2021-04-30 02:56:19 +00:00
katelyn a. martin 8341f4274d move new c abi abort behavior behind feature gate
### Background

    In #76570, new ABI strings including `C-unwind` were introduced.
    Their behavior is specified in RFC 2945 [1].

    However, it was reported in the #ffi-unwind stream of the Rust
    community Zulip that this had altered the way that `extern "C"`
    functions behaved even when the `c_unwind` feature gate was not
    active. [2]

 ### Overview

    This makes a small patch to
    `rustc_mir_build::build::should_abort_on_panic`, so that the same
    behavior from before is in place when the `c_unwind` gate is not
    active.

    `rustc_middle::ty::layout::fn_can_unwind` is not touched, as the
    visible behavior should not differ before/after #76570. [3]

 ### Footnotes

 [1]: https://github.com/rust-lang/rfcs/blob/master/text/2945-c-unwind-abi.md
 [2]: https://rust-lang.zulipchat.com/#narrow/stream/210922-project-ffi-unwind/topic/Is.20unwinding.20through.20extern.20C.20UB.3F/near/230112325
 [3]: https://github.com/rust-lang/rust/pull/76570/files#diff-b0320c2b8868f325d83c027fc5d71732636e9763551e35895488f30fe057c6e9L2599-R2617
2021-04-29 17:07:56 -04:00
bors f97769a2b7 Auto merge of #84603 - cuviper:beta-next, r=Mark-Simulacrum
[beta] backports

This backports two beta-accepted PRs, fixing CVE-2020-36323 and CVE-2021-31162.

- Fixes API soundness issue in `join()` #81728
- Fix double-drop in `Vec::from_iter(vec.into_iter())` specialization when items drop during panic #83629
2021-04-27 15:17:44 +00:00
The8472 836fef007e fix double-drop in in-place collect specialization
(cherry picked from commit 421f5d282a51e130d3ca7c4524d8ad6753437da9)
2021-04-26 16:47:40 -07:00
The8472 6ed66ebdde add testcase for double-drop during Vec in-place collection
(cherry picked from commit fa89c0fbcfa8f4d44f153b1195ec5a305540ffc4)
2021-04-26 16:47:40 -07:00
Yechan Bae cc4d6d644b Update the comment
(cherry picked from commit 26a62701e42d10c03ce5f2f911e7d5edeefa2f0f)
2021-04-26 16:46:11 -07:00
Yechan Bae 2fefd9ad07 Fixes #80335
(cherry picked from commit 6d43225bfb08ec91f7476b76c7fec632c4a096ef)
2021-04-26 16:46:10 -07:00
bors cc6d66fa58 Auto merge of #84271 - nagisa:nagisa/beta-bump-llvm, r=cuviper
[beta] Bump LLVM to a upstream 12.0 release

Currently the `beta` branch utilizes a release candidate of LLVM 12.0. Since then a large number of issues have been fixed upstream, including those that are known to affect Rust code.

It would be unfortunate if we released a stable Rust with all of those issues when we have the fixes in the actual LLVM release and/or our backports of commits that didn't make the release cut on top of it.

cc `@cuviper` / `@nikic`
2021-04-24 07:37:42 +00:00
bors b2df13e6c6 Auto merge of #84382 - ehuss:update-beta-cargo, r=ehuss
[beta] Beta rollups

- Upgrade expat dependency in riscv64 to newer version. #84394
- Fix Self keyword doc URL conflict on case insensitive file systems (until definitely fixed on rustdoc) #83678
- Cargo:
    - Backport "Don't give a hard error when the end-user specifies RUSTC_BOOTSTRAP=crate_name" (rust-lang/cargo#9385)
    - [beta] Revert rust-lang/cargo#9133, moving to git HEAD dependencies by default (rust-lang/cargo#9383)
2021-04-21 20:58:16 +00:00
Dylan DPC 9787d0c780 Rollup merge of #83678 - GuillaumeGomez:hack-Self-keyword-conflict, r=jyn514
Fix Self keyword doc URL conflict on case insensitive file systems (until definitely fixed on rustdoc)

This is just a hack to allow rustup to work on macOS and windows again to distribute std documentation (hopefully once https://github.com/rust-lang/rfcs/pull/3097 or an equivalent is merged).

Fixes https://github.com/rust-lang/rust/issues/80504. Prevents https://github.com/rust-lang/rust/issues/83154 and https://github.com/rust-lang/rustup/issues/2694 in future releases.

cc ``@kinnison``
r? ``@jyn514``
2021-04-21 13:41:24 -07:00
bors 97ffd5433e Auto merge of #84394 - m-ou-se:upgrade-ci-dep-expat, r=Mark-Simulacrum
Upgrade `expat` dependency in riscv64 to newer version.

The old version was renamed to `expat-2.2.6-RENAMED-VULNERABLE-PLEASE-USE-2.3.0-INSTEAD`. :)

r? `@Mark-Simulacrum`
2021-04-21 13:40:20 -07:00
Eric Huss 6f3aa4b015 [beta] Update cargo 2021-04-20 20:39:58 -07:00
Simonas Kazlauskas 46a2c6ad0a [beta] Bump LLVM to a upstream release of 12.0 2021-04-17 14:59:56 +03:00
bors 215738137b Auto merge of #83946 - ehuss:update-beta-cargo, r=ehuss
[beta] Update cargo

2 commits in 90691f2bfe9a50291a98983b1ed2feab51d5ca55..d70308ef052397c7d16f881c2d973a8c5b4c23d9
2021-03-16 21:36:55 +0000 to 2021-04-06 17:32:27 +0000
- beta: revert rust-lang/cargo#8640 - rustdoc versioning checks (rust-lang/cargo#9332)
- [beta] Fix publication of packages with metadata and resolver (rust-lang/cargo#9304)
2021-04-06 21:31:12 +00:00
Eric Huss 941f698b31 [beta] Update cargo 2021-04-06 13:09:37 -07:00
bors 4f27db6956 Auto merge of #83516 - Mark-Simulacrum:beta-next, r=Mark-Simulacrum
[beta] backports

Initial round of beta backports, with 1 PR:

* SplitInclusive is public API #83372

This also includes a bump to the released stable compiler.

r? `@Mark-Simulacrum`
2021-03-26 20:07:29 +00:00
Alan Egerton 309177703b SplitInclusive is public API 2021-03-26 11:16:49 -04:00
Mark Rousskov 309419999c Bump beta branch to released stable 2021-03-26 11:15:28 -04:00
bors 6a1077d47f Auto merge of #83441 - Mark-Simulacrum:beta-next, r=Mark-Simulacrum
[beta] 1.52.0 branch off

r? `@Mark-Simulacrum`
2021-03-24 23:39:29 +00:00
Mark Rousskov 371a7a92c6 Fix bootstrap tests on beta 2021-03-24 12:03:59 -04:00
Mark Rousskov 692454d583 Update fulldeps test 2021-03-24 11:06:23 -04:00
Mark Rousskov 9157430d62 Ignore failures of RLS on aarch64 Windows 2021-03-24 11:06:23 -04:00
Mark Rousskov 77d13f578a [beta] initial branch off 2021-03-24 10:24:11 -04:00
bors 61edfd591c Auto merge of #83314 - Aaron1011:print-unstable-value, r=lcnr
Debug-print result when an unstable fingerprint is detected

Helps with issues like #83311

I had previously tried to do this in https://github.com/rust-lang/rust/pull/80692, but it had a significant performance impact (even though the code was never actually run). Hopefully, this will be better now that https://github.com/rust-lang/rust/pull/79100 has been merged.
2021-03-20 16:20:21 +00:00
bors 41b315a470 Auto merge of #83271 - SparrowLii:simd_neg, r=Amanieu
Add simd_neg platform intrinsic

Stdarch needs to add simd_neg to support the implementation of vneg neon instructions. Look [here](https://github.com/rust-lang/stdarch/pull/1087)
2021-03-20 09:01:35 +00:00
bors eb9ec31168 Auto merge of #82919 - bstrie:stabchar, r=dtolnay
Stabilize `assoc_char_funcs` and `assoc_char_consts`

Stabilizes the following associated items on `char`:

* [`char::MAX`](https://doc.rust-lang.org/std/primitive.char.html#associatedconstant.MAX)
* [`char::REPLACEMENT_CHARACTER`](https://doc.rust-lang.org/std/primitive.char.html#associatedconstant.REPLACEMENT_CHARACTER)
* [`char::UNICODE_VERSION`](https://doc.rust-lang.org/std/primitive.char.html#associatedconstant.UNICODE_VERSION)
* [`char::decode_utf16`](https://doc.rust-lang.org/std/primitive.char.html#method.decode_utf16)
* [`char::from_u32`](https://doc.rust-lang.org/std/primitive.char.html#method.from_u32)
* [`char::from_u32_unchecked`](https://doc.rust-lang.org/std/primitive.char.html#method.from_u32_unchecked)
* [`char::from_digit`](https://doc.rust-lang.org/std/primitive.char.html#method.from_digit)

Closes #71763.
2021-03-20 06:36:42 +00:00
bors cd82e451a8 Auto merge of #83293 - osa1:82436_perf, r=varkor
Revert performance-sensitive change in #82436

This change was done in #82436, as an "optimization". Unfortunately I
missed that this code is not always executed, because of the "continue"
in the conditional above it.

This commit should solve the perf regressions introduced by #82436 as I
think there isn't anything else that could affect runtime performance in
that PR. The `Pick` type grows only one word, which I doubt can cause up
to 8.8% increase in RSS in some of the benchmarks.

---

Could someone with the rights start a perf job please?
2021-03-20 03:49:10 +00:00
bstrie 567f0e1a39
Stabilize `assoc_char_funcs` and `assoc_char_consts` 2021-03-19 20:35:08 -07:00
Aaron Hill 443cef5618
Debug-print result when an unstable fingerprint is detected 2021-03-19 21:47:57 -04:00
bors 6bfbf0c33a Auto merge of #83308 - Dylan-DPC:rollup-p2j6sy8, r=Dylan-DPC
Rollup of 8 pull requests

Successful merges:

 - #79986 (Only build help popup when it's really needed)
 - #82570 (Add `as_str` method for split whitespace str iterators)
 - #83244 (Fix overflowing length in Vec<ZST> to VecDeque)
 - #83254 (Include output stream in `panic!()` documentation)
 - #83269 (Revert the second deprecation of collections::Bound)
 - #83277 (Mark early otherwise optimization unsound)
 - #83285 (Update LLVM to bring in SIMD updates for WebAssembly)
 - #83297 (Do not ICE on ty::Error as an error must already have been reported)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2021-03-19 23:53:02 +00:00