-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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_srv
library 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.