Aleksey Kladov
d8a3d6f378
internal: cleanup proc macro server error handlig
...
When dealing with proc macros, there are two very different kinds of
errors:
* first, usual errors of "proc macro panicked on this particular input"
* second, the proc macro server might day if the user, eg, kills it
First kind of errors are expected and are a normal output, while the
second kind are genuine IO-errors.
For this reason, we use a curious nested result here: `Result<Result<T,
E1>, E2>` pattern, which is 100% inspired by http://sled.rs/errors.html
2021-08-31 19:01:39 +03:00
Aleksey Kladov
722a2a4690
minor: improve readability
...
naming, layout & comments help!
2021-08-31 15:46:00 +03:00
Dezhi Wu
ba0947dded
switch log
crate to tracing
2021-08-30 15:11:42 +08:00
Aleksey Kladov
bef5e3096e
minor: remove debug print
2021-08-29 12:33:07 +03:00
Aleksey Kladov
0d5c671d76
minor: reformat
2021-08-28 23:38:39 +03:00
Aleksey Kladov
c639fe333f
internal: improve compilation critical path a bit
2021-08-28 22:43:37 +03:00
Aleksey Kladov
55e9476e4b
internal: more production-ready proc-macro RPC deserialization
...
* avoid arbitrary nested JSON tree (danger of stack overflow)
* use more compact representation.
2021-08-28 22:43:37 +03:00
Aleksey Kladov
e86388689f
internal: remove unreasonable crate dependency
...
Proc macro expansion shouldn't know about salsa at all.
2021-08-22 14:05:12 +03:00
Laurențiu Nicola
f69225c4fa
Fix formatting
2021-08-17 19:25:37 +03:00
Florian sp1rit
2bfaffbf82
proc_macro_api: make commit & date suffix of binary version optional
...
Signed-off-by: Florian "sp1rit" <sp1ritCS@protonmail.com>
2021-08-17 14:08:10 +03:00
Lukas Wirth
7c7c4543da
Replace useless types
2021-07-31 14:29:15 +02:00
Aleksey Kladov
8d8c26e6f5
internal: a bit more of cwd safety for flycheck
2021-07-17 18:13:35 +03:00
Aleksey Kladov
8df38aa797
internal: make sure that proc macro machinery doesn't depend on cwd
2021-07-17 17:55:16 +03:00
Aleksey Kladov
9318c643f1
internal: make it easier to isolate IO
2021-07-17 17:55:16 +03:00
Jonas Schievink
29db33ce76
Address review comments
2021-07-12 15:19:53 +02:00
Jonas Schievink
abe0ead3a2
Use #[derive(Debug)]
2021-07-08 17:10:35 +02:00
Jonas Schievink
5a9ca311e3
Remove proc macro management thread
2021-07-08 16:43:39 +02:00
Manas
f5c9407a8f
This patch shortens the spawned threads' names, as threads on Linux
...
have an upper limit of 16 characters for their names.
2021-07-08 18:27:54 +05:30
Manas
5e6eee5f63
Explicitly name all spawned threads
...
The thread name is shown in debugger as well as panic messages and this
patch makes it easier to follow a thread instead of looking through
full backtrace, by naming all spawned threads according to their
functioning.
2021-07-08 01:23:57 +05:30
Laurențiu Nicola
e3ce88f6f2
Minor clippy perf fixes
2021-06-18 14:40:51 +03:00
bors[bot]
5a8ddb4b2d
Merge #9260
...
9260: tree-wide: make rustdoc links spiky so they are clickable r=matklad a=lf-
Rustdoc was complaining about these while I was running with --document-private-items and I figure they should be fixed.
Co-authored-by: Jade <software@lfcode.ca>
2021-06-14 07:16:48 +00:00
Jade
20b325c7d5
tree-wide: make rustdoc links spiky so they are clickable
2021-06-13 21:58:05 -07:00
Maan2003
5ac6804bb3
cargo fmt
2021-06-13 09:48:15 +05:30
Maan2003
c50b4579ec
clippy::useless_return
2021-06-13 09:35:29 +05:30
Maan2003
c9b4ac5be4
clippy::redudant_borrow
2021-06-13 09:24:16 +05:30
Matthias Krüger
9452dfaac7
NFC: remove redundant clones (clippy::perf)
2021-06-03 15:32:46 +02:00
memoryruins
27ba1dd8e3
Replace memmap
to memmap2
in proc_macro_api
2021-05-03 20:20:47 -04:00
Laurențiu Nicola
6b187af337
Add profiling spans under cargo_to_crate_graph
2021-04-22 21:25:29 +03:00
Edwin Cheng
a2950fcb05
Trim down IPC json size
2021-03-24 15:01:37 +08:00
Edwin Cheng
79f583ed66
Improve message usage in proc-macro
...
Reuse storage for the buffer send to child process of proc-macro.
2021-03-24 03:51:06 +08:00
Edwin Cheng
f41ae64722
Ignore proc-macro stdout to prevent IPC crash
2021-03-24 03:44:28 +08:00
Matthias Krüger
64b91393b8
remove uselessly wrapped ?s. (clippy::meedless_question_mark
...
let x = Some(3);
let y = Some(x?);
can just be:
let y = x
2021-03-17 02:19:40 +01:00
Matthias Krüger
966c23f529
avoid converting types into themselves via .into() (clippy::useless-conversion)
...
example: let x: String = String::from("hello world").into();
2021-03-17 01:27:56 +01:00
Edwin Cheng
a8c9c88292
Add test for proc-macro meta info retrieval
2021-03-15 23:38:22 +08:00
Matthias Krüger
cad617bba0
some clippy::performance fixes
...
use vec![] instead of Vec::new() + push()
avoid redundant clones
use chars instead of &str for single char patterns in ends_with() and starts_with()
allocate some Vecs with capacity to avoid unneccessary resizing
2021-03-15 10:19:59 +01:00
Edwin Cheng
ad34e79bb9
use doc-comments
2021-03-10 04:54:31 +08:00
Edwin Cheng
cc8c40480a
Print warning if proc-macro built by old rustc
2021-03-04 14:47:34 +08:00
Jay Somedon
0669abda4a
Revise error message regarding metadata version
...
Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com>
2021-03-04 09:15:28 +08:00
Jay Somedon
a8f7326ee5
Update condition check code style
...
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-03-04 09:11:43 +08:00
Jay Somedon
c92db2abf9
Update comment
...
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-03-04 09:11:43 +08:00
Jay Somedon
55d73bc675
Fix multiple issues from code review
...
* check metadata version
* use memmap
* use Result instead of unwrap
with Jay Somedon <jay.somedon@outlook.com>
2021-03-04 09:11:33 +08:00
Jay Somedon
6608acef71
Read version of rustc that compiled proc macro
...
With Jay Somedon <jay.somedon@outlook.com>
2021-03-04 09:05:23 +08:00
Yoshua Wuyts
79d103d5b4
Remove redundant clones
2021-02-05 16:57:26 +01:00
Laurențiu Nicola
7ed80bae92
Reap proc macro server instances
2021-02-01 21:24:09 +02:00
Vincent Esche
21f8239ac8
Fixed typos in code comments
2021-01-09 15:41:29 +01:00
Edwin Cheng
ae92baba6a
Remove serde_stacker which depends on cc
2021-01-01 15:26:55 +08:00
Edwin Cheng
a65025604d
Fix deep syntax tree bug generated by proc-macro
2021-01-01 15:09:27 +08:00
Jonas Schievink
70877428a8
Pass crate environment to proc macros
2020-12-27 15:29:47 +01:00
Jonas Schievink
798968e1e3
Move TokenExpander to base_db and rename it
...
It's only used to break the dependency to proc_macro_api
2020-12-27 15:29:47 +01:00
Jonas Schievink
2b2318e695
Remove dummy ProcMacroClient in favor of Option
2020-12-07 17:16:50 +01:00