File tree Expand file tree Collapse file tree 1 file changed +10
-12
lines changed Expand file tree Collapse file tree 1 file changed +10
-12
lines changed Original file line number Diff line number Diff line change @@ -832,32 +832,30 @@ declare_clippy_lint! {
832832/// etc. instead. 
833833/// 
834834/// ### Why is this bad? 
835- /// The function will always be called and potentially  
836- /// allocate an object acting as the default . 
835+ /// The function will always be called. This is only bad if it allocates or  
836+ /// does some non-trivial amount of work . 
837837/// 
838838/// ### Known problems 
839- /// If the function has side-effects, not calling it will 
840- /// change the semantic of the program, but you shouldn't rely on that anyway. 
839+ /// If the function has side-effects, not calling it will change the 
840+ /// semantic of the program, but you shouldn't rely on that. 
841+ /// 
842+ /// The lint also cannot figure out whether the function you call is 
843+ /// actually expensive to call or not. 
841844/// 
842845/// ### Example 
843846/// ```rust 
844847/// # let foo = Some(String::new()); 
845- /// foo.unwrap_or(String::new( )); 
848+ /// foo.unwrap_or(String::from("empty" )); 
846849/// ``` 
847850/// 
848851/// Use instead: 
849852/// ```rust 
850853/// # let foo = Some(String::new()); 
851- /// foo.unwrap_or_else(String::new); 
852- /// 
853- /// // or 
854- /// 
855- /// # let foo = Some(String::new()); 
856- /// foo.unwrap_or_default(); 
854+ /// foo.unwrap_or_else(|| String::from("empty")); 
857855/// ``` 
858856[ clippy:: version = "pre 1.29.0" ] 
859857    pub  OR_FUN_CALL , 
860-     perf , 
858+     nursery , 
861859    "using any `*or` method with a function call, which suggests `*or_else`" 
862860} 
863861
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments