Ryo Yoshida
de591f08d6
Handle raw identifiers in proc macro server
2022-12-04 00:26:05 +09: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
bors
c1918fcb9a
Auto merge of #100210 - mystor:proc_macro_diag_struct, r=eddyb
...
proc_macro/bridge: send diagnostics over the bridge as a struct
This removes some RPC when creating and emitting diagnostics, and
simplifies the bridge slightly.
After this change, there are no remaining methods which take advantage
of the support for `&mut` references to objects in the store as
arguments, meaning that support for them could technically be removed if
we wanted. The only remaining uses of immutable references into the
store are `TokenStream` and `SourceFile`.
r? `@eddyb`
2022-09-01 00:26:53 +00:00
Laurențiu Nicola
3e358a6827
⬆️ rust-analyzer
2022-08-30 14:51:24 +03:00
Laurențiu Nicola
8231fee466
⬆️ rust-analyzer
2022-08-16 11:24:50 +03:00
Laurențiu Nicola
22c8c9c401
⬆️ rust-analyzer
2022-08-09 07:23:57 +03:00
Nika Layzell
2c7f2c105b
proc_macro/bridge: send diagnostics over the bridge as a struct
...
This removes some RPC when creating and emitting diagnostics, and
simplifies the bridge slightly.
After this change, there are no remaining methods which take advantage
of the support for `&mut` references to objects in the store as
arguments, meaning that support for them could technically be removed if
we wanted. The only remaining uses of immutable references into the
store are `TokenStream` and `SourceFile`.
2022-08-06 15:49:43 -04: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
48bcc229bf
Move interner methods to Symbol, return SmolStr directly since it's ref-counted
2022-07-21 21:32:46 +02:00
Amos Wenger
246947b779
Fix raw ident handling (a little)
2022-07-21 19:13:44 +02:00
Amos Wenger
941416a1d6
Add test for idents incl. raw idents
2022-07-21 18:48:19 +02:00
Amos Wenger
9cf99a9c71
Stringify literals create client-side properly
2022-07-21 18:44:41 +02:00
Amos Wenger
36d825fd5d
Add test for literals created client-side
2022-07-21 18:29:28 +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
05d8f5fee7
Use a thread-local for the symbol interner (1/2)
2022-07-21 14:57:09 +02:00
Amos Wenger
30769598a4
Move version string to RustcInfo, read '.rustc' section only once
2022-07-21 13:57:36 +02:00
Amos Wenger
bbaf4daca0
Pass tidy checks
2022-07-21 13:37:41 +02:00
Amos Wenger
fdddd83224
Assert that sysroot ABI version matches exactly
...
Otherwise, fall back to the multi ABI scheme, except in testing, where
it becomes a hard error.
This should make it possible to use a rustup-provided rust-analyzer with
proc macro dylibs compiled by older rustcs, and it'll also catch changes
to the format of `rustc --version` or the `.rustc` section that would
make them impossible to compare for equality.
2022-07-21 13:13:25 +02:00
Amos Wenger
480f555334
implement literal_from_str (poorly)
2022-07-20 19:23:25 +02:00
Amos Wenger
d25b61030e
Add literal/ident conversion, tests pass
2022-07-20 19:18:39 +02:00
Amos Wenger
191db9fed4
stub missing APIs
2022-07-20 19:18:39 +02:00
Amos Wenger
00bc060ba3
Fix imports, delete removed interfaces
2022-07-20 19:18:39 +02:00
Amos Wenger
e009cdc8d9
Move token_stream to separate module
2022-07-20 19:18:39 +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
f5042947ce
Add proc-macro-srv integration test that clones literals
...
This exercises some of the upcoming proc_macro bridge changes. It
should also pass for all supported ABIs, with the older-style bridge.
2022-07-20 16:43:40 +02:00
Amos Wenger
ade31ad757
Rename proc macro server from 'Rustc' to 'RustAnalyzer'
2022-07-20 15:40:23 +02:00
Amos Wenger
816f7fe12a
Run cargo fix --edition-idioms
2022-07-20 15:02:08 +02:00
Amos Wenger
23d25a3094
Enable extra warnings required by rust-lang/rust
2022-07-20 15:00:17 +02:00
Amos Wenger
1b416473a3
Upgrade to expect-test@1.4.0
...
cf. https://github.com/rust-analyzer/expect-test/issues/33
cf. https://github.com/rust-lang/rust/pull/99444#issuecomment-1188844202
2022-07-19 13:00:45 +02:00
Jonas Schievink
188c0e424c
Remove macro ABI version from doc comment
...
It's hard to remember to keep this in sync, but since the file path already contains the version, this comment is pretty unnecessary.
2022-07-18 17:44:53 +02:00
Jonas Schievink
5ad981ba67
Remove outdated proc macro ABIs
2022-07-18 14:58:50 +02:00
Jonas Schievink
6cb0746f82
Support the 1.64 nightly proc macro ABI
2022-07-18 14:31:21 +02:00
Jonas Schievink
ebfbb314c0
Update 1.63 proc macro ABI to match rustc
2022-07-12 15:19:31 +02:00
Laurențiu Nicola
e05e6c60a7
Bump object
2022-07-03 10:14:48 +03:00
bors
e9d3fe0484
Auto merge of #12502 - Veykril:deps, r=Veykril
...
internal: Bump Dependencies
2022-06-10 19:51:04 +00:00
Lukas Wirth
76ae5434fa
internal: Bump Dependencies
2022-06-10 17:30:02 +02:00
bjorn3
f9e1ff6846
Add doc comment
2022-06-08 14:31:36 +00:00
bjorn3
c6827e2f47
Rustfmt
2022-06-08 14:22:17 +00:00
bjorn3
a07b3103b1
Add proc macro ABI for rustc 1.63
2022-06-08 13:41:10 +00:00
Peh
1f011fa4a3
style: rename crates to kebab case
2022-05-01 10:48:58 +00:00