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

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 PermissionsExt for Permissions
1.1.0
[src]

impl Eq for Permissions[src]

impl Debug 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]

Auto Trait Implementations

impl Send for Permissions

impl Sync for Permissions

Blanket Implementations

impl<T> Bind for T[src]

fn bind_mut<F>(self, f: F) -> Self where
    F: FnMut(&mut Self), 
[src]

Binds the value, mutates it, and returns it

fn bind_map<F, R>(self, f: F) -> R where
    F: FnMut(Self) -> R, 
[src]

Binds the value, maps it with the function, and returns the mapped value

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

type Owned = T

The resulting type after obtaining ownership.

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<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> 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]