Struct file_system::Permissions 1.0.0[−][src]
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
[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 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
[src][+]
impl Debug for Permissions
[src][+]
impl Eq for Permissions
[src]
impl PartialEq<Permissions> for Permissions
[src][+]
impl PermissionsExt for Permissions
1.1.0[src][+]
impl StructuralEq for Permissions
[src]
impl StructuralPartialEq for Permissions
[src]
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> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
[src][+]
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<T> From<T> for T
[src][+]
impl<T> Instrument for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,