From 2d7dbc1f546366e19ec31360b2650fc0d9df1b9f Mon Sep 17 00:00:00 2001 From: David Lukes Date: Tue, 27 Feb 2018 15:00:29 +0100 Subject: [PATCH] Load and compile template in proper function Get rid of the unncessary closure. --- rustfmt-config/src/config_type.rs | 22 +++++++--------------- rustfmt-config/src/lib.rs | 1 - rustfmt-config/src/license.rs | 11 +++++++++++ 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/rustfmt-config/src/config_type.rs b/rustfmt-config/src/config_type.rs index 3e02a4cf9dd..703c851dd1e 100644 --- a/rustfmt-config/src/config_type.rs +++ b/rustfmt-config/src/config_type.rs @@ -392,22 +392,14 @@ macro_rules! create_config { } fn set_license_template(&mut self) { - if !self.was_set().license_template_path() { - return; + if self.was_set().license_template_path() { + let lt_path = self.license_template_path(); + match license::load_and_compile_template(<_path) { + Ok(re) => self.license_template = Some(re), + Err(msg) => eprintln!("Warning for license template file {:?}: {}", + lt_path, msg), + } } - let lt_path = self.license_template_path(); - let try = || -> Result { - let mut lt_file = File::open(<_path)?; - let mut lt_str = String::new(); - lt_file.read_to_string(&mut lt_str)?; - let lt_parsed = TemplateParser::parse(<_str)?; - Ok(Regex::new(<_parsed)?) - }; - match try() { - Ok(re) => self.license_template = Some(re), - Err(msg) => eprintln!("Warning for license template file {:?}: {}", - lt_path, msg), - }; } } diff --git a/rustfmt-config/src/lib.rs b/rustfmt-config/src/lib.rs index cf5bb537fa1..ee895080f23 100644 --- a/rustfmt-config/src/lib.rs +++ b/rustfmt-config/src/lib.rs @@ -37,7 +37,6 @@ pub mod license; use config_type::ConfigType; use file_lines::FileLines; -use license::{LicenseError, TemplateParser}; pub use lists::*; pub use options::*; use summary::Summary; diff --git a/rustfmt-config/src/license.rs b/rustfmt-config/src/license.rs index ce05634b876..1830fcb3cf2 100644 --- a/rustfmt-config/src/license.rs +++ b/rustfmt-config/src/license.rs @@ -1,7 +1,10 @@ use std::io; use std::fmt; +use std::fs::File; +use std::io::Read; use regex; +use regex::Regex; #[derive(Debug)] pub enum LicenseError { @@ -210,6 +213,14 @@ impl TemplateParser { } } +pub fn load_and_compile_template(path: &str) -> Result { + let mut lt_file = File::open(&path)?; + let mut lt_str = String::new(); + lt_file.read_to_string(&mut lt_str)?; + let lt_parsed = TemplateParser::parse(<_str)?; + Ok(Regex::new(<_parsed)?) +} + #[cfg(test)] mod test { use super::TemplateParser;