Cleanup crate_graph construction

This commit is contained in:
Lukas Wirth 2023-03-31 14:10:33 +02:00
parent 31db1fc75f
commit b3919ea80d
7 changed files with 341 additions and 339 deletions

View file

@ -300,7 +300,8 @@ pub struct CrateData {
/// `Dependency` matters), this name should only be used for UI.
pub display_name: Option<CrateDisplayName>,
pub cfg_options: CfgOptions,
pub potential_cfg_options: CfgOptions,
/// The cfg options that could be used by the crate
pub potential_cfg_options: Option<CfgOptions>,
pub env: Env,
pub dependencies: Vec<Dependency>,
pub origin: CrateOrigin,
@ -356,7 +357,7 @@ impl CrateGraph {
display_name: Option<CrateDisplayName>,
version: Option<String>,
cfg_options: CfgOptions,
potential_cfg_options: CfgOptions,
potential_cfg_options: Option<CfgOptions>,
env: Env,
is_proc_macro: bool,
origin: CrateOrigin,
@ -673,7 +674,7 @@ impl fmt::Display for CyclicDependenciesError {
mod tests {
use crate::CrateOrigin;
use super::{CfgOptions, CrateGraph, CrateName, Dependency, Edition::Edition2018, Env, FileId};
use super::{CrateGraph, CrateName, Dependency, Edition::Edition2018, Env, FileId};
#[test]
fn detect_cyclic_dependency_indirect() {
@ -683,8 +684,8 @@ mod tests {
Edition2018,
None,
None,
CfgOptions::default(),
CfgOptions::default(),
Default::default(),
Default::default(),
Env::default(),
false,
CrateOrigin::Local { repo: None, name: None },
@ -696,8 +697,8 @@ mod tests {
Edition2018,
None,
None,
CfgOptions::default(),
CfgOptions::default(),
Default::default(),
Default::default(),
Env::default(),
false,
CrateOrigin::Local { repo: None, name: None },
@ -709,8 +710,8 @@ mod tests {
Edition2018,
None,
None,
CfgOptions::default(),
CfgOptions::default(),
Default::default(),
Default::default(),
Env::default(),
false,
CrateOrigin::Local { repo: None, name: None },
@ -736,8 +737,8 @@ mod tests {
Edition2018,
None,
None,
CfgOptions::default(),
CfgOptions::default(),
Default::default(),
Default::default(),
Env::default(),
false,
CrateOrigin::Local { repo: None, name: None },
@ -749,8 +750,8 @@ mod tests {
Edition2018,
None,
None,
CfgOptions::default(),
CfgOptions::default(),
Default::default(),
Default::default(),
Env::default(),
false,
CrateOrigin::Local { repo: None, name: None },
@ -773,8 +774,8 @@ mod tests {
Edition2018,
None,
None,
CfgOptions::default(),
CfgOptions::default(),
Default::default(),
Default::default(),
Env::default(),
false,
CrateOrigin::Local { repo: None, name: None },
@ -786,8 +787,8 @@ mod tests {
Edition2018,
None,
None,
CfgOptions::default(),
CfgOptions::default(),
Default::default(),
Default::default(),
Env::default(),
false,
CrateOrigin::Local { repo: None, name: None },
@ -799,8 +800,8 @@ mod tests {
Edition2018,
None,
None,
CfgOptions::default(),
CfgOptions::default(),
Default::default(),
Default::default(),
Env::default(),
false,
CrateOrigin::Local { repo: None, name: None },
@ -823,8 +824,8 @@ mod tests {
Edition2018,
None,
None,
CfgOptions::default(),
CfgOptions::default(),
Default::default(),
Default::default(),
Env::default(),
false,
CrateOrigin::Local { repo: None, name: None },
@ -836,8 +837,8 @@ mod tests {
Edition2018,
None,
None,
CfgOptions::default(),
CfgOptions::default(),
Default::default(),
Default::default(),
Env::default(),
false,
CrateOrigin::Local { repo: None, name: None },