| Age | Commit message (Collapse) | Author | Lines |
|
[stable] 1.53.0 release - backport
This hopefully fixes a Clippy ICE on rustc std and the crates.io codebase (and potentially
others).
r? `@Mark-Simulacrum`
|
|
This fixes a Clippy ICE on rustc std and the crates.io codebase (and potentially
others).
|
|
[stable] 1.53.0 release
This includes a backport of:
* Revert "implement TrustedRandomAccess for Take iterator adapter" #85975
And includes patches to:
* Update release notes to reflect #85541
* Require RUSTC_FORCE_INCREMENTAL to truly enable incremental, fixing #86004
* This reverts alignment-related commits to address issue #85713 on beta.
r? `@Mark-Simulacrum`
|
|
|
|
This reverts commit 448d07683a6defd567996114793a09c9a8aef5df to address
issue 85713 on beta.
|
|
This won't enable incremental if -Cincremental is not already passed, but is
seemingly necessary in the presence of -Zincremental-verify-ich which does not
check for incremental being enabled before accessing incremental data
structures, leading to an ICE.
|
|
|
|
|
|
This disables incremental (i.e., -Cincremental) taking effect unless an
environment variable, RUSTC_FORCE_INCREMENTAL, is set to 1 in the environment of
the running rustc. Currently incremental causes errors for many users, and we do
not have an expectation of being able to quickly fix these errors in a
backportable way - so, for now, disable incremental entirely. The user can still
opt-in, but this way the majority of users merely get slower builds, not broken
builds.
|
|
|
|
This reverts commit 37a5b515e9c36ee3f57d9e0d7db7efce2fb02195.
|
|
|
|
Integrate attributes as part of the crate hash
Backport of #83901
r? `@Mark-Simulacrum`
|
|
[beta] backports
* Disable the machine outliner by default #86020
* Fix incorrect gating of nonterminals in key-value attributes #85445
* Build crtbegin.o/crtend.o from source code #85395
* Bring back x86_64-sun-solaris target to rustup #85252
* Preserve SyntaxContext for invalid/dummy spans in crate metadata #85211
* [beta] backport: Remove unsound TrustedRandomAccess implementations #86222
r? `@Mark-Simulacrum`
|
|
|
|
Removes the implementations that depend on the user-definable trait `Copy`.
Beta backport: Does not modify `vec::IntoIter`.
|
|
Fixes #85197
We already preserved the `SyntaxContext` for invalid/dummy spans in the
incremental cache, but we weren't doing the same for crate metadata.
If an invalid (lo/hi from different files) span is written to the
incremental cache, we will decode it with a 'dummy' location, but keep
the original `SyntaxContext`. Since the crate metadata encoder was only
checking for `DUMMY_SP` (dummy location + root `SyntaxContext`),
the metadata encoder would treat it as a normal span, encoding the
`SyntaxContext`. As a result, the final span encoded to the metadata
would change across sessions, even if the crate itself was unchanged.
This PR updates our encoding of spans in the crate metadata to mirror
the encoding of spans into the incremental cache. We now always encode a
`SyntaxContext`, and encode location information for spans with a
non-dummy location.
|
|
|
|
|
|
|
|
Fixes #85432
When processing a `#[derive]` or `#[cfg_eval]` attribute, we need to
re-parse our attribute target, which requires flattenting all
`Nonterminals`. However, this caused us to incorrectly gate on a
(flattented) nonterminal in a key-value attribute, which is supposed to
be allowed.
Since we already perform this gating during the initial parse, we
suppress it in `capture_cfg` mode.
|
|
This addresses a codegen-issue that needs to be fixed upstream in LLVM.
While we wait for the fix, we can disable it.
Verified manually that the outliner is no longer run when
`-Copt-level=z` is specified, and also that you can override this with
`-Cllvm-args=-enable-machine-outliner` if you need it anyway.
A regression test is not really feasible in this instance, given that we
do not have any minimal reproducers.
Fixes #85351
|
|
Beta targetted Make copy/copy_nonoverlapping fn's again
beta backport of PR #86003
to address issue #84297
|
|
|
|
Test was added in PR #84404.
The intent here is: The `copy`/`copy_overlapping` intrinsics are going through
some flip-flopping now of "are they intrinsics or not". We can achieve the same
effect that the test intended by using `likely`/`unlikely`.
|
|
|
|
|
|
This is to address issue 84297.
|
|
|
|
This is preparation for reverting 81238 for short-term resolution of issue 84297.
|
|
[beta] Disable mutable noalias for Rust 1.53
Disable mutable noalias for the upcoming release to give this change more time to bake. I believe that was the consensus, and I wanted to make sure we don't forget :)
r? `@Mark-Simulacrum`
|
|
[beta] backport of readd capture disjoint fields gate
Beta backport of "readd capture disjoint fields gate", PR #85564
Fix issue #85435
|
|
[Beta] Backport ICE fix in Clippy
This backports an ICE / stack overflow fix from rust-lang/rust-clippy#7170.
cc https://github.com/rust-lang/rust-clippy/issues/7169
cc `@llogiq` `@camsteffen`
r? `@Mark-Simulacrum`
|
|
[beta] Backport #84894 to fix beta CI
Currently, beta backports fail with this failure: https://github.com/rust-lang/rust/pull/86036#issuecomment-855318336
```
STL1000: Unexpected compiler version, expected Clang 11.0.0 or newer.
```
The previous beta backport was successful because it uses a Visual Studio tool v14.28.29910 but now CI uses v14.29.30037.
#84894 updated clang to 12 so master didn't catch this change, I guess. Hopefully, it fixes CI failures on beta.
|
|
Needed for https://github.com/rust-lang/rust/pull/84764 . Tarballs
already uploaded to the CI mirror bucket.
|
|
Currently, we have LLVM tarballs for win64, generated by someone running
the installer via wine and tarring up the result.
7z knows how to extract NSIS installers directly, and the result is
identical to our tarball, except that it doesn't include `Uninstall.exe`
(which we don't care about) and it includes the NSIS plugin directory
(which we also don't care about).
This simplifies the process of upgrading CI, and allows us to just
mirror the upstream release .exe directly. This also improves our
supply chain.
|
|
|
|
remove testing via `-Z thir-unsafeck`, since it is not appropriate for beta branch.
|
|
Apply suggestions from code review:
1. (removing confusing comment from my test, since the comment reflects the bad undesirable behavior that is being fixed here.)
2. test THIR unsafeck too.
Co-authored-by: Léo Lanteri Thauvin <leseulartichaut@gmail.com>
|
|
underlying issue #85561).
|
|
|
|
[beta] backports
* Backport 1.52.1 release notes #85404
* remove InPlaceIterable marker from Peekable due to unsoundness #85340
* rustdoc: Call initSidebarItems in root module of crate #85304
* Update LLVM submodule #85236
* Do not ICE on invalid const param #84913
* Disallows #![feature(no_coverage)] on stable and beta (using standard crate-level gating) #84871
* Ensure TLS destructors run before thread joins in SGX #84409
|
|
1 enters TLS destructors
|
|
std::sync::mpsc uses thread locals and depending on the order TLS dtors
are run `rx.recv()` can panic when used in a TLS dtor.
|
|
|
|
using allow_internal_unstable (as recommended)
Fixes: #84836
```shell
$ ./build/x86_64-unknown-linux-gnu/stage1/bin/rustc src/test/run-make-fulldeps/coverage/no_cov_crate.rs
error[E0554]: `#![feature]` may not be used on the dev release channel
--> src/test/run-make-fulldeps/coverage/no_cov_crate.rs:2:1
|
2 | #![feature(no_coverage)]
| ^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to previous error
For more information about this error, try `rustc --explain E0554`.
```
|
|
When encountering a path that can't have generics, do not call
`generics_of`. This would happen when writing something like
`path::this_is_a_mod<const_val>`.
Fix #84831.
|
|
|
|
|
|
This also checks the contents and not only the capacity in case IntoIter's clone implementation is changed to add capacity at the end. Extra capacity at the beginning would be needed to make InPlaceIterable work.
Co-authored-by: Giacomo Stevanato <giaco.stevanato@gmail.com>
|