Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/proc_macro_srv/src/abis/mod.rs')
-rw-r--r--crates/proc_macro_srv/src/abis/mod.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/crates/proc_macro_srv/src/abis/mod.rs b/crates/proc_macro_srv/src/abis/mod.rs
index 73a017d362..5d7c623b0a 100644
--- a/crates/proc_macro_srv/src/abis/mod.rs
+++ b/crates/proc_macro_srv/src/abis/mod.rs
@@ -27,11 +27,13 @@
pub(crate) mod abi_1_47;
mod abi_1_55;
mod abi_1_56;
+mod abi_1_58;
use super::dylib::LoadProcMacroDylibError;
pub(crate) use abi_1_47::Abi as Abi_1_47;
pub(crate) use abi_1_55::Abi as Abi_1_55;
pub(crate) use abi_1_56::Abi as Abi_1_56;
+pub(crate) use abi_1_58::Abi as Abi_1_58;
use libloading::Library;
use proc_macro_api::{ProcMacroKind, RustCInfo};
@@ -49,6 +51,7 @@ pub(crate) enum Abi {
Abi1_47(Abi_1_47),
Abi1_55(Abi_1_55),
Abi1_56(Abi_1_56),
+ Abi1_58(Abi_1_58),
}
impl Abi {
@@ -76,9 +79,12 @@ impl Abi {
} else if info.version.1 < 56 {
let inner = unsafe { Abi_1_55::from_lib(lib, symbol_name) }?;
Ok(Abi::Abi1_55(inner))
- } else {
+ } else if info.version.1 < 57 {
let inner = unsafe { Abi_1_56::from_lib(lib, symbol_name) }?;
Ok(Abi::Abi1_56(inner))
+ } else {
+ let inner = unsafe { Abi_1_58::from_lib(lib, symbol_name) }?;
+ Ok(Abi::Abi1_58(inner))
}
}
@@ -92,6 +98,7 @@ impl Abi {
Self::Abi1_55(abi) => abi.expand(macro_name, macro_body, attributes),
Self::Abi1_47(abi) => abi.expand(macro_name, macro_body, attributes),
Self::Abi1_56(abi) => abi.expand(macro_name, macro_body, attributes),
+ Self::Abi1_58(abi) => abi.expand(macro_name, macro_body, attributes),
}
}
@@ -100,6 +107,7 @@ impl Abi {
Self::Abi1_47(abi) => abi.list_macros(),
Self::Abi1_55(abi) => abi.list_macros(),
Self::Abi1_56(abi) => abi.list_macros(),
+ Self::Abi1_58(abi) => abi.list_macros(),
}
}
}