bors[bot] 62622c6940
Merge #9550
9550: Proc macro multi abi proof of concept r=matklad a=alexjg

#8925 was irritating me so I thought I would have a bash at fixing it. What I've done here is copy the `crates/proc_macro_srv/src/proc_macro` code (which is copied from `<RUST>/library/proc_macro`) to `crates/proc_macro_srv/src/proc_macro_nightly` and the modified the nightly version to include the changes from https://github.com/rust-analyzer/rust-analyzer/pull/9047 and aeb7b183a2

This gives us the code to support both stable and nightly ABIs. Then we use the `proc_macro_api::version::read_dylib_info` to determine which version of the ABI to load when creating a `ProcMacroLibraryLibLoading` (which is now an enum). 

This seems to work for me.  The code could be cleaned up but I wanted to see if the approach makes sense before I spend more time on it.

I've split the change into two commits, the first is just copying and modifying the `proc_macro` crate, the second contains most of the interesting work around figuring out which ABI to use.

Co-authored-by: Alex Good <alex@memoryandthought.me>
Co-authored-by: alexjg <alex@memoryandthought.me>
2021-07-13 10:35:20 +00:00
..
2021-07-05 14:19:41 +03:00
2021-07-05 14:19:41 +03:00
2021-07-09 11:01:55 -04:00
2021-07-08 15:49:39 +02:00
2021-07-11 16:14:39 +02:00
2021-07-11 12:51:33 +00:00
2021-07-05 14:19:41 +03:00
2021-07-05 14:19:41 +03:00
2021-07-05 14:19:41 +03:00
2021-07-05 14:19:41 +03:00
2021-07-12 15:19:53 +02:00
2021-07-09 11:01:55 -04:00
2021-07-05 14:19:41 +03:00
2021-07-12 15:34:49 +02:00
2021-07-11 13:51:52 +03:00
2021-07-05 14:19:41 +03:00
2021-07-08 16:43:39 +02:00
2021-07-10 17:25:16 +00:00
2021-07-05 14:19:41 +03:00
2021-07-05 14:19:41 +03:00
2021-07-05 14:19:41 +03:00
2021-07-05 14:19:41 +03:00