Making adjustments based on clippy.

This commit is contained in:
Jacob VanDomelen 2019-06-01 13:20:08 -07:00
parent 87fc26962b
commit 1460f5e6b8
4 changed files with 37 additions and 47 deletions

View file

@ -25,25 +25,17 @@ impl tree::Tree<Uuid> {
/// Constructs a tree with a given height while simultaneously running a simulation on each node.
fn build_tree(h: u32) -> Option<Box<tree::Tree<Uuid>>> {
let mut result: Option<Box<tree::Tree<Uuid>>> = None;
// Recursively building a tree and running the simulation after wards to ensure a bottom-up
// execution order.
if h != 0 {
result = Some(Box::new(tree::Tree::new(
Uuid::new_v4(),
build_tree(h - 1),
build_tree(h - 1),
)));
match &result {
Some(r) => (*r).run_simulation(),
_ => (),
let tree = tree::Tree::new(Uuid::new_v4(), build_tree(h - 1), build_tree(h - 1));
tree.run_simulation();
Some(Box::new(tree))
} else {
None
}
}
result
}
/// Generates a bracket tree and runs simulation against each node.
///
/// TODO: Explain reasoning for bracket system against genetic algorithm.

View file

@ -19,20 +19,17 @@ where
match &meta {
Ok(m) if m.is_file() => {
let mut file = fs::OpenOptions::new().read(true).open(path).or(
Err(format!(
"Unable to open file {}",
path
)),
)?;
let mut file = fs::OpenOptions::new().read(true).open(path).or_else(|_| {
Err(format!("Unable to open file {}", path))
})?;
let mut s = String::new();
file.read_to_string(&mut s).or(Err(String::from(
"Unable to read from file.",
)))?;
file.read_to_string(&mut s).or_else(|_| {
Err(String::from("Unable to read from file."))
})?;
let val = T::from_str(&s).or(Err(String::from(
"Unable to parse value from file.",
)))?;
let val = T::from_str(&s).or_else(|_| {
Err(String::from("Unable to parse value from file."))
})?;
Ok(FileLinked {
val,
@ -70,11 +67,11 @@ where
.create(true)
.truncate(true)
.open(&self.path)
.or(Err(format!("Unable to open path {}", self.path)))?;
.or_else(|_| Err(format!("Unable to open path {}", self.path)))?;
write!(file, "{}", self.val).or(Err(String::from(
"Unable to write to file.",
)))?;
write!(file, "{}", self.val).or_else(|_| {
Err(String::from("Unable to write to file."))
})?;
Ok(())
}

View file

@ -28,7 +28,7 @@ fn main() {
let directory = matches.value_of(constants::args::DIRECTORY).unwrap();
let metadata = metadata(directory);
match &metadata {
Ok(m) if m.is_dir() == true => {
Ok(m) if m.is_dir() => {
println!("{} is a valid directory!", directory);
println!("Building tree for {}.", directory);
bracket::run_bracket();

View file

@ -12,8 +12,11 @@ pub struct Tree<T> {
#[macro_export]
macro_rules! btree {
($val:expr, $l:expr, $r:expr) => {
$crate::tree::Tree::new($val, Some(Box::new($l)), Some(Box::new($r)))
};
$crate::tree::Tree::new(
$val,
Some(Box::new($l)),
Some(Box::new($r))
) };
($val:expr, , $r:expr) => { $crate::tree::Tree::new($val, None, Some(Box::new($r))) };
($val:expr, $l:expr,) => { $crate::tree::Tree::new($val, Some(Box::new($l)), None) };
($val:expr) => { Tree::new($val, None, None) };
@ -90,16 +93,12 @@ fn from_str_helper<T: FromStr>(s: &str) -> Result<Option<Box<Tree<T>>>, ParseTre
let caps = re.captures(s);
if let Some(c) = caps {
let val = T::from_str(c.get(1).unwrap().as_str()).or(Err(
ParseTreeError::new(
format!(
let val = T::from_str(c.get(1).unwrap().as_str()).or_else(|_| {
Err(ParseTreeError::new(format!(
"Unable to parse node value: {}",
c.get(1)
.unwrap()
.as_str()
),
),
))?;
c.get(1).unwrap().as_str()
)))
})?;
let (left, right) = seperate_nodes(c.get(2).unwrap().as_str())?;
let left = from_str_helper(left)?;
let right = from_str_helper(right)?;
@ -122,7 +121,9 @@ where
let result = from_str_helper(s)?;
result
.ok_or(ParseTreeError::new(format!("Unable to parse string {}", s)))
.ok_or_else(|| {
ParseTreeError::new(format!("Unable to parse string {}", s))
})
.and_then(|t| Ok(*t))
}
}