-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
#118365
Subtree update of rust-analyzer
#118365
Conversation
Co-authored-by: Lukas Wirth <[email protected]>
internal: Sync from downstream
internal: Remove debugging code in path resolution Closes rust-lang#15924
Fix typo in highlight_related.rs While reading the user manual, I noticed a random tick, so I went ahead and fixed it. The `await` keyword should be properly rendered as inline code. ![image](https://github.com/rust-lang/rust-analyzer/assets/20878432/f134a4c9-e539-4635-97ac-506790893869)
…=lnicola fix: handle default constant values in `trait_impl_missing_assoc_item` diagnostic A patch of rust-lang/rust-analyzer#15895, close rust-lang/rust-analyzer#15909 cc `@Veykril`
ensure renames happen after edit This is a bugfix for an issue I fould while working on helix. Rust-analyzer currently always sends any filesystem edits (rename/file creation) before any other edits. When renaming a file that is also being edited that would mean that the edit would be discarded and therefore an incomplete/incorrect refactor (or even cause the creation of a new file in helix altough that is probably a pub on our side). Example: * create a module: `mod foo` containing a `pub sturct Bar;` * reexport the struct uneder a different name in the `foo` module using a *fully qualified path*: `pub use crate::foo::Bar as Bar2`. * rename the `foo` module to `foo2` using rust-analyzer * obsereve that the path is not correctly updated (rust-analyer first sends a rename `foo.rs` to `foo2.rs` and then edits `foo.rs` after) This PR fixes that issue by simply executing all rename operations after all edit operations (while still executing file creation operations first). I also added a testcase similar to the example above. Relevent excerpt from the LSP standard: > Since version 3.13.0 a workspace edit can contain resource operations (create, delete or rename files and folders) as well. If resource operations are present clients need to execute the operations in the order in which they are provided. So a workspace edit for example can consist of the following two changes: (1) create file a.txt and (2) a text document edit which insert text into file a.txt. An invalid sequence (e.g. (1) delete file a.txt and (2) insert text into file a.txt) will cause failure of the operation. How the client recovers from the failure is described by the client capability: workspace.workspaceEdit.failureHandling
fix: better resolve assoc item with type bound Closes rust-lang#15772
Update Arch Linux package URL in manual.adoc The old URL returns 404 now.
chore: add use case for `PathSegment::qualifying_trait` add use case for `PathSegment::qualifying_trait`, which introduced in rust-lang/rust-analyzer#15875
This commit provides additional initialization methods to Connection in order to support CTRL + C sigterm handling.
…ion, r=Veykril Cancelable Initialization This commit provides additional initialization methods to Connection in order to support CTRL + C sigterm handling. In the process of adding LSP to Nushell (see nushell/nushell#10941) this gap has been identified.
Partially fixes rust-lang#15656 . When a crate graph is extended which is the case when new workspaces are added to the project the rules for deduplication were too strict. One problem that arises from this is that in certain conditions when we see the same crate having different `CrateOrigin`s the first form would be maintained. This approach however results in some unwanted results such as making renaming forbidden as this has been recently only made available for local crates. The given example in rust-lang#15656 can still not be resolved with this PR as that involves taking inconsistencies between dependencies into consideration. This will be addressed in a future PR.
Make data reflect a case where dev deps are existent. base-db::CrateGraph::extend now adds dev dependencies for a crate in case of its upgrading from a CrateOrigin::Lib kind of a crate to a CrateOrigin::Local one.
(rustbot has picked a reviewer for you, use r? to override) |
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 |
@bors r+ p=1 subtree sync |
r? @ghost |
Failed to set assignee to
|
This comment has been minimized.
This comment has been minimized.
@bors r- |
The list of allowed third-party dependencies may have been modified! You must ensure that any new dependencies have compatible licenses before merging. |
@bors r+ p=1 subtree sync |
☀️ Test successful - checks-actions |
Finished benchmarking commit (aa33051): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. 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.
CyclesResultsThis 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.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 675.168s -> 675.406s (0.04%) |
No description provided.