[INFO] cloning repository https://github.com/AntonioCarta/dragon_compiler
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AntonioCarta/dragon_compiler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAntonioCarta%2Fdragon_compiler", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAntonioCarta%2Fdragon_compiler'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 63446519197371c6da920314494ad8a50b072833
[INFO] testing AntonioCarta/dragon_compiler against 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAntonioCarta%2Fdragon_compiler" "/workspace/builds/worker-8/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/AntonioCarta/dragon_compiler on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/AntonioCarta/dragon_compiler
[INFO] finished tweaking git repo https://github.com/AntonioCarta/dragon_compiler
[INFO] tweaked toml for git repo https://github.com/AntonioCarta/dragon_compiler written to /workspace/builds/worker-8/source/Cargo.toml
[INFO] crate git repo https://github.com/AntonioCarta/dragon_compiler already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6c4a9533c092c5db9cb66d02ee658c6ecaa71619222f7da0601cb575bdaa40e5
[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" "6c4a9533c092c5db9cb66d02ee658c6ecaa71619222f7da0601cb575bdaa40e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6c4a9533c092c5db9cb66d02ee658c6ecaa71619222f7da0601cb575bdaa40e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6c4a9533c092c5db9cb66d02ee658c6ecaa71619222f7da0601cb575bdaa40e5", kill_on_drop: false }`
[INFO] [stdout] 6c4a9533c092c5db9cb66d02ee658c6ecaa71619222f7da0601cb575bdaa40e5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 1cb8e3eed1c2de3058ff2bd31ee92164ec458762c6fb1ac2c6c3973041a674db
[INFO] running `Command { std: "docker" "start" "-a" "1cb8e3eed1c2de3058ff2bd31ee92164ec458762c6fb1ac2c6c3973041a674db", kill_on_drop: false }`
[INFO] [stderr]    Compiling mini_compiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer.rs:175:17
[INFO] [stdout]     |
[INFO] [stdout] 175 |             '0' ... '9' => self.scan_number(),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 |             'a' ... 'z' |
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer.rs:177:17
[INFO] [stdout]     |
[INFO] [stdout] 177 |             'A' ... 'Z' => self.scan_iden_keyword(),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/code_generator.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         (n - 1)
[INFO] [stdout]    |         ^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddressMode`, `Address`
[INFO] [stdout]  --> src/interpreter.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use code_generator::{OpCode, AddressMode, AddressCode, Address, IntermediateRepresentation};
[INFO] [stdout]   |                              ^^^^^^^^^^^               ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]   --> src/interpreter.rs:33:53
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 OpCode::IsPos   => self.regs[res] = {if x > 0 {1} else {0}},
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]   --> src/interpreter.rs:34:53
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 OpCode::IsNeg   => self.regs[res] = {if x < 0 {1} else {0}},
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]    --> src/lexer.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn new() -> Scanner {
[INFO] [stdout]     |            ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `id`
[INFO] [stdout]   --> src/code_generator.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         id  : i32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `stack`
[INFO] [stdout]  --> src/interpreter.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     stack     : Vec<i32>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1.58s
[INFO] running `Command { std: "docker" "inspect" "1cb8e3eed1c2de3058ff2bd31ee92164ec458762c6fb1ac2c6c3973041a674db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1cb8e3eed1c2de3058ff2bd31ee92164ec458762c6fb1ac2c6c3973041a674db", kill_on_drop: false }`
[INFO] [stdout] 1cb8e3eed1c2de3058ff2bd31ee92164ec458762c6fb1ac2c6c3973041a674db
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8c492b49a0463a31e77088423d256d252d3ccb9145f296c3f32b8ce69647cba9
[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" "8c492b49a0463a31e77088423d256d252d3ccb9145f296c3f32b8ce69647cba9", kill_on_drop: false }`
[INFO] [stderr]    Compiling mini_compiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer.rs:175:17
[INFO] [stdout]     |
[INFO] [stdout] 175 |             '0' ... '9' => self.scan_number(),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 |             'a' ... 'z' |
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lexer.rs:177:17
[INFO] [stdout]     |
[INFO] [stdout] 177 |             'A' ... 'Z' => self.scan_iden_keyword(),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Scanner`
[INFO] [stdout]  --> src/test/lexer_test.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use lexer::{Scanner};
[INFO] [stdout]   |             ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/code_generator.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         (n - 1)
[INFO] [stdout]    |         ^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddressMode`, `Address`
[INFO] [stdout]  --> src/interpreter.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use code_generator::{OpCode, AddressMode, AddressCode, Address, IntermediateRepresentation};
[INFO] [stdout]   |                              ^^^^^^^^^^^               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]   --> src/interpreter.rs:33:53
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 OpCode::IsPos   => self.regs[res] = {if x > 0 {1} else {0}},
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around assigned value
[INFO] [stdout]   --> src/interpreter.rs:34:53
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 OpCode::IsNeg   => self.regs[res] = {if x < 0 {1} else {0}},
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]    --> src/lexer.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn new() -> Scanner {
[INFO] [stdout]     |            ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias is never used: `SAst`
[INFO] [stdout]  --> src/test/parser_test.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     type SAst = Box<S>;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `add`
[INFO] [stdout]   --> src/test/parser_test.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn add(e1 : NAst, e2 : NAst) -> NAst { nbox(N::Add(e1, e2)) }
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `id`
[INFO] [stdout]   --> src/code_generator.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         id  : i32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `stack`
[INFO] [stdout]  --> src/interpreter.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     stack     : Vec<i32>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.56s
[INFO] running `Command { std: "docker" "inspect" "8c492b49a0463a31e77088423d256d252d3ccb9145f296c3f32b8ce69647cba9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8c492b49a0463a31e77088423d256d252d3ccb9145f296c3f32b8ce69647cba9", kill_on_drop: false }`
[INFO] [stdout] 8c492b49a0463a31e77088423d256d252d3ccb9145f296c3f32b8ce69647cba9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e772e9687a0661be7eb352cf9e413d13dd791e213a4a307e6465a9431896c336
[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" "e772e9687a0661be7eb352cf9e413d13dd791e213a4a307e6465a9431896c336", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer.rs:175:17
[INFO] [stderr]     |
[INFO] [stderr] 175 |             '0' ... '9' => self.scan_number(),
[INFO] [stderr]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer.rs:176:17
[INFO] [stderr]     |
[INFO] [stderr] 176 |             'a' ... 'z' |
[INFO] [stderr]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lexer.rs:177:17
[INFO] [stderr]     |
[INFO] [stderr] 177 |             'A' ... 'Z' => self.scan_iden_keyword(),
[INFO] [stderr]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Scanner`
[INFO] [stderr]  --> src/test/lexer_test.rs:4:13
[INFO] [stderr]   |
[INFO] [stderr] 4 | use lexer::{Scanner};
[INFO] [stderr]   |             ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]   --> src/code_generator.rs:83:9
[INFO] [stderr]    |
[INFO] [stderr] 83 |         (n - 1)
[INFO] [stderr]    |         ^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AddressMode`, `Address`
[INFO] [stderr]  --> src/interpreter.rs:1:30
[INFO] [stderr]   |
[INFO] [stderr] 1 | use code_generator::{OpCode, AddressMode, AddressCode, Address, IntermediateRepresentation};
[INFO] [stderr]   |                              ^^^^^^^^^^^               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around assigned value
[INFO] [stderr]   --> src/interpreter.rs:33:53
[INFO] [stderr]    |
[INFO] [stderr] 33 |                 OpCode::IsPos   => self.regs[res] = {if x > 0 {1} else {0}},
[INFO] [stderr]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary braces around assigned value
[INFO] [stderr]   --> src/interpreter.rs:34:53
[INFO] [stderr]    |
[INFO] [stderr] 34 |                 OpCode::IsNeg   => self.regs[res] = {if x < 0 {1} else {0}},
[INFO] [stderr]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]    --> src/lexer.rs:148:12
[INFO] [stderr]     |
[INFO] [stderr] 148 |     pub fn new() -> Scanner {
[INFO] [stderr]     |            ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type alias is never used: `SAst`
[INFO] [stderr]  --> src/test/parser_test.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     type SAst = Box<S>;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `add`
[INFO] [stderr]   --> src/test/parser_test.rs:52:8
[INFO] [stderr]    |
[INFO] [stderr] 52 |     fn add(e1 : NAst, e2 : NAst) -> NAst { nbox(N::Add(e1, e2)) }
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `id`
[INFO] [stderr]   --> src/code_generator.rs:59:9
[INFO] [stderr]    |
[INFO] [stderr] 59 |         id  : i32,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `stack`
[INFO] [stderr]  --> src/interpreter.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 |     stack     : Vec<i32>,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 13 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/mini_compiler-27074f755e9b07b5
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test test::parser_test::test::stmt_test ... ok
[INFO] [stdout] test test::parser_test::test::numexpr_test ... ok
[INFO] [stdout] test test::parser_test::test::decl_test ... ok
[INFO] [stdout] test test::lexer_test::test::basic_test ... ok
[INFO] [stdout] test test::parser_test::test::bool_test ... ok
[INFO] [stdout] test test::parser_test::test::prog_test ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e772e9687a0661be7eb352cf9e413d13dd791e213a4a307e6465a9431896c336", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e772e9687a0661be7eb352cf9e413d13dd791e213a4a307e6465a9431896c336", kill_on_drop: false }`
[INFO] [stdout] e772e9687a0661be7eb352cf9e413d13dd791e213a4a307e6465a9431896c336
