Add a way to disable dll copying for users of proc_macro_srv library#11365
Conversation
|
My slight preference would be to check an environment variable instead of using a Cargo feature, but it's not that important. |
|
It's ok to use an env. if you prefer an env, I can rewrite the implementation |
|
Unrelated, which ABIs would you like to support in IntelliJ Rust? We currently support Rust 1.47 and later, but the original plan was to only have one stable version. |
I think we anyway can link multiple Btw, I think the term "ABI" is not correct in this case, because rustc always use "C" ABI for proc macros. This is actually API changes |
62e17a3 to
e277d5d
Compare
|
bors r+ |
I think it is actually correct. The ABI is what actually happens at binary level after compilation. The API is what a programmer sees. The API would be the public interface of the |
|
@bjorn3 |
|
Even in a C library, if you make changes to a public struct, for example, that's an ABI break and you're supposed to bump the soname. Not that it matters too much here :-). |
|
Ok, it looks like I interpret the ABI term too narrowly - something like "calling conventions". If we say that API changes lead to ABI changes, then yes, it is ABI changes. Ok, I will call this |
8489: Update `ra_ap_proc_macro_srv` to `0.0.94`, fix disk usage, fix pwd r=vlad20012 a=vlad20012 This update consists of rust-lang/rust-analyzer#11365, rust-lang/rust-analyzer#11353 and rust-lang/rust-analyzer#11356 PRs Fixes #7709 Fixes #8238 in a proper way (#8271 was a hacky hotfix) changelog: Don't fill up disk space by proc macro DLLs on Windows Co-authored-by: vlad20012 <beskvlad@gmail.com>
We use
ra_ap_proc_macro_srvlibrary in IntelliJ Rust in order to expand proc macros. We need a way to disable DLL copying to a temp dir on Windows behavior because it causes issues like intellij-rust/intellij-rust#7709. Unlike RA, file locking is not an issue for IntelliJ Rust because we copy DLLs to a temp dir before calling the expander.