Commit graph

32748 commits

Author SHA1 Message Date
Lukas Wirth
061d257e90
Merge pull request #18835 from Veykril/push-wnmwwoktmpyt
Hide synthetic locals from completions
2025-01-04 16:03:00 +00:00
Lukas Wirth
bf7597cd5a Hide synthetic locals from completions 2025-01-04 16:48:08 +01:00
Laurențiu Nicola
d1d4319f9b
Merge pull request #18831 from lnicola/ci-rustc-tests
Fix metrics workflow
2025-01-03 18:01:37 +00:00
Laurențiu Nicola
2795772ea7 Fix metrics workflow 2025-01-03 19:46:47 +02:00
Lukas Wirth
a440fcb698
Merge pull request #18806 from LHolten/deduplicate-crate-graph
fix: Deduplicate crate graph
2025-01-03 14:56:14 +00:00
Lukas Wirth
fd2cb645b7
Merge pull request #18830 from alibektas/18814
fix: 18814
2025-01-03 13:52:09 +00:00
Ali Bektas
a0898b9698 fix: 18814 2025-01-03 14:36:40 +01:00
Lukas Wirth
9bc53ffdab
Merge pull request #18829 from Veykril/push-ouvwrxoovwkr
Disable rustc_test metrics again
2025-01-03 13:01:20 +00:00
Laurențiu Nicola
c528b56b92
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
9ece512af7 Disable rustc_test metrics again 2025-01-03 13:46:33 +01:00
Lukas Wirth
3d6300330d
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
c8da114dfd Add description field to edition manifest 2025-01-03 14:32:35 +02:00
Lukas Wirth
7d203673f5 minor: Honor CARGO_TARGET_DIR for cargo target dir config 2025-01-03 13:28:52 +01:00
Lukas Wirth
ce6053cbd6
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
6e5e44d0fd fix: Clear flycheck diagnostics per package properly 2025-01-03 13:12:05 +01:00
Lukas Wirth
b67de74de9
Merge pull request #18825 from Veykril/push-sllokkprznkq
minor: Encode TraitData bools as bitflags
2025-01-03 12:01:08 +00:00
Lukas Wirth
4d66fa797f minor: Encode TraitData bools as bitflags 2025-01-03 12:46:07 +01:00
Lukas Wirth
db55d9ade0
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
b6910ed1b2
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
5c143aa65d
allow targetDir to be an absolute path 2025-01-02 15:51:54 -05:00
Chayim Refael Friedman
ceba289f80 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
81153940be Remove rust-analyzer duplicate crates integration tests 2025-01-02 15:52:06 +01:00
lucasholten
cdc972499e Automatically sort crate graph 2025-01-02 15:50:51 +01:00
Lukas Wirth
d3dd40f636
Merge pull request #18820 from dfireBird/fix-space-char-on-literal-render
Fix no space insert before and after if value is only spaces
2025-01-02 11:15:08 +00:00
dfireBird
83fcdbf3f6
fix no space insert before and after if value is only spaces 2025-01-02 16:28:25 +05:30
Lukas Wirth
a611d8eb4e
Merge pull request #18819 from ChayimFriedman2/i128-max
fix: Fix overflow detection in MIR evaluation
2025-01-02 10:06:09 +00:00
Chayim Refael Friedman
bb400ca121 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
4500856e45
Merge pull request #18817 from Veykril/push-zzkkotwuyqzt
fix: Fix flycheck cancellations leaving stale errors
2025-01-02 08:52:30 +00:00
Lukas Wirth
189baf661e fix: Fix flycheck cancellations leaving stale errors 2025-01-02 09:36:54 +01:00
lucasholten
86441c5bb9 Fix tests 2025-01-01 16:42:29 +01:00
lucasholten
e12fe30351 Remove load_cargo_with_fake_sysroot 2025-01-01 16:24:21 +01:00
Lukas Wirth
7e639ee3dd
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
1adc805dfa Cleanup 2025-01-01 15:21:54 +01:00
Lukas Wirth
5303dc5d99 Revamp auto-import exclude config 2025-01-01 15:06:44 +01:00
Lukas Wirth
c5bda0d3f7 Simplify completion config path resolutions 2025-01-01 14:32:45 +01:00
Lukas Wirth
45954ebaa4 Reduce the default autoimport exclusion list 2025-01-01 14:32:45 +01:00
Lukas Wirth
e5950cd41d
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
a02a1afc92 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
7e6ade117c 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
a612fc9a16
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
721e43e9d3 internal: Do not render closure ids in hover messages
They are not useful
2025-01-01 13:41:07 +01:00
Chayim Refael Friedman
085ad10794
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
947dfdce0c Add back optimizations 2024-12-31 15:48:58 +01:00
lucasholten
e15df1f414 Add back tests removed in #18080 2024-12-31 15:48:58 +01:00
lucasholten
6043412342 Add back crate graph deduplication 2024-12-31 15:47:29 +01:00
lucasholten
c46e9c48b0 Remove CARGO_RUSTC_CURRENT_DIR 2024-12-31 15:47:29 +01:00
yanglsh
60c3fb12d3 Fix replace-if-let-with-match generates non-exhausive match 2024-12-31 07:40:45 -07:00
Lukas Wirth
dcee5fd71f
Merge pull request #18807 from Veykril/push-vxopsoummyzx
fix: Populate cargo config env vars for crates
2024-12-31 14:06:36 +00:00
Lukas Wirth
4284637e64 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
fd4635c99c fix: Populate cargo config env vars for crates 2024-12-31 14:32:35 +01:00