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
Lukas Wirth
93024ad411
Switch token trees to use Symbols
2024-07-16 10:11:59 +02:00
Lukas Wirth
e846c04fbe
Encode ident rawness and literal kind separately in tt::Leaf
2024-07-15 12:24:40 +02:00
Lukas Wirth
cde0f69cae
Fix stable iteration ordering for Map<Name, ...>
usages
2024-07-15 11:25:46 +02:00
Lukas Wirth
f2d51073d2
Use statics + clone instead of const until const can access statics
2024-07-14 17:52:59 +02:00
Lukas Wirth
3fe815b0f3
Use Symbol in Name
2024-07-12 16:06:44 +02:00
Lukas Wirth
882ae7105d
Simplify unresolved proc-macro handling
2024-06-30 13:26:13 +02:00
bors
fa486e694e
Auto merge of #17406 - Veykril:modpath-clone, r=Veykril
...
internal: Don't unnecessarily clone ModPaths out of interning wrappers
2024-06-12 09:49:41 +00:00
Lukas Wirth
ba543f7d76
internal: Don't unnecessarily clone ModPaths out of interning wrappers
2024-06-12 11:43:36 +02:00
bors
22648b2655
Auto merge of #17405 - Veykril:modpath-clone, r=Veykril
...
internal: Don't unnecessarily clone ModPaths in early name res
2024-06-12 09:27:49 +00:00
Lukas Wirth
855282fa53
internal: Don't unnecessarily clone ModPaths in early name res
2024-06-12 11:25:19 +02:00
Lukas Wirth
8ebabce475
internal: Remove FileId::BOGUS
2024-06-12 08:16:07 +02:00
Wilfred Hughes
27182bb96b
chore: Prefer tracing span shorthand macros
2024-06-06 16:52:25 -07:00
bors
af488c971f
Auto merge of #17352 - roife:fix-issue-17338, r=Veykril
...
fix: do not resolve prelude within block modules
fix #17338 (continuing from #17251 ).
In #17251 , we injected preludes into non-top-level modules, which leading to r-a to directly resolve names in preludes in block modules. This PR fix it by checking whether the module is a pseudo-module introduced by blocks. (similar to what we do for extern preludes)
2024-06-06 09:40:39 +00:00
roife
c330c62aa2
fix: do not resolve prelude within block modules
2024-06-06 16:55:09 +08:00
Lukas Wirth
6f0207d594
Cleanup some inert attribute stuff
2024-06-04 12:38:20 +02:00
Lukas Wirth
60fa981df1
Simplify
2024-06-03 19:06:58 +02:00
bors
d4da3f925c
Auto merge of #17251 - roife:fix-issue-17057, r=Veykril
...
fix: resolve extern prelude for local mods in block modules
fix https://github.com/rust-lang/rust-analyzer/issues/17057 , https://github.com/rust-lang/rust-analyzer/issues/17032 .
We should use `ModuleOrigin` to check if the current module is a pseudo-module introduced by blocks (where names might be shadowed), rather than checking `block_def_map`.
2024-05-22 20:11:24 +00:00
roife
d9cc159b26
fix: check pseudo-block by local_id instead of ModuleOrigin
2024-05-23 02:39:53 +08:00
Lukas Wirth
cd9e90cc71
Update builtin tool list
2024-05-18 10:52:05 +02:00
roife
55db9530eb
fix: resolve extern prelude for local mods in block modules
2024-05-17 23:29:00 +08:00
Lukas Wirth
56552f4839
Push macro-parsing error calculation out of fundamental queries
2024-05-13 16:56:26 +02:00
Lukas Wirth
a268eaf053
fix: Correctly handle no_core
/no_std
for preludes
2024-05-02 10:50:28 +02:00
Lukas Wirth
bfe59bbdc8
fix: Fix attributes on generic parameters colliding in item tree
2024-04-27 13:15:36 +02:00
roife
a543516ea4
fix: handle escaped chars in doc comments
2024-04-19 14:57:37 +08:00
Lukas Wirth
83370fe5d7
Use Edition::CURRENT
2024-04-14 15:30:29 +02:00
Lukas Wirth
8e324e98a1
Rename ProcMacroKind::FuncLike to Bang
2024-03-22 11:20:56 +01:00
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
Wyatt Herkamp
c381d0fc64
Review Updates
2024-03-21 13:41:46 -04:00
Wyatt Herkamp
262e06f1ef
Remove MacroCallKind::DeriveAttr
2024-03-21 12:50:58 -04:00
Wyatt Herkamp
c376addfcc
Cleanup
2024-03-21 08:12:26 -04:00
Wyatt Herkamp
2c2bbe07fd
Treat Derive Macro specially.
2024-03-21 08:07:54 -04:00
Wyatt Herkamp
4bd2f948bb
Formatting
2024-03-21 08:07:54 -04:00
Wyatt Herkamp
15d183be79
Initial Attempt limiting number of token tree in macro expansion.
2024-03-21 08:06:43 -04:00
Lukas Wirth
928d847cc2
Keep the span for Attr::Literal
2024-03-21 10:28:25 +01:00
Lukas Wirth
255a8aef92
Move Edition into span crate
2024-03-21 10:21:44 +01:00
Lukas Wirth
b59c8c76db
Repalce Span with SyntaxContextId in MacroCallLoc
2024-03-15 12:47:05 +01:00
Lukas Wirth
abe3177445
Shrink MacroCallLoc
2024-03-13 18:05:27 +01:00
Laurențiu Nicola
0f43b55e83
Stop using an Arc when setting the file text
2024-03-08 20:30:12 +02:00
Laurențiu Nicola
02b6c181dd
Compress file text using lz4 in salsa
2024-03-08 20:22:08 +02:00
Lukas Wirth
c3c9f5ffe1
internal: Compute syntax validation errors on demand
2024-03-04 12:06:15 +01:00
Lukas Wirth
4303e741de
Cleanup
2024-03-04 11:10:06 +01:00
Lukas Wirth
efd76ecff1
Move AstIdMap infra to the span crate
2024-03-01 15:39:44 +01:00
Lukas Wirth
d93096ecc0
internal: Fetch toolchain and datalayout for DetachedFiles
2024-02-20 10:40:39 +01:00
Lukas Wirth
1e6cef94df
fix: Fix build scripts not being rebuilt in some occasions
2024-02-14 15:20:45 +01:00
Lukas Wirth
e2a985e93f
Encode disabled proc-macros via boolean flag, not special Expander
2024-02-12 13:39:38 +01:00
tamasfe
ab50ec9863
fix(macros): no diagnostics for disabled macro
2024-02-12 12:50:44 +01:00
tamasfe
6d45afd8d8
feat: ignored and disabled macro expansion
2024-02-12 12:50:40 +01:00
Lukas Wirth
00303c3b67
Abstract over ItemTreeLoc
2024-02-10 11:37:59 +01:00