Skip to content

Rollup of 7 pull requests - #99707

Merged
bors merged 14 commits into
rust-lang:masterfrom
JohnTitor:rollup-74rb8vq
Jul 25, 2022
Merged

Rollup of 7 pull requests#99707
bors merged 14 commits into
rust-lang:masterfrom
JohnTitor:rollup-74rb8vq

Conversation

@JohnTitor

Copy link
Copy Markdown
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

kawadakkand others added 14 commits April 11, 2022 11:10
The current implementation uses a `hlt` instruction, which is the most
direct way to notify a connected debugger but is not the most flexible
way. This commit changes it to a call to the `abort` libc function,
making it possible for a system designer to override its behavior as
they see fit.
To avoid using static-pie which is not essential to the test but which
was reported to cause problems on Void Linux where glibc is build
without support for static-pie.
There are two errors involving `derive` and `packed`.
```
`#[derive]` can't be derived on a `#[repr(packed)]` struct with type or const parameters
`#[derive]` can't be derived on a `#[repr(packed)]` struct that does not derive Copy
```
The second one overstates things. It is possible to use derive on a
repr(packed) struct that doesn't derive Copy in two cases.
- If all the fields within the struct meet the required alignment: 1 for
`repr(packed)`, or `N` for `repr(packed(N))`.
- If `Default` is the only trait derived.
This commit improves things in a few ways.
- Changes the errors to say `$TRAIT can't be derived on this ...`.
This is more accurate, because it's just $TRAIT and *this* packed
struct that are a problem, not *all* derived traits on *all* packed
structs.
- Adds more details to the "ERROR" lines in the test case, enough to
distinguish between the two error messages.
- Adds more cases to the test case that don't cause errors, e.g. `Default`
derives.
- Uses a wider variety of builtin traits in the test case, for better coverage.
…crum
protect `std::io::Take::limit` from overflow in `read`
Resolvesrust-lang#94981
…rk-Simulacrum
kmc-solid: Use `libc::abort` to abort a program
This PR updates the target-specific abort subroutine for the [`*-kmc-solid_*`](https://doc.rust-lang.org/nightly/rustc/platform-support/kmc-solid.html) Tier 3 targets.
The current implementation uses a `hlt` instruction, which is the most direct way to notify a connected debugger but is not the most flexible way. This PR changes it to call the `abort` libc function, making it possible for a system designer to override its behavior as they see fit.
Use non-relocatable code in nofile-limit.rs test
To avoid using static-pie which is not essential to the test but which
was reported to cause problems on Void Linux where glibc is build
without support for static-pie.
…rrors, r=estebank
Improve error messages involving `derive` and `packed`.
There are two errors involving `derive` and `packed`.
```
`#[derive]` can't be derived on a `#[repr(packed)]` struct with type or const parameters
`#[derive]` can't be derived on a `#[repr(packed)]` struct that does not derive Copy
```
The second one overstates things. It is possible to use derive on a
repr(packed) struct that doesn't derive Copy in two cases.
- If all the fields within the struct meet the required alignment: 1 for
`repr(packed)`, or `N` for `repr(packed(N))`.
- If `Default` is the only trait derived.
This commit improves things in a few ways.
- Changes the errors to say `this trait can't be derived on this ...`.
This is more accurate, because it's just *this* trait and *this*
packed struct that are a problem, not *all* derived traits on *all*
packed structs.
- Adds more details to the "ERROR" lines in the test case, enough to
distinguish between the two error messages.
- Adds more cases to the test case that don't cause errors, e.g. `Default`
derives.
- Uses a wider variety of builtin traits in the test case, for better coverage.
r? `@estebank`
Add `sign-ext` target feature to the WASM target
Some target features are still missing from that list.
See rust-lang#97808 for basically the same PR by `@alexcrichton.`
Related issue: rust-lang#96472.
PR introducing this issue: rust-lang#87402.
…oli-obk
Use `VecMap::get` in `ConstraintLocator::check`
Also rename the `def_id` param to `item_def_id` because that's easily confused with `self.def_id` (which is the opaque ty did).
…Simulacrum
add miri-track-caller to more intrinsic-exposing methods
Follow-up to rust-lang#98674: I went through the Miri test suite to find more functions that would benefit from Miri backtrace pruning, and this is what I found.
Basically anything that just exposes a potentially-UB intrinsic to the user should get this treatment.
@rustbotrustbot added 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. rollup A PR which is a rollup labels Jul 25, 2022
@JohnTitor

Copy link
Copy Markdown
MemberAuthor

@bors r+ p=7 rollup=never

@bors

bors commented Jul 25, 2022

Copy link
Copy Markdown
Collaborator

📌 Commit d1e4342 has been approved by JohnTitor

It is now in the queue for this repository.

@borsbors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jul 25, 2022
@bors

bors commented Jul 25, 2022

Copy link
Copy Markdown
Collaborator

⌛ Testing commit d1e4342 with merge 2fdbf07...

@bors

bors commented Jul 25, 2022

Copy link
Copy Markdown
Collaborator

☀️ Test successful - checks-actions
Approved by: JohnTitor
Pushing 2fdbf07 to master...

@borsbors added the merged-by-bors This PR was explicitly merged by bors. label Jul 25, 2022
@bors
bors merged commit 2fdbf07 into rust-lang:masterJul 25, 2022
@rustbotrustbot added this to the 1.64.0 milestone Jul 25, 2022
@JohnTitor
JohnTitor deleted the rollup-74rb8vq branch July 25, 2022 14:06
@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (2fdbf07): comparison url.

Instruction count

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

Max RSS (memory usage)

Results
  • Primary benchmarks: no relevant changes found
  • Secondary benchmarks: 🎉 relevant improvement found
mean1maxcount2
Regressions 😿
(primary)
N/AN/A0
Regressions 😿
(secondary)
N/AN/A0
Improvements 🎉
(primary)
N/AN/A0
Improvements 🎉
(secondary)
-2.5%-2.5%1
All 😿🎉 (primary)N/AN/A0

Cycles

Results
  • Primary benchmarks: no relevant changes found
  • Secondary benchmarks: mixed results
mean1maxcount2
Regressions 😿
(primary)
N/AN/A0
Regressions 😿
(secondary)
2.6%2.6%1
Improvements 🎉
(primary)
N/AN/A0
Improvements 🎉
(secondary)
-2.1%-2.1%3
All 😿🎉 (primary)N/AN/A0

If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf.

@rustbot label: -perf-regression

Footnotes

  1. the arithmetic mean of the percent change2

  2. number of relevant changes2

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merged-by-borsThis PR was explicitly merged by bors.rollupA PR which is a rollupS-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

11 participants

@JohnTitor@bors@rust-timer@rustbot@kawadakk@frank-king@tmiasko@daxpedda@compiler-errors@RalfJung@nnethercote