mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-27 04:19:13 +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
|
@ -159,7 +159,7 @@ impl ChangeFixture {
|
|||
meta.cfg.clone(),
|
||||
meta.cfg,
|
||||
meta.env,
|
||||
Default::default(),
|
||||
Ok(Vec::new()),
|
||||
false,
|
||||
origin,
|
||||
);
|
||||
|
@ -194,7 +194,7 @@ impl ChangeFixture {
|
|||
default_cfg.clone(),
|
||||
default_cfg,
|
||||
Env::default(),
|
||||
Default::default(),
|
||||
Ok(Vec::new()),
|
||||
false,
|
||||
CrateOrigin::CratesIo { repo: None },
|
||||
);
|
||||
|
@ -231,7 +231,7 @@ impl ChangeFixture {
|
|||
CfgOptions::default(),
|
||||
CfgOptions::default(),
|
||||
Env::default(),
|
||||
Vec::new(),
|
||||
Ok(Vec::new()),
|
||||
false,
|
||||
CrateOrigin::Lang(LangCrateOrigin::Core),
|
||||
);
|
||||
|
@ -268,7 +268,7 @@ impl ChangeFixture {
|
|||
CfgOptions::default(),
|
||||
CfgOptions::default(),
|
||||
Env::default(),
|
||||
proc_macro,
|
||||
Ok(proc_macro),
|
||||
true,
|
||||
CrateOrigin::CratesIo { repo: None },
|
||||
);
|
||||
|
|
|
@ -231,6 +231,8 @@ pub enum ProcMacroExpansionError {
|
|||
System(String),
|
||||
}
|
||||
|
||||
pub type ProcMacroLoadResult = Result<Vec<ProcMacro>, String>;
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct ProcMacro {
|
||||
pub name: SmolStr,
|
||||
|
@ -254,7 +256,7 @@ pub struct CrateData {
|
|||
pub potential_cfg_options: CfgOptions,
|
||||
pub env: Env,
|
||||
pub dependencies: Vec<Dependency>,
|
||||
pub proc_macro: Vec<ProcMacro>,
|
||||
pub proc_macro: ProcMacroLoadResult,
|
||||
pub origin: CrateOrigin,
|
||||
pub is_proc_macro: bool,
|
||||
}
|
||||
|
@ -300,19 +302,19 @@ impl Dependency {
|
|||
impl CrateGraph {
|
||||
pub fn add_crate_root(
|
||||
&mut self,
|
||||
file_id: FileId,
|
||||
root_file_id: FileId,
|
||||
edition: Edition,
|
||||
display_name: Option<CrateDisplayName>,
|
||||
version: Option<String>,
|
||||
cfg_options: CfgOptions,
|
||||
potential_cfg_options: CfgOptions,
|
||||
env: Env,
|
||||
proc_macro: Vec<ProcMacro>,
|
||||
proc_macro: ProcMacroLoadResult,
|
||||
is_proc_macro: bool,
|
||||
origin: CrateOrigin,
|
||||
) -> CrateId {
|
||||
let data = CrateData {
|
||||
root_file_id: file_id,
|
||||
root_file_id,
|
||||
edition,
|
||||
version,
|
||||
display_name,
|
||||
|
@ -628,7 +630,7 @@ mod tests {
|
|||
CfgOptions::default(),
|
||||
CfgOptions::default(),
|
||||
Env::default(),
|
||||
Default::default(),
|
||||
Ok(Vec::new()),
|
||||
false,
|
||||
CrateOrigin::CratesIo { repo: None },
|
||||
);
|
||||
|
@ -640,7 +642,7 @@ mod tests {
|
|||
CfgOptions::default(),
|
||||
CfgOptions::default(),
|
||||
Env::default(),
|
||||
Default::default(),
|
||||
Ok(Vec::new()),
|
||||
false,
|
||||
CrateOrigin::CratesIo { repo: None },
|
||||
);
|
||||
|
@ -652,7 +654,7 @@ mod tests {
|
|||
CfgOptions::default(),
|
||||
CfgOptions::default(),
|
||||
Env::default(),
|
||||
Default::default(),
|
||||
Ok(Vec::new()),
|
||||
false,
|
||||
CrateOrigin::CratesIo { repo: None },
|
||||
);
|
||||
|
@ -678,7 +680,7 @@ mod tests {
|
|||
CfgOptions::default(),
|
||||
CfgOptions::default(),
|
||||
Env::default(),
|
||||
Default::default(),
|
||||
Ok(Vec::new()),
|
||||
false,
|
||||
CrateOrigin::CratesIo { repo: None },
|
||||
);
|
||||
|
@ -690,7 +692,7 @@ mod tests {
|
|||
CfgOptions::default(),
|
||||
CfgOptions::default(),
|
||||
Env::default(),
|
||||
Default::default(),
|
||||
Ok(Vec::new()),
|
||||
false,
|
||||
CrateOrigin::CratesIo { repo: None },
|
||||
);
|
||||
|
@ -713,7 +715,7 @@ mod tests {
|
|||
CfgOptions::default(),
|
||||
CfgOptions::default(),
|
||||
Env::default(),
|
||||
Default::default(),
|
||||
Ok(Vec::new()),
|
||||
false,
|
||||
CrateOrigin::CratesIo { repo: None },
|
||||
);
|
||||
|
@ -725,7 +727,7 @@ mod tests {
|
|||
CfgOptions::default(),
|
||||
CfgOptions::default(),
|
||||
Env::default(),
|
||||
Default::default(),
|
||||
Ok(Vec::new()),
|
||||
false,
|
||||
CrateOrigin::CratesIo { repo: None },
|
||||
);
|
||||
|
@ -737,7 +739,7 @@ mod tests {
|
|||
CfgOptions::default(),
|
||||
CfgOptions::default(),
|
||||
Env::default(),
|
||||
Default::default(),
|
||||
Ok(Vec::new()),
|
||||
false,
|
||||
CrateOrigin::CratesIo { repo: None },
|
||||
);
|
||||
|
@ -760,7 +762,7 @@ mod tests {
|
|||
CfgOptions::default(),
|
||||
CfgOptions::default(),
|
||||
Env::default(),
|
||||
Default::default(),
|
||||
Ok(Vec::new()),
|
||||
false,
|
||||
CrateOrigin::CratesIo { repo: None },
|
||||
);
|
||||
|
@ -772,7 +774,7 @@ mod tests {
|
|||
CfgOptions::default(),
|
||||
CfgOptions::default(),
|
||||
Env::default(),
|
||||
Default::default(),
|
||||
Ok(Vec::new()),
|
||||
false,
|
||||
CrateOrigin::CratesIo { repo: None },
|
||||
);
|
||||
|
|
|
@ -13,7 +13,7 @@ pub use crate::{
|
|||
input::{
|
||||
CrateData, CrateDisplayName, CrateGraph, CrateId, CrateName, CrateOrigin, Dependency,
|
||||
Edition, Env, LangCrateOrigin, ProcMacro, ProcMacroExpander, ProcMacroExpansionError,
|
||||
ProcMacroId, ProcMacroKind, SourceRoot, SourceRootId,
|
||||
ProcMacroId, ProcMacroKind, ProcMacroLoadResult, SourceRoot, SourceRootId,
|
||||
},
|
||||
};
|
||||
pub use salsa::{self, Cancelled};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue