mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-28 14:03:35 +00:00
Auto merge of #14995 - Veykril:proc-macro-slow-test, r=lnicola
fix: Fix proc-macro slow test
This commit is contained in:
commit
1c25885bd2
2 changed files with 14 additions and 2 deletions
3
.github/workflows/ci.yaml
vendored
3
.github/workflows/ci.yaml
vendored
|
@ -63,7 +63,8 @@ jobs:
|
|||
- name: Install Rust toolchain
|
||||
run: |
|
||||
rustup update --no-self-update ${{ env.RUST_CHANNEL }}
|
||||
rustup component add rustfmt rust-src
|
||||
rustup component add --toolchain ${{ env.RUST_CHANNEL }} rustfmt rust-src
|
||||
rustup default ${{ env.RUST_CHANNEL }}
|
||||
|
||||
- name: Cache Dependencies
|
||||
uses: Swatinem/rust-cache@988c164c3d0e93c4dbab36aaf5bbeb77425b2894
|
||||
|
|
|
@ -839,6 +839,17 @@ fn resolve_proc_macro() {
|
|||
return;
|
||||
}
|
||||
|
||||
// skip using the sysroot config as to prevent us from loading the sysroot sources
|
||||
let mut rustc = std::process::Command::new(toolchain::rustc());
|
||||
rustc.args(["--print", "sysroot"]);
|
||||
let output = rustc.output().unwrap();
|
||||
let sysroot =
|
||||
vfs::AbsPathBuf::try_from(std::str::from_utf8(&output.stdout).unwrap().trim()).unwrap();
|
||||
|
||||
let standalone_server_name =
|
||||
format!("rust-analyzer-proc-macro-srv{}", std::env::consts::EXE_SUFFIX);
|
||||
let proc_macro_server_path = sysroot.join("libexec").join(&standalone_server_name);
|
||||
|
||||
let server = Project::with_fixture(
|
||||
r###"
|
||||
//- /foo/Cargo.toml
|
||||
|
@ -916,7 +927,7 @@ pub fn foo(_input: TokenStream) -> TokenStream {
|
|||
},
|
||||
"procMacro": {
|
||||
"enable": true,
|
||||
"server": PathBuf::from(env!("CARGO_BIN_EXE_rust-analyzer")),
|
||||
"server": proc_macro_server_path.as_path().as_ref(),
|
||||
}
|
||||
}))
|
||||
.root("foo")
|
||||
|
|
Loading…
Reference in a new issue