summaryrefslogtreecommitdiffstats
path: root/library/std/src/os/macos/fs.rs
diff options
context:
space:
mode:
Diffstat (limited to 'library/std/src/os/macos/fs.rs')
-rw-r--r--library/std/src/os/macos/fs.rs22
1 files changed, 20 insertions, 2 deletions
diff --git a/library/std/src/os/macos/fs.rs b/library/std/src/os/macos/fs.rs
index 91915da6a..fe82d03d8 100644
--- a/library/std/src/os/macos/fs.rs
+++ b/library/std/src/os/macos/fs.rs
@@ -1,7 +1,9 @@
#![stable(feature = "metadata_ext", since = "1.1.0")]
-use crate::fs::Metadata;
-use crate::sys_common::AsInner;
+use crate::fs::{self, Metadata};
+use crate::sealed::Sealed;
+use crate::sys_common::{AsInner, AsInnerMut, IntoInner};
+use crate::time::SystemTime;
#[allow(deprecated)]
use crate::os::macos::raw;
@@ -146,3 +148,19 @@ impl MetadataExt for Metadata {
[qspare[0] as u64, qspare[1] as u64]
}
}
+
+/// OS-specific extensions to [`fs::FileTimes`].
+#[unstable(feature = "file_set_times", issue = "98245")]
+pub trait FileTimesExt: Sealed {
+ /// Set the creation time of a file.
+ #[unstable(feature = "file_set_times", issue = "98245")]
+ fn set_created(self, t: SystemTime) -> Self;
+}
+
+#[unstable(feature = "file_set_times", issue = "98245")]
+impl FileTimesExt for fs::FileTimes {
+ fn set_created(mut self, t: SystemTime) -> Self {
+ self.as_inner_mut().set_created(t.into_inner());
+ self
+ }
+}