diff options
| author | Laurențiu Nicola <lnicola@users.noreply.github.com> | 2024-12-15 18:32:38 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-12-15 18:32:38 +0000 |
| commit | 5c6bae0fc0930d57dba2e279c0b67a4397b3999c (patch) | |
| tree | be84c6eb0edfa6e19b73ca298837d6cec3af63ed /src/tools/rust-analyzer | |
| parent | d501b3ca74e6c02310d3602c1636ad52afbf6d82 (diff) | |
| parent | 31a462f6e07032d81dbb8521062e6d1608f5da76 (diff) | |
| download | rust-5c6bae0fc0930d57dba2e279c0b67a4397b3999c.tar.gz rust-5c6bae0fc0930d57dba2e279c0b67a4397b3999c.zip | |
Merge pull request #18693 from Veykril/push-wzoomkkmuolm
fix: Fix proc-macro dylib names on windows
Diffstat (limited to 'src/tools/rust-analyzer')
| -rw-r--r-- | src/tools/rust-analyzer/crates/proc-macro-srv/src/dylib.rs | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/tools/rust-analyzer/crates/proc-macro-srv/src/dylib.rs b/src/tools/rust-analyzer/crates/proc-macro-srv/src/dylib.rs index 977ca8bafd8..26f6af84aae 100644 --- a/src/tools/rust-analyzer/crates/proc-macro-srv/src/dylib.rs +++ b/src/tools/rust-analyzer/crates/proc-macro-srv/src/dylib.rs @@ -199,18 +199,15 @@ fn ensure_file_with_lock_free_access(path: &Utf8Path) -> io::Result<Utf8PathBuf> to.push("rust-analyzer-proc-macros"); _ = fs::create_dir(&to); - let file_name = path.file_name().ok_or_else(|| { + let file_name = path.file_stem().ok_or_else(|| { io::Error::new(io::ErrorKind::InvalidInput, format!("File path is invalid: {path}")) })?; to.push({ // Generate a unique number by abusing `HashMap`'s hasher. // Maybe this will also "inspire" a libs team member to finally put `rand` in libstd. - let t = RandomState::new().build_hasher().finish(); - let mut unique_name = t.to_string(); - unique_name.push_str(file_name); - unique_name.push('-'); - unique_name + let unique_name = RandomState::new().build_hasher().finish(); + format!("{file_name}-{unique_name}.dll") }); fs::copy(path, &to)?; Ok(to) |
