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 10 pull requests #122139

Merged
merged 27 commits into from
Mar 7, 2024
Merged

Conversation

GuillaumeGomez
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Lukas Markeffsky and others added 27 commits March 4, 2024 21:06
`./x dist` currently crashes when cross compiling. Add the fix described
by @catamorphism in rust-lang#110071.

Fixes rust-lang#110071
…r-projections, r=lcnr

silence mismatched types errors for implied projections

Currently, if a trait bound is not satisfied, then we suppress any errors for the trait's supertraits not being satisfied, but still report errors for super projections not being satisfied.

For example:
```rust
trait Super {
    type Assoc;
}
trait Sub: Super<Assoc = ()> {}
```
Before this PR, if `T: Sub` is not satisfied, then errors for `T: Super` are suppressed, but errors for `<T as Super>::Assoc == ()` are still shown. This PR makes it so that errors about super projections not being satisfied are also suppressed.

The errors are only suppressed if the span of the trait obligation matches the span of the super predicate obligation to avoid silencing error that are not related. This PR removes some differences between the spans of supertraits and super projections to make the suppression work correctly.

This PR fixes the majority of the diagnostics fallout when making `Thin` a supertrait of `Sized` (in a future PR).
cc rust-lang#120354 (comment)
cc `@lcnr`
Apply `EarlyBinder` only to `TraitRef` in `ImplTraitHeader`

Resolves rust-lang#121852

This PR
1. Moves `EarlyBinder` to `TraitRef` inside `ImplTraitHeader`,
2. Changes visibility of `coherence::builtin::check_trait` to `pub(super)` from `pub` as it seems not being re-exported from the `coherence` module.
Add proper cfgs for struct HirIdValidator used only with debug-assert

See rust-lang#122065 (comment).
I think it's due to rust-lang#121752.
Rust is a proper name: rust → Rust

I only went over the library where it might be user-visible -- I noticed this in the `time` docs.
Make `x t miri` respect `MIRI_TEMP`

(I don't want to override `TMPDIR`, as that might affect other things)

r? ``@RalfJung``
…affleLapkin

Make not finding core a fatal error

Similar to rust-lang#120472, this prevents terminal spam. In particular, it makes the good diagnostic visible when you try to use a target that's not installed.
…ler-errors

Cancel parsing ever made during recovery

Fixes rust-lang#122112

It would be nice if diagnostics from recovery were automatically cancelled... 🤔
…-bounds, r=oli-obk

Don't require specifying unrelated assoc types when trait alias is in `dyn` type

Object types must specify the associated types for all of the principal trait ref's supertraits. However, we weren't doing elaboration properly, so we incorrectly errored with erroneous suggestions to specify associated types that were unrelated to that principal trait ref. To fix this, use proper supertrait elaboration when expanding trait aliases in `conv_object_ty_poly_trait_ref`.

**NOTE**: Please use the ignore-whitespace option when reviewing. This only touches a handful of lines.

r? oli-obk or please feel free to reassign.

Fixes rust-lang#122118
…ld-belongs-to-unix, r=ChrisDenton

Fix `tidy --bless` on  ̶X̶e̶n̶i̶x̶ Windows

As reported in rust-lang#120628 (comment) the requested `tidy --bless` implementation didn't take into account the fact that earlier the linting code canonicalized things to use the OS path separator. This makes it so that the path separator is always rewritten back as '/', which should fix the variance there.

r? ``@ChrisDenton``
…ur-ozkan

Set `RustcDocs` to only run on host

`./x dist` currently crashes when cross compiling. Add the fix described by `@catamorphism` in rust-lang#110071.

Fixes rust-lang#110071
@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc O-hermit Operating System: Hermit S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 7, 2024
@rustbot rustbot added 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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative rollup A PR which is a rollup labels Mar 7, 2024
@GuillaumeGomez
Copy link
Member Author

@bors r+ p=5 rollup=never

@bors
Copy link
Contributor

bors commented Mar 7, 2024

📌 Commit ce9a6ad has been approved by GuillaumeGomez

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 Mar 7, 2024
@bors
Copy link
Contributor

bors commented Mar 7, 2024

⌛ Testing commit ce9a6ad with merge 1c580bc...

@bors
Copy link
Contributor

bors commented Mar 7, 2024

☀️ Test successful - checks-actions
Approved by: GuillaumeGomez
Pushing 1c580bc to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Mar 7, 2024
@bors bors merged commit 1c580bc into rust-lang:master Mar 7, 2024
12 checks passed
@rustbot rustbot added this to the 1.78.0 milestone Mar 7, 2024
@GuillaumeGomez GuillaumeGomez deleted the rollup-37vtwsc branch March 7, 2024 17:31
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#121863 silence mismatched types errors for implied projections 761c504ab48b8459e0d0dedc1f3e498ad0c2ff56 (link)
#122043 Apply EarlyBinder only to TraitRef in ImplTraitHeader 45e363088e3516d520c010438528b2d135e8b5cc (link)
#122066 Add proper cfgs for struct HirIdValidator used only with de… ddf32af56063cfcab90d91bb2151d2d40cd24342 (link)
#122104 Rust is a proper name: rust → Rust 4d9798f0ccabd9e24747776288d08168ef26fbae (link)
#122110 Make x t miri respect MIRI_TEMP 549a1e8562e32adeae412b65a8cf62ac32f0b25b (link)
#122114 Make not finding core a fatal error e807db277046b16048c76130292a81b993aa16c7 (link)
#122115 Cancel parsing ever made during recovery 948cdaa38d6846873332332e0c57d64cd96e43c4 (link)
#122123 Don't require specifying unrelated assoc types when trait a… 1ea23b3e52f79e35e8164dde001d45618a35b70b (link)
#122126 Fix tidy --bless on ̶X̶e̶n̶i̶x̶ Windows 98be46925b6d7497d2941d3cfb28a2dd3c02d626 (link)
#122129 Set RustcDocs to only run on host 9b6bc7288ec05aae89ddfa1e986ef50e8107bb36 (link)

previous master: 52f8aec14c

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 (1c580bc): comparison URL.

Overall result: ❌ regressions - 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.6% [0.6%, 0.6%] 1
Regressions ❌
(secondary)
2.4% [2.4%, 2.4%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.6% [0.6%, 0.6%] 1

Max RSS (memory usage)

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

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: 647.761s -> 647.822s (0.01%)
Artifact size: 172.64 MiB -> 172.63 MiB (-0.00%)

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. O-hermit Operating System: Hermit 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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative
Projects
None yet
Development

Successfully merging this pull request may close these issues.