# HG changeset patch # User Emmanuel Gil Peyrot # Date 1464833641 -3600 # Node ID 0e96c5bc401d9a497ea1bf7126368696eca7a9d9 # Parent 5c169d5807b510a480619361b69356f6abc35111 Remove the need for a Box in BlockStatement. diff --git a/src/ast_scope.rs b/src/ast_scope.rs --- a/src/ast_scope.rs +++ b/src/ast_scope.rs @@ -3,8 +3,14 @@ use python_ast::{Module, Statement, Expr use std::collections::HashMap; #[derive(Debug)] +struct BlockStatement { + statement: Statement, + block: Option +} + +#[derive(Debug)] struct Block { - statements: Vec<(Statement, Option>)>, + statements: Vec, bindings: Vec } @@ -35,7 +41,7 @@ fn scope_statement(statement: Statement, for statement in statements { scope_statement(statement, &mut function_block); } - Some(Box::new(function_block)) + Some(function_block) }, Statement::ImportFrom(module, names) => { for name in names { @@ -54,7 +60,7 @@ fn scope_statement(statement: Statement, }, _ => None }; - block.statements.push((statement, new_block)); + block.statements.push(BlockStatement{statement: statement, block: new_block}); } #[allow(dead_code)]