[INFO] updating cached repository https://github.com/luoyou/lexer [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/mnt/big/crater/work/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 188956b446ecfcb77c3d2ed070815996df223f66 [INFO] checking luoyou/lexer against try#e689e5eaefe96e6dc3ed5bb629c521b7d207aff7 for pr-64398 [INFO] running `"git" "clone" "work/cache/git-repos/https%3A%2F%2Fgithub.com%2Fluoyou%2Flexer" "work/builds/worker-7/source"` [INFO] [stderr] Cloning into 'work/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/luoyou/lexer on toolchain e689e5eaefe96e6dc3ed5bb629c521b7d207aff7-alt [INFO] running `"/mnt/big/crater/work/cargo-home/bin/cargo" "+e689e5eaefe96e6dc3ed5bb629c521b7d207aff7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/luoyou/lexer [INFO] finished tweaking git repo https://github.com/luoyou/lexer [INFO] tweaked toml for git repo https://github.com/luoyou/lexer written to work/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/luoyou/lexer already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/cargo-home/bin/cargo" "+e689e5eaefe96e6dc3ed5bb629c521b7d207aff7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/mnt/big/crater/work/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/mnt/big/crater/work/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+e689e5eaefe96e6dc3ed5bb629c521b7d207aff7-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] f5a70cb047d9dba7e8e6f93bc3cf8f4823333c1055fd5995c629b7b27aced97f [INFO] running `"docker" "start" "-a" "f5a70cb047d9dba7e8e6f93bc3cf8f4823333c1055fd5995c629b7b27aced97f"` [INFO] [stderr] Checking lexer v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:37:51 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn program(&mut self, env: &mut Env)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:53:34 [INFO] [stderr] | [INFO] [stderr] 53 | fn statement(&mut self)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:86:40 [INFO] [stderr] | [INFO] [stderr] 86 | fn params_list(&mut self)->Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:88:37 [INFO] [stderr] | [INFO] [stderr] 88 | let mut params_list:Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:101:37 [INFO] [stderr] | [INFO] [stderr] 101 | fn if_statement(&mut self)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:103:37 [INFO] [stderr] | [INFO] [stderr] 103 | let mut statements: Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:113:40 [INFO] [stderr] | [INFO] [stderr] 113 | fn while_statement(&mut self)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:120:30 [INFO] [stderr] | [INFO] [stderr] 120 | fn block(&mut self)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:122:37 [INFO] [stderr] | [INFO] [stderr] 122 | let mut statements: Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:136:35 [INFO] [stderr] | [INFO] [stderr] 136 | fn identifier(&mut self)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:147:35 [INFO] [stderr] | [INFO] [stderr] 147 | fn expression(&mut self)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:161:32 [INFO] [stderr] | [INFO] [stderr] 161 | fn logical(&mut self)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:175:35 [INFO] [stderr] | [INFO] [stderr] 175 | fn comparison(&mut self)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:188:29 [INFO] [stderr] | [INFO] [stderr] 188 | fn term(&mut self)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:202:31 [INFO] [stderr] | [INFO] [stderr] 202 | fn factor(&mut self)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:248:36 [INFO] [stderr] | [INFO] [stderr] 248 | fn postfix(&mut self)->Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:250:30 [INFO] [stderr] | [INFO] [stderr] 250 | let mut args:Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:259:33 [INFO] [stderr] | [INFO] [stderr] 259 | fn args(&mut self)->Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:260:31 [INFO] [stderr] | [INFO] [stderr] 260 | let mut args: Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/astree.rs:11:34 [INFO] [stderr] | [INFO] [stderr] 11 | fn call(&mut self)->(Vec>, Box){ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/astree.rs:11:52 [INFO] [stderr] | [INFO] [stderr] 11 | fn call(&mut self)->(Vec>, Box){ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/astree.rs:28:38 [INFO] [stderr] | [INFO] [stderr] 28 | fn get_children(&self)->&Vec>; [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/program_root.rs:7:24 [INFO] [stderr] | [INFO] [stderr] 7 | children : Vec> [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/program_root.rs:23:38 [INFO] [stderr] | [INFO] [stderr] 23 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/program_root.rs:36:38 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn push(&mut self, node: Box){ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/expression_node.rs:7:23 [INFO] [stderr] | [INFO] [stderr] 7 | children: Vec> [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/expression_node.rs:20:38 [INFO] [stderr] | [INFO] [stderr] 20 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/expression_node.rs:26:34 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn new(children: Vec>)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/negative_number_node.rs:7:23 [INFO] [stderr] | [INFO] [stderr] 7 | children: Vec> [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/negative_number_node.rs:21:38 [INFO] [stderr] | [INFO] [stderr] 21 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/negative_number_node.rs:26:34 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn new(children: Vec>)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/number_leaf.rs:17:38 [INFO] [stderr] | [INFO] [stderr] 17 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/op_leaf.rs:16:38 [INFO] [stderr] | [INFO] [stderr] 16 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/identifier_leaf.rs:23:38 [INFO] [stderr] | [INFO] [stderr] 23 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/assign_statement_node.rs:10:23 [INFO] [stderr] | [INFO] [stderr] 10 | children: Vec>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/assign_statement_node.rs:23:38 [INFO] [stderr] | [INFO] [stderr] 23 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/assign_statement_node.rs:29:34 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn new(children: Vec>)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/if_statement_node.rs:7:23 [INFO] [stderr] | [INFO] [stderr] 7 | children: Vec> [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/if_statement_node.rs:27:38 [INFO] [stderr] | [INFO] [stderr] 27 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/if_statement_node.rs:33:34 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn new(children: Vec>)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/while_statement_node.rs:7:23 [INFO] [stderr] | [INFO] [stderr] 7 | children: Vec> [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/while_statement_node.rs:27:38 [INFO] [stderr] | [INFO] [stderr] 27 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/while_statement_node.rs:33:34 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn new(children: Vec>)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/block_node.rs:7:23 [INFO] [stderr] | [INFO] [stderr] 7 | children: Vec> [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/block_node.rs:21:38 [INFO] [stderr] | [INFO] [stderr] 21 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/block_node.rs:27:34 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn new(children: Vec>)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/bool_leaf.rs:23:38 [INFO] [stderr] | [INFO] [stderr] 23 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/text_leaf.rs:17:38 [INFO] [stderr] | [INFO] [stderr] 17 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/not_bool_node.rs:10:23 [INFO] [stderr] | [INFO] [stderr] 10 | children: Vec> [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/not_bool_node.rs:24:38 [INFO] [stderr] | [INFO] [stderr] 24 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/not_bool_node.rs:29:34 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn new(children: Vec>)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::eval::Eval` [INFO] [stderr] --> src/core/ast/fn_node.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use super::eval::Eval; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::env::Env` [INFO] [stderr] --> src/core/ast/fn_node.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use super::env::Env; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_node.rs:11:21 [INFO] [stderr] | [INFO] [stderr] 11 | identifier: Box, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_node.rs:12:25 [INFO] [stderr] | [INFO] [stderr] 12 | param_list: Vec>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_node.rs:13:16 [INFO] [stderr] | [INFO] [stderr] 13 | block: Box [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_node.rs:19:34 [INFO] [stderr] | [INFO] [stderr] 19 | fn call(&mut self)->(Vec>, Box){ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_node.rs:19:52 [INFO] [stderr] | [INFO] [stderr] 19 | fn call(&mut self)->(Vec>, Box){ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_node.rs:26:38 [INFO] [stderr] | [INFO] [stderr] 26 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_node.rs:36:32 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn new(identifier: Box, param_list: Vec>, block: Box)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_node.rs:36:65 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn new(identifier: Box, param_list: Vec>, block: Box)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_node.rs:36:90 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn new(identifier: Box, param_list: Vec>, block: Box)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/env.rs:8:33 [INFO] [stderr] | [INFO] [stderr] 8 | fn_map: HashMap>, // 函数表 [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/env.rs:54:48 [INFO] [stderr] | [INFO] [stderr] 54 | pub fn put_fn(&mut self, fn_statement: Box){ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_call_node.rs:10:18 [INFO] [stderr] | [INFO] [stderr] 10 | fn_name: Box, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_call_node.rs:11:21 [INFO] [stderr] | [INFO] [stderr] 11 | params: Vec> [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_call_node.rs:25:38 [INFO] [stderr] | [INFO] [stderr] 25 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_call_node.rs:35:29 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn new(fn_name: Box, params: Vec>)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_call_node.rs:35:58 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn new(fn_name: Box, params: Vec>)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:37:51 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn program(&mut self, env: &mut Env)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:53:34 [INFO] [stderr] | [INFO] [stderr] 53 | fn statement(&mut self)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:86:40 [INFO] [stderr] | [INFO] [stderr] 86 | fn params_list(&mut self)->Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:88:37 [INFO] [stderr] | [INFO] [stderr] 88 | let mut params_list:Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:101:37 [INFO] [stderr] | [INFO] [stderr] 101 | fn if_statement(&mut self)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:103:37 [INFO] [stderr] | [INFO] [stderr] 103 | let mut statements: Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:113:40 [INFO] [stderr] | [INFO] [stderr] 113 | fn while_statement(&mut self)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:120:30 [INFO] [stderr] | [INFO] [stderr] 120 | fn block(&mut self)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:122:37 [INFO] [stderr] | [INFO] [stderr] 122 | let mut statements: Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:136:35 [INFO] [stderr] | [INFO] [stderr] 136 | fn identifier(&mut self)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:147:35 [INFO] [stderr] | [INFO] [stderr] 147 | fn expression(&mut self)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:161:32 [INFO] [stderr] | [INFO] [stderr] 161 | fn logical(&mut self)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:175:35 [INFO] [stderr] | [INFO] [stderr] 175 | fn comparison(&mut self)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:188:29 [INFO] [stderr] | [INFO] [stderr] 188 | fn term(&mut self)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:202:31 [INFO] [stderr] | [INFO] [stderr] 202 | fn factor(&mut self)->Box{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:248:36 [INFO] [stderr] | [INFO] [stderr] 248 | fn postfix(&mut self)->Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:250:30 [INFO] [stderr] | [INFO] [stderr] 250 | let mut args:Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:259:33 [INFO] [stderr] | [INFO] [stderr] 259 | fn args(&mut self)->Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/parse.rs:260:31 [INFO] [stderr] | [INFO] [stderr] 260 | let mut args: Vec> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/astree.rs:11:34 [INFO] [stderr] | [INFO] [stderr] 11 | fn call(&mut self)->(Vec>, Box){ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/astree.rs:11:52 [INFO] [stderr] | [INFO] [stderr] 11 | fn call(&mut self)->(Vec>, Box){ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/astree.rs:28:38 [INFO] [stderr] | [INFO] [stderr] 28 | fn get_children(&self)->&Vec>; [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/program_root.rs:7:24 [INFO] [stderr] | [INFO] [stderr] 7 | children : Vec> [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/program_root.rs:23:38 [INFO] [stderr] | [INFO] [stderr] 23 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/program_root.rs:36:38 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn push(&mut self, node: Box){ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/expression_node.rs:7:23 [INFO] [stderr] | [INFO] [stderr] 7 | children: Vec> [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/expression_node.rs:20:38 [INFO] [stderr] | [INFO] [stderr] 20 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/expression_node.rs:26:34 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn new(children: Vec>)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/negative_number_node.rs:7:23 [INFO] [stderr] | [INFO] [stderr] 7 | children: Vec> [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/negative_number_node.rs:21:38 [INFO] [stderr] | [INFO] [stderr] 21 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/negative_number_node.rs:26:34 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn new(children: Vec>)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/number_leaf.rs:17:38 [INFO] [stderr] | [INFO] [stderr] 17 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/op_leaf.rs:16:38 [INFO] [stderr] | [INFO] [stderr] 16 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/identifier_leaf.rs:23:38 [INFO] [stderr] | [INFO] [stderr] 23 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/assign_statement_node.rs:10:23 [INFO] [stderr] | [INFO] [stderr] 10 | children: Vec>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/assign_statement_node.rs:23:38 [INFO] [stderr] | [INFO] [stderr] 23 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/assign_statement_node.rs:29:34 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn new(children: Vec>)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/if_statement_node.rs:7:23 [INFO] [stderr] | [INFO] [stderr] 7 | children: Vec> [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/if_statement_node.rs:27:38 [INFO] [stderr] | [INFO] [stderr] 27 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/if_statement_node.rs:33:34 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn new(children: Vec>)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/while_statement_node.rs:7:23 [INFO] [stderr] | [INFO] [stderr] 7 | children: Vec> [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/while_statement_node.rs:27:38 [INFO] [stderr] | [INFO] [stderr] 27 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/while_statement_node.rs:33:34 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn new(children: Vec>)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/block_node.rs:7:23 [INFO] [stderr] | [INFO] [stderr] 7 | children: Vec> [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/block_node.rs:21:38 [INFO] [stderr] | [INFO] [stderr] 21 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/block_node.rs:27:34 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn new(children: Vec>)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/bool_leaf.rs:23:38 [INFO] [stderr] | [INFO] [stderr] 23 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/text_leaf.rs:17:38 [INFO] [stderr] | [INFO] [stderr] 17 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/not_bool_node.rs:10:23 [INFO] [stderr] | [INFO] [stderr] 10 | children: Vec> [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/not_bool_node.rs:24:38 [INFO] [stderr] | [INFO] [stderr] 24 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/not_bool_node.rs:29:34 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn new(children: Vec>)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::eval::Eval` [INFO] [stderr] --> src/core/ast/fn_node.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use super::eval::Eval; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::env::Env` [INFO] [stderr] --> src/core/ast/fn_node.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use super::env::Env; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_node.rs:11:21 [INFO] [stderr] | [INFO] [stderr] 11 | identifier: Box, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_node.rs:12:25 [INFO] [stderr] | [INFO] [stderr] 12 | param_list: Vec>, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_node.rs:13:16 [INFO] [stderr] | [INFO] [stderr] 13 | block: Box [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_node.rs:19:34 [INFO] [stderr] | [INFO] [stderr] 19 | fn call(&mut self)->(Vec>, Box){ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_node.rs:19:52 [INFO] [stderr] | [INFO] [stderr] 19 | fn call(&mut self)->(Vec>, Box){ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_node.rs:26:38 [INFO] [stderr] | [INFO] [stderr] 26 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_node.rs:36:32 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn new(identifier: Box, param_list: Vec>, block: Box)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_node.rs:36:65 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn new(identifier: Box, param_list: Vec>, block: Box)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_node.rs:36:90 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn new(identifier: Box, param_list: Vec>, block: Box)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/env.rs:8:33 [INFO] [stderr] | [INFO] [stderr] 8 | fn_map: HashMap>, // 函数表 [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/env.rs:54:48 [INFO] [stderr] | [INFO] [stderr] 54 | pub fn put_fn(&mut self, fn_statement: Box){ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_call_node.rs:10:18 [INFO] [stderr] | [INFO] [stderr] 10 | fn_name: Box, [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_call_node.rs:11:21 [INFO] [stderr] | [INFO] [stderr] 11 | params: Vec> [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_call_node.rs:25:38 [INFO] [stderr] | [INFO] [stderr] 25 | fn get_children(&self)->&Vec>{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_call_node.rs:35:29 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn new(fn_name: Box, params: Vec>)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/core/ast/fn_call_node.rs:35:58 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn new(fn_name: Box, params: Vec>)->Self{ [INFO] [stderr] | ^^^^^^^^^^ help: use `dyn`: `dyn AstreeNode` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `block` [INFO] [stderr] --> src/core/ast/env.rs:64:26 [INFO] [stderr] | [INFO] [stderr] 64 | let (params, block) = self.fn_map.get_mut(&fn_name).unwrap().call(); [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_block` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `block` [INFO] [stderr] --> src/core/ast/env.rs:64:26 [INFO] [stderr] | [INFO] [stderr] 64 | let (params, block) = self.fn_map.get_mut(&fn_name).unwrap().call(); [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_block` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] error[E0507]: cannot move out of `self.param_list` which is behind a mutable reference [INFO] [stderr] --> src/core/ast/fn_node.rs:20:17 [INFO] [stderr] | [INFO] [stderr] 20 | return (self.param_list, self.block); [INFO] [stderr] | ^^^^^^^^^^^^^^^ move occurs because `self.param_list` has type `std::vec::Vec>`, which does not implement the `Copy` trait [INFO] [stderr] [INFO] [stderr] error[E0507]: cannot move out of `self.block` which is behind a mutable reference [INFO] [stderr] --> src/core/ast/fn_node.rs:20:34 [INFO] [stderr] | [INFO] [stderr] 20 | return (self.param_list, self.block); [INFO] [stderr] | ^^^^^^^^^^ move occurs because `self.block` has type `std::boxed::Box`, which does not implement the `Copy` trait [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0507`. [INFO] [stderr] error: Could not compile `lexer`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0507]: cannot move out of `self.param_list` which is behind a mutable reference [INFO] [stderr] --> src/core/ast/fn_node.rs:20:17 [INFO] [stderr] | [INFO] [stderr] 20 | return (self.param_list, self.block); [INFO] [stderr] | ^^^^^^^^^^^^^^^ move occurs because `self.param_list` has type `std::vec::Vec>`, which does not implement the `Copy` trait [INFO] [stderr] [INFO] [stderr] error[E0507]: cannot move out of `self.block` which is behind a mutable reference [INFO] [stderr] --> src/core/ast/fn_node.rs:20:34 [INFO] [stderr] | [INFO] [stderr] 20 | return (self.param_list, self.block); [INFO] [stderr] | ^^^^^^^^^^ move occurs because `self.block` has type `std::boxed::Box`, which does not implement the `Copy` trait [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0507`. [INFO] [stderr] error: Could not compile `lexer`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "f5a70cb047d9dba7e8e6f93bc3cf8f4823333c1055fd5995c629b7b27aced97f"` [INFO] running `"docker" "rm" "-f" "f5a70cb047d9dba7e8e6f93bc3cf8f4823333c1055fd5995c629b7b27aced97f"` [INFO] [stdout] f5a70cb047d9dba7e8e6f93bc3cf8f4823333c1055fd5995c629b7b27aced97f