diff --git a/src/ast.rs b/src/ast.rs index 041a7aa..d270106 100644 --- a/src/ast.rs +++ b/src/ast.rs @@ -52,7 +52,7 @@ pub struct VariableDeclaration pub name: String, } -pub type VariableDeclarations = std::collections::HashSet>; +pub type VariableDeclarations = Vec>; pub struct VariableDeclarationStack { @@ -102,7 +102,7 @@ impl VariableDeclarationStack }; let variable_declaration = std::rc::Rc::new(variable_declaration); - self.free_variable_declarations.insert(std::rc::Rc::clone(&variable_declaration)); + self.free_variable_declarations.push(std::rc::Rc::clone(&variable_declaration)); variable_declaration } @@ -162,13 +162,13 @@ pub struct Compare pub struct Exists { - pub parameters: Vec>, + pub parameters: VariableDeclarations, pub argument: Box, } pub struct ForAll { - pub parameters: Vec>, + pub parameters: VariableDeclarations, pub argument: Box, }