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

Subtree update of rust-analyzer #119070

Merged
merged 52 commits into from
Dec 18, 2023
Merged

Subtree update of rust-analyzer #119070

merged 52 commits into from
Dec 18, 2023

Conversation

lnicola
Copy link
Member

@lnicola lnicola commented Dec 18, 2023

No description provided.

jinohkang-theori and others added 30 commits November 14, 2023 16:01
…compiler-errors

Add support for making lib features internal

We have the notion of an "internal" lang feature: a feature that is never intended to be stabilized, and using which can cause ICEs and other issues without that being considered a bug.

This extends that idea to lib features as well. It is an alternative to rust-lang#115623: instead of using an attribute to declare lib features internal, we simply do this based on the name. Everything ending in `_internals` or `_internal` is considered internal.

Then we rename `core_intrinsics` to `core_intrinsics_internal`, which fixes rust-lang#115597.
detects redundant imports that can be eliminated.

for rust-lang#117772 :

In order to facilitate review and modification, split the checking code and
removing redundant imports code into two PR.
This way, parameter hints will be found for resolution
…ints-resolution, r=Veykril

Query for nearest parent block around the hint to resolve

This way, parameter hints will be found for resolution and rust-lang/rust-analyzer#15522 (comment) will be fixed

Hopefully that also helps with whatever else (lifetimes', etc.) hints in
rust-lang/rust-analyzer#13962

> hints are resolved by querying for textDocument/inlayHint with hint's position turned into a [position-1, position+1] range (instead of the original, much wider document range).
>
> This might lead to issues in the future, with e.g. lifetime hints (currently there's nothing to resolve for them and it's fine) that belong to a certain position, but need to have textDocument/inlayHint query for much bigger range than their position+/-1
…apkin

 Use a u64 for the rmeta root position

Waffle noticed this in rust-lang#117301 (comment)

We've upgraded the other file offsets to u64, and this one only costs 4 bytes per file. Also the way the truncation was being done before was extremely easy to miss, I sure missed it! It's not clear to me if not having this change effectively made the other upgrades from u32 to u64 ineffective, but we can have it now.

r? `@WaffleLapkin`
Replace `doc_comments_and_attrs` with `collect_attrs`, 2nd round

I didn't understand why the one in the semantics is different. Please tell me if it needs special action.

r? `@Veykril`
…odules, r=Mark-Simulacrum

Let `reuse` look inside git submodules

Changes `collect-license-metadata` and `generate-copyright` so they can now look at the git submodules.

Unfortunately `reuse` chokes on the LLVM submodule - it finds the word "Copyright" or the unicode copyright symbol in all kinds of places, including UTF-8 test cases. The `reuse` tool expressly won't let you ignore folders, so we let it scan everything and then strip out the LLVM sub-folder in post. Instead, we add in a hand-curated list of copyright information gleaned by reading the LLVM codebase carefully, which is stored in `.reuse/dep5` in Debian format where `reuse` can find and use it.

The `.reuse/dep5` continues to track copyright info for files in the tree that do not have SPDX metadata in them (i.e. all of them)
Subtree update of `rust-analyzer`

r? `@ghost`
internal: Improve import asset perf a bit

And bump the query limit from 40 to 100
…kril

fix: Fix `import_map::search_dependencies` getting confused by assoc and non assoc items with the same name

No test case as creating one is kind of tricky... Ideally the code should be restructured such that this collision wouldn't matter in the first place, its kind of a mess.

Fixes rust-lang/rust-analyzer#16074
Fixes rust-lang/rust-analyzer#16080
Fixes rust-lang/rust-analyzer#15845
bors and others added 14 commits December 13, 2023 17:55
Update builtin attrs from rustc

Fix rust-lang#16105

r? `@lnicola` since you did this last time.
…ert_tuple_struct_to_named_struct/handle_refs_inside_macro_invocations, r=Veykril

Fix incorrectly replacing references in macro invocation in "Convert to named struct" assist

Fixes rust-lang#15630.

Complements rust-lang#13647 (same assist but missed this one), rust-lang#14920 (inverse action assist).
minor: Add messages to some asserts for better debugging

cc rust-lang/rust-analyzer#16118
Run rust-analyzer on rustc tests in metrics

fix rust-lang#15947
fix: Syntax fixup now removes subtrees with fake spans

Fixes rust-lang/rust-analyzer#16118
internal: Remove `ModuleId` from `TypeOwnerId`

It only exists due to the IDE layer, but we can encode this temporary hack more cleanly
Fix false positive type mismatch in const reference patterns
@rustbot
Copy link
Collaborator

rustbot commented Dec 18, 2023

r? @Mark-Simulacrum

(rustbot has picked a reviewer for you, use r? to override)

@rustbot
Copy link
Collaborator

rustbot commented Dec 18, 2023

rust-analyzer is developed in its own repository. If possible, consider making this change to rust-lang/rust-analyzer instead.

cc @rust-lang/rust-analyzer

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Dec 18, 2023
@lnicola
Copy link
Member Author

lnicola commented Dec 18, 2023

@bors r+ p=1 subtree sync

@bors
Copy link
Contributor

bors commented Dec 18, 2023

📌 Commit ebba9b3 has been approved by lnicola

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 Dec 18, 2023
@bors
Copy link
Contributor

bors commented Dec 18, 2023

⌛ Testing commit ebba9b3 with merge 37340a1...

@bors
Copy link
Contributor

bors commented Dec 18, 2023

☀️ Test successful - checks-actions
Approved by: lnicola
Pushing 37340a1 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Dec 18, 2023
@bors bors merged commit 37340a1 into rust-lang:master Dec 18, 2023
11 checks passed
@rustbot rustbot added this to the 1.76.0 milestone Dec 18, 2023
@lnicola lnicola deleted the sync-from-ra branch December 18, 2023 12:00
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (37340a1): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

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

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.7% [0.5%, 1.1%] 4
Regressions ❌
(secondary)
3.4% [1.6%, 4.5%] 4
Improvements ✅
(primary)
-2.5% [-2.5%, -2.5%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.1% [-2.5%, 1.1%] 5

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.4% [-0.4%, -0.4%] 1
Improvements ✅
(secondary)
-4.3% [-4.6%, -4.1%] 3
All ❌✅ (primary) -0.4% [-0.4%, -0.4%] 1

Binary size

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

Bootstrap: 672.726s -> 674.961s (0.33%)
Artifact size: 312.44 MiB -> 312.44 MiB (0.00%)

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. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.