| Age | Commit message (Collapse) | Author | Lines |
|
[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
|
|
|
|
|
|
|
|
|
|
This reverts commit 1a806352e41fcba5eac91784476fc6dfa6ee05b7.
|
|
This reverts commit 18d12ad171384a82736a88b879540bf464161063.
|
|
|
|
|
|
adapted from 513756bb55a0dbc6e74d0043afd1727bd3c73aae
|
|
Revert "Add missing brace"
This reverts commit 85ad773049536d7fed9a94ae0ac74f97135c8655.
Revert "Simplify base_expr"
This reverts commit 899aae465eb4ef295dc1eeb2603f744568e0768c.
Revert "Warn write-only fields"
This reverts commit d3c69a4c0dd98af2611b7553d1a65afef6a6ccb0.
|
|
|
|
|
|
This reverts commit 0a8e401188062f0c60c989978352663b1e25e70e.
|
|
This reverts commit eb18746bc6c6c5c710ad674873438cbad5894f06.
|
|
|
|
(I recreated it by hand because the result of the cherry-pick wasn't worth
trying to salvage.)
|
|
|
|
|
|
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
|
|
### 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
|
|
[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
|
|
(cherry picked from commit 421f5d282a51e130d3ca7c4524d8ad6753437da9)
|
|
(cherry picked from commit fa89c0fbcfa8f4d44f153b1195ec5a305540ffc4)
|
|
(cherry picked from commit 26a62701e42d10c03ce5f2f911e7d5edeefa2f0f)
|
|
(cherry picked from commit 6d43225bfb08ec91f7476b76c7fec632c4a096ef)
|
|
[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`
|
|
[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)
|
|
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``
|
|
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`
|
|
|
|
|
|
[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)
|
|
|
|
[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`
|
|
|
|
|
|
[beta] 1.52.0 branch off
r? `@Mark-Simulacrum`
|
|
|
|
|
|
|
|
|
|
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.
|
|
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)
|
|
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.
|
|
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?
|
|
|
|
|
|
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
|
|
r=petrochenkov
Do not ICE on ty::Error as an error must already have been reported
fixes #83253
|