Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

constify from_raw and as_raw for Uid, Gid and Pid and Uid::is_root #1429

Merged
merged 1 commit into from May 1, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Expand Up @@ -11,6 +11,10 @@ This project adheres to [Semantic Versioning](http://semver.org/).
### Changed
- Made `forkpty` unsafe, like `fork`
(#[1390](https://github.com/nix-rust/nix/pull/1390))
- Made `Uid`, `Gid` and `Pid` methods `from_raw` and `as_raw` a `const fn`
(#[1429](https://github.com/nix-rust/nix/pull/1429))
- Made `Uid::is_root` a `const fn`
Blub marked this conversation as resolved.
Show resolved Hide resolved
(#[1429](https://github.com/nix-rust/nix/pull/1429))

### Fixed
- Allow `sockaddr_ll` size, as reported by the Linux kernel, to be smaller then it's definition
Expand Down
16 changes: 8 additions & 8 deletions src/unistd.rs
Expand Up @@ -38,7 +38,7 @@ pub struct Uid(uid_t);

impl Uid {
/// Creates `Uid` from raw `uid_t`.
pub fn from_raw(uid: uid_t) -> Self {
pub const fn from_raw(uid: uid_t) -> Self {
Uid(uid)
}

Expand All @@ -53,12 +53,12 @@ impl Uid {
}

/// Returns true if the `Uid` represents privileged user - root. (If it equals zero.)
pub fn is_root(self) -> bool {
self == ROOT
pub const fn is_root(self) -> bool {
self.0 == ROOT.0
}

/// Get the raw `uid_t` wrapped by `self`.
pub fn as_raw(self) -> uid_t {
pub const fn as_raw(self) -> uid_t {
self.0
}
}
Expand Down Expand Up @@ -87,7 +87,7 @@ pub struct Gid(gid_t);

impl Gid {
/// Creates `Gid` from raw `gid_t`.
pub fn from_raw(gid: gid_t) -> Self {
pub const fn from_raw(gid: gid_t) -> Self {
Gid(gid)
}

Expand All @@ -102,7 +102,7 @@ impl Gid {
}

/// Get the raw `gid_t` wrapped by `self`.
pub fn as_raw(self) -> gid_t {
pub const fn as_raw(self) -> gid_t {
self.0
}
}
Expand All @@ -128,7 +128,7 @@ pub struct Pid(pid_t);

impl Pid {
/// Creates `Pid` from raw `pid_t`.
pub fn from_raw(pid: pid_t) -> Self {
pub const fn from_raw(pid: pid_t) -> Self {
Pid(pid)
}

Expand All @@ -143,7 +143,7 @@ impl Pid {
}

/// Get the raw `pid_t` wrapped by `self`.
pub fn as_raw(self) -> pid_t {
pub const fn as_raw(self) -> pid_t {
self.0
}
}
Expand Down