Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatic Rustup #3326

Merged
merged 21 commits into from
Feb 26, 2024
Merged

Automatic Rustup #3326

merged 21 commits into from
Feb 26, 2024

Conversation

github-actions[bot]
Copy link

@github-actions github-actions bot commented Feb 26, 2024

also fixes #3308

bors and others added 19 commits February 25, 2024 08:20
Miri subtree update

r? `@ghost`
Subtree update of `rust-analyzer`

r? `@ghost`
speed up `x install` by skipping archiving and compression

Performing archiving and compression on `x install` is nothing more than a waste of time and resources. Additionally, for systems like gentoo(which uses `x install`) this should be highly beneficial.

[benchmark report](rust-lang/rust#118724 (comment))

Resolves #109308

r? Mark-Simulacrum (I think you want to review this, feel free to change it if otherwise.)
This is essentially the same as SystemFunction036 (aka RtlGenRandom) except that the given length is a usize instead of a u32
Windows: Use ProcessPrng for random keys

Windows 10 introduced [`ProcessPrng`](https://learn.microsoft.com/en-us/windows/win32/seccng/processprng) for random number generation. This allows us to replace the overly complicated (and prone to failure) `BCryptGenRandom` with a documented function.

For the tier 3 Windows 7 target, we simply use the older `RtlGenRandom`, which is undocumented. It should be fine even on modern systems (for comparability reasons) as it's just a wrapper for `ProcessPrng`. However, it does require loading an extra intermediary DLL which we can avoid when we know we have Windows 10+.
Stabilize `cfg_target_abi`

This stabilizes the `cfg` option called `target_abi`:

```rust
#[cfg(target_abi = "eabihf")]
```

Tracking issue: #80970

fixes #78791
resolves #80970
make non-PartialEq-typed consts as patterns a hard error

This lint was introduced in rust-lang/rust#115893, for Rust 1.74, so we just had the third stable release where this is shown as a future-compat lint (which is shown for dependencies). Not a single comment or backreference showed up in the tracking issue, rust-lang/rust#116122. So this seems fairly safe to turn into a hard error.

Of course we should do a crater run first.

This is part of rust-lang/rust#120362.
Closes rust-lang/rust#116122.
Add newtypes for bool fields/params/return types

Fixed all the cases of this found with some simple searches for `*/ bool` and `bool /*`; probably many more
…mulacrum

Add test cases for inlining compiler-private items

Closes #106421

This was already fixed by #121218, but now the test cases are added.
pattern_analysis: factor out unspecialization

Just moving a dense bit of logic into its own method.
Prevent cycle in implied predicates computation

Makes #65913 from hang -> fail. I believe fail is the correct state for this test to remain for the long term.
Fix sgx unit test compilation

Fixes a compilation error:
```
error[E0583]: file not found for module `tests`
 --> library/std/src/sys/locks/rwlock/sgx.rs:2:1
  |
2 | mod tests;
  | ^^^^^^^^^^
  |
  = help: to create the module `tests`, create file "library/std/src/sys/locks/rwlock/sgx/tests.rs" or "library/std/src/sys/locks/rwlock/sgx/tests/mod.rs"
  = note: if there is a `mod tests` elsewhere in the crate already, import it with `use crate::...` instead

For more information about this error, try `rustc --explain E0583`.
error: could not compile `std` (lib test) due to 1 previous error`
```
When running command:
```
 `TF_BUILD=True RUST_TEST_THREADS=1 ./x.py test --stage 1 "library/std" tests/assembly tests/run-make --target=x86_64-fortanix-unknown-sgx --no-doc --exclude src/tools/linkchecker --exclude src/tools/rust-demangler --no-fail-fast 2>&1
```
The fix is done by moving a file to the location suggested by the compiler.

The issue was introduced by PR: rust-lang/rust#121177
Make most bootstrap step types !Copy

This makes all bootstrap types except for `Compiler` and `TargetSelection` `!Copy`. This makes it easier to modify them by adding !Copy types in the future, something that `@saethlin` has complained about before, and comes at no cost of code clarity, the impls were completely unused.

Making `Compiler` and `TargetSelection` `!Copy` (which would allow getting rid of interning) is highly nontrivial as they are used and copied **all over the place**. This should hopefully get most of the benefits.
Rollup of 9 pull requests

Successful merges:

 - #119590 (Stabilize `cfg_target_abi`)
 - #120805 (make non-PartialEq-typed consts as patterns a hard error)
 - #121060 (Add newtypes for bool fields/params/return types)
 - #121284 (Add test cases for inlining compiler-private items)
 - #121324 (pattern_analysis: factor out unspecialization)
 - #121409 (Prevent cycle in implied predicates computation)
 - #121513 (Fix sgx unit test compilation)
 - #121570 (Make most bootstrap step types !Copy)
 - #121586 (Don't use `unwrap()` in `ArrayIntoIter` lint when typeck fails)

r? `@ghost`
`@rustbot` modify labels: rollup
Implement RFC 3373: Avoid non-local definitions in functions

This PR implements [RFC 3373: Avoid non-local definitions in functions](rust-lang/rust#120363).
Improvements to building and CI for mingw/msys

I was getting error messages when trying to follow the build instructions the mingw build for Rust, and managed to track the issue down to an incomparability of Rust's bootstrap program with MSYS2's version of git. Essentially, the problem is that MSYS2's git works in emulated unix-y paths, but bootstrap expects a Windows path. I found a workaround for this by using relative paths instead of absolute paths.

Along with that fix, this PR also updates the build instructions for MinGW to be compatible with modern versions of MSYS2, and some changes to CI to make sure that MSYS2's version of git is tested. In particular, I'm suggesting using the [MSYS2 github action](https://github.com/marketplace/actions/setup-msys2) specially made for this purpose, which is much less hacky than the old approach and gives us more control of what packages are installed. I also cleaned up as many alternate versions of key tools as I could find from PATH, to avoid accidental usage, and cleaned up some abuses of the `CUSTOM_MINGW` environment variable.

This fixes rust-lang/rust#105696 and fixes rust-lang/rust#117567
Use generic `NonZero` in tests.

Tracking issue: rust-lang/rust#120257

r? `@dtolnay`
@RalfJung
Copy link
Member

@bors r+

@bors
Copy link
Contributor

bors commented Feb 26, 2024

📌 Commit 54e1e6c has been approved by RalfJung

It is now in the queue for this repository.

@bors
Copy link
Contributor

bors commented Feb 26, 2024

⌛ Testing commit 54e1e6c with merge e6f79b1...

bors added a commit that referenced this pull request Feb 26, 2024
@bors
Copy link
Contributor

bors commented Feb 26, 2024

💔 Test failed - checks-actions

@RalfJung
Copy link
Member

@bors r+

@bors
Copy link
Contributor

bors commented Feb 26, 2024

📌 Commit 4541dcd has been approved by RalfJung

It is now in the queue for this repository.

@bors
Copy link
Contributor

bors commented Feb 26, 2024

⌛ Testing commit 4541dcd with merge aa31003...

bors added a commit that referenced this pull request Feb 26, 2024
@RalfJung
Copy link
Member

@bors r+

@bors
Copy link
Contributor

bors commented Feb 26, 2024

📌 Commit aeab7ae has been approved by RalfJung

It is now in the queue for this repository.

@bors
Copy link
Contributor

bors commented Feb 26, 2024

⌛ Testing commit aeab7ae with merge 456c69e...

@bors
Copy link
Contributor

bors commented Feb 26, 2024

☀️ Test successful - checks-actions
Approved by: RalfJung
Pushing 456c69e to master...

@bors bors merged commit 456c69e into master Feb 26, 2024
8 checks passed
@bors bors deleted the rustup-2024-02-26 branch February 26, 2024 08:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add direct tests for the Windows RNG functions
4 participants