You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							16 lines
						
					
					
						
							490 B
						
					
					
				
			
		
		
	
	
							16 lines
						
					
					
						
							490 B
						
					
					
				use log::warn; | 
						|
 | 
						|
pub trait PathExt { | 
						|
    fn ensure_exists_silently(self) -> Self; | 
						|
} | 
						|
 | 
						|
impl<T: AsRef<std::path::Path>> PathExt for T { | 
						|
    /// Ensures a path is existing by creating it recursively | 
						|
    /// if it is missing. No error is emitted if the creation has failed. | 
						|
    fn ensure_exists_silently(self) -> Self { | 
						|
        if let Err(err) = std::fs::create_dir_all(self.as_ref()) { | 
						|
            warn!("Failed to create directory {:?}: {}", self.as_ref(), err); | 
						|
        } | 
						|
        self | 
						|
    } | 
						|
}
 | 
						|
 |