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.rs | 10 |
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(), } } } |