@@ -608,12 +608,6 @@ impl std::fmt::Debug for semun {
608608 }
609609}
610610#[ cfg( feature = "extra_traits" ) ]
611- impl std:: hash:: Hash for semun {
612- fn hash < H : std:: hash:: Hasher > ( & self , state : & mut H ) {
613- unsafe { self . val . hash ( state) } ;
614- }
615- }
616- #[ cfg( feature = "extra_traits" ) ]
617611impl PartialEq for proc_threadinfo {
618612 fn eq ( & self , other : & proc_threadinfo ) -> bool {
619613 self . pth_user_time == other. pth_user_time
@@ -636,6 +630,24 @@ impl PartialEq for proc_threadinfo {
636630#[ cfg( feature = "extra_traits" ) ]
637631impl Eq for proc_threadinfo { }
638632#[ cfg( feature = "extra_traits" ) ]
633+ impl std:: fmt:: Debug for proc_threadinfo {
634+ fn fmt ( & self , f : & mut std:: fmt:: Formatter ) -> std:: fmt:: Result {
635+ f. debug_struct ( "proc_threadinfo" )
636+ . field ( "pth_user_time" , & self . pth_user_time )
637+ . field ( "pth_system_time" , & self . pth_system_time )
638+ . field ( "pth_cpu_usage" , & self . pth_cpu_usage )
639+ . field ( "pth_policy" , & self . pth_policy )
640+ . field ( "pth_run_state" , & self . pth_run_state )
641+ . field ( "pth_flags" , & self . pth_flags )
642+ . field ( "pth_sleep_time" , & self . pth_sleep_time )
643+ . field ( "pth_curpri" , & self . pth_curpri )
644+ . field ( "pth_priority" , & self . pth_priority )
645+ . field ( "pth_maxpriority" , & self . pth_maxpriority )
646+ // FIXME: .field("pth_name", &self.pth_name)
647+ . finish ( )
648+ }
649+ }
650+ #[ cfg( feature = "extra_traits" ) ]
639651impl PartialEq for statfs {
640652 fn eq ( & self , other : & statfs ) -> bool {
641653 self . f_bsize == other. f_bsize
@@ -667,6 +679,29 @@ impl PartialEq for statfs {
667679#[ cfg( feature = "extra_traits" ) ]
668680impl Eq for statfs { }
669681#[ cfg( feature = "extra_traits" ) ]
682+ impl std:: fmt:: Debug for statfs {
683+ fn fmt ( & self , f : & mut std:: fmt:: Formatter ) -> std:: fmt:: Result {
684+ f. debug_struct ( "statfs" )
685+ . field ( "f_bsize" , & self . f_bsize )
686+ . field ( "f_iosize" , & self . f_iosize )
687+ . field ( "f_blocks" , & self . f_blocks )
688+ . field ( "f_bfree" , & self . f_bfree )
689+ . field ( "f_bavail" , & self . f_bavail )
690+ . field ( "f_files" , & self . f_files )
691+ . field ( "f_ffree" , & self . f_ffree )
692+ . field ( "f_fsid" , & self . f_fsid )
693+ . field ( "f_owner" , & self . f_owner )
694+ . field ( "f_flags" , & self . f_flags )
695+ . field ( "f_fssubtype" , & self . f_fssubtype )
696+ . field ( "f_fstypename" , & self . f_fstypename )
697+ . field ( "f_type" , & self . f_type )
698+ // FIXME: .field("f_mntonname", &self.f_mntonname)
699+ // FIXME: .field("f_mntfromname", &self.f_mntfromname)
700+ . field ( "f_reserved" , & self . f_reserved )
701+ . finish ( )
702+ }
703+ }
704+ #[ cfg( feature = "extra_traits" ) ]
670705impl PartialEq for dirent {
671706 fn eq ( & self , other : & dirent ) -> bool {
672707 self . d_ino == other. d_ino
@@ -684,6 +719,19 @@ impl PartialEq for dirent {
684719#[ cfg( feature = "extra_traits" ) ]
685720impl Eq for dirent { }
686721#[ cfg( feature = "extra_traits" ) ]
722+ impl std:: fmt:: Debug for dirent {
723+ fn fmt ( & self , f : & mut std:: fmt:: Formatter ) -> std:: fmt:: Result {
724+ f. debug_struct ( "dirent" )
725+ . field ( "d_ino" , & self . d_ino )
726+ . field ( "d_seekoff" , & self . d_seekoff )
727+ . field ( "d_reclen" , & self . d_reclen )
728+ . field ( "d_namlen" , & self . d_namlen )
729+ . field ( "d_type" , & self . d_type )
730+ // FIXME: .field("d_name", &self.d_name)
731+ . finish ( )
732+ }
733+ }
734+ #[ cfg( feature = "extra_traits" ) ]
687735impl PartialEq for pthread_rwlock_t {
688736 fn eq ( & self , other : & pthread_rwlock_t ) -> bool {
689737 self . __sig == other. __sig
@@ -697,6 +745,15 @@ impl PartialEq for pthread_rwlock_t {
697745#[ cfg( feature = "extra_traits" ) ]
698746impl Eq for pthread_rwlock_t { }
699747#[ cfg( feature = "extra_traits" ) ]
748+ impl std:: fmt:: Debug for pthread_rwlock_t {
749+ fn fmt ( & self , f : & mut std:: fmt:: Formatter ) -> std:: fmt:: Result {
750+ f. debug_struct ( "pthread_rwlock_t" )
751+ . field ( "__sig" , & self . __sig )
752+ // FIXME: .field("__opaque", &self.__opaque)
753+ . finish ( )
754+ }
755+ }
756+ #[ cfg( feature = "extra_traits" ) ]
700757impl PartialEq for pthread_mutex_t {
701758 fn eq ( & self , other : & pthread_mutex_t ) -> bool {
702759 self . __sig == other. __sig
@@ -710,6 +767,15 @@ impl PartialEq for pthread_mutex_t {
710767#[ cfg( feature = "extra_traits" ) ]
711768impl Eq for pthread_mutex_t { }
712769#[ cfg( feature = "extra_traits" ) ]
770+ impl std:: fmt:: Debug for pthread_mutex_t {
771+ fn fmt ( & self , f : & mut std:: fmt:: Formatter ) -> std:: fmt:: Result {
772+ f. debug_struct ( "pthread_mutex_t" )
773+ . field ( "__sig" , & self . __sig )
774+ // FIXME: .field("__opaque", &self.__opaque)
775+ . finish ( )
776+ }
777+ }
778+ #[ cfg( feature = "extra_traits" ) ]
713779impl PartialEq for pthread_cond_t {
714780 fn eq ( & self , other : & pthread_cond_t ) -> bool {
715781 self . __sig == other. __sig
@@ -723,6 +789,15 @@ impl PartialEq for pthread_cond_t {
723789#[ cfg( feature = "extra_traits" ) ]
724790impl Eq for pthread_cond_t { }
725791#[ cfg( feature = "extra_traits" ) ]
792+ impl std:: fmt:: Debug for pthread_cond_t {
793+ fn fmt ( & self , f : & mut std:: fmt:: Formatter ) -> std:: fmt:: Result {
794+ f. debug_struct ( "pthread_cond_t" )
795+ . field ( "__sig" , & self . __sig )
796+ // FIXME: .field("__opaque", &self.__opaque)
797+ . finish ( )
798+ }
799+ }
800+ #[ cfg( feature = "extra_traits" ) ]
726801impl PartialEq for sockaddr_storage {
727802 fn eq ( & self , other : & sockaddr_storage ) -> bool {
728803 self . ss_len == other. ss_len
@@ -743,6 +818,18 @@ impl PartialEq for sockaddr_storage {
743818#[ cfg( feature = "extra_traits" ) ]
744819impl Eq for sockaddr_storage { }
745820#[ cfg( feature = "extra_traits" ) ]
821+ impl std:: fmt:: Debug for sockaddr_storage {
822+ fn fmt ( & self , f : & mut std:: fmt:: Formatter ) -> std:: fmt:: Result {
823+ f. debug_struct ( "sockaddr_storage" )
824+ . field ( "ss_len" , & self . ss_len )
825+ . field ( "ss_family" , & self . ss_family )
826+ . field ( "__ss_pad1" , & self . __ss_pad1 )
827+ . field ( "__ss_align" , & self . __ss_align )
828+ // FIXME: .field("__ss_pad2", &self.__ss_pad2)
829+ . finish ( )
830+ }
831+ }
832+ #[ cfg( feature = "extra_traits" ) ]
746833impl PartialEq for utmpx {
747834 fn eq ( & self , other : & utmpx ) -> bool {
748835 self . ut_user
@@ -764,6 +851,21 @@ impl PartialEq for utmpx {
764851}
765852#[ cfg( feature = "extra_traits" ) ]
766853impl Eq for utmpx { }
854+ #[ cfg( feature = "extra_traits" ) ]
855+ impl std:: fmt:: Debug for utmpx {
856+ fn fmt ( & self , f : & mut std:: fmt:: Formatter ) -> std:: fmt:: Result {
857+ f. debug_struct ( "utmpx" )
858+ // FIXME: .field("ut_user", &self.ut_user)
859+ . field ( "ut_id" , & self . ut_id )
860+ . field ( "ut_line" , & self . ut_line )
861+ . field ( "ut_pid" , & self . ut_pid )
862+ . field ( "ut_type" , & self . ut_type )
863+ . field ( "ut_tv" , & self . ut_tv )
864+ // FIXME: .field("ut_host", &self.ut_host)
865+ . field ( "ut_pad" , & self . ut_pad )
866+ . finish ( )
867+ }
868+ }
767869
768870pub const _UTX_USERSIZE: usize = 256 ;
769871pub const _UTX_LINESIZE: usize = 32 ;
0 commit comments