diff --git a/src-rs/func.rs b/src-rs/func.rs index 81f3d14d..887df372 100644 --- a/src-rs/func.rs +++ b/src-rs/func.rs @@ -51,7 +51,6 @@ use crate::{ type MakeFuncImpl = fn(&[Arc], &mut Evaluator, &mut dyn BufMut) -> Result<()>; -#[derive(PartialEq)] pub struct FuncInfo { pub name: &'static [u8], pub func: MakeFuncImpl, @@ -63,6 +62,12 @@ pub struct FuncInfo { pub trim_right_space_1st: bool, } +impl PartialEq for FuncInfo { + fn eq(&self, other: &Self) -> bool { + self.name == other.name + } +} + impl Debug for FuncInfo { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!(f, "Func({})", String::from_utf8_lossy(self.name)) diff --git a/src-rs/parser.rs b/src-rs/parser.rs index 45b7dba3..79d0f2a9 100644 --- a/src-rs/parser.rs +++ b/src-rs/parser.rs @@ -668,7 +668,7 @@ pub struct ParsedAssign<'a> { pub rhs: &'a [u8], pub op: AssignOp, } -pub fn parse_assign_statement(line: &[u8], sep: usize) -> ParsedAssign { +pub fn parse_assign_statement(line: &'_ [u8], sep: usize) -> ParsedAssign<'_> { assert!(sep != 0); let mut op = AssignOp::Eq; let mut lhs = &line[..sep]; diff --git a/src-rs/var.rs b/src-rs/var.rs index 599928ab..d62f0e58 100644 --- a/src-rs/var.rs +++ b/src-rs/var.rs @@ -220,7 +220,7 @@ impl Variable { } Ok(()) } - pub fn string(&self) -> Result> { + pub fn string(&'_ self) -> Result> { Ok(match &self.value { InnerVar::Simple(s) => Cow::Borrowed(s.as_slice()), InnerVar::Recursive { v: _, orig } => Cow::Borrowed(orig),