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
Lukas Wirth
f5a6826137
Cleanup proc-macro dylib handling
2024-12-30 11:14:27 +01:00
Lukas Wirth
714b81bec1
Decouple proc-macro server protocol from the server implementation
2024-12-30 10:33:57 +01:00
Lukas Wirth
ed8227c649
internal: Workaround salsa cycles leaking
2024-12-26 14:55:20 +01:00
Lukas Wirth
8a86fa01ac
Fix clippy lints in proc-macro-srv
2024-12-12 13:30:42 +01:00
Lukas Wirth
f370550b0a
Unload proc-macro dlls on changed timestamp
2024-12-11 09:34:27 +01:00
Lukas Wirth
93024ad411
Switch token trees to use Symbols
2024-07-16 10:11:59 +02:00
Lukas Wirth
c6709ffe05
Improve error message when the proc-macro server unexpectedly exits
2024-07-01 14:30:21 +02:00
Lukas Wirth
2fb38ceb66
Faster env snapshotting in proc-macro-srv
2024-06-30 16:10:20 +02:00
Lukas Wirth
0b88dfc8b1
Rename proc-macro-srv::server to server_impl
2024-06-30 15:36:46 +02:00
Lukas Wirth
23b043a622
Move proc-macro-srv RUSTC_VERSION fetching from include to env var
2024-06-30 15:28:31 +02:00
Lukas Wirth
21a3d01875
Remove inline rust_2018_idioms, unused_lifetimes lint warn, Cargo.toml already enforces this
2024-06-30 15:23:54 +02:00
Lukas Wirth
cd8eb0fe6d
internal: Remove span trait
2024-03-21 20:08:30 +01:00
Lukas Wirth
399dbc074b
internal: Enforce utf8 paths
2024-03-19 15:39:00 +01:00
Lukas Wirth
ed57008510
fix: Validate literals in proc-macro-srv FreeFunctions::literal_from_str
2024-02-13 12:33:51 +01:00
Lukas Wirth
8a5829cf28
Re-order mod declarations
2024-01-27 11:02:34 +01:00
Laurențiu Nicola
0ae73738ad
Try to fix feature gates
2024-01-09 09:52:58 +02:00
Lukas Wirth
b83f487d10
Set the in-rust-tree` feature for all rust-analyzer{-proc-macro-srv} steps
2024-01-04 11:02:20 +01:00
Laurențiu Nicola
932d85b529
Merge commit '426d2842c1f0e5cc5e34bb37c7ac3ee0945f9746' into sync-from-ra2
2024-01-03 11:35:07 +02:00
Laurențiu Nicola
f532576ac5
Merge commit '457b966b171b09a7e57acb710fbca29a4b3526f0' into sync-from-ra
2023-12-11 11:16:01 +02:00
Ralf Jung
11a70f6f69
also make 'core_intrinsics' internal
2023-11-22 20:00:56 +01:00
Laurențiu Nicola
c48062fe2a
Merge commit 'aa9bc8612514d216f84eec218dfd19ab83f3598a' into sync-from-ra
2023-06-05 12:04:23 +03:00
Laurențiu Nicola
bc45c7659a
⬆️ rust-analyzer
2023-02-13 13:55:14 +02:00
arcnmx
25242fe93f
⬆️ rust-analyzer
...
Merge commit '368e0bb32f1178cf162c2ce5f7e10b7ae211eb26'
2023-01-09 10:36:22 -08:00
Laurențiu Nicola
a2a1d99545
⬆️ rust-analyzer
2022-11-23 17:24:03 +02:00
Laurențiu Nicola
4f55ebbd4f
⬆️ rust-analyzer
2022-10-11 10:37:35 +03:00
Laurențiu Nicola
3e358a6827
⬆️ rust-analyzer
2022-08-30 14:51:24 +03:00
Laurențiu Nicola
9d2cb42a41
⬆️ rust-analyzer
2022-08-02 09:05:16 +03:00
Amos Wenger
e591ff3269
Add comment about replacing crossbeam with std scoped threads when they land
2022-07-22 14:23:36 +02:00
Amos Wenger
39db9cdb7d
Use std::panic::resume_unwind
2022-07-21 21:35:15 +02:00
Amos Wenger
32ee097580
Run proc macro expansion in a separate thread (for the thread-local interner)
2022-07-21 18:11:50 +02:00
Amos Wenger
315b0a7254
Add sysroot-abi feature, copy 1.64 ABI fo rnow
2022-07-20 19:18:39 +02:00
Amos Wenger
23d25a3094
Enable extra warnings required by rust-lang/rust
2022-07-20 15:00:17 +02:00
Peh
1f011fa4a3
style: rename crates to kebab case
2022-05-01 10:48:58 +00:00