diff --git a/src/eval.rs b/src/eval.rs index d737bfe..221ee63 100644 --- a/src/eval.rs +++ b/src/eval.rs @@ -11,7 +11,7 @@ use std::borrow::Cow; /// This represents one "frame" of evaluation context, a given EvalString may /// need multiple environments in order to be fully expanded. pub trait Env { - fn get_var(&self, var: &str) -> Option>>; + fn get_var(&self, var: &str) -> Option>>; } /// One token within an EvalString, either literal text or a variable reference. @@ -93,7 +93,7 @@ impl EvalString<&str> { } impl EvalString { - pub fn as_cow(&self) -> EvalString> { + pub fn as_cow(&self) -> EvalString> { EvalString( self.0 .iter() @@ -107,7 +107,7 @@ impl EvalString { } impl EvalString<&str> { - pub fn as_cow(&self) -> EvalString> { + pub fn as_cow(&self) -> EvalString> { EvalString( self.0 .iter() @@ -133,7 +133,7 @@ impl<'text> Vars<'text> { } } impl<'a> Env for Vars<'a> { - fn get_var(&self, var: &str) -> Option>> { + fn get_var(&self, var: &str) -> Option>> { Some(EvalString::new(vec![EvalPart::Literal( std::borrow::Cow::Borrowed(self.get(var)?), )])) @@ -141,19 +141,19 @@ impl<'a> Env for Vars<'a> { } impl + PartialEq> Env for SmallMap> { - fn get_var(&self, var: &str) -> Option>> { + fn get_var(&self, var: &str) -> Option>> { Some(self.get(var)?.as_cow()) } } impl + PartialEq> Env for SmallMap> { - fn get_var(&self, var: &str) -> Option>> { + fn get_var(&self, var: &str) -> Option>> { Some(self.get(var)?.as_cow()) } } impl Env for SmallMap<&str, String> { - fn get_var(&self, var: &str) -> Option>> { + fn get_var(&self, var: &str) -> Option>> { Some(EvalString::new(vec![EvalPart::Literal( std::borrow::Cow::Borrowed(self.get(var)?), )])) diff --git a/src/load.rs b/src/load.rs index 4624c51..4fc3845 100644 --- a/src/load.rs +++ b/src/load.rs @@ -33,7 +33,7 @@ impl<'a> BuildImplicitVars<'a> { } } impl<'a> eval::Env for BuildImplicitVars<'a> { - fn get_var(&self, var: &str) -> Option>> { + fn get_var(&self, var: &str) -> Option>> { let string_to_evalstring = |s: String| Some(EvalString::new(vec![EvalPart::Literal(Cow::Owned(s))])); match var { diff --git a/src/smallmap.rs b/src/smallmap.rs index da8298c..0fe00a8 100644 --- a/src/smallmap.rs +++ b/src/smallmap.rs @@ -38,11 +38,11 @@ impl SmallMap { None } - pub fn iter(&self) -> std::slice::Iter<(K, V)> { + pub fn iter(&self) -> std::slice::Iter<'_, (K, V)> { self.0.iter() } - pub fn iter_mut(&mut self) -> std::slice::IterMut<(K, V)> { + pub fn iter_mut(&mut self) -> std::slice::IterMut<'_, (K, V)> { self.0.iter_mut() } diff --git a/tests/e2e/basic.rs b/tests/e2e/basic.rs index f652ab6..3c4ae0f 100644 --- a/tests/e2e/basic.rs +++ b/tests/e2e/basic.rs @@ -194,7 +194,7 @@ fn explain() -> anyhow::Result<()> { let out = space.run_expect(&mut n2_command(vec!["out"]))?; assert_output_contains(&out, "up to date"); - space.write("in", "")?; + space.write("in", "x")?; let out = space.run_expect(&mut n2_command(vec!["-d", "explain", "out"]))?; // The main "explain" log line: assert_output_contains(&out, "explain: build.ninja:6: manifest changed");