Commit graph

22516 commits

Author SHA1 Message Date
Lukas Wirth
d822f6a0ed
Merge pull request #20008 from Veykril/push-rsnkrwyplmwr
More idiomatic salsa use
2025-06-15 08:12:11 +00:00
Lukas Wirth
4b38ea5abd Unify assoc item visibility queries 2025-06-15 10:01:34 +02:00
Lukas Wirth
bceeb6a3c7 Idiomatic salsa use for extern block abi query 2025-06-15 10:01:04 +02:00
Lukas Wirth
4e392f82cb Idiomatic salsa use for impl items query 2025-06-15 09:40:02 +02:00
Lukas Wirth
155ef3de60 Replace unnecessary use of MacroDefId with MacroId 2025-06-15 09:16:45 +02:00
Lukas Wirth
08f795335b
Merge pull request #20007 from Veykril/push-opqzsnwzwyvn
Idiomatic salsa use for enum variants query
2025-06-15 07:15:22 +00:00
Lukas Wirth
aa2d234426 Idiomatic salsa use for enum variants query 2025-06-15 09:03:44 +02:00
Lukas Wirth
188b0667ce
Merge pull request #20006 from Veykril/push-uvmuznvlwsxx
Cleanup incremental tests and verify query executions
2025-06-15 06:25:54 +00:00
Lukas Wirth
f68512af65 Cleanup incremental tests 2025-06-15 08:07:49 +02:00
Chayim Refael Friedman
4d30c53ceb
Merge pull request #19996 from LHolten/exclude-imports
Some checks are pending
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
Add support for excluding imports from symbol search
2025-06-15 00:52:44 +00:00
Lucas Holten
dc85e3ee35 Add config option to exclude imports from symbol search 2025-06-15 02:41:35 +02:00
Lukas Wirth
fe5a925a74
Merge pull request #19984 from WaffleLapkin/unprefer_align
Some checks are pending
metrics / generate_final_metrics (push) Blocked by required conditions
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
remove `pref_align_of` intrinsic handling, rename `{min_=>}align_of{,_val}`
2025-06-14 05:13:06 +00:00
Waffle Lapkin
cfc416a7ba
remove pref_align_of intrinsic handling, rename {min_=>}align_of{,_val} 2025-06-13 21:31:46 +02:00
Lukas Wirth
a497f4114c
Merge pull request #19997 from Veykril/push-xltylvqtpwzx
Some checks are pending
metrics / generate_final_metrics (push) Blocked by required conditions
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
Remove `InternedCallableDefId`
2025-06-13 15:41:49 +00:00
Lukas Wirth
133418e3cc Remove InternedCallableDefId
It's unnecessary
2025-06-13 17:30:50 +02:00
Lukas Wirth
8643a858db Turn BlockId into a #[salsa::tracked] 2025-06-13 17:30:04 +02:00
Lukas Wirth
9f051ee104 Use ThinVec in ItemScope in a couple places 2025-06-13 15:34:03 +02:00
Lukas Wirth
b9ce647cf1 Bring back EMPTY item tree deduplication 2025-06-13 14:51:23 +02:00
Lukas Wirth
c0258d01ba
Merge pull request #19990 from Veykril/push-zkvrlrotmuzr
Generate annotations for macro defined items if their name is in the input
2025-06-13 11:41:26 +00:00
Lukas Wirth
d78cade65e Generate annotations for macro defined items if their name is in the input 2025-06-13 13:30:09 +02:00
Lukas Wirth
bd002fe65c
Merge pull request #19982 from Veykril/push-uptnmqtlylsx
Simplify and optimize `ItemTree`
2025-06-13 11:16:24 +00:00
Lukas Wirth
16ebd2990f Remove unnecessary item tree query calls 2025-06-13 13:05:52 +02:00
Lukas Wirth
23712aea06 cargo upgrade 2025-06-13 10:08:20 +02:00
Lukas Wirth
048a01a05d Remove ast ids from item tree mod items 2025-06-13 08:47:25 +02:00
Lukas Wirth
65e2e2c083 Split mod items into small and big variants 2025-06-13 08:24:50 +02:00
Lukas Wirth
ace69d93e0 Store item tree visibilities in a thin vec 2025-06-13 08:09:57 +02:00
Lukas Wirth
87f99c7dbd
Merge pull request #19985 from ChayimFriedman2/proc-macro-srv-ast-id
Some checks are pending
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
fix: Support spans with proc macro servers from before the ast id changes
2025-06-12 13:26:03 +00:00
Chayim Refael Friedman
3e834add61 Support spans with proc macro servers from before the ast id changes
The only thing changed is the value of the fixup ast id, so we just swap it.
2025-06-12 16:08:48 +03:00
Lukas Wirth
17d848a1bb Fix tests 2025-06-12 14:01:46 +02:00
Lukas Wirth
d8a6aaef96 Return item tree query results by ref 2025-06-12 13:35:43 +02:00
Lukas Wirth
2448abdb55 Remove dead code 2025-06-12 13:35:43 +02:00
Lukas Wirth
23eef0c4ea Shrink ModItem by usize 2025-06-12 13:35:43 +02:00
Chayim Refael Friedman
8715e6f8ac
Merge pull request #19983 from ChayimFriedman2/proc-macro-eq
fix: Fix comparison of proc macros
2025-06-12 10:42:21 +00:00
Chayim Refael Friedman
4f54885901 Fix comparison of proc macros
Comparing the TypeId is not enough, they also contain data.
2025-06-12 13:31:55 +03:00
Lukas Wirth
83a7ecdead Remove AttrOwner 2025-06-12 12:09:41 +02:00
Lukas Wirth
f27268f319 Ditch the unnecessary smallvec 2025-06-12 11:27:55 +02:00
Lukas Wirth
8930c58d30 Coalesce item tree data maps 2025-06-12 11:21:26 +02:00
Lukas Wirth
80996dca35 AttrOwner needs no ModItem 2025-06-12 11:05:18 +02:00
Lukas Wirth
f3434f537f Remove FileItemTreeId 2025-06-12 10:25:06 +02:00
Lukas Wirth
e9f8ecab45 Remove ItemTreeId 2025-06-12 10:25:06 +02:00
Lukas Wirth
7011fd054f
Merge pull request #19981 from Veykril/push-tzzunsrqqunv
Some checks are pending
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
fix: Do not force descend into derives for goto IDE features
2025-06-12 07:48:49 +00:00
Lukas Wirth
c8cedae2f9 fix: Do not force descend into derives for goto IDE features
Doing so can cause us to duplicate navigation targets for the same ranges which breaks convenience features of some editors where go to def can trigger find all references
2025-06-12 09:37:45 +02:00
Lukas Wirth
13494f4cac ItemTree's ItemVisibilities has no identity, so deduplicate 2025-06-12 09:14:43 +02:00
Lukas Wirth
c15fc9a344
Merge pull request #19837 from ChayimFriedman2/stable-astid
Provide better incrementality when items are changed
2025-06-12 06:09:01 +00:00
Chayim Refael Friedman
9a1063f266 LRU ast id map
We can do that and it's pretty heavy.
2025-06-12 08:50:43 +03:00
Chayim Refael Friedman
0a1a78cb87 Remove most of the item tree
I'm joking, but now that the def map is the only thing that uses the item tree, we can remove a lot of things from it that aren't needed for the def map.
2025-06-12 08:50:43 +03:00
Chayim Refael Friedman
ed0b4506dd Avoid referring to the item tree except in the def map
Item tree IDs are very unstable (adding an item of a kind invalidates all following items of the same kind). Instead use ast ids, which, since the previous commit, are pretty stable.
2025-06-12 08:50:40 +03:00
Chayim Refael Friedman
4bcf03e28b Use stable AST IDs
Instead of simple numbering, we hash important bits, like the name of the item.

This will allow for much better incrementality, e.g. when you add an item. Currently, this invalidates the IDs of all following items, which invalidates pretty much everything.
2025-06-12 08:47:22 +03:00
Lukas Wirth
2095af26ad
Merge pull request #19942 from ChayimFriedman2/faux
fix: Fix completion with some attribute macros
2025-06-12 05:44:34 +00:00
David Barsky
210c71eac5 hir-ty: test (the absence of) incremental trait solving 2025-06-11 12:12:58 -04:00