diff options
| author | bors <bors@rust-lang.org> | 2022-11-11 15:57:30 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-11-11 15:57:30 +0000 |
| commit | 45ec315e01dc8dd1146dfeb65f0ef6e5c2efed78 (patch) | |
| tree | 7cf5baaa4de7b01f8a50e0511689768705d510bb | |
| parent | 2656303c83c6949f4c0b8cb8058095dd48eee5da (diff) | |
| parent | 6b4b7d81e461b758a5785e2f8ac6eea0ed71e6f2 (diff) | |
| download | rust-45ec315e01dc8dd1146dfeb65f0ef6e5c2efed78.tar.gz rust-45ec315e01dc8dd1146dfeb65f0ef6e5c2efed78.zip | |
Auto merge of #13607 - Veykril:proc-macro-error, r=Veykril
internal: Add version info to unsupported proc macro abi error cc https://github.com/rust-lang/rust-analyzer/issues/13589#issuecomment-1311824473
| -rw-r--r-- | crates/proc-macro-srv/src/abis/mod.rs | 2 | ||||
| -rw-r--r-- | crates/proc-macro-srv/src/dylib.rs | 4 | ||||
| -rw-r--r-- | crates/proc-macro-srv/src/lib.rs | 4 |
3 files changed, 5 insertions, 5 deletions
diff --git a/crates/proc-macro-srv/src/abis/mod.rs b/crates/proc-macro-srv/src/abis/mod.rs index 2f854bc1595..0ce099ae0ba 100644 --- a/crates/proc-macro-srv/src/abis/mod.rs +++ b/crates/proc-macro-srv/src/abis/mod.rs @@ -117,7 +117,7 @@ impl Abi { let inner = unsafe { Abi_1_63::from_lib(lib, symbol_name) }?; Ok(Abi::Abi1_63(inner)) } - _ => Err(LoadProcMacroDylibError::UnsupportedABI), + _ => Err(LoadProcMacroDylibError::UnsupportedABI(info.version_string.clone())), } } diff --git a/crates/proc-macro-srv/src/dylib.rs b/crates/proc-macro-srv/src/dylib.rs index 7aba74e5396..0722cd89d72 100644 --- a/crates/proc-macro-srv/src/dylib.rs +++ b/crates/proc-macro-srv/src/dylib.rs @@ -80,14 +80,14 @@ fn load_library(file: &Path) -> Result<Library, libloading::Error> { pub enum LoadProcMacroDylibError { Io(io::Error), LibLoading(libloading::Error), - UnsupportedABI, + UnsupportedABI(String), } impl fmt::Display for LoadProcMacroDylibError { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { Self::Io(e) => e.fmt(f), - Self::UnsupportedABI => write!(f, "unsupported ABI version"), + Self::UnsupportedABI(v) => write!(f, "unsupported ABI `{v}`"), Self::LibLoading(e) => e.fmt(f), } } diff --git a/crates/proc-macro-srv/src/lib.rs b/crates/proc-macro-srv/src/lib.rs index 72a2dfe72d3..b4f5ebd157f 100644 --- a/crates/proc-macro-srv/src/lib.rs +++ b/crates/proc-macro-srv/src/lib.rs @@ -113,12 +113,12 @@ impl ProcMacroSrv { fn expander(&mut self, path: &Path) -> Result<&dylib::Expander, String> { let time = fs::metadata(path).and_then(|it| it.modified()).map_err(|err| { - format!("Failed to get file metadata for {}: {:?}", path.display(), err) + format!("Failed to get file metadata for {}: {}", path.display(), err) })?; Ok(match self.expanders.entry((path.to_path_buf(), time)) { Entry::Vacant(v) => v.insert(dylib::Expander::new(path).map_err(|err| { - format!("Cannot create expander for {}: {:?}", path.display(), err) + format!("Cannot create expander for {}: {}", path.display(), err) })?), Entry::Occupied(e) => e.into_mut(), }) |
