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 5 pull requests #103841

Merged
merged 39 commits into from
Nov 1, 2022
Merged

Rollup of 5 pull requests #103841

merged 39 commits into from
Nov 1, 2022

Conversation

Dylan-DPC
Copy link
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

lowr and others added 30 commits October 24, 2022 21:30
fix: Don't respond with an error when requesting a shutdown while starting
fix: Fix standard flycheck command not being executed in the workspace it is being invoked for

Fixes rust-lang/rust-analyzer#13477
…, r=flodiebold

fix: Test all generic args for trait when finding matching impl

Addresses rust-lang/rust-analyzer#13463 (comment)

When finding matching impl for a trait method, we've been testing the unifiability of self type. However, there can be multiple impl of a trait for the same type with different generic arguments for the trait. This patch takes it into account and tests the unifiability of all type arguments for the trait (the first being the self type) thus enables rust-analyzer to find the correct impl even in such cases.
Switch to upstream `positionEncoding`

Closes rust-lang#13481

This drops support for the custom extension, but that's probably fine.

Draft because it's not tested yet.
feat: type inference for generic associated types

This PR implements type inference for generic associated types. Basically, this PR lowers generic arguments for associated types in valid places and creates `Substitution`s for them.

I focused on the inference for correct Rust programs, so there are cases where we *accidentally* manage to infer things that are actually invalid (which would then be reported by flycheck so I deem them non-fatal). See the following tests and FIXME notes on them: `gats_with_dyn`, `gats_with_impl_trait`.

The added tests are rather arbitrary. Let me know if there are cases I'm missing or I should add.

Closes rust-lang#9673
feat: Clicking the status bar item stops and starts the server
…eykril

Properly handle vscode workspace changes
Clean up tests and add documentation for GATs related stuff

This is a follow-up PR for rust-lang#13494.

- addresses rust-lang/rust-analyzer#13494 (comment)
- documents the ordering constraint on `Binders` and `Substitution` (which is not really follow-up for the previous PR, but it was introduced to support GATs and I strongly feel it's worth it)
notriddle and others added 8 commits October 31, 2022 11:53
Since the tabs use flexbox instead of float as of
44d9b8d, clearing does nothing.
Link classes use the abbreviation `attr`, so why shouldn't
syntax highlighting?
…k, r=petrochenkov

Make PROC_MACRO_DERIVE_RESOLUTION_FALLBACK a hard error

r? `@ghost`
resolve: Turn the binding from `#[macro_export]` into a proper `Import`

Continuation of rust-lang#91795.

```rust
#[macro_export]
macro_rules! m { /*...*/ }
```
is desugared to something like
```rust
macro_rules! m { /*...*/ } // Non-modularized macro_rules item

pub use m; // It's modularized reexport
```

This PR adjusts the internal representation to better match this model.
…-clear-both, r=GuillaumeGomez

rustdoc: remove unnecessary CSS `.search-results { clear: both }`

Since the tabs use flexbox instead of float as of 44d9b8d, clearing does nothing.
…r=lnicola

⬆️ rust-analyzer

r? `@ghost`
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. 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. rollup A PR which is a rollup labels Nov 1, 2022
@Dylan-DPC
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Contributor

bors commented Nov 1, 2022

📌 Commit 2b10891 has been approved by Dylan-DPC

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 Nov 1, 2022
@bors
Copy link
Contributor

bors commented Nov 1, 2022

⌛ Testing commit 2b10891 with merge ab5a2bc...

@bors
Copy link
Contributor

bors commented Nov 1, 2022

☀️ Test successful - checks-actions
Approved by: Dylan-DPC
Pushing ab5a2bc to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Nov 1, 2022
@bors bors merged commit ab5a2bc into rust-lang:master Nov 1, 2022
@rustbot rustbot added this to the 1.67.0 milestone Nov 1, 2022
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Perf Build Sha
#103833 b9e1c12e3f62c53762903c5dca9e220cf286f582
#103817 34b8190d7e55f0a090f4d6376947362545986161
#103813 8c250f95e2f7485d435d88245828769f96484a03
#103760 e418a044dfe47ef6422a4b0bbc28279af757add2
#84022 70400b28c93e366a380b746b17a51f1951acd5fe

previous master: 4c736a21ae

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

Overall result: ❌✅ regressions and improvements - ACTION NEEDED

Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please open an issue or create a new PR that fixes the regressions, add a comment linking to the newly created issue or PR, and then add the perf-regression-triaged label to this PR.

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

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.5% [0.4%, 0.6%] 8
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.1% [-2.8%, -1.7%] 7
All ❌✅ (primary) 0.5% [0.4%, 0.6%] 8

Max RSS (memory usage)

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

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)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.9% [-2.9%, -2.9%] 1
All ❌✅ (primary) - - 0

@rustbot rustbot added the perf-regression Performance regression. label Nov 1, 2022
@lqd
Copy link
Member

lqd commented Nov 2, 2022

The deeply-nested-multi wins are likely noise. But there's not much else in this rollup, let's see if the #[macro_export] change has impacted expansion for libc-0.2.124

@rust-timer build e418a044dfe47ef6422a4b0bbc28279af757add2

@rust-timer
Copy link
Collaborator

Queued e418a044dfe47ef6422a4b0bbc28279af757add2 with parent 4c736a2, future comparison URL.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (e418a044dfe47ef6422a4b0bbc28279af757add2): comparison URL.

Overall result: ❌ regressions - ACTION NEEDED

Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf.

Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please fix the regressions and do another perf run. If the next run shows neutral or positive results, the label will be automatically removed.

@bors rollup=never
@rustbot label: +S-waiting-on-review -S-waiting-on-perf +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.4% [0.3%, 0.5%] 7
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.4% [0.3%, 0.5%] 7

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)
- - 0
Improvements ✅
(primary)
-0.8% [-0.8%, -0.8%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.8% [-0.8%, -0.8%] 1

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)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.1% [-3.1%, -3.1%] 1
All ❌✅ (primary) - - 0

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Nov 2, 2022
@rylev
Copy link
Member

rylev commented Nov 2, 2022

Seems like #103760 is the culprit. cc @petrochenkov @cjgillot

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. 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. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. 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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.