Auto merge of #117422 - joshtriplett:stabilize-file-times, r=workingjubilee
Stabilize `file_set_times` Approved via FCP in https://github.com/rust-lang/rust/issues/98245 .
This commit is contained in:
commit
dd24c7bdbf
5 changed files with 19 additions and 21 deletions
|
@ -189,7 +189,7 @@ pub struct OpenOptions(fs_imp::OpenOptions);
|
|||
|
||||
/// Representation of the various timestamps on a file.
|
||||
#[derive(Copy, Clone, Debug, Default)]
|
||||
#[unstable(feature = "file_set_times", issue = "98245")]
|
||||
#[stable(feature = "file_set_times", since = "CURRENT_RUSTC_VERSION")]
|
||||
pub struct FileTimes(fs_imp::FileTimes);
|
||||
|
||||
/// Representation of the various permissions on a file.
|
||||
|
@ -676,8 +676,6 @@ impl File {
|
|||
/// # Examples
|
||||
///
|
||||
/// ```no_run
|
||||
/// #![feature(file_set_times)]
|
||||
///
|
||||
/// fn main() -> std::io::Result<()> {
|
||||
/// use std::fs::{self, File, FileTimes};
|
||||
///
|
||||
|
@ -690,7 +688,7 @@ impl File {
|
|||
/// Ok(())
|
||||
/// }
|
||||
/// ```
|
||||
#[unstable(feature = "file_set_times", issue = "98245")]
|
||||
#[stable(feature = "file_set_times", since = "CURRENT_RUSTC_VERSION")]
|
||||
#[doc(alias = "futimens")]
|
||||
#[doc(alias = "futimes")]
|
||||
#[doc(alias = "SetFileTime")]
|
||||
|
@ -701,7 +699,7 @@ impl File {
|
|||
/// Changes the modification time of the underlying file.
|
||||
///
|
||||
/// This is an alias for `set_times(FileTimes::new().set_modified(time))`.
|
||||
#[unstable(feature = "file_set_times", issue = "98245")]
|
||||
#[stable(feature = "file_set_times", since = "CURRENT_RUSTC_VERSION")]
|
||||
#[inline]
|
||||
pub fn set_modified(&self, time: SystemTime) -> io::Result<()> {
|
||||
self.set_times(FileTimes::new().set_modified(time))
|
||||
|
@ -1415,20 +1413,20 @@ impl FileTimes {
|
|||
/// Create a new `FileTimes` with no times set.
|
||||
///
|
||||
/// Using the resulting `FileTimes` in [`File::set_times`] will not modify any timestamps.
|
||||
#[unstable(feature = "file_set_times", issue = "98245")]
|
||||
#[stable(feature = "file_set_times", since = "CURRENT_RUSTC_VERSION")]
|
||||
pub fn new() -> Self {
|
||||
Self::default()
|
||||
}
|
||||
|
||||
/// Set the last access time of a file.
|
||||
#[unstable(feature = "file_set_times", issue = "98245")]
|
||||
#[stable(feature = "file_set_times", since = "CURRENT_RUSTC_VERSION")]
|
||||
pub fn set_accessed(mut self, t: SystemTime) -> Self {
|
||||
self.0.set_accessed(t.into_inner());
|
||||
self
|
||||
}
|
||||
|
||||
/// Set the last modified time of a file.
|
||||
#[unstable(feature = "file_set_times", issue = "98245")]
|
||||
#[stable(feature = "file_set_times", since = "CURRENT_RUSTC_VERSION")]
|
||||
pub fn set_modified(mut self, t: SystemTime) -> Self {
|
||||
self.0.set_modified(t.into_inner());
|
||||
self
|
||||
|
@ -1442,7 +1440,7 @@ impl AsInnerMut<fs_imp::FileTimes> for FileTimes {
|
|||
}
|
||||
|
||||
// For implementing OS extension traits in `std::os`
|
||||
#[unstable(feature = "file_set_times", issue = "98245")]
|
||||
#[stable(feature = "file_set_times", since = "CURRENT_RUSTC_VERSION")]
|
||||
impl Sealed for FileTimes {}
|
||||
|
||||
impl Permissions {
|
||||
|
|
|
@ -144,14 +144,14 @@ impl MetadataExt for Metadata {
|
|||
}
|
||||
|
||||
/// OS-specific extensions to [`fs::FileTimes`].
|
||||
#[unstable(feature = "file_set_times", issue = "98245")]
|
||||
#[stable(feature = "file_set_times", since = "CURRENT_RUSTC_VERSION")]
|
||||
pub trait FileTimesExt: Sealed {
|
||||
/// Set the creation time of a file.
|
||||
#[unstable(feature = "file_set_times", issue = "98245")]
|
||||
#[stable(feature = "file_set_times", since = "CURRENT_RUSTC_VERSION")]
|
||||
fn set_created(self, t: SystemTime) -> Self;
|
||||
}
|
||||
|
||||
#[unstable(feature = "file_set_times", issue = "98245")]
|
||||
#[stable(feature = "file_set_times", since = "CURRENT_RUSTC_VERSION")]
|
||||
impl FileTimesExt for fs::FileTimes {
|
||||
fn set_created(mut self, t: SystemTime) -> Self {
|
||||
self.as_inner_mut().set_created(t.into_inner());
|
||||
|
|
|
@ -150,14 +150,14 @@ impl MetadataExt for Metadata {
|
|||
}
|
||||
|
||||
/// OS-specific extensions to [`fs::FileTimes`].
|
||||
#[unstable(feature = "file_set_times", issue = "98245")]
|
||||
#[stable(feature = "file_set_times", since = "CURRENT_RUSTC_VERSION")]
|
||||
pub trait FileTimesExt: Sealed {
|
||||
/// Set the creation time of a file.
|
||||
#[unstable(feature = "file_set_times", issue = "98245")]
|
||||
#[stable(feature = "file_set_times", since = "CURRENT_RUSTC_VERSION")]
|
||||
fn set_created(self, t: SystemTime) -> Self;
|
||||
}
|
||||
|
||||
#[unstable(feature = "file_set_times", issue = "98245")]
|
||||
#[stable(feature = "file_set_times", since = "CURRENT_RUSTC_VERSION")]
|
||||
impl FileTimesExt for fs::FileTimes {
|
||||
fn set_created(mut self, t: SystemTime) -> Self {
|
||||
self.as_inner_mut().set_created(t.into_inner());
|
||||
|
|
|
@ -144,14 +144,14 @@ impl MetadataExt for Metadata {
|
|||
}
|
||||
|
||||
/// OS-specific extensions to [`fs::FileTimes`].
|
||||
#[unstable(feature = "file_set_times", issue = "98245")]
|
||||
#[stable(feature = "file_set_times", since = "CURRENT_RUSTC_VERSION")]
|
||||
pub trait FileTimesExt: Sealed {
|
||||
/// Set the creation time of a file.
|
||||
#[unstable(feature = "file_set_times", issue = "98245")]
|
||||
#[stable(feature = "file_set_times", since = "CURRENT_RUSTC_VERSION")]
|
||||
fn set_created(self, t: SystemTime) -> Self;
|
||||
}
|
||||
|
||||
#[unstable(feature = "file_set_times", issue = "98245")]
|
||||
#[stable(feature = "file_set_times", since = "CURRENT_RUSTC_VERSION")]
|
||||
impl FileTimesExt for fs::FileTimes {
|
||||
fn set_created(mut self, t: SystemTime) -> Self {
|
||||
self.as_inner_mut().set_created(t.into_inner());
|
||||
|
|
|
@ -528,14 +528,14 @@ impl FileTypeExt for fs::FileType {
|
|||
}
|
||||
|
||||
/// Windows-specific extensions to [`fs::FileTimes`].
|
||||
#[unstable(feature = "file_set_times", issue = "98245")]
|
||||
#[stable(feature = "file_set_times", since = "CURRENT_RUSTC_VERSION")]
|
||||
pub trait FileTimesExt: Sealed {
|
||||
/// Set the creation time of a file.
|
||||
#[unstable(feature = "file_set_times", issue = "98245")]
|
||||
#[stable(feature = "file_set_times", since = "CURRENT_RUSTC_VERSION")]
|
||||
fn set_created(self, t: SystemTime) -> Self;
|
||||
}
|
||||
|
||||
#[unstable(feature = "file_set_times", issue = "98245")]
|
||||
#[stable(feature = "file_set_times", since = "CURRENT_RUSTC_VERSION")]
|
||||
impl FileTimesExt for fs::FileTimes {
|
||||
fn set_created(mut self, t: SystemTime) -> Self {
|
||||
self.as_inner_mut().set_created(t.into_inner());
|
||||
|
|
Loading…
Add table
Reference in a new issue