@@ -608,12 +608,6 @@ impl std::fmt::Debug for semun {
608
608
}
609
609
}
610
610
#[ 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" ) ]
617
611
impl PartialEq for proc_threadinfo {
618
612
fn eq ( & self , other : & proc_threadinfo ) -> bool {
619
613
self . pth_user_time == other. pth_user_time
@@ -636,6 +630,24 @@ impl PartialEq for proc_threadinfo {
636
630
#[ cfg( feature = "extra_traits" ) ]
637
631
impl Eq for proc_threadinfo { }
638
632
#[ 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" ) ]
639
651
impl PartialEq for statfs {
640
652
fn eq ( & self , other : & statfs ) -> bool {
641
653
self . f_bsize == other. f_bsize
@@ -667,6 +679,29 @@ impl PartialEq for statfs {
667
679
#[ cfg( feature = "extra_traits" ) ]
668
680
impl Eq for statfs { }
669
681
#[ 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" ) ]
670
705
impl PartialEq for dirent {
671
706
fn eq ( & self , other : & dirent ) -> bool {
672
707
self . d_ino == other. d_ino
@@ -684,6 +719,19 @@ impl PartialEq for dirent {
684
719
#[ cfg( feature = "extra_traits" ) ]
685
720
impl Eq for dirent { }
686
721
#[ 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" ) ]
687
735
impl PartialEq for pthread_rwlock_t {
688
736
fn eq ( & self , other : & pthread_rwlock_t ) -> bool {
689
737
self . __sig == other. __sig
@@ -697,6 +745,15 @@ impl PartialEq for pthread_rwlock_t {
697
745
#[ cfg( feature = "extra_traits" ) ]
698
746
impl Eq for pthread_rwlock_t { }
699
747
#[ 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" ) ]
700
757
impl PartialEq for pthread_mutex_t {
701
758
fn eq ( & self , other : & pthread_mutex_t ) -> bool {
702
759
self . __sig == other. __sig
@@ -710,6 +767,15 @@ impl PartialEq for pthread_mutex_t {
710
767
#[ cfg( feature = "extra_traits" ) ]
711
768
impl Eq for pthread_mutex_t { }
712
769
#[ 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" ) ]
713
779
impl PartialEq for pthread_cond_t {
714
780
fn eq ( & self , other : & pthread_cond_t ) -> bool {
715
781
self . __sig == other. __sig
@@ -723,6 +789,15 @@ impl PartialEq for pthread_cond_t {
723
789
#[ cfg( feature = "extra_traits" ) ]
724
790
impl Eq for pthread_cond_t { }
725
791
#[ 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" ) ]
726
801
impl PartialEq for sockaddr_storage {
727
802
fn eq ( & self , other : & sockaddr_storage ) -> bool {
728
803
self . ss_len == other. ss_len
@@ -743,6 +818,18 @@ impl PartialEq for sockaddr_storage {
743
818
#[ cfg( feature = "extra_traits" ) ]
744
819
impl Eq for sockaddr_storage { }
745
820
#[ 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" ) ]
746
833
impl PartialEq for utmpx {
747
834
fn eq ( & self , other : & utmpx ) -> bool {
748
835
self . ut_user
@@ -764,6 +851,21 @@ impl PartialEq for utmpx {
764
851
}
765
852
#[ cfg( feature = "extra_traits" ) ]
766
853
impl 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
+ }
767
869
768
870
pub const _UTX_USERSIZE: usize = 256 ;
769
871
pub const _UTX_LINESIZE: usize = 32 ;
0 commit comments