Skip to content

Commit 1f2b3eb

Browse files
committed
Rollup merge of rust-lang#22744 - alexcrichton:issue-22738, r=aturon
Currently we have a `set_mode` mutator, so this just adds the pairing of a `mode` accessor to read the value. Closes rust-lang#22738
2 parents ecaf74a + 537d694 commit 1f2b3eb

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

src/libstd/fs/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,10 @@ impl FromInner<fs_imp::FilePermissions> for Permissions {
329329
}
330330
}
331331

332+
impl AsInner<fs_imp::FilePermissions> for Permissions {
333+
fn as_inner(&self) -> &fs_imp::FilePermissions { &self.0 }
334+
}
335+
332336
impl Iterator for ReadDir {
333337
type Item = io::Result<DirEntry>;
334338

src/libstd/sys/unix/ext.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,10 +173,13 @@ impl OsStrExt for OsStr {
173173

174174
// Unix-specific extensions to `Permissions`
175175
pub trait PermissionsExt {
176+
fn mode(&self) -> i32;
176177
fn set_mode(&mut self, mode: i32);
177178
}
178179

179180
impl PermissionsExt for Permissions {
181+
fn mode(&self) -> i32 { self.as_inner().mode() }
182+
180183
fn set_mode(&mut self, mode: i32) {
181184
*self = FromInner::from_inner(FromInner::from_inner(mode));
182185
}

src/libstd/sys/unix/fs2.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ impl FilePermissions {
9090
self.mode |= 0o222;
9191
}
9292
}
93+
pub fn mode(&self) -> i32 { self.mode as i32 }
9394
}
9495

9596
impl FromInner<i32> for FilePermissions {

0 commit comments

Comments
 (0)