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.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/crates/proc-macro-srv/src/abis/mod.rs b/crates/proc-macro-srv/src/abis/mod.rs
index 815f2e9638..0f3ebe4463 100644
--- a/crates/proc-macro-srv/src/abis/mod.rs
+++ b/crates/proc-macro-srv/src/abis/mod.rs
@@ -30,6 +30,7 @@ mod abi_1_56;
mod abi_1_57;
mod abi_1_58;
mod abi_1_63;
+mod abi_1_64;
use super::dylib::LoadProcMacroDylibError;
pub(crate) use abi_1_48::Abi as Abi_1_48;
@@ -38,6 +39,7 @@ pub(crate) use abi_1_56::Abi as Abi_1_56;
pub(crate) use abi_1_57::Abi as Abi_1_57;
pub(crate) use abi_1_58::Abi as Abi_1_58;
pub(crate) use abi_1_63::Abi as Abi_1_63;
+pub(crate) use abi_1_64::Abi as Abi_1_64;
use libloading::Library;
use proc_macro_api::{ProcMacroKind, RustCInfo};
@@ -58,6 +60,7 @@ pub(crate) enum Abi {
Abi1_57(Abi_1_57),
Abi1_58(Abi_1_58),
Abi1_63(Abi_1_63),
+ Abi1_64(Abi_1_64),
}
impl Abi {
@@ -98,10 +101,14 @@ impl Abi {
let inner = unsafe { Abi_1_58::from_lib(lib, symbol_name) }?;
Ok(Abi::Abi1_58(inner))
}
- (1, 63..) => {
+ (1, 63) => {
let inner = unsafe { Abi_1_63::from_lib(lib, symbol_name) }?;
Ok(Abi::Abi1_63(inner))
}
+ (1, 64..) => {
+ let inner = unsafe { Abi_1_64::from_lib(lib, symbol_name) }?;
+ Ok(Abi::Abi1_64(inner))
+ }
_ => Err(LoadProcMacroDylibError::UnsupportedABI),
}
}
@@ -119,6 +126,7 @@ impl Abi {
Self::Abi1_57(abi) => abi.expand(macro_name, macro_body, attributes),
Self::Abi1_58(abi) => abi.expand(macro_name, macro_body, attributes),
Self::Abi1_63(abi) => abi.expand(macro_name, macro_body, attributes),
+ Self::Abi1_64(abi) => abi.expand(macro_name, macro_body, attributes),
}
}
@@ -130,6 +138,7 @@ impl Abi {
Self::Abi1_57(abi) => abi.list_macros(),
Self::Abi1_58(abi) => abi.list_macros(),
Self::Abi1_63(abi) => abi.list_macros(),
+ Self::Abi1_64(abi) => abi.list_macros(),
}
}
}