Commit graph

15785 commits

Author SHA1 Message Date
Lukas Wirth
e47bb0df91 fix: Fix flycheck getting confused which package to check 2025-01-06 11:05:51 +01:00
Chayim Refael Friedman
2a8471191e Support the new CoercePointee derive 2025-01-04 18:35:53 +02:00
Lukas Wirth
c635d7e559
Merge pull request #18835 from Veykril/push-wnmwwoktmpyt
Hide synthetic locals from completions
2025-01-04 16:03:00 +00:00
Lukas Wirth
28b0a9500d Hide synthetic locals from completions 2025-01-04 16:48:08 +01:00
Laurențiu Nicola
bfafdd9d9f
Merge pull request #18831 from lnicola/ci-rustc-tests
Fix metrics workflow
2025-01-03 18:01:37 +00:00
Laurențiu Nicola
b7dc4648e1 Fix metrics workflow 2025-01-03 19:46:47 +02:00
Lukas Wirth
b2892ef6ba
Merge pull request #18806 from LHolten/deduplicate-crate-graph
fix: Deduplicate crate graph
2025-01-03 14:56:14 +00:00
Lukas Wirth
981645b160
Merge pull request #18830 from alibektas/18814
fix: 18814
2025-01-03 13:52:09 +00:00
Ali Bektas
fc3e0a15df fix: 18814 2025-01-03 14:36:40 +01:00
Lukas Wirth
9b0aa8e67d
Merge pull request #18829 from Veykril/push-ouvwrxoovwkr
Disable rustc_test metrics again
2025-01-03 13:01:20 +00:00
Laurențiu Nicola
e86b24793f
Merge pull request #18828 from lnicola/edition-description
minor: Add description field to edition manifest
2025-01-03 12:47:18 +00:00
Lukas Wirth
e4b1b558a8 Disable rustc_test metrics again 2025-01-03 13:46:33 +01:00
Lukas Wirth
31b45b0341
Merge pull request #18827 from Veykril/push-zqsplmtwsxxk
minor: Honor `CARGO_TARGET_DIR` for cargo target dir config
2025-01-03 12:43:43 +00:00
Laurențiu Nicola
b18979f460 Add description field to edition manifest 2025-01-03 14:32:35 +02:00
Lukas Wirth
40b37ee177 minor: Honor CARGO_TARGET_DIR for cargo target dir config 2025-01-03 13:28:52 +01:00
Lukas Wirth
2e7d94bab1
Merge pull request #18826 from Veykril/push-qnsqormwlwqm
fix: Clear flycheck diagnostics per package properly
2025-01-03 12:26:33 +00:00
Lukas Wirth
c5c45e9b69 fix: Clear flycheck diagnostics per package properly 2025-01-03 13:12:05 +01:00
Lukas Wirth
1ae0258c6a
Merge pull request #18825 from Veykril/push-sllokkprznkq
minor: Encode TraitData bools as bitflags
2025-01-03 12:01:08 +00:00
Lukas Wirth
b763a97a6c minor: Encode TraitData bools as bitflags 2025-01-03 12:46:07 +01:00
Lukas Wirth
70ba3b56ff
Merge pull request #18822 from bryceberger/targetdir-absolute
allow targetDir to be an absolute path
2025-01-03 11:33:57 +00:00
Lukas Wirth
954efa9ddd
Merge pull request #18327 from ChayimFriedman2/flat-tt
Store token trees in contiguous `Vec` instead of as a tree
2025-01-03 11:31:58 +00:00
Bryce Berger
369a6546c7
allow targetDir to be an absolute path 2025-01-02 15:51:54 -05:00
Chayim Refael Friedman
acb3490b09 Store token trees in contiguous Vec instead of as a tree
I expected this to be faster (due to less allocations and better cache locality), but benchmarked it is not (neither it is slower). Memory usage, however, drops by ~50mb (of `analysis-stats .`). I guess tt construction is just not hot.

This also simplifies using even less memory for token trees by compressing equal span, which I plan to do right after.

Some workflows are more easily expressed with a flat tt, while some are better expressed with a tree. With the right helpers, though (which was mostly a matter of trial and error), even the worst workflows become very easy indeed.
2025-01-02 19:21:46 +02:00
lucasholten
943ee02ee9 Remove rust-analyzer duplicate crates integration tests 2025-01-02 15:52:06 +01:00
lucasholten
4485cbb0d4 Automatically sort crate graph 2025-01-02 15:50:51 +01:00
dfireBird
ac9e28031c
fix no space insert before and after if value is only spaces 2025-01-02 16:28:25 +05:30
Chayim Refael Friedman
d93ab14a77 Fix overflow detection in MIR evaluation
With a bit of higher-order macros everything sorts out well.

And also fix a discovered bug when comparing long strings.
2025-01-02 11:51:12 +02:00
Lukas Wirth
efbbf570a0 fix: Fix flycheck cancellations leaving stale errors 2025-01-02 09:36:54 +01:00
lucasholten
71d996f34e Fix tests 2025-01-01 16:42:29 +01:00
lucasholten
48d11dfc96 Remove load_cargo_with_fake_sysroot 2025-01-01 16:24:21 +01:00
Lukas Wirth
74d0d4e050
Merge pull request #18179 from ChayimFriedman2/omit-trait-completion
feat: Allow excluding specific traits from completion
2025-01-01 14:34:56 +00:00
Lukas Wirth
c15e36a8de Cleanup 2025-01-01 15:21:54 +01:00
Lukas Wirth
c84d09a7c3 Revamp auto-import exclude config 2025-01-01 15:06:44 +01:00
Lukas Wirth
786056cb82 Simplify completion config path resolutions 2025-01-01 14:32:45 +01:00
Lukas Wirth
13af22df98 Reduce the default autoimport exclusion list 2025-01-01 14:32:45 +01:00
Lukas Wirth
24699bd4d1
Merge pull request #18809 from Veykril/push-ktwrzsmzlplw
internal: Do not render closure ids in hover messages
2025-01-01 12:55:37 +00:00
Chayim Refael Friedman
528ed6bd01 Allow flyimporting excluded trait items if there is an exact match in the name
I.e. with `fn foo()`, don't complete at `x.fo|`, but complete (with imports) for `x.foo|`, since this is less likely to have false positives.

I opted to only do that for flyimport, even though for basic imports there can also be snippet completion (completing the params list for a method), since this is less universally applicable and seems not so useful.
2025-01-01 13:54:23 +01:00
Chayim Refael Friedman
bd6ea14002 Allow excluding specific traits from completion
To be accurate, only their methods are excluded, the trait themselves are still available.

I also excluded a bunch of std traits by default. Some less opinionated, like `AsRef`, which should never be used directly except in generic scenarios (and won't be excluded there), some more opinionated, like the ops traits, which I know some users sometimes want to use directly. Either way it's configurable.

It should be pretty easy to extend support to excluding only specific methods, but I didn't do that currently.

Traits configured to be excluded are resolved in each completion request from scratch. If this proves too expensive, it is easy enough to cache them in the DB.
2025-01-01 13:49:35 +01:00
Lukas Wirth
854caf37d6
Merge pull request #18757 from roife/fix-17812
feat: support updating snapshot tests with codelens/hovering/runnables
2025-01-01 12:44:55 +00:00
Lukas Wirth
c95aa86d30 internal: Do not render closure ids in hover messages
They are not useful
2025-01-01 13:41:07 +01:00
Chayim Refael Friedman
1334961586
Merge pull request #18797 from profetia/issue10583
Fix replace-if-let-with-match generates non-exhausive match
2024-12-31 15:40:55 +00:00
lucasholten
ccbc3d2cb5 Add back optimizations 2024-12-31 15:48:58 +01:00
lucasholten
03b7eb3810 Add back tests removed in #18080 2024-12-31 15:48:58 +01:00
lucasholten
5b51c4c961 Add back crate graph deduplication 2024-12-31 15:47:29 +01:00
lucasholten
431aab10fb Remove CARGO_RUSTC_CURRENT_DIR 2024-12-31 15:47:29 +01:00
yanglsh
258823daa9 Fix replace-if-let-with-match generates non-exhausive match 2024-12-31 07:40:45 -07:00
Lukas Wirth
204c8d704a Base relative cargo configs onto the manifest
This is not correct, but should be equivalent in most cases
2024-12-31 14:52:00 +01:00
Lukas Wirth
551a91aeaa fix: Populate cargo config env vars for crates 2024-12-31 14:32:35 +01:00
Lukas Wirth
88e630b859
Merge pull request #18802 from roife/fix-18800
fix: incorrect file_id used for ranges in outgoing calls
2024-12-31 12:33:51 +00:00
Lukas Wirth
fd7ef275f6
Merge pull request #18805 from Veykril/push-pzurvxvoolxs
internal: Implement `<RaSpanServer as SourceFile>::eq`
2024-12-31 12:15:38 +00:00