<link rel="stylesheet" href="../../noscript1.34.1.css">

1.0.0[][src]Struct std::fs::Permissions

pub struct Permissions(_);

Representation of the various permissions on a file.

This module only currently provides one bit of information, readonly, which is exposed on all currently supported platforms. Unix-specific functionality, such as mode bits, is available through the PermissionsExt trait.

Methods

impl Permissions[src]

pub fn readonly(&self) -> bool[src]

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(())
}Run

pub fn set_readonly(&mut self, readonly: bool)[src]

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 fs::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(())
}Run

Trait Implementations

impl PermissionsExt for Permissions
1.1.0
[src]

impl Debug for Permissions[src]

impl PartialEq<Permissions> for Permissions[src]

impl Eq for Permissions[src]

impl Clone for Permissions[src]

fn clone_from(&mut self, source: &Self)[src]

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl Send for Permissions

impl Sync for Permissions

Blanket Implementations

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T