diff --git a/xtask/codegen/src/lib.rs b/xtask/codegen/src/lib.rs index d34025bc51d4..630f14bc22ed 100644 --- a/xtask/codegen/src/lib.rs +++ b/xtask/codegen/src/lib.rs @@ -60,6 +60,11 @@ pub fn update(path: &Path, contents: &str, mode: &Mode) -> Result } eprintln!("updating {}", path.display()); + if let Some(parent) = path.parent() { + if !parent.exists() { + fs2::create_dir_all(parent)?; + } + } fs2::write(path, contents)?; Ok(UpdateResult::Updated) }