From 09e16edbe473daf0849ae5380d91fb1b71ff5b9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20L=C3=BChne?= Date: Tue, 4 Feb 2020 02:55:56 +0100 Subject: [PATCH] Assert against inconsistent numbers of arguments --- src/ast.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/ast.rs b/src/ast.rs index ed59891..3e9026b 100644 --- a/src/ast.rs +++ b/src/ast.rs @@ -225,6 +225,9 @@ impl Function { pub fn new(declaration: &std::rc::Rc, arguments: Vec>) -> Self { + assert_eq!(declaration.arity, arguments.len(), + "function has a different number of arguments then declared"); + Self { declaration: std::rc::Rc::clone(declaration), @@ -377,6 +380,9 @@ impl Predicate { pub fn new(declaration: &std::rc::Rc, arguments: Vec>) -> Self { + assert_eq!(declaration.arity, arguments.len(), + "predicate has a different number of arguments then declared"); + Self { declaration: std::rc::Rc::clone(declaration),