diff options
| author | beetrees <b@beetr.ee> | 2023-03-30 15:16:06 +0100 |
|---|---|---|
| committer | beetrees <b@beetr.ee> | 2023-05-15 15:04:39 +0100 |
| commit | db90a0b78d9d4f455fa6e1fd9676ca264e370803 (patch) | |
| tree | 98a703afa53342963b2f7d7c9721671fc76aed65 /library/std/src/os/macos | |
| parent | 8006510ab0f69ee75e9c3f7e8bff3776886dae51 (diff) | |
Add creation time support to `FileTimes` on apple and windows
Diffstat (limited to 'library/std/src/os/macos')
| -rw-r--r-- | library/std/src/os/macos/fs.rs | 22 |
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 91915da6a43..fe82d03d869 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 + } +} |
