-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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 #123676
Rollup of 8 pull requests #123676
Conversation
There's PR rust-lang#123184 which avoids allocation for ZST ThinBox. That PR has an issue with unsoundness with misuse of `MaybeUninit` (see comments in that PR). This PR is much simpler implementation which does not have this problem, but it uses `const_allocate` feature.
We don't need the branch coverage version of this test, but we can recycle is to make sure that the MC/DC coverage support works as expected.
…ramEnv not just the ones from the elaborated clauses.
If this leaks in from the environment then it can make tests fail when they deliberately trigger `WARN` or `ERROR` logging. Signed-off-by: David Wood <[email protected]>
… r=oli-obk Do not allocate for ZST ThinBox (attempt 2 using const_allocate) There's PR rust-lang#123184 which avoids allocation for ZST ThinBox. That PR has an issue with unsoundness with padding in `MaybeUninit` (see comments in that PR). Also that PR relies on `Freeze` trait. This PR is much simpler implementation which does not have this problem, but it uses `const_allocate` feature. `@oli-obk` suggested that `const_allocate` should not be used for that feature. But I like how easy it to do this feature with `const_allocate`. Maybe it's OK to use `const_allocate` while `ThinBox` is unstable? Or, well, we can abandon this PR. r? `@oli-obk`
Add MC/DC support to coverage test tools Extracted and squashed from rust-lang#123409 by `@ZhuUx.` These updates to the coverage test tools can land ahead of the main changes, slightly reducing the size and complexity of that PR. --- The `coverage-dump` changes aren't directly tested in this PR, but the tests in rust-lang#123409 demonstrate that they do work on real MC/DC coverage output. `@rustbot` label +A-code-coverage
…m-param-env-clauses, r=GuillaumeGomez rustdoc: synthetic auto: filter out clauses from the implementor's ParamEnv ... not just the elaborated clauses. Fixes another regression introduced by me in rust-lang#123340, oops! Fixes rust-lang#123340 (comment), cc ``@tamird.`` An earlier local iteration of branch `rustdoc-simplify-auto-trait-impl-synth` (PR rust-lang#123340) contained a fix for issue rust-lang#111101 before I decided to limit the scope. I must've introduced this bug when manually reverting that part of the code. r? ``@GuillaumeGomez`` or rustdoc
…=compiler-errors Split `non_local_definitions` lint tests in separate test files This PR splits the giant `non_local_definitions` lint UI test in separate test files. This change is extracted from rust-lang#123594 (where it was requested rust-lang#123594 (comment)), to ease the review of the other PR and to reduce the size of the other PR. r? ``@compiler-errors``
…li-obk Stop making any assumption about the projections applied to the upvars in the `ByMoveBody` pass So it turns out that because of subtle optimizations like [`truncate_capture_for_optimization`](https://github.com/rust-lang/rust/blob/ab5bda1aa70f707014e2e691e43bc37a8819252a/compiler/rustc_hir_typeck/src/upvar.rs#L2351), we simply cannot make any assumptions about the shape of the projections applied to the upvar locals in a coroutine body. So stop doing that -- the code is resilient to such projections, so the assertion really existed only to "protect against the unknown". r? oli-obk Fixes rust-lang#123650
…li-obk Don't rely on upvars being assigned just because coroutine-closure kind is assigned Previously, code relied on the implicit assumption that if a coroutine-closure's kind variable was constrained, then its upvars were also constrained. This is because we assign all of them at once at the end up upvar analysis. However, there's another way that a coroutine-closure's kind can be constrained: from a signature hint in closure signature deduction. After rust-lang#123350, we use these hints, which means the implicit assumption above no longer holds. This PR adds the necessary checks so that we don't ICE. r? oli-obk
Fix typo in `Future::poll()` docs ``@rustbot`` label A-docs
…lor, r=clubby789 compiletest: unset `RUSTC_LOG_COLOR` If this leaks in from the environment then it can make tests fail when they deliberately trigger `WARN` or `ERROR` logging, currently this stops these tests from failing if you set `RUSTC_LOG_COLOR=always` in the parent environment: - `tests/ui/coherence/occurs-check/associated-type.rs#next` - `tests/ui/coherence/occurs-check/associated-type.rs#old` - `tests/ui/higher-ranked/structually-relate-aliases.rs` - `tests/ui/self/arbitrary-self-from-method-substs.rs#default` - `tests/ui/traits/next-solver/issue-118950-root-region.rs`
@bors r+ p=5 rollup=never |
☀️ Test successful - checks-actions |
📌 Perf builds for each rolled up PR:
previous master: 2805aedf9f In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (ff24ef9): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)ResultsThis 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.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 672.546s -> 674.634s (0.31%) |
Successful merges:
non_local_definitions
lint tests in separate test files #123653 (Splitnon_local_definitions
lint tests in separate test files)ByMoveBody
pass #123658 (Stop making any assumption about the projections applied to the upvars in theByMoveBody
pass)Future::poll()
docs #123665 (Fix typo inFuture::poll()
docs)RUSTC_LOG_COLOR
#123672 (compiletest: unsetRUSTC_LOG_COLOR
)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup