1.0.0[][src]Struct boolean_enums::lstd::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 whether 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)
[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(())
}

Trait Implementations

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

impl PartialEq<Permissions> for Permissions
[src]

impl Debug for Permissions
[src]

impl PermissionsExt for Permissions
1.1.0
[src]

Auto Trait Implementations

impl Send for Permissions

impl Sync for Permissions

Blanket Implementations

impl<T> From for T
[src]

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

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

type Owned = T

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

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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