Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/proc-macro-srv/src/dylib.rs')
-rw-r--r--crates/proc-macro-srv/src/dylib.rs13
1 files changed, 9 insertions, 4 deletions
diff --git a/crates/proc-macro-srv/src/dylib.rs b/crates/proc-macro-srv/src/dylib.rs
index 22c34ff167..474f00a574 100644
--- a/crates/proc-macro-srv/src/dylib.rs
+++ b/crates/proc-macro-srv/src/dylib.rs
@@ -1,5 +1,7 @@
//! Handles dynamic library loading for proc macro
+mod version;
+
use std::{fmt, fs::File, io};
use libloading::Library;
@@ -7,7 +9,7 @@ use memmap2::Mmap;
use object::Object;
use paths::{AbsPath, Utf8Path, Utf8PathBuf};
use proc_macro::bridge;
-use proc_macro_api::{read_dylib_info, ProcMacroKind};
+use proc_macro_api::ProcMacroKind;
use crate::ProcMacroSrvSpan;
@@ -119,11 +121,14 @@ impl ProcMacroLibraryLibloading {
let abs_file: &AbsPath = file
.try_into()
.map_err(|_| invalid_data_err(format!("expected an absolute path, got {file}")))?;
- let version_info = read_dylib_info(abs_file)?;
+ let version_info = version::read_dylib_info(abs_file)?;
let lib = load_library(file).map_err(invalid_data_err)?;
- let proc_macros =
- crate::proc_macros::ProcMacros::from_lib(&lib, symbol_name, version_info)?;
+ let proc_macros = crate::proc_macros::ProcMacros::from_lib(
+ &lib,
+ symbol_name,
+ &version_info.version_string,
+ )?;
Ok(ProcMacroLibraryLibloading { _lib: lib, proc_macros })
}
}