summaryrefslogtreecommitdiff
path: root/src/chomp/ast
diff options
context:
space:
mode:
authorGreg Brown <gmb60@cam.ac.uk>2021-01-21 09:42:02 +0000
committerGreg Brown <gmb60@cam.ac.uk>2021-01-21 17:45:02 +0000
commit1a93b1f82bc8c21d24e67031c5eca96830e928c7 (patch)
tree4c3fbfac9f0fbbc31defee03cd460e0400278d30 /src/chomp/ast
parentfaa3f30deb32d0a1fd7cb196559762635b22ecfd (diff)
Fix many warnings.
Diffstat (limited to 'src/chomp/ast')
-rw-r--r--src/chomp/ast/error.rs12
-rw-r--r--src/chomp/ast/substitute.rs14
2 files changed, 11 insertions, 15 deletions
diff --git a/src/chomp/ast/error.rs b/src/chomp/ast/error.rs
index 12d7b90..9e4282b 100644
--- a/src/chomp/ast/error.rs
+++ b/src/chomp/ast/error.rs
@@ -27,8 +27,8 @@ impl From<SubstituteError> for syn::Error {
fn from(e: SubstituteError) -> Self {
let msg = e.to_string();
let span = match e {
- SubstituteError::FreeParameter { span, .. } => span,
- SubstituteError::WrongArgCount { span, .. } => span,
+ SubstituteError::FreeParameter { span, .. }
+ | SubstituteError::WrongArgCount { span, .. } => span,
};
Self::new(span.unwrap_or_else(Span::call_site), msg)
@@ -38,18 +38,14 @@ impl From<SubstituteError> for syn::Error {
impl Display for SubstituteError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
- Self::FreeParameter { param, span, name } => {
+ Self::FreeParameter { param, name, .. } => {
if let Some(name) = name {
write!(f, "unbound parameter: `{}`", name)
} else {
write!(f, "unbound parameter: '{}", param.index)
}
}
- Self::WrongArgCount {
- call,
- expected,
- span,
- } => {
+ Self::WrongArgCount { call, expected, .. } => {
if call.args.len() == 1 {
write!(
f,
diff --git a/src/chomp/ast/substitute.rs b/src/chomp/ast/substitute.rs
index 1a622e1..c7cc03f 100644
--- a/src/chomp/ast/substitute.rs
+++ b/src/chomp/ast/substitute.rs
@@ -418,13 +418,7 @@ impl Folder for InlineCalls {
expr: call.into(),
span,
})
- } else if call.args.len() != self.function.params.len() {
- Err(SubstituteError::WrongArgCount {
- call,
- expected: self.function.params.len(),
- span,
- })
- } else {
+ } else if call.args.len() == self.function.params.len() {
let mut expr = self
.function
.expr
@@ -434,6 +428,12 @@ impl Folder for InlineCalls {
expr.span = expr.span.or(span);
Ok(expr)
+ } else {
+ Err(SubstituteError::WrongArgCount {
+ call,
+ expected: self.function.params.len(),
+ span,
+ })
}
}
}