mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-08-22 03:14:30 +00:00
Show proc-macro loading errors in unresolved-proc-macro diagnostics
This commit is contained in:
parent
15c63c4119
commit
7d51fc4640
14 changed files with 149 additions and 114 deletions
|
@ -118,16 +118,13 @@ impl ProcMacroServer {
|
|||
Ok(ProcMacroServer { process: Arc::new(Mutex::new(process)) })
|
||||
}
|
||||
|
||||
pub fn load_dylib(
|
||||
&self,
|
||||
dylib: MacroDylib,
|
||||
) -> Result<Result<Vec<ProcMacro>, String>, ServerError> {
|
||||
pub fn load_dylib(&self, dylib: MacroDylib) -> Result<Vec<ProcMacro>, ServerError> {
|
||||
let _p = profile::span("ProcMacroClient::by_dylib_path");
|
||||
let macros =
|
||||
self.process.lock().unwrap_or_else(|e| e.into_inner()).find_proc_macros(&dylib.path)?;
|
||||
|
||||
let res = macros.map(|macros| {
|
||||
macros
|
||||
match macros {
|
||||
Ok(macros) => Ok(macros
|
||||
.into_iter()
|
||||
.map(|(name, kind)| ProcMacro {
|
||||
process: self.process.clone(),
|
||||
|
@ -135,10 +132,9 @@ impl ProcMacroServer {
|
|||
kind,
|
||||
dylib_path: dylib.path.clone(),
|
||||
})
|
||||
.collect()
|
||||
});
|
||||
|
||||
Ok(res)
|
||||
.collect()),
|
||||
Err(message) => Err(ServerError { message, io: None }),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue