rust-analyzer/crates
bors 16c8deeb86 Auto merge of #16835 - wyatt-herkamp:use_one_tt_for_a_derive, r=Veykril
Have Derive Attribute share a token tree with it's proc macros.

The goal of this PR is to stop creating a token tree for each derive proc macro.

This is done by giving the derive proc macros an id to its parent derive element.

From running the analysis stat on the rust analyzer project I did see a small memory decrease.

```
Inference:           42.80s, 362ginstr, 591mb
MIR lowering:        8.67s, 67ginstr, 291mb
Mir failed bodies: 18 (0%)
Data layouts:        85.81ms, 609minstr, 8mb
Failed data layouts: 135 (6%)
Const evaluation:    440.57ms, 5235minstr, 13mb
Failed const evals: 1 (0%)
Total:               64.16s, 552ginstr, 1731mb
```
After Change
```
Inference:           40.32s, 340ginstr, 593mb
MIR lowering:        7.95s, 62ginstr, 292mb
Mir failed bodies: 18 (0%)
Data layouts:        87.97ms, 591minstr, 8mb
Failed data layouts: 135 (6%)
Const evaluation:    433.38ms, 5226minstr, 14mb
Failed const evals: 1 (0%)
Total:               60.49s, 523ginstr, 1680mb
```

Currently this breaks the expansion for the actual derive attribute.

## TODO
- [x] Pick a better name for the function `smart_macro_arg`
2024-03-21 18:04:38 +00:00
..
base-db Move Edition into span crate 2024-03-21 10:21:44 +01:00
cfg Review Updates and added tests. 2024-03-11 11:05:59 -04:00
flycheck internal: Enforce utf8 paths 2024-03-19 15:39:00 +01:00
hir Auto merge of #16835 - wyatt-herkamp:use_one_tt_for_a_derive, r=Veykril 2024-03-21 18:04:38 +00:00
hir-def Auto merge of #16835 - wyatt-herkamp:use_one_tt_for_a_derive, r=Veykril 2024-03-21 18:04:38 +00:00
hir-expand Auto merge of #16835 - wyatt-herkamp:use_one_tt_for_a_derive, r=Veykril 2024-03-21 18:04:38 +00:00
hir-ty Move Edition into span crate 2024-03-21 10:21:44 +01:00
ide Keep the span for Attr::Literal 2024-03-21 10:28:25 +01:00
ide-assists fix: typo 2024-03-15 21:14:17 +08:00
ide-completion Keep the span for Attr::Literal 2024-03-21 10:28:25 +01:00
ide-db Split SymbolKind::Function into Function and Method 2024-03-17 11:07:22 +01:00
ide-diagnostics Make use of ThinArc in RawAttrs 2024-03-21 11:49:09 +01:00
ide-ssr internal: Improve rooted upmapping 2024-03-12 13:46:58 +01:00
intern Merge commit '426d2842c1f0e5cc5e34bb37c7ac3ee0945f9746' into sync-from-ra2 2024-01-03 11:35:07 +02:00
limit Merge commit 'ddf105b646c6749a2de2451c9a499a354eec79c2' into sync-from-ra 2024-02-11 08:40:19 +02:00
load-cargo internal: Enforce utf8 paths 2024-03-19 15:39:00 +01:00
mbe Resolve whether $pat is $pat_param or not via 🌟hygiene🌟 2024-03-21 10:22:45 +01:00
parser fix: Improve error recovery for match arms 2024-03-19 10:55:47 +01:00
paths internal: Enforce utf8 paths 2024-03-19 15:39:00 +01:00
proc-macro-api internal: Enforce utf8 paths 2024-03-19 15:39:00 +01:00
proc-macro-srv internal: Enforce utf8 paths 2024-03-19 15:39:00 +01:00
proc-macro-srv-cli Merge commit 'ddf105b646c6749a2de2451c9a499a354eec79c2' into sync-from-ra 2024-02-11 08:40:19 +02:00
profile Merge commit '574e23ec508064613783cba3d1833a95fd9a5080' into sync-from-ra 2024-03-10 08:47:38 +02:00
project-model fix: Fix projects depending on rustc_private hanging 2024-03-21 16:55:42 +01:00
rust-analyzer Auto merge of #16892 - Veykril:crate-graph-non-eager, r=Veykril 2024-03-19 15:36:26 +00:00
salsa Merge commit '574e23ec508064613783cba3d1833a95fd9a5080' into sync-from-ra 2024-03-10 08:47:38 +02:00
sourcegen Merge commit 'ddf105b646c6749a2de2451c9a499a354eec79c2' into sync-from-ra 2024-02-11 08:40:19 +02:00
span Move Edition into span crate 2024-03-21 10:21:44 +01:00
stdx Remove dead test code 2024-03-14 16:24:51 +01:00
syntax internal: Move grammar codegen into xtask 2024-03-19 10:57:53 +01:00
test-fixture Move Edition into span crate 2024-03-21 10:21:44 +01:00
test-utils Merge commit 'ac998a74b3c8ff4b81c3eeb9a18811d4cc76226d' into sync-from-ra 2024-02-18 09:41:20 +02:00
text-edit Merge commit 'ddf105b646c6749a2de2451c9a499a354eec79c2' into sync-from-ra 2024-02-11 08:40:19 +02:00
toolchain internal: Enforce utf8 paths 2024-03-19 15:39:00 +01:00
tt feat: Support macro calls in eager macros for IDE features 2024-03-14 15:40:35 +01:00
vfs internal: Don't eagerly try to read crate root file contents before VFS 2024-03-19 16:12:56 +01:00
vfs-notify internal: Enforce utf8 paths 2024-03-19 15:39:00 +01:00