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

Rollup of 8 pull requests #113105

Merged
merged 19 commits into from
Jun 28, 2023
Merged

Rollup of 8 pull requests #113105

merged 19 commits into from
Jun 28, 2023

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

qwandor and others added 19 commits June 2, 2023 13:50
These are LLVM target features which allow the `smc` and `hvc`
instructions respectively to be used in inline assembly.
Add trustzone and virtualization target features for aarch32.

These are LLVM target features which allow the `smc` and `hvc` instructions respectively to be used in inline assembly.
…inking, r=davidtwco

Make compiletest aware of targets without dynamic linking

Some parts of the compiletest internals and some tests require dynamic linking to work, which is not supported by all targets. Before this PR, this was handled by if branches matching on the target name.

This PR loads whether a target supports dynamic linking or not from the target spec, and adds a `// needs-dynamic-linking` attribute for tests that require it. Note that I was not able to replace all the old conditions based on the target name, as some targets have `dynamic_linking: true` in their spec but pretend they don't have it in compiletest.

Also, to get this to work I had to *partially* revert rust-lang#111472 (cc `@djkoloski` `@tmandry` `@bjorn3).` On one hand, only the target spec contains whether a target supports dynamic linking, but on the other hand a subset of the fields can be overridden through `-C` flags (as far as I'm aware only `-C panic=$strategy`). The solution I came up with is to take the target spec as the base, and then override the panic strategy based on `--print=cfg`. Hopefully that should not break y'all again.
…shtriplett

Allow comparing `Box`es with different allocators

Currently, comparing `Box`es over different allocators is not allowed:
```Rust
error[E0308]: mismatched types
  --> library/alloc/tests/boxed.rs:22:20
   |
22 |     assert_eq!(b1, b2);
   |                    ^^ expected `Box<{integer}, ConstAllocator>`, found `Box<{integer}, AnotherAllocator>`
   |
   = note: expected struct `Box<{integer}, ConstAllocator>`
              found struct `Box<{integer}, AnotherAllocator>`

For more information about this error, try `rustc --explain E0308`.
error: could not compile `alloc` (test "collectionstests") due to previous error
```
This PR lifts this limitation
…le-options, r=davidtwco

Provide more context for `rustc +nightly -Zunstable-options` on stable

<img width="724" alt="Screenshot 2023-06-16 123456" src="https://github.com/rust-lang/rust/assets/39484203/1933e172-cb9f-4e51-9540-ade803a88360">

Closes rust-lang#110090.
Make `UnwindAction::Continue` explicit in MIR dump

Makes it easier to spot unwinding related issues in MIR by making `UnwindAction::Continue` explicit, just like all other `UnwindAction`s.
…a-obj-unless-denied, r=compiler-errors

Add tests impl via obj unless denied

Fixes rust-lang#112737

Add simple tests to check feature change in rust-lang#112320 is performing as expected.

Note:

- Unsure about filenames, locations & function signature names (tried to make them something sensible)
Simplify some conditions

r? `@Nilstrieb`

Some things taken out of my `is_none_or` pr.
…mpiler-errors

Normalize types when applying uninhabited predicate.

Fixes rust-lang#112997
@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Jun 27, 2023
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=8

@bors
Copy link
Contributor

bors commented Jun 27, 2023

📌 Commit 4b1d068 has been approved by matthiaskrgr

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 27, 2023
@bors
Copy link
Contributor

bors commented Jun 27, 2023

⌛ Testing commit 4b1d068 with merge 6b46c99...

@bors
Copy link
Contributor

bors commented Jun 28, 2023

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing 6b46c99 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jun 28, 2023
@bors bors merged commit 6b46c99 into rust-lang:master Jun 28, 2023
11 checks passed
@rustbot rustbot added this to the 1.72.0 milestone Jun 28, 2023
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#112207 Add trustzone and virtualization target features for aarch3… bbec6d6e413aa144c8b9346da27a0f2af299cbeb (link)
#112454 Make compiletest aware of targets without dynamic linking 70b67c09ead52f4582471650202b1a189821ed5f (link)
#112628 Allow comparing Boxes with different allocators 3043f4e577f41565443f38a6a16b7a1a08b063ad (link)
#112692 Provide more context for `rustc +nightly -Zunstable-options… 4ab6f33fd50237b105999cc6d32d85cce5dad61a (link)
#112972 Make UnwindAction::Continue explicit in MIR dump e1df9e306054655d7d41ec1ad75ade5d76a6888d (link)
#113020 Add tests impl via obj unless denied affe009b94eba41777cf02997b1780e50445d6af (link)
#113084 Simplify some conditions 0ce4618dbf5810aabb389edd4950c060b6b4d049 (link)
#113103 Normalize types when applying uninhabited predicate. 241cd8cd818cdc865cdf02f0c32a40081420b772 (link)

previous master: 5ea6668646

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (6b46c99): comparison URL.

Overall result: ❌✅ regressions and improvements - no action needed

@rustbot label: -perf-regression

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.2% [0.2%, 0.2%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-1.1% [-1.1%, -1.1%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.4% [-1.1%, 0.2%] 2

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
1.7% [1.6%, 1.8%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-4.5% [-7.7%, -2.2%] 4
All ❌✅ (primary) - - 0

Cycles

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.2% [2.2%, 2.2%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 661.601s -> 662.939s (0.20%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.