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

@ -157,8 +157,8 @@ impl ChangeFixture {
meta.edition,
Some(crate_name.clone().into()),
version,
meta.cfg.clone(),
meta.cfg,
Default::default(),
meta.env,
false,
origin,
@ -197,8 +197,8 @@ impl ChangeFixture {
Edition::CURRENT,
Some(CrateName::new("test").unwrap().into()),
None,
default_cfg.clone(),
default_cfg,
Default::default(),
Env::default(),
false,
CrateOrigin::Local { repo: None, name: None },
@ -241,8 +241,8 @@ impl ChangeFixture {
Edition::Edition2021,
Some(CrateDisplayName::from_canonical_name("core".to_string())),
None,
CfgOptions::default(),
CfgOptions::default(),
Default::default(),
Default::default(),
Env::default(),
false,
CrateOrigin::Lang(LangCrateOrigin::Core),
@ -280,8 +280,8 @@ impl ChangeFixture {
Edition::Edition2021,
Some(CrateDisplayName::from_canonical_name("proc_macros".to_string())),
None,
CfgOptions::default(),
CfgOptions::default(),
Default::default(),
Default::default(),
Env::default(),
true,
CrateOrigin::Local { repo: None, name: None },

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 },