File tree Expand file tree Collapse file tree 1 file changed +30
-3
lines changed Expand file tree Collapse file tree 1 file changed +30
-3
lines changed Original file line number Diff line number Diff line change @@ -95,14 +95,41 @@ where
9595    pidfd :  PollEvented < Pidfd > , 
9696} 
9797
98+ fn  display_eq ( d :  impl  std:: fmt:: Display ,  s :  & str )  -> bool  { 
99+     use  std:: fmt:: Write ; 
100+ 
101+     struct  FormatEq < ' r >  { 
102+         remainder :  & ' r  str , 
103+         unequal :  bool , 
104+     } 
105+ 
106+     impl < ' r >  Write  for  FormatEq < ' r >  { 
107+         fn  write_str ( & mut  self ,  s :  & str )  -> std:: fmt:: Result  { 
108+             if  !self . unequal  { 
109+                 if  let  Some ( new_remainder)  = self . remainder . strip_prefix ( s)  { 
110+                     self . remainder  = new_remainder; 
111+                 }  else  { 
112+                     self . unequal  = true ; 
113+                 } 
114+             } 
115+             Ok ( ( ) ) 
116+         } 
117+     } 
118+ 
119+     let  mut  fmt_eq = FormatEq  { 
120+         remainder :  s, 
121+         unequal :  false , 
122+     } ; 
123+     let  _ = write ! ( fmt_eq,  "{d}" ) ; 
124+     fmt_eq. remainder . is_empty ( )  && !fmt_eq. unequal 
125+ } 
126+ 
98127#[ allow( deprecated) ]  
99128fn  is_rt_shutdown_err ( err :  & io:: Error )  -> bool  { 
100129    if  let  Some ( inner)  = err. get_ref ( )  { 
101-         // Using `Error::description()` is more efficient than `format!("{inner}")`, 
102-         // so we use it here even if it is deprecated. 
103130        err. kind ( )  == io:: ErrorKind :: Other 
104131            && inner. source ( ) . is_none ( ) 
105-             && inner . description ( )  ==  RUNTIME_SHUTTING_DOWN_ERROR 
132+             && display_eq ( inner ,   RUNTIME_SHUTTING_DOWN_ERROR ) 
106133    }  else  { 
107134        false 
108135    } 
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments