Stabilize file_set_times

Approved via FCP in https://github.com/rust-lang/rust/issues/98245 .
This commit is contained in:
Josh Triplett 2023-10-31 10:26:03 +08:00
parent 650991d62c
commit bcfc48db76
5 changed files with 19 additions and 21 deletions

View File

@ -189,7 +189,7 @@ pub struct File {
/// 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 @@ pub fn set_permissions(&self, perm: Permissions) -> io::Result<()> {
/// # Examples
///
/// ```no_run
/// #![feature(file_set_times)]
///
/// fn main() -> std::io::Result<()> {
/// use std::fs::{self, File, FileTimes};
///
@ -690,7 +688,7 @@ pub fn set_permissions(&self, perm: Permissions) -> io::Result<()> {
/// 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 @@ pub fn set_times(&self, times: FileTimes) -> io::Result<()> {
/// 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 @@ fn as_inner_mut(&mut self) -> &mut fs_imp::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 {

View File

@ -144,14 +144,14 @@ fn st_lspare(&self) -> u32 {
}
/// 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());

View File

@ -150,14 +150,14 @@ fn st_lspare(&self) -> u32 {
}
/// 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());

View File

@ -144,14 +144,14 @@ fn st_lspare(&self) -> u32 {
}
/// 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());

View File

@ -528,14 +528,14 @@ fn is_symlink_file(&self) -> bool {
}
/// 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());