Skip to content

Rollup of 9 pull requests #114294

New issue

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

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

Already on GitHub? # to your account

Merged
merged 13 commits into from
Jul 31, 2023
Merged

Rollup of 9 pull requests #114294

merged 13 commits into from
Jul 31, 2023

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

lcnr and others added 13 commits July 28, 2023 13:00
refactor builtin unsize handling, extend comments

r? `@compiler-errors`
Check lazy type aliases for well-formedness

Previously we didn't check if `T: Mul` holds given lazy `type Alias<T> = <T as Mul>::Output;`.
Now we do. It only makes sense.

`@rustbot` label F-lazy_type_alias

r? `@oli-obk`
…ds, r=spastorino

Map RPITIT's opaque type bounds back from projections to opaques

An RPITIT in a program's AST is eventually translated into both a projection GAT and an opaque. The opaque is used for default trait methods, like:

```
trait Foo {
  fn bar() -> impl Sized { 0i32 }
}
```

The item bounds for both the projection and opaque are identical, and both have a *projection* self ty. This is mostly okay, since we can normalize this projection within the default trait method body to the opaque, but it does two things:
1. it leads to bugs in places where we don't normalize item bounds, like `deduce_future_output_from_obligations`
2. it leads to extra match arms that are both suspicious looking and also easy to miss

This PR maps the opaque type bounds of the RPITIT's *opaque* back to the opaque's self type to avoid this quirk. Then we can fix the UI test for rust-lang#108304 (1.) and also remove a bunch of match arms (2.).

Fixes rust-lang#108304

r? `@spastorino`
…lor-24, r=notriddle

Migrate GUI colors test to original CSS color format

Follow-up of rust-lang#111459.

r? `@notriddle`
Add missing feature gate in multiple_supertrait_upcastable doc

Fix rust-lang#112424
@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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels Jul 31, 2023
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=9

@bors
Copy link
Collaborator

bors commented Jul 31, 2023

📌 Commit f59a560 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 Jul 31, 2023
@bors
Copy link
Collaborator

bors commented Jul 31, 2023

⌛ Testing commit f59a560 with merge b3df56a...

@bors
Copy link
Collaborator

bors commented Jul 31, 2023

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

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jul 31, 2023
@bors bors merged commit b3df56a into rust-lang:master Jul 31, 2023
@rustbot rustbot added this to the 1.73.0 milestone Jul 31, 2023
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#114169 refactor builtin unsize handling, extend comments 4b9da5d4bf62d92a540083f057e44ac964f01d08 (link)
#114228 Check lazy type aliases for well-formedness e4d0bf3e11c57a6fb6961f2ba396d13e15eb33a7 (link)
#114267 Map RPITIT's opaque type bounds back from projections to op… 1a64fd401e2e876a187b4e622221876641d3fd76 (link)
#114269 Migrate GUI colors test to original CSS color format ff032b9c1346f4ec51a5a465d2fbff1a2aec9ab3 (link)
#114286 Add missing feature gate in multiple_supertrait_upcastable … 7c50cbed72cc9a2b05da05f9b72f10621fadd15d (link)

previous master: 3114eb1fa5

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

@compiler-errors
Copy link
Member

Why did like half of those PRs not get included in the rollup 💀

@matthiaskrgr
Copy link
Member Author

Yeah something is weird, just noticed it now :|

@compiler-errors
Copy link
Member

I guess it's fine, as long as those other PRs weren't closed by bors, they're just sitting waiting for the next rollup I guess. Maybe bors just didn't detect an unsuccessful merge, or something.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (b3df56a): comparison URL.

Overall result: ✅ 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
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.4% [-0.4%, -0.3%] 2
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.4% [-0.4%, -0.3%] 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)
2.2% [2.2%, 2.2%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.5% [-2.5%, -2.5%] 1
All ❌✅ (primary) - - 0

Cycles

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

Binary size

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

Bootstrap: 649.988s -> 651.412s (0.22%)

@matthiaskrgr matthiaskrgr deleted the rollup-yk78pvd branch March 16, 2024 18:20
# for free to join this conversation on GitHub. Already have an account? # 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-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants