rust/crates
bors[bot] 0ecdba20df
Merge #3920
3920: Implement expand_task and list_macros in proc_macro_srv r=matklad a=edwin0cheng

This PR finish up the remain `proc_macro_srv` implementation :

1. Added dylib loading code for proc-macro crate dylib. Note that we have to add some special flags for unix loading because of a bug in old version of glibc, see https://github.com/fedochet/rust-proc-macro-panic-inside-panic-expample/issues/1 and https://github.com/rust-lang/rust/issues/60593 for details.

2. Added tests for proc-macro expansion: We use a trick here by adding `serde_derive` to dev-dependencies and calling `cargo-metadata` for searching its dylib path, and expand it in our tests. 

[EDIT]
Note that this PR **DO NOT** implement the final glue code with rust-analzyer and proc-macro-srv yet.
 

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2020-04-11 11:49:07 +00:00
..
ra_arena
ra_assists Rename some tokens 2020-04-10 17:07:09 +02:00
ra_cfg
ra_db
ra_flycheck Centralize defaults 2020-04-01 18:56:47 +02:00
ra_fmt Provide more complete AST accessors to support usage in rustc 2020-04-09 11:50:37 +02:00
ra_hir add record pat missing field diagnostic 2020-04-10 06:35:52 -07:00
ra_hir_def Forward compat 2020-04-11 00:27:00 +02:00
ra_hir_expand Forward compat 2020-04-11 00:27:00 +02:00
ra_hir_ty Forward compat 2020-04-11 00:27:00 +02:00
ra_ide Rename some tokens 2020-04-10 17:07:09 +02:00
ra_ide_db Fix unnecessary braces warnings 2020-04-06 17:21:33 +03:00
ra_mbe Fix accidently quadratic behavior when processing includes 2020-04-10 19:43:37 +02:00
ra_parser Rename some tokens 2020-04-10 17:07:09 +02:00
ra_proc_macro Introduce ra_proc_macro_srv 2020-04-03 19:01:44 +08:00
ra_proc_macro_srv Improve error handling 2020-04-11 14:53:13 +08:00
ra_prof Move timeit to stdx 2020-04-10 20:46:42 +02:00
ra_project_model Migrate to privacy as per review commets 2020-04-02 21:09:03 +03:00
ra_syntax Forward compat 2020-04-11 00:27:00 +02:00
ra_text_edit
ra_tt Improve tt::Subtree debug print 2020-04-10 00:17:32 +08:00
rust-analyzer Fix non canonicallized path for crate file 2020-04-11 18:12:50 +08:00
stdx Move timeit to stdx 2020-04-10 20:46:42 +02:00
test_utils Rename some tokens 2020-04-10 17:07:09 +02:00