diff --git a/src/cargo/core/package_id.rs b/src/cargo/core/package_id.rs
index eb32fbe5577d..92a1f823cf88 100644
--- a/src/cargo/core/package_id.rs
+++ b/src/cargo/core/package_id.rs
@@ -88,7 +88,7 @@ impl<'de> de::Deserialize<'de> for PackageId {
             strip_parens(rest).ok_or_else(|| de::Error::custom("invalid serialized PackageId"))?;
         let source_id = SourceId::from_url(url).map_err(de::Error::custom)?;
 
-        Ok(PackageId::pure(name, version, source_id))
+        Ok(PackageId::new(name, version, source_id))
     }
 }
 
@@ -129,10 +129,10 @@ impl PackageId {
         sid: SourceId,
     ) -> CargoResult<PackageId> {
         let v = version.parse()?;
-        Ok(PackageId::pure(name.into(), v, sid))
+        Ok(PackageId::new(name.into(), v, sid))
     }
 
-    pub fn pure(name: InternedString, version: semver::Version, source_id: SourceId) -> PackageId {
+    pub fn new(name: InternedString, version: semver::Version, source_id: SourceId) -> PackageId {
         let inner = PackageIdInner {
             name,
             version,
@@ -161,7 +161,7 @@ impl PackageId {
     }
 
     pub fn with_source_id(self, source: SourceId) -> PackageId {
-        PackageId::pure(self.inner.name, self.inner.version.clone(), source)
+        PackageId::new(self.inner.name, self.inner.version.clone(), source)
     }
 
     pub fn map_source(self, to_replace: SourceId, replace_with: SourceId) -> Self {
diff --git a/src/cargo/sources/registry/index.rs b/src/cargo/sources/registry/index.rs
index bb3edb1e756e..39ead2f56592 100644
--- a/src/cargo/sources/registry/index.rs
+++ b/src/cargo/sources/registry/index.rs
@@ -944,7 +944,7 @@ impl IndexSummary {
         } = serde_json::from_slice(line)?;
         let v = v.unwrap_or(1);
         tracing::trace!("json parsed registry {}/{}", name, vers);
-        let pkgid = PackageId::pure(name.into(), vers.clone(), source_id);
+        let pkgid = PackageId::new(name.into(), vers.clone(), source_id);
         let deps = deps
             .into_iter()
             .map(|dep| dep.into_dep(source_id))
diff --git a/src/cargo/util/toml/mod.rs b/src/cargo/util/toml/mod.rs
index d8405ec3bc8f..bc427d1f4f52 100644
--- a/src/cargo/util/toml/mod.rs
+++ b/src/cargo/util/toml/mod.rs
@@ -500,7 +500,7 @@ pub fn to_real_manifest(
 
     package.version = version.clone().map(manifest::InheritableField::Value);
 
-    let pkgid = PackageId::pure(
+    let pkgid = PackageId::new(
         package.name.as_str().into(),
         version
             .clone()