summaryrefslogtreecommitdiff
path: root/src/poll.rs
diff options
context:
space:
mode:
authorBryant Mairs <bryant@mai.rs>2019-03-10 08:29:23 -0700
committerBryant Mairs <bryant@mai.rs>2019-06-09 11:31:46 -0700
commitc50e987b4e169e2d7dc7089c91407e1e55c550f1 (patch)
tree4892e791f8809dfa1501e9fa4ff999a106a8dd04 /src/poll.rs
parent2075ac70bdd4848b08213a237feb32f5506096e0 (diff)
downloadnix-c50e987b4e169e2d7dc7089c91407e1e55c550f1.zip
Add extra traits for all types
Derive Clone, Copy, Eq, Hash, and PartialEq for all types. Not all traits are supported by all types, which is why many are missing some.
Diffstat (limited to 'src/poll.rs')
-rw-r--r--src/poll.rs20
1 files changed, 1 insertions, 19 deletions
diff --git a/src/poll.rs b/src/poll.rs
index 160b5bc6..c603611e 100644
--- a/src/poll.rs
+++ b/src/poll.rs
@@ -4,7 +4,6 @@ use sys::time::TimeSpec;
#[cfg(any(target_os = "android", target_os = "dragonfly", target_os = "freebsd", target_os = "linux"))]
use sys::signal::SigSet;
use std::os::unix::io::RawFd;
-use std::fmt;
use libc;
use Result;
@@ -19,7 +18,7 @@ use errno::Errno;
/// After a call to `poll` or `ppoll`, the events that occured can be
/// retrieved by calling [`revents()`](#method.revents) on the `PollFd`.
#[repr(C)]
-#[derive(Clone, Copy)]
+#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
pub struct PollFd {
pollfd: libc::pollfd,
}
@@ -43,23 +42,6 @@ impl PollFd {
}
}
-impl fmt::Debug for PollFd {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- let pfd = self.pollfd;
- let mut ds = f.debug_struct("PollFd");
- ds.field("fd", &pfd.fd);
- match PollFlags::from_bits(pfd.events) {
- None => ds.field("events", &pfd.events),
- Some(ef) => ds.field("events", &ef),
- };
- match PollFlags::from_bits(pfd.revents) {
- None => ds.field("revents", &pfd.revents),
- Some(ef) => ds.field("revents", &ef),
- };
- ds.finish()
- }
-}
-
libc_bitflags! {
/// These flags define the different events that can be monitored by `poll` and `ppoll`
pub struct PollFlags: libc::c_short {