about summary refs log tree commit diff
path: root/library/std/src/os
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2024-07-19 17:06:49 +0200
committerGitHub <noreply@github.com>2024-07-19 17:06:49 +0200
commit45e4e963854873ca09d93bb5d0c14c8d76fa2e2f (patch)
treeb4cce5fa535c0efa6d2f623c41a84cbe451ee715 /library/std/src/os
parent11e57241f166194a328438d9264b68c98a18d51f (diff)
parent35428cff60d4bdb8b2bcc4a55746b5543d4d47f4 (diff)
downloadrust-45e4e963854873ca09d93bb5d0c14c8d76fa2e2f.tar.gz
rust-45e4e963854873ca09d93bb5d0c14c8d76fa2e2f.zip
Rollup merge of #112328 - juliusl:pr/windows-add-change-time, r=ChrisDenton
Feat. adding ext that returns change_time

Addresses #112327
Diffstat (limited to 'library/std/src/os')
-rw-r--r--library/std/src/os/windows/fs.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/library/std/src/os/windows/fs.rs b/library/std/src/os/windows/fs.rs
index 27947d91c99..7cac8c39ea8 100644
--- a/library/std/src/os/windows/fs.rs
+++ b/library/std/src/os/windows/fs.rs
@@ -471,6 +471,13 @@ pub trait MetadataExt {
     /// `fs::metadata` or `File::metadata`, then this will return `Some`.
     #[unstable(feature = "windows_by_handle", issue = "63010")]
     fn file_index(&self) -> Option<u64>;
+
+    /// Returns the change time, which is the last time file metadata was changed, such as
+    /// renames, attributes, etc
+    ///
+    /// This will return `None` if the `Metadata` instance was not created using the `FILE_BASIC_INFO` type.
+    #[unstable(feature = "windows_change_time", issue = "121478")]
+    fn change_time(&self) -> Option<u64>;
 }
 
 #[stable(feature = "metadata_ext", since = "1.1.0")]
@@ -499,6 +506,9 @@ impl MetadataExt for Metadata {
     fn file_index(&self) -> Option<u64> {
         self.as_inner().file_index()
     }
+    fn change_time(&self) -> Option<u64> {
+        self.as_inner().changed_u64()
+    }
 }
 
 /// Windows-specific extensions to [`fs::FileType`].