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 8d1083e319
...
(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 421f5d282a )
2021-04-26 16:47:40 -07:00
The8472
6ed66ebdde
add testcase for double-drop during Vec in-place collection
...
(cherry picked from commit fa89c0fbcf )
2021-04-26 16:47:40 -07:00
Yechan Bae
cc4d6d644b
Update the comment
...
(cherry picked from commit 26a62701e4 )
2021-04-26 16:46:11 -07:00
Yechan Bae
2fefd9ad07
Fixes #80335
...
(cherry picked from commit 6d43225bfb )
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
Dylan DPC
51a29cbb23
Rollup merge of #83297 - oli-obk:why_bug_today_if_you_can_delay_to_tomorrow, r=petrochenkov
...
Do not ICE on ty::Error as an error must already have been reported
fixes #83253
2021-03-19 23:01:42 +01:00
Dylan DPC
767b094d1e
Rollup merge of #83285 - alexcrichton:wasm-simd-update, r=cuviper
...
Update LLVM to bring in SIMD updates for WebAssembly
This is a continuation of https://github.com/rust-lang/llvm-project/pull/96
to continue to make progress on updating Rust's support for SIMD
intrinsics on WebAssembly to the latest version of the specification.
2021-03-19 23:01:41 +01:00
Dylan DPC
90e52a1ad2
Rollup merge of #83277 - spastorino:early_otherwise-opt-unsound, r=oli-obk
...
Mark early otherwise optimization unsound
r? `@oli-obk`
cc `@tmiasko`
Related to #78496 and #82905
Should I also bump this one to level 3 or 4 or given that is unsound it doesn't matter?.
Probably need to adjust some tests.
2021-03-19 23:01:40 +01:00
Dylan DPC
dbf589f970
Rollup merge of #83269 - bstrie:revertdep, r=m-ou-se
...
Revert the second deprecation of collections::Bound
Per the review at https://github.com/rust-lang/rust/pull/82122#discussion_r596448078 and the decision at https://rust-lang.zulipchat.com/#narrow/stream/219381-t-libs/topic/unavoidable.20breakage.20when.20deprecating.20an.20enum.3F , revert this small portion of #82122 for the time being. This doesn't affect the other components of that patch, i.e. `intrinsics::drop_in_place` is still deprecated-for-real, and uses of `collections::Bound` remain removed from the repo.
2021-03-19 23:01:39 +01:00
Dylan DPC
2cc5d72792
Rollup merge of #83254 - jfrimmel:panic_output-stream, r=m-ou-se,joshtriplett
...
Include output stream in `panic!()` documentation
Fixes #83252 .
2021-03-19 23:01:38 +01:00
Dylan DPC
1a0e32f4bc
Rollup merge of #83244 - cuviper:vec_deque-zst, r=m-ou-se
...
Fix overflowing length in Vec<ZST> to VecDeque
`Vec` can hold up to `usize::MAX` ZST items, but `VecDeque` has a lower
limit to keep its raw capacity as a power of two, so we should check
that in `From<Vec<T>> for VecDeque<T>`. We can also simplify the
capacity check for the remaining non-ZST case.
Before this fix, the new test would fail on the length:
```
thread 'collections::vec_deque::tests::test_from_vec_zst_overflow' panicked at 'assertion failed: `(left == right)`
left: `0`,
right: `9223372036854775808`', library/alloc/src/collections/vec_deque/tests.rs:474:5
note: panic did not contain expected string
panic message: `"assertion failed: `(left == right)`\n left: `0`,\n right: `9223372036854775808`"`,
expected substring: `"capacity overflow"`
```
That was a result of `len()` using a mask `& (size - 1)` with the
improper length. Now we do get a "capacity overflow" panic as soon as
that `VecDeque::from(vec)` is attempted.
Fixes #80167 .
2021-03-19 23:01:37 +01:00