[][src]Function permissions::functions::is_executable

pub fn is_executable(path: impl AsRef<Path>) -> Result<bool>

Check if current process has permission to execute.

If path points to a directory, you'll be checking if you have the right to enter it.

Errors

Same as access_syscall.

Examples

use permissions::is_executable;
use std::io;

fn main() -> io::Result<()> {
    assert!(is_executable("/usr/bin/cat")?);
    assert!(is_executable("/")?);
    assert!(is_executable("src/")?);
    assert!(!is_executable("src/lib.rs")?);
    assert!(!is_executable("/root")?);

    // may return `Err(kind: PermissionDenied)`
    // println!("{:?}", is_executable("/root/any")?);

    Ok(())
}