Struct std::fs::Permissions
pub struct Permissions(_);
Representation of the various permissions on a file.
This module only currently provides one bit of information, Permissions::readonly
, which is exposed on all currently supported platforms. Unix-specific functionality, such as mode bits, is available through the PermissionsExt
trait.
Implementations
impl Permissions
pub fn readonly(&self) -> bool
Returns true
if these permissions describe a readonly (unwritable) file.
Examples
use std::fs::File; fn main() -> std::io::Result<()> { let mut f = File::create("foo.txt")?; let metadata = f.metadata()?; assert_eq!(false, metadata.permissions().readonly()); Ok(()) }
pub fn set_readonly(&mut self, readonly: bool)
Modifies the readonly flag for this set of permissions. If the readonly
argument is true
, using the resulting Permission
will update file permissions to forbid writing. Conversely, if it’s false
, using the resulting Permission
will update file permissions to allow writing.
This operation does not modify the filesystem. To modify the filesystem use the set_permissions
function.
Examples
use std::fs::File; fn main() -> std::io::Result<()> { let f = File::create("foo.txt")?; let metadata = f.metadata()?; let mut permissions = metadata.permissions(); permissions.set_readonly(true); // filesystem doesn't change assert_eq!(false, metadata.permissions().readonly()); // just this particular `permissions`. assert_eq!(true, permissions.readonly()); Ok(()) }
Trait Implementations
impl Clone for Permissions
fn clone(&self) -> Permissions
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Debug for Permissions
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more
impl PartialEq<Permissions> for Permissions
fn eq(&self, other: &Permissions) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Permissions) -> bool
This method tests for !=
.
fn mode(&self) -> u32
Returns the underlying raw st_mode
bits that contain the standard Unix permissions for this file. Read more
fn set_mode(&mut self, mode: u32)
Sets the underlying raw bits for this set of permissions. Read more
fn from_mode(mode: u32) -> Permissions
Creates a new instance of Permissions
from the given set of Unix permission bits. Read more
impl Eq for Permissions
impl StructuralEq for Permissions
impl StructuralPartialEq for Permissions
Auto Trait Implementations
impl RefUnwindSafe for Permissions
impl Send for Permissions
impl Sync for Permissions
impl Unpin for Permissions
impl UnwindSafe for Permissions
Blanket Implementations
impl<T> From<T> for T
pub fn from(t: T) -> T
Performs the conversion.
pub fn into(self) -> U
Performs the conversion.
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
#41263)recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
Performs the conversion.
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
Performs the conversion.
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/fs/struct.Permissions.html