diff --git a/src/cargo_ops/mod.rs b/src/cargo_ops/mod.rs
index 32481eb..d72e6d5 100644
--- a/src/cargo_ops/mod.rs
+++ b/src/cargo_ops/mod.rs
@@ -25,6 +25,8 @@ struct Manifest {
#[serde(skip_serializing_if = "Option::is_none")]
pub target: Option
,
pub features: Option,
+ #[serde(rename = "patch", skip_serializing_if = "Option::is_none")]
+ pub patch: Option,
}
impl Manifest {
diff --git a/src/cargo_ops/temp_project.rs b/src/cargo_ops/temp_project.rs
index f4e10a3..8bbbe53 100644
--- a/src/cargo_ops/temp_project.rs
+++ b/src/cargo_ops/temp_project.rs
@@ -258,6 +258,13 @@ impl<'tmp> TempProject<'tmp> {
}
}
}
+ if let Some(t) = manifest.patch.as_mut() {
+ for (_key, patch) in t.iter_mut() {
+ if let Value::Table(ref mut patch) = *patch {
+ f(patch)?;
+ }
+ }
+ }
Ok(())
}