From e86c128aa3f76e46131d52da1c7ee00921e72094 Mon Sep 17 00:00:00 2001 From: Ivan Markov Date: Wed, 3 Aug 2022 19:07:25 +0000 Subject: [PATCH] FilesTimes support does not build for ESP-IDF --- library/std/src/sys/unix/fs.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/library/std/src/sys/unix/fs.rs b/library/std/src/sys/unix/fs.rs index 41405cbf65703..b5cc8038ca44f 100644 --- a/library/std/src/sys/unix/fs.rs +++ b/library/std/src/sys/unix/fs.rs @@ -544,9 +544,11 @@ impl Default for FileTimes { fn default() -> Self { // Redox doesn't appear to support `UTIME_OMIT`, so we stub it out here, and always return // an error in `set_times`. - #[cfg(target_os = "redox")] + // ESP-IDF does not support `futimens` at all and the behavior for that OS is therefore + // the same as for Redox. + #[cfg(any(target_os = "redox", target_os = "espidf"))] let omit = libc::timespec { tv_sec: 0, tv_nsec: 0 }; - #[cfg(not(target_os = "redox"))] + #[cfg(not(any(target_os = "redox", target_os = "espidf")))] let omit = libc::timespec { tv_sec: 0, tv_nsec: libc::UTIME_OMIT as _ }; Self([omit; 2]) } @@ -1077,8 +1079,10 @@ impl File { pub fn set_times(&self, times: FileTimes) -> io::Result<()> { cfg_if::cfg_if! { - if #[cfg(target_os = "redox")] { + if #[cfg(any(target_os = "redox", target_os = "espidf"))] { // Redox doesn't appear to support `UTIME_OMIT`. + // ESP-IDF does not support `futimens` at all and the behavior for that OS is therefore + // the same as for Redox. drop(times); Err(io::const_io_error!( io::ErrorKind::Unsupported,