aboutsummaryrefslogtreecommitdiff
path: root/src/makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/makefile')
-rw-r--r--src/makefile/functions.rs10
-rw-r--r--src/makefile/inference_rules.rs2
-rw-r--r--src/makefile/input.rs2
-rw-r--r--src/makefile/macro.rs5
-rw-r--r--src/makefile/token.rs10
5 files changed, 15 insertions, 14 deletions
diff --git a/src/makefile/functions.rs b/src/makefile/functions.rs
index a16c268..e6efd1c 100644
--- a/src/makefile/functions.rs
+++ b/src/makefile/functions.rs
@@ -219,7 +219,11 @@ mod text {
let n = macros.expand(n)?;
let n: usize = n.parse().wrap_err("while calling `word`")?;
let text = macros.expand(text)?;
- Ok(text.split_whitespace().nth(n + 1).unwrap_or("").to_owned())
+ Ok(text
+ .split_whitespace()
+ .nth(n.saturating_add(1))
+ .unwrap_or("")
+ .to_owned())
}
pub fn words(macros: &MacroSet, words: &TokenString) -> Result<String> {
@@ -655,7 +659,7 @@ mod test {
&[
TokenString::text(""),
TokenString::text("yeet"),
- "$(error fail)".parse().unwrap()
+ "$(error fail)".parse()?
],
&MacroSet::new()
)?,
@@ -681,7 +685,7 @@ mod test {
&[
TokenString::text("maybe"),
TokenString::text(""),
- "$(error fail)".parse().unwrap()
+ "$(error fail)".parse()?
],
&MacroSet::new()
)?,
diff --git a/src/makefile/inference_rules.rs b/src/makefile/inference_rules.rs
index 57756c9..397e651 100644
--- a/src/makefile/inference_rules.rs
+++ b/src/makefile/inference_rules.rs
@@ -72,7 +72,7 @@ mod test {
#[test]
fn suffix_match() -> R {
- let rule = InferenceRule::new_suffix(".o".to_string(), ".c".to_string(), vec![]);
+ let rule = InferenceRule::new_suffix(".o".to_owned(), ".c".to_owned(), vec![]);
assert!(rule.matches("foo.o")?);
assert!(rule.matches("dir/foo.o")?);
Ok(())
diff --git a/src/makefile/input.rs b/src/makefile/input.rs
index 601a159..13ced8e 100644
--- a/src/makefile/input.rs
+++ b/src/makefile/input.rs
@@ -348,7 +348,7 @@ impl<'a, 'parent, R: BufRead> MakefileReader<'a, 'parent, R> {
Err(err) => return Some((n, Err(err))),
};
let line = COMMENT.replace(&line, "");
- line_pieces.push(line.trim_start().to_string());
+ line_pieces.push(line.trim_start().to_owned());
}
}
let line = line_pieces.join(escaped_newline_replacement);
diff --git a/src/makefile/macro.rs b/src/makefile/macro.rs
index 1c8bd01..2c8747c 100644
--- a/src/makefile/macro.rs
+++ b/src/makefile/macro.rs
@@ -304,10 +304,7 @@ mod test {
eagerly_expanded: false,
},
);
- assert_eq!(
- macros.expand(&"$(oof:;=?)".parse().unwrap())?,
- "bruh? swag? yeet?"
- );
+ assert_eq!(macros.expand(&"$(oof:;=?)".parse()?)?, "bruh? swag? yeet?");
Ok(())
}
}
diff --git a/src/makefile/token.rs b/src/makefile/token.rs
index 31adcfc..63c48d9 100644
--- a/src/makefile/token.rs
+++ b/src/makefile/token.rs
@@ -192,21 +192,21 @@ enum Delimiter {
}
impl Delimiter {
- fn start(&self) -> &'static str {
+ const fn start(&self) -> &'static str {
match self {
Self::Parens => "(",
Self::Braces => "{",
}
}
- fn start_char(&self) -> char {
+ const fn start_char(&self) -> char {
match self {
Self::Parens => '(',
Self::Braces => '{',
}
}
- fn end(&self) -> &'static str {
+ const fn end(&self) -> &'static str {
match self {
Self::Parens => ")",
Self::Braces => "}",
@@ -317,7 +317,7 @@ fn text_but_not<'a, E: Err<'a>>(
) -> impl FnMut(&'a str) -> IResult<&'a str, TokenString, E> {
map(
take_till1(move |c| c == '$' || ends.contains(&c)),
- |x: &str| TokenString::text(x), // TODO don't allocate an entire Vec for that
+ TokenString::text, // TODO don't allocate an entire Vec for that
)
}
@@ -349,7 +349,7 @@ fn single_token_but_not<'a, E: Err<'a>>(
alt((
text_but_not(tbn_ends),
macro_expansion,
- nested_delimiters(ends.clone(), context),
+ nested_delimiters(ends, context),
))
}