1 // ignore-windows
2 // run-rustfix
3 #![warn(clippy::non_octal_unix_permissions)]
4 use std::fs::{DirBuilder, File, OpenOptions, Permissions};
5 use std::os::unix::fs::{DirBuilderExt, OpenOptionsExt, PermissionsExt};
6 
main()7 fn main() {
8     let permissions = 0o760;
9 
10     // OpenOptionsExt::mode
11     let mut options = OpenOptions::new();
12     options.mode(440);
13     options.mode(0o400);
14     options.mode(permissions);
15 
16     // PermissionsExt::from_mode
17     let _permissions = Permissions::from_mode(647);
18     let _permissions = Permissions::from_mode(0o000);
19     let _permissions = Permissions::from_mode(permissions);
20 
21     // PermissionsExt::set_mode
22     let f = File::create("foo.txt").unwrap();
23     let metadata = f.metadata().unwrap();
24     let mut permissions = metadata.permissions();
25 
26     permissions.set_mode(644);
27     permissions.set_mode(0o704);
28 
29     // DirBuilderExt::mode
30     let mut builder = DirBuilder::new();
31     builder.mode(755);
32     builder.mode(0o406);
33 }
34