mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-27 18:57:42 +03:00
Move freeze_* methods to OpenOptionsExt2
This commit is contained in:
committed by
Mark Rousskov
parent
637a138ab4
commit
4f1e85d875
@@ -138,6 +138,8 @@ fn seek_write(&self, buf: &[u8], offset: u64) -> io::Result<usize> {
|
||||
}
|
||||
|
||||
/// Windows-specific extensions to [`fs::OpenOptions`].
|
||||
// WARNING: This trait is not sealed. DON'T add any new methods!
|
||||
// Add them to OpenOptionsExt2 instead.
|
||||
#[stable(feature = "open_options_ext", since = "1.10.0")]
|
||||
pub trait OpenOptionsExt {
|
||||
/// Overrides the `dwDesiredAccess` argument to the call to [`CreateFile`]
|
||||
@@ -305,18 +307,6 @@ pub trait OpenOptionsExt {
|
||||
/// https://docs.microsoft.com/en-us/windows/win32/api/winnt/ne-winnt-security_impersonation_level
|
||||
#[stable(feature = "open_options_ext", since = "1.10.0")]
|
||||
fn security_qos_flags(&mut self, flags: u32) -> &mut Self;
|
||||
|
||||
/// If set to `true`, prevent the "last access time" of the file from being changed.
|
||||
///
|
||||
/// Default to `false`.
|
||||
#[unstable(feature = "windows_freeze_file_times", issue = "149715")]
|
||||
fn freeze_last_access_time(&mut self, freeze: bool) -> &mut Self;
|
||||
|
||||
/// If set to `true`, prevent the "last write time" of the file from being changed.
|
||||
///
|
||||
/// Default to `false`.
|
||||
#[unstable(feature = "windows_freeze_file_times", issue = "149715")]
|
||||
fn freeze_last_write_time(&mut self, freeze: bool) -> &mut Self;
|
||||
}
|
||||
|
||||
#[stable(feature = "open_options_ext", since = "1.10.0")]
|
||||
@@ -345,7 +335,28 @@ fn security_qos_flags(&mut self, flags: u32) -> &mut OpenOptions {
|
||||
self.as_inner_mut().security_qos_flags(flags);
|
||||
self
|
||||
}
|
||||
}
|
||||
|
||||
#[unstable(feature = "windows_freeze_file_times", issue = "149715")]
|
||||
pub trait OpenOptionsExt2: Sealed {
|
||||
/// If set to `true`, prevent the "last access time" of the file from being changed.
|
||||
///
|
||||
/// Default to `false`.
|
||||
#[unstable(feature = "windows_freeze_file_times", issue = "149715")]
|
||||
fn freeze_last_access_time(&mut self, freeze: bool) -> &mut Self;
|
||||
|
||||
/// If set to `true`, prevent the "last write time" of the file from being changed.
|
||||
///
|
||||
/// Default to `false`.
|
||||
#[unstable(feature = "windows_freeze_file_times", issue = "149715")]
|
||||
fn freeze_last_write_time(&mut self, freeze: bool) -> &mut Self;
|
||||
}
|
||||
|
||||
#[unstable(feature = "sealed", issue = "none")]
|
||||
impl Sealed for OpenOptions {}
|
||||
|
||||
#[unstable(feature = "windows_freeze_file_times", issue = "149715")]
|
||||
impl OpenOptionsExt2 for OpenOptions {
|
||||
fn freeze_last_access_time(&mut self, freeze: bool) -> &mut Self {
|
||||
self.as_inner_mut().freeze_last_access_time(freeze);
|
||||
self
|
||||
|
||||
Reference in New Issue
Block a user