Commit graph

260867 commits

Author SHA1 Message Date
Young-Flash
1669e930e1 minor: tweak comment 2024-07-20 09:33:23 +08:00
Young-Flash
7bff592cad internal: add test case for inlay hint support for block expr with lifetime label 2024-07-20 09:33:23 +08:00
Young-Flash
aee0e30bed feat: add inlay hint support for block expr with lifetime label 2024-07-20 09:33:23 +08:00
bors
b939d3bf30 Auto merge of #17639 - Veykril:salsa-perf, r=Veykril
Some more small salsa memory improvements

This does limit our lru limits to 2^16 but if you want to set them higher than that you might as well not set them at all. Also makes `LRU` opt-in per query now, allowing us to drop all the unnecessary LRU stuff for most queries
2024-07-19 18:45:16 +00:00
Lukas Wirth
147a2eb4b6 Add back equality check that went missing 2024-07-19 20:39:09 +02:00
bors
166ba4d1cf Auto merge of #17640 - Veykril:parse-dyn, r=Veykril
Parse contextual dyn keyword properly in edition 2015

Turns out this is more important than I thought it would be given the metrics :)
2024-07-19 18:31:08 +00:00
Lukas Wirth
2e81e1fa23 Fix edition used for include macro parsing 2024-07-19 20:29:53 +02:00
Lukas Wirth
9357572d9b Parse contextual dyn keyword properly in edition 2015 2024-07-19 20:20:30 +02:00
Lukas Wirth
ddd1a8f402 Drop an unnecessary Arc::clone 2024-07-19 18:53:52 +02:00
Lukas Wirth
59ec98218f Regenerate files 2024-07-19 18:39:42 +02:00
Lukas Wirth
24e0d516a0 Make LRU opt-in 2024-07-19 18:38:08 +02:00
Lukas Wirth
f1741aad4b Remove duplicate information from interned::Slot 2024-07-19 17:52:49 +02:00
bors
95c48af734 Auto merge of #17638 - Veykril:salsa-perf, r=Veykril
perf: Reduce memory usage of salsa slots by 8 bytes
2024-07-19 15:48:57 +00:00
Lukas Wirth
9770d016f1 Reduce maximum LRU size to 2^16 entries, reducing memory footprint of LRU entries 2024-07-19 17:48:12 +02:00
Lukas Wirth
091dc26cda perf: Reduce memory usage of salsa slots by 8 bytes 2024-07-19 17:34:48 +02:00
bors
a75b6faa9e Auto merge of #17637 - jjoeldaniel:master, r=Veykril
internal: remove rust-analyzer.openFAQ

Removed no longer functional `rust-analyzer.openFAQ` command created in #17508
2024-07-19 15:34:43 +00:00
bors
d16acea62c Auto merge of #17622 - roife:fix-issue-17602, r=Veykril
fix: handle synonymous imports with different renaming in 'merge imports'

fix #17602
2024-07-19 15:16:02 +00:00
Joel Daniel Rico
346210bb1b remove rust-analyzer.openFAQ 2024-07-19 08:11:16 -07:00
bors
fd240c00e0 Auto merge of #17620 - Veykril:edition-aware-parser, r=Veykril
Edition aware parser

Fixes https://github.com/rust-lang/rust-analyzer/issues/16324 by allowing us to properly thread through the edition to the parser
2024-07-19 14:56:56 +00:00
Lukas Wirth
754f53ca1a Test macros doing edition dependent parsing 2024-07-19 16:43:58 +02:00
Lukas Wirth
62eba06591 Prevent generated runner module from being format checked 2024-07-19 16:01:47 +02:00
Lukas Wirth
2dc84abb55 Parse try as a keyword only in edition 2018 and up 2024-07-19 15:43:20 +02:00
Lukas Wirth
f4b2bf5c53 Add basic edition inline parser test support 2024-07-19 15:19:43 +02:00
bors
e6e8bd299d Auto merge of #17634 - lnicola:fix-xtask-install, r=lnicola
minor: Make xtask install work again

CC https://github.com/rust-lang/rust-analyzer/pull/17559#issuecomment-2234052939
2024-07-19 06:15:00 +00:00
Laurențiu Nicola
6fa6d2081a Make xtask install work again 2024-07-19 09:11:26 +03:00
bors
40730a4baf Auto merge of #17246 - davidbarsky:david/move-rust-project-generation-to-server, r=Veykril
feature: teach rust-analyzer to discover `linked_projects`

This PR's been a long-time coming, but like the title says, it introduces server-side project discovery and removes the extension hooks I previously introduced. I don't think this PR is ready to land, but here are the things I'm feeling squishy about:
- I don't think I like the idea of introducing the `cargo-metadata` command-but-for-everything-else in the `flycheck` module, but the progress reporting infrastructure was too convenient to pass up. Happy to move it elsewhere.

Here are the things I _know_ I need to change:
- For progress reporting, I'm extracting from a `serde_json::Value` that corresponds to `tracing_subsciber::fmt::Layer`'s JSON output. I'd like to make this a bit more structured/documented than the current nonsense I wrote.
- The progress reporting currently hardcodes "Buck"; it should be deriving that from the previously mentioned more-structured-output.
- This doesn't handle *reloading* when a corresponding buildfile is changed. It should be doing that.

<details>
<summary>Anyway, here's a video of rust-analyzer discovering a Buck target.</summary>

https://github.com/rust-lang/rust-analyzer/assets/2067774/be6cd9b9-2c9a-402d-847f-05f860a91df1
</details>
2024-07-18 16:15:31 +00:00
David Barsky
2e582ad848 feature: move linked_projects discovery to the rust-analyzer server 2024-07-18 12:01:27 -04:00
Lukas Wirth
eae705e5ed Rewrite inline parser test infra to generated proper rust test cases 2024-07-18 10:03:19 +02:00
Lukas Wirth
736723d435 Update test fixtures 2024-07-18 09:09:31 +02:00
Lukas Wirth
20e27b874d Encode edition within FileId in the hir layer 2024-07-18 08:49:10 +02:00
roife
9dcd4ba0ef fix: handle synonymous imports in 'merge imports' 2024-07-18 05:01:58 +08:00
bors
020b7acd6a Auto merge of #17618 - Veykril:rustc_skip_during_method_dispatch, r=Veykril
Support rustc_skip_during_method_dispatch

Fixes https://github.com/rust-lang/rust-analyzer/issues/17256
2024-07-17 09:48:18 +00:00
Lukas Wirth
835734eed0 Support rustc_skip_during_method_dispatch 2024-07-17 11:46:36 +02:00
bors
0401e1c52a Auto merge of #17617 - Veykril:grammar-kind-gen, r=Veykril
Derive kinds information from ungrammar file

This reduces the need to touch more files when adding a new grammar rule
2024-07-17 09:27:03 +00:00
Lukas Wirth
f7516d95a7 string is not a keyword 2024-07-17 11:11:57 +02:00
Lukas Wirth
0bffb1345b Add always disabled gen parse support 2024-07-17 10:49:12 +02:00
Lukas Wirth
373e84fb28 Derive kinds information from ungrammar file 2024-07-17 10:04:45 +02:00
bors
d95ce94543 Auto merge of #17616 - Veykril:config-param-hints, r=Veykril
Fix incorrect generic parameter hint defaults

Missed this in the review but we should show const param hints, not lifetime param hints by default
2024-07-17 06:54:06 +00:00
Lukas Wirth
7ef5f46c83 Fix incorrect generic parameter hint defaults 2024-07-17 08:52:23 +02:00
bors
523465a677 Auto merge of #17614 - lnicola:build-scripts-override-docs, r=lnicola
minor: Add --keep-going to the `cargo.buildScripts.overrideCommand` docs

CC https://github.com/rust-lang/rust-analyzer/issues/17608#issuecomment-2231949548
2024-07-17 05:45:18 +00:00
Laurențiu Nicola
f0b8055164 Add --keep-going to rust-analyzer.cargo.buildScripts.overrideCommand docs 2024-07-17 08:42:39 +03:00
bors
2a8b4a2000 Auto merge of #17611 - Veykril:macro-arg-no-call, r=Veykril
fix: Don't call macro_arg directly in `ExpandDatabase::syntax_context`
2024-07-16 20:12:14 +00:00
Lukas Wirth
811ce15b12 Don't call macro_arg directly in ExpandDatabase::syntax_context 2024-07-16 22:10:42 +02:00
bors
216bef36bc Auto merge of #17609 - lnicola:sync-from-rust, r=lnicola
minor: Sync from downstream
2024-07-16 13:38:39 +00:00
Laurențiu Nicola
137c736d66 Merge from rust-lang/rust 2024-07-16 16:23:47 +03:00
Augie Fackler
72e22554ca cleanup: remove support for 3DNow! cpu features
In llvm/llvm-project@f0eb5587ce all
support for 3DNow! intrinsics and instructions were removed. Per the commit message
there, only AMD chips between 1998 and 2011 or so actually supported
these instructions, and they were effectively replaced by SSE which was
available on many more chips. I'd be very surprised if anyone had ever
used these from Rust.
2024-07-17 11:45:02 -04:00
Laurențiu Nicola
2e37675cc9 Preparing for merge from rust-lang/rust 2024-07-16 16:23:33 +03:00
bors
e5b1a2b3cd Auto merge of #17605 - Veykril:runnable-sysroot, r=Veykril
Set `RUSTC_TOOLCHAIN` for runnables

With this the client doesn't necessarily need to guess the sysroot anymore
2024-07-16 11:49:27 +00:00
Lukas Wirth
4f031d9768 Set RUSTC_SYSROOT for runnables 2024-07-16 13:48:14 +02:00
bors
064e6ed163 Auto merge of #17604 - Veykril:tt-symbols, r=Veykril
More symbol usage
2024-07-16 11:04:14 +00:00