[INFO] cloning repository https://github.com/blogscot/a-simple-interpreter [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/blogscot/a-simple-interpreter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fblogscot%2Fa-simple-interpreter", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fblogscot%2Fa-simple-interpreter'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 05f1043c4beda3ea9050d079d0c084fab5d0f590 [INFO] testing blogscot/a-simple-interpreter against beta-2021-01-01 for beta-1.50-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fblogscot%2Fa-simple-interpreter" "/workspace/builds/worker-6/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/blogscot/a-simple-interpreter on toolchain beta-2021-01-01 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-01-01" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/blogscot/a-simple-interpreter [INFO] finished tweaking git repo https://github.com/blogscot/a-simple-interpreter [INFO] tweaked toml for git repo https://github.com/blogscot/a-simple-interpreter written to /workspace/builds/worker-6/source/Cargo.toml [INFO] crate git repo https://github.com/blogscot/a-simple-interpreter already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-01-01" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-01-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 46a5dfcc9a3394de86e180653117a08b1939c3d4e1709d9cdc2c442f795c1ca5 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "46a5dfcc9a3394de86e180653117a08b1939c3d4e1709d9cdc2c442f795c1ca5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "46a5dfcc9a3394de86e180653117a08b1939c3d4e1709d9cdc2c442f795c1ca5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "46a5dfcc9a3394de86e180653117a08b1939c3d4e1709d9cdc2c442f795c1ca5", kill_on_drop: false }` [INFO] [stdout] 46a5dfcc9a3394de86e180653117a08b1939c3d4e1709d9cdc2c442f795c1ca5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-01-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b13eb01db32f27012907ee7c35a2bfc2142a20b5b3a7ec42a14c5c3e6931786f [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "b13eb01db32f27012907ee7c35a2bfc2142a20b5b3a7ec42a14c5c3e6931786f", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.40 [INFO] [stderr] Compiling regex-syntax v0.6.0 [INFO] [stderr] Compiling memchr v2.0.1 [INFO] [stderr] Compiling aho-corasick v0.6.4 [INFO] [stderr] Compiling regex v1.0.0 [INFO] [stderr] Compiling basic-interpreter v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:9:38 [INFO] [stdout] | [INFO] [stdout] 9 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult; [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:26:38 [INFO] [stdout] | [INFO] [stdout] 26 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:43:38 [INFO] [stdout] | [INFO] [stdout] 43 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | pub left: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:50:18 [INFO] [stdout] | [INFO] [stdout] 50 | pub right: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:54:29 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn to_string(node: &Box) -> String { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:91:24 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn new(left: Box, right: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:91:42 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn new(left: Box, right: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:101:38 [INFO] [stdout] | [INFO] [stdout] 101 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 108 | pub expr: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:112:41 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn new(operator: Token, expr: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:118:38 [INFO] [stdout] | [INFO] [stdout] 118 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:124:25 [INFO] [stdout] | [INFO] [stdout] 124 | pub children: Vec>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:128:32 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn new(children: Vec>) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:134:38 [INFO] [stdout] | [INFO] [stdout] 134 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:140:23 [INFO] [stdout] | [INFO] [stdout] 140 | pub identifier: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:141:17 [INFO] [stdout] | [INFO] [stdout] 141 | pub expr: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:146:30 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn new(identifier: Box, expr: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:146:47 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn new(identifier: Box, expr: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:156:38 [INFO] [stdout] | [INFO] [stdout] 156 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:172:38 [INFO] [stdout] | [INFO] [stdout] 172 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:180:38 [INFO] [stdout] | [INFO] [stdout] 180 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:187:18 [INFO] [stdout] | [INFO] [stdout] 187 | pub block: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:191:44 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn new(identifier: Token, block: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:197:38 [INFO] [stdout] | [INFO] [stdout] 197 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:204:23 [INFO] [stdout] | [INFO] [stdout] 204 | pub params: Vec>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:205:18 [INFO] [stdout] | [INFO] [stdout] 205 | pub block: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:209:48 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn new(proc_name: Token, params: Vec>, block: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:209:67 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn new(proc_name: Token, params: Vec>, block: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:219:38 [INFO] [stdout] | [INFO] [stdout] 219 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:239:38 [INFO] [stdout] | [INFO] [stdout] 239 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:245:29 [INFO] [stdout] | [INFO] [stdout] 245 | pub declarations: Vec>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:246:31 [INFO] [stdout] | [INFO] [stdout] 246 | pub compound_statement: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:250:36 [INFO] [stdout] | [INFO] [stdout] 250 | pub fn new(declarations: Vec>, compound_statement: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:250:68 [INFO] [stdout] | [INFO] [stdout] 250 | pub fn new(declarations: Vec>, compound_statement: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:259:38 [INFO] [stdout] | [INFO] [stdout] 259 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:279:38 [INFO] [stdout] | [INFO] [stdout] 279 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:296:38 [INFO] [stdout] | [INFO] [stdout] 296 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/visitor.rs:5:34 [INFO] [stdout] | [INFO] [stdout] 5 | fn visit(&mut self, node: &Box) -> NumberResult { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/interpreter/mod.rs:8:22 [INFO] [stdout] | [INFO] [stdout] 8 | pub root_node: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/interpreter/mod.rs:24:38 [INFO] [stdout] | [INFO] [stdout] 24 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:42:32 [INFO] [stdout] | [INFO] [stdout] 42 | fn program(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:52:30 [INFO] [stdout] | [INFO] [stdout] 52 | fn block(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:59:43 [INFO] [stdout] | [INFO] [stdout] 59 | fn compound_statement(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:67:41 [INFO] [stdout] | [INFO] [stdout] 67 | fn declarations(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:71:35 [INFO] [stdout] | [INFO] [stdout] 71 | let mut declarations: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:87:46 [INFO] [stdout] | [INFO] [stdout] 87 | fn procedure_declaration(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | let mut params: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:106:50 [INFO] [stdout] | [INFO] [stdout] 106 | fn formal_parameter_list(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:117:46 [INFO] [stdout] | [INFO] [stdout] 117 | fn formal_parameters(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:134:37 [INFO] [stdout] | [INFO] [stdout] 134 | let mut parameter_list: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:141:49 [INFO] [stdout] | [INFO] [stdout] 141 | fn variable_declaration(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:158:39 [INFO] [stdout] | [INFO] [stdout] 158 | let mut var_declarations: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:177:43 [INFO] [stdout] | [INFO] [stdout] 177 | fn statement_list(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:196:34 [INFO] [stdout] | [INFO] [stdout] 196 | fn statement(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:206:45 [INFO] [stdout] | [INFO] [stdout] 206 | fn assignment_statement(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:226:26 [INFO] [stdout] | [INFO] [stdout] 226 | fn empty(&self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:229:31 [INFO] [stdout] | [INFO] [stdout] 229 | fn factor(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:262:29 [INFO] [stdout] | [INFO] [stdout] 262 | fn term(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:276:29 [INFO] [stdout] | [INFO] [stdout] 276 | fn expr(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:288:34 [INFO] [stdout] | [INFO] [stdout] 288 | pub fn parse(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/lexer/mod.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / lazy_static! { [INFO] [stdout] 9 | | static ref RESERVED_WORDS: HashMap<&'static str, Token> = { [INFO] [stdout] 10 | | let mut reserved_words = HashMap::new(); [INFO] [stdout] 11 | | reserved_words.insert("PROGRAM", Program); [INFO] [stdout] ... | [INFO] [stdout] 20 | | }; [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 62 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:9:38 [INFO] [stdout] | [INFO] [stdout] 9 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult; [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:26:38 [INFO] [stdout] | [INFO] [stdout] 26 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:43:38 [INFO] [stdout] | [INFO] [stdout] 43 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | pub left: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:50:18 [INFO] [stdout] | [INFO] [stdout] 50 | pub right: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:54:29 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn to_string(node: &Box) -> String { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:91:24 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn new(left: Box, right: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:91:42 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn new(left: Box, right: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:101:38 [INFO] [stdout] | [INFO] [stdout] 101 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 108 | pub expr: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:112:41 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn new(operator: Token, expr: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:118:38 [INFO] [stdout] | [INFO] [stdout] 118 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:124:25 [INFO] [stdout] | [INFO] [stdout] 124 | pub children: Vec>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:128:32 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn new(children: Vec>) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:134:38 [INFO] [stdout] | [INFO] [stdout] 134 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:140:23 [INFO] [stdout] | [INFO] [stdout] 140 | pub identifier: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:141:17 [INFO] [stdout] | [INFO] [stdout] 141 | pub expr: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:146:30 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn new(identifier: Box, expr: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:146:47 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn new(identifier: Box, expr: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:156:38 [INFO] [stdout] | [INFO] [stdout] 156 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:172:38 [INFO] [stdout] | [INFO] [stdout] 172 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:180:38 [INFO] [stdout] | [INFO] [stdout] 180 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:187:18 [INFO] [stdout] | [INFO] [stdout] 187 | pub block: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:191:44 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn new(identifier: Token, block: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:197:38 [INFO] [stdout] | [INFO] [stdout] 197 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:204:23 [INFO] [stdout] | [INFO] [stdout] 204 | pub params: Vec>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:205:18 [INFO] [stdout] | [INFO] [stdout] 205 | pub block: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:209:48 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn new(proc_name: Token, params: Vec>, block: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:209:67 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn new(proc_name: Token, params: Vec>, block: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:219:38 [INFO] [stdout] | [INFO] [stdout] 219 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:239:38 [INFO] [stdout] | [INFO] [stdout] 239 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:245:29 [INFO] [stdout] | [INFO] [stdout] 245 | pub declarations: Vec>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:246:31 [INFO] [stdout] | [INFO] [stdout] 246 | pub compound_statement: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:250:36 [INFO] [stdout] | [INFO] [stdout] 250 | pub fn new(declarations: Vec>, compound_statement: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:250:68 [INFO] [stdout] | [INFO] [stdout] 250 | pub fn new(declarations: Vec>, compound_statement: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:259:38 [INFO] [stdout] | [INFO] [stdout] 259 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:279:38 [INFO] [stdout] | [INFO] [stdout] 279 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:296:38 [INFO] [stdout] | [INFO] [stdout] 296 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/visitor.rs:5:34 [INFO] [stdout] | [INFO] [stdout] 5 | fn visit(&mut self, node: &Box) -> NumberResult { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/interpreter/mod.rs:8:22 [INFO] [stdout] | [INFO] [stdout] 8 | pub root_node: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/interpreter/mod.rs:24:38 [INFO] [stdout] | [INFO] [stdout] 24 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:42:32 [INFO] [stdout] | [INFO] [stdout] 42 | fn program(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:52:30 [INFO] [stdout] | [INFO] [stdout] 52 | fn block(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:59:43 [INFO] [stdout] | [INFO] [stdout] 59 | fn compound_statement(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:67:41 [INFO] [stdout] | [INFO] [stdout] 67 | fn declarations(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:71:35 [INFO] [stdout] | [INFO] [stdout] 71 | let mut declarations: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:87:46 [INFO] [stdout] | [INFO] [stdout] 87 | fn procedure_declaration(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | let mut params: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:106:50 [INFO] [stdout] | [INFO] [stdout] 106 | fn formal_parameter_list(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:117:46 [INFO] [stdout] | [INFO] [stdout] 117 | fn formal_parameters(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:134:37 [INFO] [stdout] | [INFO] [stdout] 134 | let mut parameter_list: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:141:49 [INFO] [stdout] | [INFO] [stdout] 141 | fn variable_declaration(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:158:39 [INFO] [stdout] | [INFO] [stdout] 158 | let mut var_declarations: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:177:43 [INFO] [stdout] | [INFO] [stdout] 177 | fn statement_list(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:196:34 [INFO] [stdout] | [INFO] [stdout] 196 | fn statement(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:206:45 [INFO] [stdout] | [INFO] [stdout] 206 | fn assignment_statement(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:226:26 [INFO] [stdout] | [INFO] [stdout] 226 | fn empty(&self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:229:31 [INFO] [stdout] | [INFO] [stdout] 229 | fn factor(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:262:29 [INFO] [stdout] | [INFO] [stdout] 262 | fn term(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:276:29 [INFO] [stdout] | [INFO] [stdout] 276 | fn expr(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:288:34 [INFO] [stdout] | [INFO] [stdout] 288 | pub fn parse(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:40:29 [INFO] [stdout] | [INFO] [stdout] 40 | fn main() -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/lexer/mod.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / lazy_static! { [INFO] [stdout] 9 | | static ref RESERVED_WORDS: HashMap<&'static str, Token> = { [INFO] [stdout] 10 | | let mut reserved_words = HashMap::new(); [INFO] [stdout] 11 | | reserved_words.insert("PROGRAM", Program); [INFO] [stdout] ... | [INFO] [stdout] 20 | | }; [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 63 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 17.42s [INFO] running `Command { std: "docker" "inspect" "b13eb01db32f27012907ee7c35a2bfc2142a20b5b3a7ec42a14c5c3e6931786f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b13eb01db32f27012907ee7c35a2bfc2142a20b5b3a7ec42a14c5c3e6931786f", kill_on_drop: false }` [INFO] [stdout] b13eb01db32f27012907ee7c35a2bfc2142a20b5b3a7ec42a14c5c3e6931786f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-01-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 80488a8e114b040a50ca3fc6073daca74073a1aaebb0bb6b8e36eac564fa4b33 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "80488a8e114b040a50ca3fc6073daca74073a1aaebb0bb6b8e36eac564fa4b33", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:9:38 [INFO] [stdout] | [INFO] [stdout] 9 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult; [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:26:38 [INFO] [stdout] | [INFO] [stdout] 26 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:43:38 [INFO] [stdout] | [INFO] [stdout] 43 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | pub left: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:50:18 [INFO] [stdout] | [INFO] [stdout] 50 | pub right: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:54:29 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn to_string(node: &Box) -> String { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:91:24 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn new(left: Box, right: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:91:42 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn new(left: Box, right: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:101:38 [INFO] [stdout] | [INFO] [stdout] 101 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 108 | pub expr: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:112:41 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn new(operator: Token, expr: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:118:38 [INFO] [stdout] | [INFO] [stdout] 118 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:124:25 [INFO] [stdout] | [INFO] [stdout] 124 | pub children: Vec>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:128:32 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn new(children: Vec>) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:134:38 [INFO] [stdout] | [INFO] [stdout] 134 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:140:23 [INFO] [stdout] | [INFO] [stdout] 140 | pub identifier: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:141:17 [INFO] [stdout] | [INFO] [stdout] 141 | pub expr: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:146:30 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn new(identifier: Box, expr: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:146:47 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn new(identifier: Box, expr: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:156:38 [INFO] [stdout] | [INFO] [stdout] 156 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:172:38 [INFO] [stdout] | [INFO] [stdout] 172 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:180:38 [INFO] [stdout] | [INFO] [stdout] 180 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:187:18 [INFO] [stdout] | [INFO] [stdout] 187 | pub block: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:191:44 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn new(identifier: Token, block: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:197:38 [INFO] [stdout] | [INFO] [stdout] 197 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:204:23 [INFO] [stdout] | [INFO] [stdout] 204 | pub params: Vec>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:205:18 [INFO] [stdout] | [INFO] [stdout] 205 | pub block: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:209:48 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn new(proc_name: Token, params: Vec>, block: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:209:67 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn new(proc_name: Token, params: Vec>, block: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:219:38 [INFO] [stdout] | [INFO] [stdout] 219 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:239:38 [INFO] [stdout] | [INFO] [stdout] 239 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:245:29 [INFO] [stdout] | [INFO] [stdout] 245 | pub declarations: Vec>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:246:31 [INFO] [stdout] | [INFO] [stdout] 246 | pub compound_statement: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:250:36 [INFO] [stdout] | [INFO] [stdout] 250 | pub fn new(declarations: Vec>, compound_statement: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:250:68 [INFO] [stdout] | [INFO] [stdout] 250 | pub fn new(declarations: Vec>, compound_statement: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:259:38 [INFO] [stdout] | [INFO] [stdout] 259 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:279:38 [INFO] [stdout] | [INFO] [stdout] 279 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:296:38 [INFO] [stdout] | [INFO] [stdout] 296 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/visitor.rs:5:34 [INFO] [stdout] | [INFO] [stdout] 5 | fn visit(&mut self, node: &Box) -> NumberResult { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/interpreter/mod.rs:8:22 [INFO] [stdout] | [INFO] [stdout] 8 | pub root_node: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/interpreter/mod.rs:24:38 [INFO] [stdout] | [INFO] [stdout] 24 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:42:32 [INFO] [stdout] | [INFO] [stdout] 42 | fn program(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:52:30 [INFO] [stdout] | [INFO] [stdout] 52 | fn block(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:59:43 [INFO] [stdout] | [INFO] [stdout] 59 | fn compound_statement(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:67:41 [INFO] [stdout] | [INFO] [stdout] 67 | fn declarations(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:71:35 [INFO] [stdout] | [INFO] [stdout] 71 | let mut declarations: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:87:46 [INFO] [stdout] | [INFO] [stdout] 87 | fn procedure_declaration(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | let mut params: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:106:50 [INFO] [stdout] | [INFO] [stdout] 106 | fn formal_parameter_list(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:117:46 [INFO] [stdout] | [INFO] [stdout] 117 | fn formal_parameters(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:134:37 [INFO] [stdout] | [INFO] [stdout] 134 | let mut parameter_list: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:141:49 [INFO] [stdout] | [INFO] [stdout] 141 | fn variable_declaration(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:158:39 [INFO] [stdout] | [INFO] [stdout] 158 | let mut var_declarations: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:177:43 [INFO] [stdout] | [INFO] [stdout] 177 | fn statement_list(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:196:34 [INFO] [stdout] | [INFO] [stdout] 196 | fn statement(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:206:45 [INFO] [stdout] | [INFO] [stdout] 206 | fn assignment_statement(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:226:26 [INFO] [stdout] | [INFO] [stdout] 226 | fn empty(&self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:229:31 [INFO] [stdout] | [INFO] [stdout] 229 | fn factor(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:262:29 [INFO] [stdout] | [INFO] [stdout] 262 | fn term(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:276:29 [INFO] [stdout] | [INFO] [stdout] 276 | fn expr(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:288:34 [INFO] [stdout] | [INFO] [stdout] 288 | pub fn parse(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling basic-interpreter v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/lexer/mod.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / lazy_static! { [INFO] [stdout] 9 | | static ref RESERVED_WORDS: HashMap<&'static str, Token> = { [INFO] [stdout] 10 | | let mut reserved_words = HashMap::new(); [INFO] [stdout] 11 | | reserved_words.insert("PROGRAM", Program); [INFO] [stdout] ... | [INFO] [stdout] 20 | | }; [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 62 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:9:38 [INFO] [stdout] | [INFO] [stdout] 9 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult; [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:26:38 [INFO] [stdout] | [INFO] [stdout] 26 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:43:38 [INFO] [stdout] | [INFO] [stdout] 43 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | pub left: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:50:18 [INFO] [stdout] | [INFO] [stdout] 50 | pub right: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:54:29 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn to_string(node: &Box) -> String { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:91:24 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn new(left: Box, right: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:91:42 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn new(left: Box, right: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:101:38 [INFO] [stdout] | [INFO] [stdout] 101 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 108 | pub expr: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:112:41 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn new(operator: Token, expr: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:118:38 [INFO] [stdout] | [INFO] [stdout] 118 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:124:25 [INFO] [stdout] | [INFO] [stdout] 124 | pub children: Vec>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:128:32 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn new(children: Vec>) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:134:38 [INFO] [stdout] | [INFO] [stdout] 134 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:140:23 [INFO] [stdout] | [INFO] [stdout] 140 | pub identifier: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:141:17 [INFO] [stdout] | [INFO] [stdout] 141 | pub expr: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:146:30 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn new(identifier: Box, expr: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:146:47 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn new(identifier: Box, expr: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:156:38 [INFO] [stdout] | [INFO] [stdout] 156 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:172:38 [INFO] [stdout] | [INFO] [stdout] 172 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:180:38 [INFO] [stdout] | [INFO] [stdout] 180 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:187:18 [INFO] [stdout] | [INFO] [stdout] 187 | pub block: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:191:44 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn new(identifier: Token, block: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:197:38 [INFO] [stdout] | [INFO] [stdout] 197 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:204:23 [INFO] [stdout] | [INFO] [stdout] 204 | pub params: Vec>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:205:18 [INFO] [stdout] | [INFO] [stdout] 205 | pub block: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:209:48 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn new(proc_name: Token, params: Vec>, block: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:209:67 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn new(proc_name: Token, params: Vec>, block: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:219:38 [INFO] [stdout] | [INFO] [stdout] 219 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:239:38 [INFO] [stdout] | [INFO] [stdout] 239 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:245:29 [INFO] [stdout] | [INFO] [stdout] 245 | pub declarations: Vec>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:246:31 [INFO] [stdout] | [INFO] [stdout] 246 | pub compound_statement: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:250:36 [INFO] [stdout] | [INFO] [stdout] 250 | pub fn new(declarations: Vec>, compound_statement: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:250:68 [INFO] [stdout] | [INFO] [stdout] 250 | pub fn new(declarations: Vec>, compound_statement: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:259:38 [INFO] [stdout] | [INFO] [stdout] 259 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:279:38 [INFO] [stdout] | [INFO] [stdout] 279 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:296:38 [INFO] [stdout] | [INFO] [stdout] 296 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/visitor.rs:5:34 [INFO] [stdout] | [INFO] [stdout] 5 | fn visit(&mut self, node: &Box) -> NumberResult { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/interpreter/mod.rs:8:22 [INFO] [stdout] | [INFO] [stdout] 8 | pub root_node: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/interpreter/mod.rs:24:38 [INFO] [stdout] | [INFO] [stdout] 24 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:42:32 [INFO] [stdout] | [INFO] [stdout] 42 | fn program(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:52:30 [INFO] [stdout] | [INFO] [stdout] 52 | fn block(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:59:43 [INFO] [stdout] | [INFO] [stdout] 59 | fn compound_statement(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:67:41 [INFO] [stdout] | [INFO] [stdout] 67 | fn declarations(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:71:35 [INFO] [stdout] | [INFO] [stdout] 71 | let mut declarations: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:87:46 [INFO] [stdout] | [INFO] [stdout] 87 | fn procedure_declaration(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | let mut params: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:106:50 [INFO] [stdout] | [INFO] [stdout] 106 | fn formal_parameter_list(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:117:46 [INFO] [stdout] | [INFO] [stdout] 117 | fn formal_parameters(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:134:37 [INFO] [stdout] | [INFO] [stdout] 134 | let mut parameter_list: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:141:49 [INFO] [stdout] | [INFO] [stdout] 141 | fn variable_declaration(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:158:39 [INFO] [stdout] | [INFO] [stdout] 158 | let mut var_declarations: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:177:43 [INFO] [stdout] | [INFO] [stdout] 177 | fn statement_list(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:196:34 [INFO] [stdout] | [INFO] [stdout] 196 | fn statement(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:206:45 [INFO] [stdout] | [INFO] [stdout] 206 | fn assignment_statement(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:226:26 [INFO] [stdout] | [INFO] [stdout] 226 | fn empty(&self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:229:31 [INFO] [stdout] | [INFO] [stdout] 229 | fn factor(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:262:29 [INFO] [stdout] | [INFO] [stdout] 262 | fn term(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:276:29 [INFO] [stdout] | [INFO] [stdout] 276 | fn expr(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:288:34 [INFO] [stdout] | [INFO] [stdout] 288 | pub fn parse(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:40:29 [INFO] [stdout] | [INFO] [stdout] 40 | fn main() -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/lexer/mod.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / lazy_static! { [INFO] [stdout] 9 | | static ref RESERVED_WORDS: HashMap<&'static str, Token> = { [INFO] [stdout] 10 | | let mut reserved_words = HashMap::new(); [INFO] [stdout] 11 | | reserved_words.insert("PROGRAM", Program); [INFO] [stdout] ... | [INFO] [stdout] 20 | | }; [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 63 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:9:38 [INFO] [stdout] | [INFO] [stdout] 9 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult; [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:26:38 [INFO] [stdout] | [INFO] [stdout] 26 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:43:38 [INFO] [stdout] | [INFO] [stdout] 43 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | pub left: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:50:18 [INFO] [stdout] | [INFO] [stdout] 50 | pub right: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:54:29 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn to_string(node: &Box) -> String { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:91:24 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn new(left: Box, right: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:91:42 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn new(left: Box, right: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:101:38 [INFO] [stdout] | [INFO] [stdout] 101 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 108 | pub expr: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:112:41 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn new(operator: Token, expr: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:118:38 [INFO] [stdout] | [INFO] [stdout] 118 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:124:25 [INFO] [stdout] | [INFO] [stdout] 124 | pub children: Vec>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:128:32 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn new(children: Vec>) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:134:38 [INFO] [stdout] | [INFO] [stdout] 134 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:140:23 [INFO] [stdout] | [INFO] [stdout] 140 | pub identifier: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:141:17 [INFO] [stdout] | [INFO] [stdout] 141 | pub expr: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:146:30 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn new(identifier: Box, expr: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:146:47 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn new(identifier: Box, expr: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:156:38 [INFO] [stdout] | [INFO] [stdout] 156 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:172:38 [INFO] [stdout] | [INFO] [stdout] 172 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:180:38 [INFO] [stdout] | [INFO] [stdout] 180 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:187:18 [INFO] [stdout] | [INFO] [stdout] 187 | pub block: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:191:44 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn new(identifier: Token, block: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:197:38 [INFO] [stdout] | [INFO] [stdout] 197 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:204:23 [INFO] [stdout] | [INFO] [stdout] 204 | pub params: Vec>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:205:18 [INFO] [stdout] | [INFO] [stdout] 205 | pub block: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:209:48 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn new(proc_name: Token, params: Vec>, block: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:209:67 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn new(proc_name: Token, params: Vec>, block: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:219:38 [INFO] [stdout] | [INFO] [stdout] 219 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:239:38 [INFO] [stdout] | [INFO] [stdout] 239 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:245:29 [INFO] [stdout] | [INFO] [stdout] 245 | pub declarations: Vec>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:246:31 [INFO] [stdout] | [INFO] [stdout] 246 | pub compound_statement: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:250:36 [INFO] [stdout] | [INFO] [stdout] 250 | pub fn new(declarations: Vec>, compound_statement: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:250:68 [INFO] [stdout] | [INFO] [stdout] 250 | pub fn new(declarations: Vec>, compound_statement: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:259:38 [INFO] [stdout] | [INFO] [stdout] 259 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:279:38 [INFO] [stdout] | [INFO] [stdout] 279 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:296:38 [INFO] [stdout] | [INFO] [stdout] 296 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/visitor.rs:5:34 [INFO] [stdout] | [INFO] [stdout] 5 | fn visit(&mut self, node: &Box) -> NumberResult { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/interpreter/mod.rs:8:22 [INFO] [stdout] | [INFO] [stdout] 8 | pub root_node: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/interpreter/mod.rs:24:38 [INFO] [stdout] | [INFO] [stdout] 24 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:42:32 [INFO] [stdout] | [INFO] [stdout] 42 | fn program(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:52:30 [INFO] [stdout] | [INFO] [stdout] 52 | fn block(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:59:43 [INFO] [stdout] | [INFO] [stdout] 59 | fn compound_statement(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:67:41 [INFO] [stdout] | [INFO] [stdout] 67 | fn declarations(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:71:35 [INFO] [stdout] | [INFO] [stdout] 71 | let mut declarations: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:87:46 [INFO] [stdout] | [INFO] [stdout] 87 | fn procedure_declaration(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | let mut params: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:106:50 [INFO] [stdout] | [INFO] [stdout] 106 | fn formal_parameter_list(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:117:46 [INFO] [stdout] | [INFO] [stdout] 117 | fn formal_parameters(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:134:37 [INFO] [stdout] | [INFO] [stdout] 134 | let mut parameter_list: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:141:49 [INFO] [stdout] | [INFO] [stdout] 141 | fn variable_declaration(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:158:39 [INFO] [stdout] | [INFO] [stdout] 158 | let mut var_declarations: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:177:43 [INFO] [stdout] | [INFO] [stdout] 177 | fn statement_list(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:196:34 [INFO] [stdout] | [INFO] [stdout] 196 | fn statement(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:206:45 [INFO] [stdout] | [INFO] [stdout] 206 | fn assignment_statement(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:226:26 [INFO] [stdout] | [INFO] [stdout] 226 | fn empty(&self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:229:31 [INFO] [stdout] | [INFO] [stdout] 229 | fn factor(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:262:29 [INFO] [stdout] | [INFO] [stdout] 262 | fn term(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:276:29 [INFO] [stdout] | [INFO] [stdout] 276 | fn expr(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:288:34 [INFO] [stdout] | [INFO] [stdout] 288 | pub fn parse(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:9:38 [INFO] [stdout] | [INFO] [stdout] 9 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult; [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:26:38 [INFO] [stdout] | [INFO] [stdout] 26 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:43:38 [INFO] [stdout] | [INFO] [stdout] 43 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | pub left: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:50:18 [INFO] [stdout] | [INFO] [stdout] 50 | pub right: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:54:29 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn to_string(node: &Box) -> String { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:91:24 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn new(left: Box, right: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:91:42 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn new(left: Box, right: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:101:38 [INFO] [stdout] | [INFO] [stdout] 101 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 108 | pub expr: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:112:41 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn new(operator: Token, expr: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:118:38 [INFO] [stdout] | [INFO] [stdout] 118 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:124:25 [INFO] [stdout] | [INFO] [stdout] 124 | pub children: Vec>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:128:32 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn new(children: Vec>) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:134:38 [INFO] [stdout] | [INFO] [stdout] 134 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:140:23 [INFO] [stdout] | [INFO] [stdout] 140 | pub identifier: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:141:17 [INFO] [stdout] | [INFO] [stdout] 141 | pub expr: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:146:30 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn new(identifier: Box, expr: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:146:47 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn new(identifier: Box, expr: Box, operator: Token) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:156:38 [INFO] [stdout] | [INFO] [stdout] 156 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:172:38 [INFO] [stdout] | [INFO] [stdout] 172 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:180:38 [INFO] [stdout] | [INFO] [stdout] 180 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:187:18 [INFO] [stdout] | [INFO] [stdout] 187 | pub block: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:191:44 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn new(identifier: Token, block: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:197:38 [INFO] [stdout] | [INFO] [stdout] 197 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:204:23 [INFO] [stdout] | [INFO] [stdout] 204 | pub params: Vec>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:205:18 [INFO] [stdout] | [INFO] [stdout] 205 | pub block: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:209:48 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn new(proc_name: Token, params: Vec>, block: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:209:67 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn new(proc_name: Token, params: Vec>, block: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:219:38 [INFO] [stdout] | [INFO] [stdout] 219 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:239:38 [INFO] [stdout] | [INFO] [stdout] 239 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:245:29 [INFO] [stdout] | [INFO] [stdout] 245 | pub declarations: Vec>, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:246:31 [INFO] [stdout] | [INFO] [stdout] 246 | pub compound_statement: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:250:36 [INFO] [stdout] | [INFO] [stdout] 250 | pub fn new(declarations: Vec>, compound_statement: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:250:68 [INFO] [stdout] | [INFO] [stdout] 250 | pub fn new(declarations: Vec>, compound_statement: Box) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:259:38 [INFO] [stdout] | [INFO] [stdout] 259 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:279:38 [INFO] [stdout] | [INFO] [stdout] 279 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/node.rs:296:38 [INFO] [stdout] | [INFO] [stdout] 296 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/visitor.rs:5:34 [INFO] [stdout] | [INFO] [stdout] 5 | fn visit(&mut self, node: &Box) -> NumberResult { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/interpreter/mod.rs:8:22 [INFO] [stdout] | [INFO] [stdout] 8 | pub root_node: Box, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/interpreter/mod.rs:24:38 [INFO] [stdout] | [INFO] [stdout] 24 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:42:32 [INFO] [stdout] | [INFO] [stdout] 42 | fn program(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:52:30 [INFO] [stdout] | [INFO] [stdout] 52 | fn block(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:59:43 [INFO] [stdout] | [INFO] [stdout] 59 | fn compound_statement(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:67:41 [INFO] [stdout] | [INFO] [stdout] 67 | fn declarations(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:71:35 [INFO] [stdout] | [INFO] [stdout] 71 | let mut declarations: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:87:46 [INFO] [stdout] | [INFO] [stdout] 87 | fn procedure_declaration(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | let mut params: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:106:50 [INFO] [stdout] | [INFO] [stdout] 106 | fn formal_parameter_list(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:117:46 [INFO] [stdout] | [INFO] [stdout] 117 | fn formal_parameters(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:134:37 [INFO] [stdout] | [INFO] [stdout] 134 | let mut parameter_list: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:141:49 [INFO] [stdout] | [INFO] [stdout] 141 | fn variable_declaration(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:158:39 [INFO] [stdout] | [INFO] [stdout] 158 | let mut var_declarations: Vec> = vec![]; [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:177:43 [INFO] [stdout] | [INFO] [stdout] 177 | fn statement_list(&mut self) -> Vec> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:196:34 [INFO] [stdout] | [INFO] [stdout] 196 | fn statement(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:206:45 [INFO] [stdout] | [INFO] [stdout] 206 | fn assignment_statement(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:226:26 [INFO] [stdout] | [INFO] [stdout] 226 | fn empty(&self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:229:31 [INFO] [stdout] | [INFO] [stdout] 229 | fn factor(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:262:29 [INFO] [stdout] | [INFO] [stdout] 262 | fn term(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:276:29 [INFO] [stdout] | [INFO] [stdout] 276 | fn expr(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser/mod.rs:288:34 [INFO] [stdout] | [INFO] [stdout] 288 | pub fn parse(&mut self) -> Box { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:40:29 [INFO] [stdout] | [INFO] [stdout] 40 | fn main() -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/lexer/mod.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / lazy_static! { [INFO] [stdout] 9 | | static ref RESERVED_WORDS: HashMap<&'static str, Token> = { [INFO] [stdout] 10 | | let mut reserved_words = HashMap::new(); [INFO] [stdout] 11 | | reserved_words.insert("PROGRAM", Program); [INFO] [stdout] ... | [INFO] [stdout] 20 | | }; [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/lexer/mod.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / lazy_static! { [INFO] [stdout] 9 | | static ref RESERVED_WORDS: HashMap<&'static str, Token> = { [INFO] [stdout] 10 | | let mut reserved_words = HashMap::new(); [INFO] [stdout] 11 | | reserved_words.insert("PROGRAM", Program); [INFO] [stdout] ... | [INFO] [stdout] 20 | | }; [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 62 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 63 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 9.29s [INFO] running `Command { std: "docker" "inspect" "80488a8e114b040a50ca3fc6073daca74073a1aaebb0bb6b8e36eac564fa4b33", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "80488a8e114b040a50ca3fc6073daca74073a1aaebb0bb6b8e36eac564fa4b33", kill_on_drop: false }` [INFO] [stdout] 80488a8e114b040a50ca3fc6073daca74073a1aaebb0bb6b8e36eac564fa4b33 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-01-01" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 8a57d12197f9fc12ec8407e555a4bf7f37128b3a5303f980cb245331de9f5388 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "8a57d12197f9fc12ec8407e555a4bf7f37128b3a5303f980cb245331de9f5388", kill_on_drop: false }` [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:9:38 [INFO] [stderr] | [INFO] [stderr] 9 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult; [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [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/ast/node.rs:26:38 [INFO] [stderr] | [INFO] [stderr] 26 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:43:38 [INFO] [stderr] | [INFO] [stderr] 43 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | pub left: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:50:18 [INFO] [stderr] | [INFO] [stderr] 50 | pub right: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:54:29 [INFO] [stderr] | [INFO] [stderr] 54 | pub fn to_string(node: &Box) -> String { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:91:24 [INFO] [stderr] | [INFO] [stderr] 91 | pub fn new(left: Box, right: Box, operator: Token) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:91:42 [INFO] [stderr] | [INFO] [stderr] 91 | pub fn new(left: Box, right: Box, operator: Token) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:101:38 [INFO] [stderr] | [INFO] [stderr] 101 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:108:17 [INFO] [stderr] | [INFO] [stderr] 108 | pub expr: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:112:41 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn new(operator: Token, expr: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:118:38 [INFO] [stderr] | [INFO] [stderr] 118 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:124:25 [INFO] [stderr] | [INFO] [stderr] 124 | pub children: Vec>, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:128:32 [INFO] [stderr] | [INFO] [stderr] 128 | pub fn new(children: Vec>) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:134:38 [INFO] [stderr] | [INFO] [stderr] 134 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:140:23 [INFO] [stderr] | [INFO] [stderr] 140 | pub identifier: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:141:17 [INFO] [stderr] | [INFO] [stderr] 141 | pub expr: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:146:30 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn new(identifier: Box, expr: Box, operator: Token) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:146:47 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn new(identifier: Box, expr: Box, operator: Token) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:156:38 [INFO] [stderr] | [INFO] [stderr] 156 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:172:38 [INFO] [stderr] | [INFO] [stderr] 172 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:180:38 [INFO] [stderr] | [INFO] [stderr] 180 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:187:18 [INFO] [stderr] | [INFO] [stderr] 187 | pub block: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:191:44 [INFO] [stderr] | [INFO] [stderr] 191 | pub fn new(identifier: Token, block: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:197:38 [INFO] [stderr] | [INFO] [stderr] 197 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:204:23 [INFO] [stderr] | [INFO] [stderr] 204 | pub params: Vec>, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:205:18 [INFO] [stderr] | [INFO] [stderr] 205 | pub block: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:209:48 [INFO] [stderr] | [INFO] [stderr] 209 | pub fn new(proc_name: Token, params: Vec>, block: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:209:67 [INFO] [stderr] | [INFO] [stderr] 209 | pub fn new(proc_name: Token, params: Vec>, block: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:219:38 [INFO] [stderr] | [INFO] [stderr] 219 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:239:38 [INFO] [stderr] | [INFO] [stderr] 239 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:245:29 [INFO] [stderr] | [INFO] [stderr] 245 | pub declarations: Vec>, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:246:31 [INFO] [stderr] | [INFO] [stderr] 246 | pub compound_statement: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:250:36 [INFO] [stderr] | [INFO] [stderr] 250 | pub fn new(declarations: Vec>, compound_statement: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:250:68 [INFO] [stderr] | [INFO] [stderr] 250 | pub fn new(declarations: Vec>, compound_statement: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:259:38 [INFO] [stderr] | [INFO] [stderr] 259 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:279:38 [INFO] [stderr] | [INFO] [stderr] 279 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:296:38 [INFO] [stderr] | [INFO] [stderr] 296 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/visitor.rs:5:34 [INFO] [stderr] | [INFO] [stderr] 5 | fn visit(&mut self, node: &Box) -> NumberResult { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/interpreter/mod.rs:8:22 [INFO] [stderr] | [INFO] [stderr] 8 | pub root_node: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/interpreter/mod.rs:24:38 [INFO] [stderr] | [INFO] [stderr] 24 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:42:32 [INFO] [stderr] | [INFO] [stderr] 42 | fn program(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:52:30 [INFO] [stderr] | [INFO] [stderr] 52 | fn block(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:59:43 [INFO] [stderr] | [INFO] [stderr] 59 | fn compound_statement(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:67:41 [INFO] [stderr] | [INFO] [stderr] 67 | fn declarations(&mut self) -> Vec> { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:71:35 [INFO] [stderr] | [INFO] [stderr] 71 | let mut declarations: Vec> = vec![]; [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:87:46 [INFO] [stderr] | [INFO] [stderr] 87 | fn procedure_declaration(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:90:29 [INFO] [stderr] | [INFO] [stderr] 90 | let mut params: Vec> = vec![]; [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:106:50 [INFO] [stderr] | [INFO] [stderr] 106 | fn formal_parameter_list(&mut self) -> Vec> { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:117:46 [INFO] [stderr] | [INFO] [stderr] 117 | fn formal_parameters(&mut self) -> Vec> { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:134:37 [INFO] [stderr] | [INFO] [stderr] 134 | let mut parameter_list: Vec> = vec![]; [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:141:49 [INFO] [stderr] | [INFO] [stderr] 141 | fn variable_declaration(&mut self) -> Vec> { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:158:39 [INFO] [stderr] | [INFO] [stderr] 158 | let mut var_declarations: Vec> = vec![]; [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:177:43 [INFO] [stderr] | [INFO] [stderr] 177 | fn statement_list(&mut self) -> Vec> { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:196:34 [INFO] [stderr] | [INFO] [stderr] 196 | fn statement(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:206:45 [INFO] [stderr] | [INFO] [stderr] 206 | fn assignment_statement(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:226:26 [INFO] [stderr] | [INFO] [stderr] 226 | fn empty(&self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:229:31 [INFO] [stderr] | [INFO] [stderr] 229 | fn factor(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:262:29 [INFO] [stderr] | [INFO] [stderr] 262 | fn term(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:276:29 [INFO] [stderr] | [INFO] [stderr] 276 | fn expr(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:288:34 [INFO] [stderr] | [INFO] [stderr] 288 | pub fn parse(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stderr] --> src/lexer/mod.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / lazy_static! { [INFO] [stderr] 9 | | static ref RESERVED_WORDS: HashMap<&'static str, Token> = { [INFO] [stderr] 10 | | let mut reserved_words = HashMap::new(); [INFO] [stderr] 11 | | reserved_words.insert("PROGRAM", Program); [INFO] [stderr] ... | [INFO] [stderr] 20 | | }; [INFO] [stderr] 21 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: 62 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:9:38 [INFO] [stderr] | [INFO] [stderr] 9 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult; [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [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/ast/node.rs:26:38 [INFO] [stderr] | [INFO] [stderr] 26 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:43:38 [INFO] [stderr] | [INFO] [stderr] 43 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | pub left: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:50:18 [INFO] [stderr] | [INFO] [stderr] 50 | pub right: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:54:29 [INFO] [stderr] | [INFO] [stderr] 54 | pub fn to_string(node: &Box) -> String { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:91:24 [INFO] [stderr] | [INFO] [stderr] 91 | pub fn new(left: Box, right: Box, operator: Token) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:91:42 [INFO] [stderr] | [INFO] [stderr] 91 | pub fn new(left: Box, right: Box, operator: Token) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:101:38 [INFO] [stderr] | [INFO] [stderr] 101 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:108:17 [INFO] [stderr] | [INFO] [stderr] 108 | pub expr: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:112:41 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn new(operator: Token, expr: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:118:38 [INFO] [stderr] | [INFO] [stderr] 118 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:124:25 [INFO] [stderr] | [INFO] [stderr] 124 | pub children: Vec>, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:128:32 [INFO] [stderr] | [INFO] [stderr] 128 | pub fn new(children: Vec>) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:134:38 [INFO] [stderr] | [INFO] [stderr] 134 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:140:23 [INFO] [stderr] | [INFO] [stderr] 140 | pub identifier: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:141:17 [INFO] [stderr] | [INFO] [stderr] 141 | pub expr: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:146:30 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn new(identifier: Box, expr: Box, operator: Token) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:146:47 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn new(identifier: Box, expr: Box, operator: Token) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:156:38 [INFO] [stderr] | [INFO] [stderr] 156 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:172:38 [INFO] [stderr] | [INFO] [stderr] 172 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:180:38 [INFO] [stderr] | [INFO] [stderr] 180 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:187:18 [INFO] [stderr] | [INFO] [stderr] 187 | pub block: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:191:44 [INFO] [stderr] | [INFO] [stderr] 191 | pub fn new(identifier: Token, block: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:197:38 [INFO] [stderr] | [INFO] [stderr] 197 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:204:23 [INFO] [stderr] | [INFO] [stderr] 204 | pub params: Vec>, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:205:18 [INFO] [stderr] | [INFO] [stderr] 205 | pub block: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:209:48 [INFO] [stderr] | [INFO] [stderr] 209 | pub fn new(proc_name: Token, params: Vec>, block: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:209:67 [INFO] [stderr] | [INFO] [stderr] 209 | pub fn new(proc_name: Token, params: Vec>, block: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:219:38 [INFO] [stderr] | [INFO] [stderr] 219 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:239:38 [INFO] [stderr] | [INFO] [stderr] 239 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:245:29 [INFO] [stderr] | [INFO] [stderr] 245 | pub declarations: Vec>, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:246:31 [INFO] [stderr] | [INFO] [stderr] 246 | pub compound_statement: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:250:36 [INFO] [stderr] | [INFO] [stderr] 250 | pub fn new(declarations: Vec>, compound_statement: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:250:68 [INFO] [stderr] | [INFO] [stderr] 250 | pub fn new(declarations: Vec>, compound_statement: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:259:38 [INFO] [stderr] | [INFO] [stderr] 259 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:279:38 [INFO] [stderr] | [INFO] [stderr] 279 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:296:38 [INFO] [stderr] | [INFO] [stderr] 296 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/visitor.rs:5:34 [INFO] [stderr] | [INFO] [stderr] 5 | fn visit(&mut self, node: &Box) -> NumberResult { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/interpreter/mod.rs:8:22 [INFO] [stderr] | [INFO] [stderr] 8 | pub root_node: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/interpreter/mod.rs:24:38 [INFO] [stderr] | [INFO] [stderr] 24 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:42:32 [INFO] [stderr] | [INFO] [stderr] 42 | fn program(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:52:30 [INFO] [stderr] | [INFO] [stderr] 52 | fn block(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:59:43 [INFO] [stderr] | [INFO] [stderr] 59 | fn compound_statement(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:67:41 [INFO] [stderr] | [INFO] [stderr] 67 | fn declarations(&mut self) -> Vec> { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:71:35 [INFO] [stderr] | [INFO] [stderr] 71 | let mut declarations: Vec> = vec![]; [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:87:46 [INFO] [stderr] | [INFO] [stderr] 87 | fn procedure_declaration(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:90:29 [INFO] [stderr] | [INFO] [stderr] 90 | let mut params: Vec> = vec![]; [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:106:50 [INFO] [stderr] | [INFO] [stderr] 106 | fn formal_parameter_list(&mut self) -> Vec> { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:117:46 [INFO] [stderr] | [INFO] [stderr] 117 | fn formal_parameters(&mut self) -> Vec> { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:134:37 [INFO] [stderr] | [INFO] [stderr] 134 | let mut parameter_list: Vec> = vec![]; [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:141:49 [INFO] [stderr] | [INFO] [stderr] 141 | fn variable_declaration(&mut self) -> Vec> { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:158:39 [INFO] [stderr] | [INFO] [stderr] 158 | let mut var_declarations: Vec> = vec![]; [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:177:43 [INFO] [stderr] | [INFO] [stderr] 177 | fn statement_list(&mut self) -> Vec> { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:196:34 [INFO] [stderr] | [INFO] [stderr] 196 | fn statement(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:206:45 [INFO] [stderr] | [INFO] [stderr] 206 | fn assignment_statement(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:226:26 [INFO] [stderr] | [INFO] [stderr] 226 | fn empty(&self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:229:31 [INFO] [stderr] | [INFO] [stderr] 229 | fn factor(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:262:29 [INFO] [stderr] | [INFO] [stderr] 262 | fn term(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:276:29 [INFO] [stderr] | [INFO] [stderr] 276 | fn expr(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:288:34 [INFO] [stderr] | [INFO] [stderr] 288 | pub fn parse(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stderr] --> src/lexer/mod.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / lazy_static! { [INFO] [stderr] 9 | | static ref RESERVED_WORDS: HashMap<&'static str, Token> = { [INFO] [stderr] 10 | | let mut reserved_words = HashMap::new(); [INFO] [stderr] 11 | | reserved_words.insert("PROGRAM", Program); [INFO] [stderr] ... | [INFO] [stderr] 20 | | }; [INFO] [stderr] 21 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: 62 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:9:38 [INFO] [stderr] | [INFO] [stderr] 9 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult; [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [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/ast/node.rs:26:38 [INFO] [stderr] | [INFO] [stderr] 26 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:43:38 [INFO] [stderr] | [INFO] [stderr] 43 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | pub left: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:50:18 [INFO] [stderr] | [INFO] [stderr] 50 | pub right: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:54:29 [INFO] [stderr] | [INFO] [stderr] 54 | pub fn to_string(node: &Box) -> String { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:91:24 [INFO] [stderr] | [INFO] [stderr] 91 | pub fn new(left: Box, right: Box, operator: Token) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:91:42 [INFO] [stderr] | [INFO] [stderr] 91 | pub fn new(left: Box, right: Box, operator: Token) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:101:38 [INFO] [stderr] | [INFO] [stderr] 101 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:108:17 [INFO] [stderr] | [INFO] [stderr] 108 | pub expr: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:112:41 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn new(operator: Token, expr: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:118:38 [INFO] [stderr] | [INFO] [stderr] 118 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:124:25 [INFO] [stderr] | [INFO] [stderr] 124 | pub children: Vec>, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:128:32 [INFO] [stderr] | [INFO] [stderr] 128 | pub fn new(children: Vec>) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:134:38 [INFO] [stderr] | [INFO] [stderr] 134 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:140:23 [INFO] [stderr] | [INFO] [stderr] 140 | pub identifier: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:141:17 [INFO] [stderr] | [INFO] [stderr] 141 | pub expr: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:146:30 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn new(identifier: Box, expr: Box, operator: Token) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:146:47 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn new(identifier: Box, expr: Box, operator: Token) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:156:38 [INFO] [stderr] | [INFO] [stderr] 156 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:172:38 [INFO] [stderr] | [INFO] [stderr] 172 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:180:38 [INFO] [stderr] | [INFO] [stderr] 180 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:187:18 [INFO] [stderr] | [INFO] [stderr] 187 | pub block: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:191:44 [INFO] [stderr] | [INFO] [stderr] 191 | pub fn new(identifier: Token, block: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:197:38 [INFO] [stderr] | [INFO] [stderr] 197 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:204:23 [INFO] [stderr] | [INFO] [stderr] 204 | pub params: Vec>, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:205:18 [INFO] [stderr] | [INFO] [stderr] 205 | pub block: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:209:48 [INFO] [stderr] | [INFO] [stderr] 209 | pub fn new(proc_name: Token, params: Vec>, block: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:209:67 [INFO] [stderr] | [INFO] [stderr] 209 | pub fn new(proc_name: Token, params: Vec>, block: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:219:38 [INFO] [stderr] | [INFO] [stderr] 219 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:239:38 [INFO] [stderr] | [INFO] [stderr] 239 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:245:29 [INFO] [stderr] | [INFO] [stderr] 245 | pub declarations: Vec>, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:246:31 [INFO] [stderr] | [INFO] [stderr] 246 | pub compound_statement: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:250:36 [INFO] [stderr] | [INFO] [stderr] 250 | pub fn new(declarations: Vec>, compound_statement: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:250:68 [INFO] [stderr] | [INFO] [stderr] 250 | pub fn new(declarations: Vec>, compound_statement: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:259:38 [INFO] [stderr] | [INFO] [stderr] 259 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:279:38 [INFO] [stderr] | [INFO] [stderr] 279 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:296:38 [INFO] [stderr] | [INFO] [stderr] 296 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/visitor.rs:5:34 [INFO] [stderr] | [INFO] [stderr] 5 | fn visit(&mut self, node: &Box) -> NumberResult { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/interpreter/mod.rs:8:22 [INFO] [stderr] | [INFO] [stderr] 8 | pub root_node: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/interpreter/mod.rs:24:38 [INFO] [stderr] | [INFO] [stderr] 24 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:42:32 [INFO] [stderr] | [INFO] [stderr] 42 | fn program(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:52:30 [INFO] [stderr] | [INFO] [stderr] 52 | fn block(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:59:43 [INFO] [stderr] | [INFO] [stderr] 59 | fn compound_statement(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:67:41 [INFO] [stderr] | [INFO] [stderr] 67 | fn declarations(&mut self) -> Vec> { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:71:35 [INFO] [stderr] | [INFO] [stderr] 71 | let mut declarations: Vec> = vec![]; [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:87:46 [INFO] [stderr] | [INFO] [stderr] 87 | fn procedure_declaration(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:90:29 [INFO] [stderr] | [INFO] [stderr] 90 | let mut params: Vec> = vec![]; [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:106:50 [INFO] [stderr] | [INFO] [stderr] 106 | fn formal_parameter_list(&mut self) -> Vec> { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:117:46 [INFO] [stderr] | [INFO] [stderr] 117 | fn formal_parameters(&mut self) -> Vec> { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:134:37 [INFO] [stderr] | [INFO] [stderr] 134 | let mut parameter_list: Vec> = vec![]; [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:141:49 [INFO] [stderr] | [INFO] [stderr] 141 | fn variable_declaration(&mut self) -> Vec> { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:158:39 [INFO] [stderr] | [INFO] [stderr] 158 | let mut var_declarations: Vec> = vec![]; [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:177:43 [INFO] [stderr] | [INFO] [stderr] 177 | fn statement_list(&mut self) -> Vec> { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:196:34 [INFO] [stderr] | [INFO] [stderr] 196 | fn statement(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:206:45 [INFO] [stderr] | [INFO] [stderr] 206 | fn assignment_statement(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:226:26 [INFO] [stderr] | [INFO] [stderr] 226 | fn empty(&self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:229:31 [INFO] [stderr] | [INFO] [stderr] 229 | fn factor(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:262:29 [INFO] [stderr] | [INFO] [stderr] 262 | fn term(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:276:29 [INFO] [stderr] | [INFO] [stderr] 276 | fn expr(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:288:34 [INFO] [stderr] | [INFO] [stderr] 288 | pub fn parse(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:40:29 [INFO] [stderr] | [INFO] [stderr] 40 | fn main() -> Result<(), Box> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stderr] --> src/lexer/mod.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / lazy_static! { [INFO] [stderr] 9 | | static ref RESERVED_WORDS: HashMap<&'static str, Token> = { [INFO] [stderr] 10 | | let mut reserved_words = HashMap::new(); [INFO] [stderr] 11 | | reserved_words.insert("PROGRAM", Program); [INFO] [stderr] ... | [INFO] [stderr] 20 | | }; [INFO] [stderr] 21 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: 63 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:9:38 [INFO] [stderr] | [INFO] [stderr] 9 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult; [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [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/ast/node.rs:26:38 [INFO] [stderr] | [INFO] [stderr] 26 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:43:38 [INFO] [stderr] | [INFO] [stderr] 43 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | pub left: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:50:18 [INFO] [stderr] | [INFO] [stderr] 50 | pub right: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:54:29 [INFO] [stderr] | [INFO] [stderr] 54 | pub fn to_string(node: &Box) -> String { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:91:24 [INFO] [stderr] | [INFO] [stderr] 91 | pub fn new(left: Box, right: Box, operator: Token) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:91:42 [INFO] [stderr] | [INFO] [stderr] 91 | pub fn new(left: Box, right: Box, operator: Token) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:101:38 [INFO] [stderr] | [INFO] [stderr] 101 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:108:17 [INFO] [stderr] | [INFO] [stderr] 108 | pub expr: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:112:41 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn new(operator: Token, expr: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:118:38 [INFO] [stderr] | [INFO] [stderr] 118 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:124:25 [INFO] [stderr] | [INFO] [stderr] 124 | pub children: Vec>, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:128:32 [INFO] [stderr] | [INFO] [stderr] 128 | pub fn new(children: Vec>) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:134:38 [INFO] [stderr] | [INFO] [stderr] 134 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:140:23 [INFO] [stderr] | [INFO] [stderr] 140 | pub identifier: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:141:17 [INFO] [stderr] | [INFO] [stderr] 141 | pub expr: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:146:30 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn new(identifier: Box, expr: Box, operator: Token) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:146:47 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn new(identifier: Box, expr: Box, operator: Token) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:156:38 [INFO] [stderr] | [INFO] [stderr] 156 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:172:38 [INFO] [stderr] | [INFO] [stderr] 172 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:180:38 [INFO] [stderr] | [INFO] [stderr] 180 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:187:18 [INFO] [stderr] | [INFO] [stderr] 187 | pub block: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:191:44 [INFO] [stderr] | [INFO] [stderr] 191 | pub fn new(identifier: Token, block: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:197:38 [INFO] [stderr] | [INFO] [stderr] 197 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:204:23 [INFO] [stderr] | [INFO] [stderr] 204 | pub params: Vec>, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:205:18 [INFO] [stderr] | [INFO] [stderr] 205 | pub block: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:209:48 [INFO] [stderr] | [INFO] [stderr] 209 | pub fn new(proc_name: Token, params: Vec>, block: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:209:67 [INFO] [stderr] | [INFO] [stderr] 209 | pub fn new(proc_name: Token, params: Vec>, block: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:219:38 [INFO] [stderr] | [INFO] [stderr] 219 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:239:38 [INFO] [stderr] | [INFO] [stderr] 239 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:245:29 [INFO] [stderr] | [INFO] [stderr] 245 | pub declarations: Vec>, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:246:31 [INFO] [stderr] | [INFO] [stderr] 246 | pub compound_statement: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:250:36 [INFO] [stderr] | [INFO] [stderr] 250 | pub fn new(declarations: Vec>, compound_statement: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:250:68 [INFO] [stderr] | [INFO] [stderr] 250 | pub fn new(declarations: Vec>, compound_statement: Box) -> Self { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:259:38 [INFO] [stderr] | [INFO] [stderr] 259 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:279:38 [INFO] [stderr] | [INFO] [stderr] 279 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/node.rs:296:38 [INFO] [stderr] | [INFO] [stderr] 296 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/visitor.rs:5:34 [INFO] [stderr] | [INFO] [stderr] 5 | fn visit(&mut self, node: &Box) -> NumberResult { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/interpreter/mod.rs:8:22 [INFO] [stderr] | [INFO] [stderr] 8 | pub root_node: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/interpreter/mod.rs:24:38 [INFO] [stderr] | [INFO] [stderr] 24 | fn accept(&mut self, visitor: &mut NodeVisitor) -> NumberResult { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn NodeVisitor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:42:32 [INFO] [stderr] | [INFO] [stderr] 42 | fn program(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:52:30 [INFO] [stderr] | [INFO] [stderr] 52 | fn block(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:59:43 [INFO] [stderr] | [INFO] [stderr] 59 | fn compound_statement(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:67:41 [INFO] [stderr] | [INFO] [stderr] 67 | fn declarations(&mut self) -> Vec> { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:71:35 [INFO] [stderr] | [INFO] [stderr] 71 | let mut declarations: Vec> = vec![]; [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:87:46 [INFO] [stderr] | [INFO] [stderr] 87 | fn procedure_declaration(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:90:29 [INFO] [stderr] | [INFO] [stderr] 90 | let mut params: Vec> = vec![]; [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:106:50 [INFO] [stderr] | [INFO] [stderr] 106 | fn formal_parameter_list(&mut self) -> Vec> { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:117:46 [INFO] [stderr] | [INFO] [stderr] 117 | fn formal_parameters(&mut self) -> Vec> { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:134:37 [INFO] [stderr] | [INFO] [stdout] [INFO] [stderr] 134 | let mut parameter_list: Vec> = vec![]; [INFO] [stdout] running 17 tests [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] test lexer::tests::add_two_single_digit_numbers ... ok [INFO] [stderr] [INFO] [stdout] test lexer::tests::lex_expression_in_parens ... ok [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] test lexer::tests::lex_reserved_keywords ... ok [INFO] [stderr] --> src/parser/mod.rs:141:49 [INFO] [stdout] test lexer::tests::multiply_two_single_digit_numbers ... ok [INFO] [stderr] | [INFO] [stdout] test lexer::tests::lex_comment ... ok [INFO] [stderr] 141 | fn variable_declaration(&mut self) -> Vec> { [INFO] [stdout] test lexer::tests::multiply_two_real_numbers ... ok [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] test symbols::symbol::tests::build_builtin_real_type ... ok [INFO] [stderr] [INFO] [stdout] test lexer::tests::lex_assignment ... ok [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] test symbols::symbol::tests::create_integer_variable ... ok [INFO] [stderr] --> src/parser/mod.rs:158:39 [INFO] [stdout] test symbols::symbol::tests::build_builtin_integer_type ... ok [INFO] [stderr] | [INFO] [stdout] test symbols::symbol::tests::define_and_lookup_integer ... ok [INFO] [stderr] 158 | let mut var_declarations: Vec> = vec![]; [INFO] [stdout] test symbols::symbol::tests::define_and_lookup_real ... ok [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stdout] test symbols::symbol::tests::lookup_unknown_variable ... ok [INFO] [stderr] [INFO] [stdout] test symbols::symbol::tests::create_real_variable ... ok [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] test lexer::tests::divide_two_real_numbers ... ok [INFO] [stderr] --> src/parser/mod.rs:177:43 [INFO] [stdout] test lexer::tests::divide_two_integers ... ok [INFO] [stderr] | [INFO] [stderr] 177 | fn statement_list(&mut self) -> Vec> { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:196:34 [INFO] [stderr] | [INFO] [stderr] 196 | fn statement(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:206:45 [INFO] [stderr] | [INFO] [stderr] 206 | fn assignment_statement(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:226:26 [INFO] [stderr] | [INFO] [stderr] 226 | fn empty(&self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:229:31 [INFO] [stderr] | [INFO] [stderr] 229 | fn factor(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:262:29 [INFO] [stderr] | [INFO] [stderr] 262 | fn term(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:276:29 [INFO] [stderr] | [INFO] [stderr] 276 | fn expr(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/mod.rs:288:34 [INFO] [stderr] | [INFO] [stderr] 288 | pub fn parse(&mut self) -> Box { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Node` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:40:29 [INFO] [stderr] | [INFO] [stderr] 40 | fn main() -> Result<(), Box> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stderr] --> src/lexer/mod.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / lazy_static! { [INFO] [stderr] 9 | | static ref RESERVED_WORDS: HashMap<&'static str, Token> = { [INFO] [stderr] 10 | | let mut reserved_words = HashMap::new(); [INFO] [stderr] 11 | | reserved_words.insert("PROGRAM", Program); [INFO] [stderr] ... | [INFO] [stderr] 20 | | }; [INFO] [stderr] 21 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: 63 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/basic_interpreter-7852b14ef5965dca [INFO] [stdout] test symbols::symbol::tests::should_panic_build_invalid_builtin ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/basic_interpreter-cfdb3655147a2481 [INFO] [stdout] [INFO] [stdout] running 17 tests [INFO] [stdout] test lexer::tests::add_two_single_digit_numbers ... ok [INFO] [stdout] test lexer::tests::divide_two_integers ... ok [INFO] [stdout] test lexer::tests::lex_comment ... ok [INFO] [stdout] test lexer::tests::lex_expression_in_parens ... ok [INFO] [stdout] test lexer::tests::lex_reserved_keywords ... ok [INFO] [stdout] test lexer::tests::multiply_two_real_numbers ... ok [INFO] [stdout] test lexer::tests::multiply_two_single_digit_numbers ... ok [INFO] [stdout] test symbols::symbol::tests::create_real_variable ... ok [INFO] [stdout] test symbols::symbol::tests::define_and_lookup_integer ... ok [INFO] [stdout] test symbols::symbol::tests::define_and_lookup_real ... ok [INFO] [stdout] test symbols::symbol::tests::lookup_unknown_variable ... ok [INFO] [stdout] test symbols::symbol::tests::create_integer_variable ... ok [INFO] [stdout] test symbols::symbol::tests::build_builtin_real_type ... ok [INFO] [stdout] test symbols::symbol::tests::build_builtin_integer_type ... ok [INFO] [stdout] test lexer::tests::lex_assignment ... ok [INFO] [stdout] test lexer::tests::divide_two_real_numbers ... ok [INFO] [stdout] test symbols::symbol::tests::should_panic_build_invalid_builtin ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/integration_tests-a99b0d95622e54c6 [INFO] [stdout] [INFO] [stdout] running 20 tests [INFO] [stdout] Symbol Table Info: [INFO] [stdout] Scope: Global Scope, Level: 1 [INFO] [stdout] Symbol Table Info: [INFO] [stdout] Scope: Global Scope, Level: 1 [INFO] [stdout] Symbol Table Info: [INFO] [stdout] Scope: Global Scope, Level: 1 [INFO] [stdout] test tests::begin_then_end ... ok [INFO] [stdout] Symbol Table Info: [INFO] [stdout] Scope: Global Scope, Level: 1 [INFO] [stdout] Symbol Table Info: [INFO] [stdout] Scope: Alpha, Level: 2 [INFO] [stdout] test tests::final_statement_does_not_require_semicolon ... ok [INFO] [stdout] Symbol Table Info: [INFO] [stdout] Scope: Global Scope, Level: 1 [INFO] [stdout] Symbol Table Info: [INFO] [stdout] Scope: Global Scope, Level: 1 [INFO] [stdout] test tests::identifiers_can_start_with_underscore ... ok [INFO] [stdout] Symbol Table Info: [INFO] [stdout] Scope: Global Scope, Level: 1 [INFO] [stdout] test tests::program_contains_integer_and_real_variables ... ok [INFO] [stdout] Symbol Table Info: [INFO] [stdout] Scope: Global Scope, Level: 1 [INFO] [stdout] Symbol Table Info: [INFO] [stdout] Scope: Alpha, Level: 2 [INFO] [stdout] Symbol Table Info: [INFO] [stdout] Scope: Global Scope, Level: 1 [INFO] [stdout] Symbol Table Info: [INFO] [stdout] Scope: Global Scope, Level: 1 [INFO] [stdout] test tests::reserved_words_can_be_in_either_case ... ok [INFO] [stdout] Symbol Table Info: [INFO] [stdout] Scope: Global Scope, Level: 1 [INFO] [stdout] test tests::program_contains_single_statement ... ok [INFO] [stdout] Symbol Table Info: [INFO] [stdout] Scope: Global Scope, Level: 1 [INFO] [stdout] Symbol Table Info: [INFO] [stdout] Scope: P1, Level: 2 [INFO] [stdout] Symbol Table Info: [INFO] [stdout] Scope: Global Scope, Level: 1 [INFO] [stdout] Symbol Table Info: [INFO] [stdout] Scope: P1, Level: 2 [INFO] [stdout] Symbol Table Info: [INFO] [stdout] Scope: Global Scope, Level: 1 [INFO] [stdout] test tests::evalutate_addition_and_multiplication ... ok [INFO] [stdout] Symbol Table Info: [INFO] [stdout] Scope: Global Scope, Level: 1 [INFO] [stdout] test tests::program_contains_multiple_statements ... ok [INFO] [stdout] test tests::evalutate_multiple_expression_statement ... ok [INFO] [stdout] test tests::program_contains_a_compound_statement ... ok [INFO] [stdout] test tests::interpret_formal_parameter_ints ... FAILED [INFO] [stdout] test tests::interpret_multiple_formal_parameters ... FAILED [INFO] [stdout] test tests::program_contains_a_compound_statement_with_trailing_statement ... ok [INFO] [stdout] test tests::should_panic_identifiers_cannot_contain_underscores ... ok [INFO] [stdout] test tests::should_panic_compound_statement_with_trailing_statement_missing_semicolon ... ok [INFO] [stdout] test tests::should_panic_begin_then_end_without_period ... ok [INFO] [stdout] test tests::should_panic_assignment_requires_colon ... ok [INFO] [stdout] test tests::should_panic_assignment_only_has_one_equals_sign ... ok [INFO] [stdout] test tests::parse_procedure ... FAILED [INFO] [stdout] test tests::parse_nested_procedure ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- tests::interpret_formal_parameter_ints stdout ---- [INFO] [stdout] { b => b: INTEGER } [INFO] [stdout] { REAL => REAL } [INFO] [stdout] { INTEGER => INTEGER } [INFO] [stdout] { a => a: INTEGER } [INFO] [stdout] [INFO] [stdout] { REAL => REAL } [INFO] [stdout] { x => x: REAL } [INFO] [stdout] { y => y: REAL } [INFO] [stdout] { INTEGER => INTEGER } [INFO] [stdout] [INFO] [stdout] thread 'tests::interpret_formal_parameter_ints' panicked at 'assertion failed: `(left == right)` [INFO] [stdout] left: `Err("Found duplicate variable declaration for \'y\'!")`, [INFO] [stdout] right: `Ok(Nil)`', tests/integration_tests.rs:313:5 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x564720997297 - std::backtrace_rs::backtrace::libunwind::trace::hcd6e187547b8deec [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5 [INFO] [stdout] 1: 0x564720997297 - std::backtrace_rs::backtrace::trace_unsynchronized::hde10036eb783fbc7 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x564720997297 - std::sys_common::backtrace::_print_fmt::h63987b8f86dfc82a [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x564720997297 - ::fmt::hc33f3ac4cc9c4196 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x5647209b8ffc - core::fmt::write::hfdcdeb08fb2b3afa [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/fmt/mod.rs:1078:17 [INFO] [stdout] 5: 0x564720993712 - std::io::Write::write_fmt::h28c53dc51251a293 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/io/mod.rs:1519:15 [INFO] [stdout] 6: 0x564720999545 - std::sys_common::backtrace::_print::hf179508b01f66878 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x564720999545 - std::sys_common::backtrace::print::ha97d11adb39266a6 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x564720999545 - std::panicking::default_hook::{{closure}}::h8da9985a98bd1582 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:208:50 [INFO] [stdout] 9: 0x5647209990d2 - std::panicking::default_hook::hbc0ee792993c2ef2 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:222:9 [INFO] [stdout] 10: 0x564720999ce1 - std::panicking::rust_panic_with_hook::h9fb9cda33a10f084 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:591:17 [INFO] [stdout] 11: 0x564720999827 - std::panicking::begin_panic_handler::{{closure}}::hf3e83396e085962e [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:497:13 [INFO] [stdout] 12: 0x56472099775c - std::sys_common::backtrace::__rust_end_short_backtrace::hac151ac4c1e3252d [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:141:18 [INFO] [stdout] 13: 0x564720999789 - rust_begin_unwind [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:493:5 [INFO] [stdout] 14: 0x5647209b6fc1 - core::panicking::panic_fmt::hf6d8a92b065b8f97 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/panicking.rs:92:14 [INFO] [stdout] 15: 0x5647207b493e - integration_tests::tests::interpret_formal_parameter_ints::h7483700f4ab3fdcd [INFO] [stdout] at /opt/rustwide/workdir/tests/integration_tests.rs:313:5 [INFO] [stdout] 16: 0x5647207b475a - integration_tests::tests::interpret_formal_parameter_ints::{{closure}}::hdd00154c4eeebee9 [INFO] [stdout] at /opt/rustwide/workdir/tests/integration_tests.rs:296:3 [INFO] [stdout] 17: 0x5647207b192e - core::ops::function::FnOnce::call_once::hc532af8d8a667618 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 18: 0x5647207debf3 - core::ops::function::FnOnce::call_once::ha61d5393ae51ae22 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 19: 0x5647207debf3 - test::__rust_begin_short_backtrace::h4a8691b5281c1f3b [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/test/src/lib.rs:516:5 [INFO] [stdout] 20: 0x5647207dd4e6 - as core::ops::function::FnOnce>::call_once::hd25ba61494055ad3 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/alloc/src/boxed.rs:1328:9 [INFO] [stdout] 21: 0x5647207dd4e6 - as core::ops::function::FnOnce<()>>::call_once::h052fde7b846767ba [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:322:9 [INFO] [stdout] 22: 0x5647207dd4e6 - std::panicking::try::do_call::h04571a1da6838ba1 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:379:40 [INFO] [stdout] 23: 0x5647207dd4e6 - std::panicking::try::h758f090614125cbe [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:343:19 [INFO] [stdout] 24: 0x5647207dd4e6 - std::panic::catch_unwind::h0c48513d5a021d3c [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:396:14 [INFO] [stdout] 25: 0x5647207dd4e6 - test::run_test_in_process::hee75babaaac3822f [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/test/src/lib.rs:538:18 [INFO] [stdout] 26: 0x5647207dd4e6 - test::run_test::run_test_inner::{{closure}}::h2920dea75d7f0c1e [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/test/src/lib.rs:449:39 [INFO] [stdout] 27: 0x5647207b57f6 - std::sys_common::backtrace::__rust_begin_short_backtrace::ha23dff608830db13 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:125:18 [INFO] [stdout] 28: 0x5647207ba58d - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hacce322dead3a799 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/thread/mod.rs:474:17 [INFO] [stdout] 29: 0x5647207ba58d - as core::ops::function::FnOnce<()>>::call_once::h4f0bc9c26ead0a27 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:322:9 [INFO] [stdout] 30: 0x5647207ba58d - std::panicking::try::do_call::h1b9f282fb0c383b3 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:379:40 [INFO] [stdout] 31: 0x5647207ba58d - std::panicking::try::hed1ebed51b133ee4 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:343:19 [INFO] [stdout] 32: 0x5647207ba58d - std::panic::catch_unwind::h072a2b19fd39a474 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:396:14 [INFO] [stdout] 33: 0x5647207ba58d - std::thread::Builder::spawn_unchecked::{{closure}}::hb02c6b2d3ff18bc2 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/thread/mod.rs:473:30 [INFO] [stdout] 34: 0x5647207ba58d - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb512c5d27b4adb83 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 35: 0x56472099f83a - as core::ops::function::FnOnce>::call_once::hdbb9ff71143eaad6 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/alloc/src/boxed.rs:1328:9 [INFO] [stdout] 36: 0x56472099f83a - as core::ops::function::FnOnce>::call_once::h9dbde95cefb8368c [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/alloc/src/boxed.rs:1328:9 [INFO] [stdout] 37: 0x56472099f83a - std::sys::unix::thread::Thread::new::thread_start::hc76032c38affd972 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys/unix/thread.rs:71:17 [INFO] [stdout] 38: 0x7fba0f760609 - start_thread [INFO] [stdout] 39: 0x7fba0f532293 - clone [INFO] [stdout] 40: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- tests::interpret_multiple_formal_parameters stdout ---- [INFO] [stdout] { b => b: INTEGER } [INFO] [stdout] { a => a: INTEGER } [INFO] [stdout] { INTEGER => INTEGER } [INFO] [stdout] { REAL => REAL } [INFO] [stdout] { c => c: REAL } [INFO] [stdout] [INFO] [stdout] { y => y: REAL } [INFO] [stdout] { REAL => REAL } [INFO] [stdout] { x => x: REAL } [INFO] [stdout] { INTEGER => INTEGER } [INFO] [stdout] [INFO] [stdout] thread 'tests::interpret_multiple_formal_parameters' panicked at 'assertion failed: `(left == right)` [INFO] [stdout] left: `Err("Found duplicate variable declaration for \'y\'!")`, [INFO] [stdout] right: `Ok(Nil)`', tests/integration_tests.rs:334:5 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x564720997297 - std::backtrace_rs::backtrace::libunwind::trace::hcd6e187547b8deec [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5 [INFO] [stdout] 1: 0x564720997297 - std::backtrace_rs::backtrace::trace_unsynchronized::hde10036eb783fbc7 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x564720997297 - std::sys_common::backtrace::_print_fmt::h63987b8f86dfc82a [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x564720997297 - ::fmt::hc33f3ac4cc9c4196 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x5647209b8ffc - core::fmt::write::hfdcdeb08fb2b3afa [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/fmt/mod.rs:1078:17 [INFO] [stdout] 5: 0x564720993712 - std::io::Write::write_fmt::h28c53dc51251a293 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/io/mod.rs:1519:15 [INFO] [stdout] 6: 0x564720999545 - std::sys_common::backtrace::_print::hf179508b01f66878 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x564720999545 - std::sys_common::backtrace::print::ha97d11adb39266a6 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x564720999545 - std::panicking::default_hook::{{closure}}::h8da9985a98bd1582 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:208:50 [INFO] [stdout] 9: 0x5647209990d2 - std::panicking::default_hook::hbc0ee792993c2ef2 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:222:9 [INFO] [stdout] 10: 0x564720999ce1 - std::panicking::rust_panic_with_hook::h9fb9cda33a10f084 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:591:17 [INFO] [stdout] 11: 0x564720999827 - std::panicking::begin_panic_handler::{{closure}}::hf3e83396e085962e [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:497:13 [INFO] [stdout] 12: 0x56472099775c - std::sys_common::backtrace::__rust_end_short_backtrace::hac151ac4c1e3252d [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:141:18 [INFO] [stdout] 13: 0x564720999789 - rust_begin_unwind [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:493:5 [INFO] [stdout] 14: 0x5647209b6fc1 - core::panicking::panic_fmt::hf6d8a92b065b8f97 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/panicking.rs:92:14 [INFO] [stdout] 15: 0x5647207b4b8e - integration_tests::tests::interpret_multiple_formal_parameters::hf1e1bba82d5d6eeb [INFO] [stdout] at /opt/rustwide/workdir/tests/integration_tests.rs:334:5 [INFO] [stdout] 16: 0x5647207b49aa - integration_tests::tests::interpret_multiple_formal_parameters::{{closure}}::h18b6798dfbadd6c8 [INFO] [stdout] at /opt/rustwide/workdir/tests/integration_tests.rs:317:3 [INFO] [stdout] 17: 0x5647207b157e - core::ops::function::FnOnce::call_once::h0dcbe098ae4553aa [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 18: 0x5647207debf3 - core::ops::function::FnOnce::call_once::ha61d5393ae51ae22 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 19: 0x5647207debf3 - test::__rust_begin_short_backtrace::h4a8691b5281c1f3b [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/test/src/lib.rs:516:5 [INFO] [stdout] 20: 0x5647207dd4e6 - as core::ops::function::FnOnce>::call_once::hd25ba61494055ad3 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/alloc/src/boxed.rs:1328:9 [INFO] [stdout] 21: 0x5647207dd4e6 - as core::ops::function::FnOnce<()>>::call_once::h052fde7b846767ba [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:322:9 [INFO] [stdout] 22: 0x5647207dd4e6 - std::panicking::try::do_call::h04571a1da6838ba1 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:379:40 [INFO] [stdout] 23: 0x5647207dd4e6 - std::panicking::try::h758f090614125cbe [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:343:19 [INFO] [stdout] 24: 0x5647207dd4e6 - std::panic::catch_unwind::h0c48513d5a021d3c [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:396:14 [INFO] [stdout] 25: 0x5647207dd4e6 - test::run_test_in_process::hee75babaaac3822f [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/test/src/lib.rs:538:18 [INFO] [stdout] 26: 0x5647207dd4e6 - test::run_test::run_test_inner::{{closure}}::h2920dea75d7f0c1e [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/test/src/lib.rs:449:39 [INFO] [stdout] 27: 0x5647207b57f6 - std::sys_common::backtrace::__rust_begin_short_backtrace::ha23dff608830db13 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:125:18 [INFO] [stdout] 28: 0x5647207ba58d - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hacce322dead3a799 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/thread/mod.rs:474:17 [INFO] [stdout] 29: 0x5647207ba58d - as core::ops::function::FnOnce<()>>::call_once::h4f0bc9c26ead0a27 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:322:9 [INFO] [stdout] 30: 0x5647207ba58d - std::panicking::try::do_call::h1b9f282fb0c383b3 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:379:40 [INFO] [stdout] 31: 0x5647207ba58d - std::panicking::try::hed1ebed51b133ee4 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:343:19 [INFO] [stdout] 32: 0x5647207ba58d - std::panic::catch_unwind::h072a2b19fd39a474 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:396:14 [INFO] [stdout] 33: 0x5647207ba58d - std::thread::Builder::spawn_unchecked::{{closure}}::hb02c6b2d3ff18bc2 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/thread/mod.rs:473:30 [INFO] [stdout] 34: 0x5647207ba58d - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb512c5d27b4adb83 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 35: 0x56472099f83a - as core::ops::function::FnOnce>::call_once::hdbb9ff71143eaad6 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/alloc/src/boxed.rs:1328:9 [INFO] [stdout] 36: 0x56472099f83a - as core::ops::function::FnOnce>::call_once::h9dbde95cefb8368c [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/alloc/src/boxed.rs:1328:9 [INFO] [stdout] 37: 0x56472099f83a - std::sys::unix::thread::Thread::new::thread_start::hc76032c38affd972 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys/unix/thread.rs:71:17 [INFO] [stdout] 38: 0x7fba0f760609 - start_thread [INFO] [stdout] 39: 0x7fba0f532293 - clone [INFO] [stdout] 40: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- tests::parse_procedure stdout ---- [INFO] [stdout] { INTEGER => INTEGER } [INFO] [stdout] { REAL => REAL } [INFO] [stdout] [INFO] [stdout] { REAL => REAL } [INFO] [stdout] { a => a: INTEGER } [INFO] [stdout] { INTEGER => INTEGER } [INFO] [stdout] [INFO] [stdout] thread 'tests::parse_procedure' panicked at 'assertion failed: `(left == right)` [INFO] [stdout] left: `Err("Found duplicate variable declaration for \'a\'!")`, [INFO] [stdout] right: `Ok(Nil)`', tests/integration_tests.rs:261:5 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x564720997297 - std::backtrace_rs::backtrace::libunwind::trace::hcd6e187547b8deec [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5 [INFO] [stdout] 1: 0x564720997297 - std::backtrace_rs::backtrace::trace_unsynchronized::hde10036eb783fbc7 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x564720997297 - std::sys_common::backtrace::_print_fmt::h63987b8f86dfc82a [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x564720997297 - ::fmt::hc33f3ac4cc9c4196 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x5647209b8ffc - core::fmt::write::hfdcdeb08fb2b3afa [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/fmt/mod.rs:1078:17 [INFO] [stdout] 5: 0x564720993712 - std::io::Write::write_fmt::h28c53dc51251a293 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/io/mod.rs:1519:15 [INFO] [stdout] 6: 0x564720999545 - std::sys_common::backtrace::_print::hf179508b01f66878 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x564720999545 - std::sys_common::backtrace::print::ha97d11adb39266a6 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x564720999545 - std::panicking::default_hook::{{closure}}::h8da9985a98bd1582 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:208:50 [INFO] [stdout] 9: 0x5647209990d2 - std::panicking::default_hook::hbc0ee792993c2ef2 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:222:9 [INFO] [stdout] 10: 0x564720999ce1 - std::panicking::rust_panic_with_hook::h9fb9cda33a10f084 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:591:17 [INFO] [stdout] 11: 0x564720999827 - std::panicking::begin_panic_handler::{{closure}}::hf3e83396e085962e [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:497:13 [INFO] [stdout] 12: 0x56472099775c - std::sys_common::backtrace::__rust_end_short_backtrace::hac151ac4c1e3252d [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:141:18 [INFO] [stdout] 13: 0x564720999789 - rust_begin_unwind [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:493:5 [INFO] [stdout] 14: 0x5647209b6fc1 - core::panicking::panic_fmt::hf6d8a92b065b8f97 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/panicking.rs:92:14 [INFO] [stdout] 15: 0x5647207b449e - integration_tests::tests::parse_procedure::h32257afdad710039 [INFO] [stdout] at /opt/rustwide/workdir/tests/integration_tests.rs:261:5 [INFO] [stdout] 16: 0x5647207b42ba - integration_tests::tests::parse_procedure::{{closure}}::h0c542fceb0d84c3d [INFO] [stdout] at /opt/rustwide/workdir/tests/integration_tests.rs:242:3 [INFO] [stdout] 17: 0x5647207b15de - core::ops::function::FnOnce::call_once::h1cd4a57773a79cc6 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 18: 0x5647207debf3 - core::ops::function::FnOnce::call_once::ha61d5393ae51ae22 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 19: 0x5647207debf3 - test::__rust_begin_short_backtrace::h4a8691b5281c1f3b [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/test/src/lib.rs:516:5 [INFO] [stdout] 20: 0x5647207dd4e6 - as core::ops::function::FnOnce>::call_once::hd25ba61494055ad3 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/alloc/src/boxed.rs:1328:9 [INFO] [stdout] 21: 0x5647207dd4e6 - as core::ops::function::FnOnce<()>>::call_once::h052fde7b846767ba [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:322:9 [INFO] [stdout] 22: 0x5647207dd4e6 - std::panicking::try::do_call::h04571a1da6838ba1 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:379:40 [INFO] [stdout] 23: 0x5647207dd4e6 - std::panicking::try::h758f090614125cbe [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:343:19 [INFO] [stdout] 24: 0x5647207dd4e6 - std::panic::catch_unwind::h0c48513d5a021d3c [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:396:14 [INFO] [stdout] 25: 0x5647207dd4e6 - test::run_test_in_process::hee75babaaac3822f [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/test/src/lib.rs:538:18 [INFO] [stdout] 26: 0x5647207dd4e6 - test::run_test::run_test_inner::{{closure}}::h2920dea75d7f0c1e [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/test/src/lib.rs:449:39 [INFO] [stdout] 27: 0x5647207b57f6 - std::sys_common::backtrace::__rust_begin_short_backtrace::ha23dff608830db13 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:125:18 [INFO] [stdout] 28: 0x5647207ba58d - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hacce322dead3a799 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/thread/mod.rs:474:17 [INFO] [stdout] 29: 0x5647207ba58d - as core::ops::function::FnOnce<()>>::call_once::h4f0bc9c26ead0a27 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:322:9 [INFO] [stdout] 30: 0x5647207ba58d - std::panicking::try::do_call::h1b9f282fb0c383b3 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:379:40 [INFO] [stdout] 31: 0x5647207ba58d - std::panicking::try::hed1ebed51b133ee4 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:343:19 [INFO] [stdout] 32: 0x5647207ba58d - std::panic::catch_unwind::h072a2b19fd39a474 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:396:14 [INFO] [stdout] 33: 0x5647207ba58d - std::thread::Builder::spawn_unchecked::{{closure}}::hb02c6b2d3ff18bc2 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/thread/mod.rs:473:30 [INFO] [stdout] 34: 0x5647207ba58d - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb512c5d27b4adb83 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 35: 0x56472099f83a - as core::ops::function::FnOnce>::call_once::hdbb9ff71143eaad6 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/alloc/src/boxed.rs:1328:9 [INFO] [stdout] 36: 0x56472099f83a - as core::ops::function::FnOnce>::call_once::h9dbde95cefb8368c [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/alloc/src/boxed.rs:1328:9 [INFO] [stdout] 37: 0x56472099f83a - std::sys::unix::thread::Thread::new::thread_start::hc76032c38affd972 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys/unix/thread.rs:71:17 [INFO] [stdout] 38: 0x7fba0f760609 - start_thread [INFO] [stdout] 39: 0x7fba0f532293 - clone [INFO] [stdout] 40: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- tests::parse_nested_procedure stdout ---- [INFO] [stdout] { INTEGER => INTEGER } [INFO] [stdout] { REAL => REAL } [INFO] [stdout] [INFO] [stdout] { a => a: INTEGER } [INFO] [stdout] { INTEGER => INTEGER } [INFO] [stdout] { REAL => REAL } [INFO] [stdout] [INFO] [stdout] thread 'tests::parse_nested_procedure' panicked at 'assertion failed: `(left == right)` [INFO] [stdout] left: `Err("Found duplicate variable declaration for \'a\'!")`, [INFO] [stdout] right: `Ok(Nil)`', tests/integration_tests.rs:292:5 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x564720997297 - std::backtrace_rs::backtrace::libunwind::trace::hcd6e187547b8deec [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5 [INFO] [stdout] 1: 0x564720997297 - std::backtrace_rs::backtrace::trace_unsynchronized::hde10036eb783fbc7 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x564720997297 - std::sys_common::backtrace::_print_fmt::h63987b8f86dfc82a [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x564720997297 - ::fmt::hc33f3ac4cc9c4196 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x5647209b8ffc - core::fmt::write::hfdcdeb08fb2b3afa [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/fmt/mod.rs:1078:17 [INFO] [stdout] 5: 0x564720993712 - std::io::Write::write_fmt::h28c53dc51251a293 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/io/mod.rs:1519:15 [INFO] [stdout] 6: 0x564720999545 - std::sys_common::backtrace::_print::hf179508b01f66878 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x564720999545 - std::sys_common::backtrace::print::ha97d11adb39266a6 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x564720999545 - std::panicking::default_hook::{{closure}}::h8da9985a98bd1582 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:208:50 [INFO] [stdout] 9: 0x5647209990d2 - std::panicking::default_hook::hbc0ee792993c2ef2 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:222:9 [INFO] [stdout] 10: 0x564720999ce1 - std::panicking::rust_panic_with_hook::h9fb9cda33a10f084 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:591:17 [INFO] [stdout] 11: 0x564720999827 - std::panicking::begin_panic_handler::{{closure}}::hf3e83396e085962e [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:497:13 [INFO] [stdout] 12: 0x56472099775c - std::sys_common::backtrace::__rust_end_short_backtrace::hac151ac4c1e3252d [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:141:18 [INFO] [stdout] 13: 0x564720999789 - rust_begin_unwind [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:493:5 [INFO] [stdout] 14: 0x5647209b6fc1 - core::panicking::panic_fmt::hf6d8a92b065b8f97 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/panicking.rs:92:14 [INFO] [stdout] 15: 0x5647207b46ee - integration_tests::tests::parse_nested_procedure::h5ca40e1a0a6b5ecc [INFO] [stdout] at /opt/rustwide/workdir/tests/integration_tests.rs:292:5 [INFO] [stdout] 16: 0x5647207b450a - integration_tests::tests::parse_nested_procedure::{{closure}}::hb0d1e8b0cdf31dd9 [INFO] [stdout] at /opt/rustwide/workdir/tests/integration_tests.rs:265:3 [INFO] [stdout] 17: 0x5647207b186e - core::ops::function::FnOnce::call_once::h919dd716563ad4c3 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 18: 0x5647207debf3 - core::ops::function::FnOnce::call_once::ha61d5393ae51ae22 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 19: 0x5647207debf3 - test::__rust_begin_short_backtrace::h4a8691b5281c1f3b [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/test/src/lib.rs:516:5 [INFO] [stdout] 20: 0x5647207dd4e6 - as core::ops::function::FnOnce>::call_once::hd25ba61494055ad3 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/alloc/src/boxed.rs:1328:9 [INFO] [stdout] 21: 0x5647207dd4e6 - as core::ops::function::FnOnce<()>>::call_once::h052fde7b846767ba [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:322:9 [INFO] [stdout] 22: 0x5647207dd4e6 - std::panicking::try::do_call::h04571a1da6838ba1 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:379:40 [INFO] [stdout] 23: 0x5647207dd4e6 - std::panicking::try::h758f090614125cbe [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:343:19 [INFO] [stdout] 24: 0x5647207dd4e6 - std::panic::catch_unwind::h0c48513d5a021d3c [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:396:14 [INFO] [stdout] 25: 0x5647207dd4e6 - test::run_test_in_process::hee75babaaac3822f [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/test/src/lib.rs:538:18 [INFO] [stdout] 26: 0x5647207dd4e6 - test::run_test::run_test_inner::{{closure}}::h2920dea75d7f0c1e [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/test/src/lib.rs:449:39 [INFO] [stdout] 27: 0x5647207b57f6 - std::sys_common::backtrace::__rust_begin_short_backtrace::ha23dff608830db13 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:125:18 [INFO] [stdout] 28: 0x5647207ba58d - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hacce322dead3a799 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/thread/mod.rs:474:17 [INFO] [stdout] 29: 0x5647207ba58d - as core::ops::function::FnOnce<()>>::call_once::h4f0bc9c26ead0a27 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:322:9 [INFO] [stdout] 30: 0x5647207ba58d - std::panicking::try::do_call::h1b9f282fb0c383b3 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:379:40 [INFO] [stdout] 31: 0x5647207ba58d - std::panicking::try::hed1ebed51b133ee4 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:343:19 [INFO] [stdout] 32: 0x5647207ba58d - std::panic::catch_unwind::h072a2b19fd39a474 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:396:14 [INFO] [stdout] 33: 0x5647207ba58d - std::thread::Builder::spawn_unchecked::{{closure}}::hb02c6b2d3ff18bc2 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/thread/mod.rs:473:30 [INFO] [stdout] 34: 0x5647207ba58d - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb512c5d27b4adb83 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 35: 0x56472099f83a - as core::ops::function::FnOnce>::call_once::hdbb9ff71143eaad6 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/alloc/src/boxed.rs:1328:9 [INFO] [stdout] 36: 0x56472099f83a - as core::ops::function::FnOnce>::call_once::h9dbde95cefb8368c [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/alloc/src/boxed.rs:1328:9 [INFO] [stdout] 37: 0x56472099f83a - std::sys::unix::thread::Thread::new::thread_start::hc76032c38affd972 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys/unix/thread.rs:71:17 [INFO] [stdout] 38: 0x7fba0f760609 - start_thread [INFO] [stdout] 39: 0x7fba0f532293 - clone [INFO] [stdout] 40: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] tests::interpret_formal_parameter_ints [INFO] [stdout] tests::interpret_multiple_formal_parameters [INFO] [stdout] tests::parse_nested_procedure [INFO] [stdout] tests::parse_procedure [INFO] [stdout] [INFO] [stdout] test result: FAILED. 16 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass '--test integration_tests' [INFO] running `Command { std: "docker" "inspect" "8a57d12197f9fc12ec8407e555a4bf7f37128b3a5303f980cb245331de9f5388", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8a57d12197f9fc12ec8407e555a4bf7f37128b3a5303f980cb245331de9f5388", kill_on_drop: false }` [INFO] [stdout] 8a57d12197f9fc12ec8407e555a4bf7f37128b3a5303f980cb245331de9f5388