Yuri Astrakhan
cc1aded86c
Avoid ref when using format! in compiler
...
Clean up a few minor refs in `format!` macro, as it has a performance cost. Apparently the compiler is unable to inline `format!("{}", &variable)`, and does a run-time double-reference instead (format macro already does one level referencing). Inlining format args prevents accidental `&` misuse.
2024-07-19 14:41:59 -04:00
bors
9fd6c695da
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
4691ca97f1
perf: Reduce memory usage of salsa slots by 8 bytes
2024-07-19 17:34:48 +02:00
bors
9b1b29ca7a
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
aa4768f7be
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
430768064f
remove rust-analyzer.openFAQ
2024-07-19 08:11:16 -07:00
bors
fa3dd33c27
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
546eb6b530
Test macros doing edition dependent parsing
2024-07-19 16:43:58 +02:00
Lukas Wirth
2c32ee7cfa
Prevent generated runner module from being format checked
2024-07-19 16:01:47 +02:00
Lukas Wirth
d235d09bf9
Parse try
as a keyword only in edition 2018 and up
2024-07-19 15:43:20 +02:00
Lukas Wirth
713c47f25b
Add basic edition inline parser test support
2024-07-19 15:19:43 +02:00
bors
71c78167e8
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
89d089f547
Make xtask install work again
2024-07-19 09:11:26 +03:00
bors
52143a5ac0
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
db43a5a6e9
feature: move linked_projects
discovery to the rust-analyzer server
2024-07-18 12:01:27 -04:00
Lukas Wirth
7a5bf92b89
Rewrite inline parser test infra to generated proper rust test cases
2024-07-18 10:03:19 +02:00
Lukas Wirth
ef462ca88e
Update test fixtures
2024-07-18 09:09:31 +02:00
Lukas Wirth
5264f86242
Encode edition within FileId in the hir layer
2024-07-18 08:49:10 +02:00
roife
87a3ab4658
fix: handle synonymous imports in 'merge imports'
2024-07-18 05:01:58 +08:00
bors
a62ea0a59e
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
92268627a8
Support rustc_skip_during_method_dispatch
2024-07-17 11:46:36 +02:00
bors
b78cc87b1b
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
b8cac1bb6b
string is not a keyword
2024-07-17 11:11:57 +02:00
Lukas Wirth
7011094685
Add always disabled gen parse support
2024-07-17 10:49:12 +02:00
Lukas Wirth
983c9c122e
Derive kinds information from ungrammar file
2024-07-17 10:04:45 +02:00
bors
3fa78e113b
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
8f044d9681
Fix incorrect generic parameter hint defaults
2024-07-17 08:52:23 +02:00
bors
1b168c1d95
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
f0c3cb3738
Add --keep-going to rust-analyzer.cargo.buildScripts.overrideCommand docs
2024-07-17 08:42:39 +03:00
bors
26747bd1e5
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
e75dbe52a1
Don't call macro_arg directly in ExpandDatabase::syntax_context
2024-07-16 22:10:42 +02:00
bors
cf156a7a43
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
6a121d177d
Merge from rust-lang/rust
2024-07-16 16:23:47 +03:00
Laurențiu Nicola
23fd5fbdf9
Preparing for merge from rust-lang/rust
2024-07-16 16:23:33 +03:00
bors
41dcb2d650
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
33ce9a4211
Set RUSTC_SYSROOT for runnables
2024-07-16 13:48:14 +02:00
bors
566f92732e
Auto merge of #17604 - Veykril:tt-symbols, r=Veykril
...
More symbol usage
2024-07-16 11:04:14 +00:00
bors
f5efae854c
Auto merge of #127617 - lnicola:sync-from-ra, r=lnicola
...
Subtree update of `rust-analyzer`
r? `@ghost`
2024-07-16 10:54:30 +00:00
Lukas Wirth
2346a80ab4
Remove Name::to_smol_str
2024-07-16 12:43:58 +02:00
Lukas Wirth
df5f1777b8
More symbol usage
2024-07-16 12:05:16 +02:00
bors
dec95cf37d
Auto merge of #17603 - Veykril:tt-symbols, r=Veykril
...
Switch token trees to use Symbols
2024-07-16 08:42:58 +00:00
Lukas Wirth
c30bdfcc84
Use symbol in cfg
2024-07-16 10:41:42 +02:00
Lukas Wirth
93024ad411
Switch token trees to use Symbols
2024-07-16 10:11:59 +02:00
Laurențiu Nicola
5f9ce1dcd4
Use re-exported Idx and IndexVec in pat_analysis
2024-07-16 10:41:13 +03:00
bors
107e75d9b2
Auto merge of #127638 - adwinwhite:cache_string, r=oli-obk
...
Add cache for `allocate_str`
Best effort cache for string allocation in const eval.
Fixes [rust-lang/miri#3470 ](https://github.com/rust-lang/miri/issues/3470 ).
2024-07-16 02:41:07 +00:00
bors
269843fcb4
Auto merge of #127629 - tesuji:suggest-option-ref-unwrap_or, r=estebank
...
Suggest using `map_or` when `Option<&T>::unwrap_or where T: Deref` fails
Fix #127545
Split from https://github.com/rust-lang/rust/pull/127596#pullrequestreview-2171898588
2024-07-15 23:36:22 +00:00
bors
8ebc294af3
Auto merge of #127020 - tgross35:f16-f128-classify, r=workingjubilee
...
Add classify and related methods for f16 and f128
Also constify some functions where that was blocked on classify being available.
r? libs
2024-07-15 17:20:33 +00:00
bors
0c95aaa08e
Auto merge of #17601 - Veykril:proc-macro-fix, r=Veykril
...
Fix incorrect encoding of literals in the proc-macro-api on version 4
Quick follow up on https://github.com/rust-lang/rust-analyzer/pull/17559 breaking things
2024-07-15 12:55:09 +00:00
Lukas Wirth
05ce57efd5
Fix incorrect encoding of literals in the proc-macro-api on version 4
2024-07-15 14:51:01 +02:00
bors
f913901399
Auto merge of #17559 - Veykril:tokentree, r=Veykril
...
Encode ident rawness and literal kind separately in tt::Leaf
2024-07-15 11:25:51 +00:00