summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTamir Duberstein <tamird@gmail.com>2020-11-10 17:17:19 -0500
committerTamir Duberstein <tamird@google.com>2020-11-15 12:58:15 -0500
commitb373f2f73a9c52decaec223c381e0c6f368ef9e0 (patch)
tree94cbb0c1d85fadb9dc8968429cec790fa967ad97 /src
parent328530fa814767c26077406eb707e46437755f54 (diff)
downloadnix-b373f2f73a9c52decaec223c381e0c6f368ef9e0.zip
Suppress time_t musl "deprecation"
See https://github.com/rust-lang/libc/issues/1848 in which this type is changing from i32 to i64; the change is being announced via this deprecation.
Diffstat (limited to 'src')
-rw-r--r--src/sys/time.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/sys/time.rs b/src/sys/time.rs
index 269b4253..bdcfe3c9 100644
--- a/src/sys/time.rs
+++ b/src/sys/time.rs
@@ -2,6 +2,7 @@ use std::{cmp, fmt, ops};
use std::time::Duration;
use std::convert::From;
use libc::{c_long, timespec, timeval};
+#[cfg_attr(target_env = "musl", allow(deprecated))] // https://github.com/rust-lang/libc/issues/1848
pub use libc::{time_t, suseconds_t};
pub trait TimeValLike: Sized {
@@ -69,6 +70,7 @@ impl From<timespec> for TimeSpec {
impl From<Duration> for TimeSpec {
fn from(duration: Duration) -> Self {
+ #[cfg_attr(target_env = "musl", allow(deprecated))] // https://github.com/rust-lang/libc/issues/1848
TimeSpec(timespec {
tv_sec: duration.as_secs() as time_t,
tv_nsec: duration.subsec_nanos() as c_long
@@ -117,6 +119,7 @@ impl TimeValLike for TimeSpec {
fn seconds(seconds: i64) -> TimeSpec {
assert!(seconds >= TS_MIN_SECONDS && seconds <= TS_MAX_SECONDS,
"TimeSpec out of bounds; seconds={}", seconds);
+ #[cfg_attr(target_env = "musl", allow(deprecated))] // https://github.com/rust-lang/libc/issues/1848
TimeSpec(timespec {tv_sec: seconds as time_t, tv_nsec: 0 })
}
@@ -143,6 +146,7 @@ impl TimeValLike for TimeSpec {
let (secs, nanos) = div_mod_floor_64(nanoseconds, NANOS_PER_SEC);
assert!(secs >= TS_MIN_SECONDS && secs <= TS_MAX_SECONDS,
"TimeSpec out of bounds");
+ #[cfg_attr(target_env = "musl", allow(deprecated))] // https://github.com/rust-lang/libc/issues/1848
TimeSpec(timespec {tv_sec: secs as time_t,
tv_nsec: nanos as c_long })
}
@@ -179,6 +183,7 @@ impl TimeSpec {
}
}
+ #[cfg_attr(target_env = "musl", allow(deprecated))] // https://github.com/rust-lang/libc/issues/1848
pub fn tv_sec(&self) -> time_t {
self.0.tv_sec
}
@@ -315,6 +320,7 @@ impl TimeValLike for TimeVal {
fn seconds(seconds: i64) -> TimeVal {
assert!(seconds >= TV_MIN_SECONDS && seconds <= TV_MAX_SECONDS,
"TimeVal out of bounds; seconds={}", seconds);
+ #[cfg_attr(target_env = "musl", allow(deprecated))] // https://github.com/rust-lang/libc/issues/1848
TimeVal(timeval {tv_sec: seconds as time_t, tv_usec: 0 })
}
@@ -332,6 +338,7 @@ impl TimeValLike for TimeVal {
let (secs, micros) = div_mod_floor_64(microseconds, MICROS_PER_SEC);
assert!(secs >= TV_MIN_SECONDS && secs <= TV_MAX_SECONDS,
"TimeVal out of bounds");
+ #[cfg_attr(target_env = "musl", allow(deprecated))] // https://github.com/rust-lang/libc/issues/1848
TimeVal(timeval {tv_sec: secs as time_t,
tv_usec: micros as suseconds_t })
}
@@ -344,6 +351,7 @@ impl TimeValLike for TimeVal {
let (secs, micros) = div_mod_floor_64(microseconds, MICROS_PER_SEC);
assert!(secs >= TV_MIN_SECONDS && secs <= TV_MAX_SECONDS,
"TimeVal out of bounds");
+ #[cfg_attr(target_env = "musl", allow(deprecated))] // https://github.com/rust-lang/libc/issues/1848
TimeVal(timeval {tv_sec: secs as time_t,
tv_usec: micros as suseconds_t })
}
@@ -380,6 +388,7 @@ impl TimeVal {
}
}
+ #[cfg_attr(target_env = "musl", allow(deprecated))] // https://github.com/rust-lang/libc/issues/1848
pub fn tv_sec(&self) -> time_t {
self.0.tv_sec
}