Add proc macro ABI for rustc 1.58
This commit is contained in:
@@ -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(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user