Skip to content

Commit 8ff20c7

Browse files
committed
refactor(toml): Make Dep's to_dependency a free function
1 parent 94395d4 commit 8ff20c7

File tree

1 file changed

+24
-23
lines changed

1 file changed

+24
-23
lines changed

src/cargo/util/toml/mod.rs

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -662,7 +662,7 @@ impl schema::TomlManifest {
662662
let mut deps: BTreeMap<String, schema::InheritableDependency> = BTreeMap::new();
663663
for (n, v) in dependencies.iter() {
664664
let resolved = dependency_inherit_with(v.clone(), n, inheritable, cx)?;
665-
let dep = resolved.to_dependency(n, cx, kind)?;
665+
let dep = dep_to_dependency(&resolved, n, cx, kind)?;
666666
let name_in_toml = dep.name_in_toml().as_str();
667667
validate_package_name(name_in_toml, "dependency name", "")?;
668668
let kind_name = match kind {
@@ -1228,7 +1228,7 @@ impl schema::TomlManifest {
12281228
);
12291229
}
12301230

1231-
let mut dep = replacement.to_dependency(spec.name(), cx, None)?;
1231+
let mut dep = dep_to_dependency(replacement, spec.name(), cx, None)?;
12321232
let version = spec.version().ok_or_else(|| {
12331233
anyhow!(
12341234
"replacements must specify a version \
@@ -1274,7 +1274,7 @@ impl schema::TomlManifest {
12741274
dep.unused_keys(),
12751275
&mut cx.warnings,
12761276
);
1277-
dep.to_dependency(name, cx, None)
1277+
dep_to_dependency(dep, name, cx, None)
12781278
})
12791279
.collect::<CargoResult<Vec<_>>>()?,
12801280
);
@@ -1707,7 +1707,8 @@ impl<P: ResolveToPath + Clone> schema::TomlDependency<P> {
17071707
features: &Features,
17081708
kind: Option<DepKind>,
17091709
) -> CargoResult<Dependency> {
1710-
self.to_dependency(
1710+
dep_to_dependency(
1711+
self,
17111712
name,
17121713
&mut Context {
17131714
deps: &mut Vec::new(),
@@ -1722,26 +1723,26 @@ impl<P: ResolveToPath + Clone> schema::TomlDependency<P> {
17221723
kind,
17231724
)
17241725
}
1726+
}
17251727

1726-
fn to_dependency(
1727-
&self,
1728-
name: &str,
1729-
cx: &mut Context<'_, '_>,
1730-
kind: Option<DepKind>,
1731-
) -> CargoResult<Dependency> {
1732-
match *self {
1733-
schema::TomlDependency::Simple(ref version) => detailed_dep_to_dependency(
1734-
&schema::TomlDetailedDependency::<P> {
1735-
version: Some(version.clone()),
1736-
..Default::default()
1737-
},
1738-
name,
1739-
cx,
1740-
kind,
1741-
),
1742-
schema::TomlDependency::Detailed(ref details) => {
1743-
detailed_dep_to_dependency(details, name, cx, kind)
1744-
}
1728+
fn dep_to_dependency<P: ResolveToPath + Clone>(
1729+
orig: &schema::TomlDependency<P>,
1730+
name: &str,
1731+
cx: &mut Context<'_, '_>,
1732+
kind: Option<DepKind>,
1733+
) -> CargoResult<Dependency> {
1734+
match *orig {
1735+
schema::TomlDependency::Simple(ref version) => detailed_dep_to_dependency(
1736+
&schema::TomlDetailedDependency::<P> {
1737+
version: Some(version.clone()),
1738+
..Default::default()
1739+
},
1740+
name,
1741+
cx,
1742+
kind,
1743+
),
1744+
schema::TomlDependency::Detailed(ref details) => {
1745+
detailed_dep_to_dependency(details, name, cx, kind)
17451746
}
17461747
}
17471748
}

0 commit comments

Comments
 (0)