diff --git a/dpe/build.rs b/dpe/build.rs index 53c244da..69062feb 100644 --- a/dpe/build.rs +++ b/dpe/build.rs @@ -20,10 +20,16 @@ fn main() { let max_handles_str = format!("pub const MAX_HANDLES: usize = {};", arbitrary_max_handles); let dest_path = PathBuf::from(&dest_path); - if dest_path.exists() - && std::fs::read_to_string(&dest_path).unwrap_or_default() != max_handles_str - { - std::fs::write(&dest_path, max_handles_str).unwrap(); + match std::fs::read_to_string(&dest_path) { + // arbitrary_max_handles.rs changed so overwrite it's contents. + Ok(handles) if handles != max_handles_str => { + std::fs::write(&dest_path, max_handles_str).unwrap(); + } + // arbitrary_max_handles.rs does not exist. + Err(_) => { + std::fs::write(&dest_path, max_handles_str).unwrap(); + } + _ => (), } println!("cargo:rerun-if-changed={}", dest_path.display()); }