[INFO] cloning repository https://github.com/pedrogao/plua
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pedrogao/plua" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpedrogao%2Fplua", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpedrogao%2Fplua'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 91302f7ca2ee76e379adf0cfd41dbcdd8eff10eb
[INFO] testing pedrogao/plua against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpedrogao%2Fplua" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/pedrogao/plua
[INFO] finished tweaking git repo https://github.com/pedrogao/plua
[INFO] tweaked toml for git repo https://github.com/pedrogao/plua written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/pedrogao/plua on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/pedrogao/plua already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: package.author
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded substring v1.4.5
[INFO] [stderr]   Downloaded enum-as-inner v0.6.0
[INFO] [stderr]   Downloaded peg-runtime v0.8.0
[INFO] [stderr]   Downloaded cranelift-native v0.81.1
[INFO] [stderr]   Downloaded target-lexicon v0.12.3
[INFO] [stderr]   Downloaded dynasmrt v1.2.1
[INFO] [stderr]   Downloaded peg-macros v0.8.0
[INFO] [stderr]   Downloaded peg v0.8.0
[INFO] [stderr]   Downloaded cranelift v0.81.1
[INFO] [stderr]   Downloaded cranelift-module v0.81.1
[INFO] [stderr]   Downloaded cranelift-codegen-shared v0.81.1
[INFO] [stderr]   Downloaded cranelift-bforest v0.81.1
[INFO] [stderr]   Downloaded cranelift-frontend v0.81.1
[INFO] [stderr]   Downloaded cranelift-entity v0.81.1
[INFO] [stderr]   Downloaded dynasm v1.2.1
[INFO] [stderr]   Downloaded cranelift-codegen-meta v0.81.1
[INFO] [stderr]   Downloaded regalloc v0.0.34
[INFO] [stderr]   Downloaded cranelift-codegen v0.81.1
[INFO] [stderr]   Downloaded cranelift-jit v0.81.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c27d3661d8efc905afda51896999c50f3dc10199791d60334547be1f0100994a
[INFO] running `Command { std: "docker" "start" "-a" "c27d3661d8efc905afda51896999c50f3dc10199791d60334547be1f0100994a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c27d3661d8efc905afda51896999c50f3dc10199791d60334547be1f0100994a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c27d3661d8efc905afda51896999c50f3dc10199791d60334547be1f0100994a", kill_on_drop: false }`
[INFO] [stdout] c27d3661d8efc905afda51896999c50f3dc10199791d60334547be1f0100994a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c3079429b26ab44316eae1186c0b441ef56e7d8c6ddb563806d8cdea00efc5dd
[INFO] running `Command { std: "docker" "start" "-a" "c3079429b26ab44316eae1186c0b441ef56e7d8c6ddb563806d8cdea00efc5dd", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: package.author
[INFO] [stderr]    Compiling proc-macro2 v1.0.69
[INFO] [stderr]    Compiling syn v1.0.86
[INFO] [stderr]    Compiling cranelift-codegen-shared v0.81.1
[INFO] [stderr]    Compiling libc v0.2.119
[INFO] [stderr]    Compiling target-lexicon v0.12.3
[INFO] [stderr]    Compiling cranelift-entity v0.81.1
[INFO] [stderr]    Compiling serde v1.0.136
[INFO] [stderr]    Compiling indexmap v1.8.0
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling anyhow v1.0.55
[INFO] [stderr]    Compiling substring v1.4.5
[INFO] [stderr]    Compiling peg-runtime v0.8.0
[INFO] [stderr]    Compiling cranelift-codegen-meta v0.81.1
[INFO] [stderr]    Compiling cranelift-bforest v0.81.1
[INFO] [stderr]    Compiling regalloc v0.0.34
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling region v2.2.0
[INFO] [stderr]    Compiling memmap2 v0.5.3
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling gimli v0.26.1
[INFO] [stderr]    Compiling syn v2.0.38
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling peg-macros v0.8.0
[INFO] [stderr]    Compiling peg v0.8.0
[INFO] [stderr]    Compiling cranelift-codegen v0.81.1
[INFO] [stderr]    Compiling enum-as-inner v0.6.0
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling dynasm v1.2.1
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling thiserror v1.0.30
[INFO] [stderr]    Compiling proc-macro-crate v1.1.3
[INFO] [stderr]    Compiling num_enum_derive v0.5.6
[INFO] [stderr]    Compiling structopt v0.3.26
[INFO] [stderr]    Compiling num_enum v0.5.6
[INFO] [stderr]    Compiling cranelift-module v0.81.1
[INFO] [stderr]    Compiling cranelift-native v0.81.1
[INFO] [stderr]    Compiling cranelift-frontend v0.81.1
[INFO] [stderr]    Compiling cranelift v0.81.1
[INFO] [stderr]    Compiling cranelift-jit v0.81.1
[INFO] [stderr]    Compiling dynasmrt v1.2.1
[INFO] [stderr]    Compiling plua v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/bf/compile.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/vm.rs:113:25
[INFO] [stdout]     |
[INFO] [stdout] 113 |                     let name = constant.get(*i).unwrap();
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg`
[INFO] [stdout]    --> src/vm.rs:133:29
[INFO] [stdout]     |
[INFO] [stdout] 133 |                         let arg = stack.pop().unwrap();
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_arg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg_count`
[INFO] [stdout]    --> src/vm.rs:184:46
[INFO] [stdout]     |
[INFO] [stdout] 184 |     fn eval_func(&mut self, func: &Function, arg_count: usize) -> Value {
[INFO] [stdout]     |                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/vm.rs:240:25
[INFO] [stdout]     |
[INFO] [stdout] 240 |                     let name = constant.get(*i).unwrap();
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg_count`
[INFO] [stdout]    --> src/vm.rs:253:32
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 ByteCode::Call(arg_count) => {
[INFO] [stdout]     |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next_func`
[INFO] [stdout]    --> src/vm.rs:264:25
[INFO] [stdout]     |
[INFO] [stdout] 264 |                     let next_func = self
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_func`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `module` is never read
[INFO] [stdout]    --> src/jit/mod.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 121 | struct FunctionTranslator<'a> {
[INFO] [stdout]     |        ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 125 |     module: &'a mut JITModule,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `translate_icmp` is never used
[INFO] [stdout]    --> src/jit/mod.rs:227:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl<'a> FunctionTranslator<'a> {
[INFO] [stdout]     | ------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 227 |     fn translate_icmp(&mut self, cmp: IntCC, lhs: &Expr, rhs: &Expr) -> Result<Value, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_frame` is never read
[INFO] [stdout]   --> src/vm.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct VM {
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     current_frame: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VM` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sp`, `ip`, and `locals` are never read
[INFO] [stdout]   --> src/vm.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Frame {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 17 |     sp: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 18 |     ip: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 19 |     locals: Vec<Value>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Frame` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `eval_func` and `current_frame` are never used
[INFO] [stdout]    --> src/vm.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl VM {
[INFO] [stdout]     | ------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 184 |     fn eval_func(&mut self, func: &Function, arg_count: usize) -> Value {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 307 |     fn current_frame(&mut self) -> &mut Frame {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/bf/vm.rs:105:53
[INFO] [stdout]     |
[INFO] [stdout] 105 |                     ; mov  rax, QWORD BfVM::getbyte as _
[INFO] [stdout]     |                                                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 105 |                     ; mov  rax, QWORD BfVM::getbyte as *const () as _
[INFO] [stdout]     |                                                     ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/bf/vm.rs:115:53
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     ; mov  rax, QWORD BfVM::putbyte as _
[INFO] [stdout]     |                                                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     ; mov  rax, QWORD BfVM::putbyte as *const () as _
[INFO] [stdout]     |                                                     ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/bf/vm.rs:147:51
[INFO] [stdout]     |
[INFO] [stdout] 147 |             ; mov rax, QWORD BfVM::overflow_error as _
[INFO] [stdout]     |                                                   ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 147 |             ; mov rax, QWORD BfVM::overflow_error as *const () as _
[INFO] [stdout]     |                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 32.33s
[INFO] running `Command { std: "docker" "inspect" "c3079429b26ab44316eae1186c0b441ef56e7d8c6ddb563806d8cdea00efc5dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c3079429b26ab44316eae1186c0b441ef56e7d8c6ddb563806d8cdea00efc5dd", kill_on_drop: false }`
[INFO] [stdout] c3079429b26ab44316eae1186c0b441ef56e7d8c6ddb563806d8cdea00efc5dd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 44ae535bc4f48bc254c579474fb13d45594c436f9b5c3d8355d3df0ffff6d11d
[INFO] running `Command { std: "docker" "start" "-a" "44ae535bc4f48bc254c579474fb13d45594c436f9b5c3d8355d3df0ffff6d11d", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: package.author
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/bf/compile.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/vm.rs:113:25
[INFO] [stdout]     |
[INFO] [stdout] 113 |                     let name = constant.get(*i).unwrap();
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg`
[INFO] [stdout]    --> src/vm.rs:133:29
[INFO] [stdout]     |
[INFO] [stdout] 133 |                         let arg = stack.pop().unwrap();
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_arg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg_count`
[INFO] [stdout]    --> src/vm.rs:184:46
[INFO] [stdout]     |
[INFO] [stdout] 184 |     fn eval_func(&mut self, func: &Function, arg_count: usize) -> Value {
[INFO] [stdout]     |                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/vm.rs:240:25
[INFO] [stdout]     |
[INFO] [stdout] 240 |                     let name = constant.get(*i).unwrap();
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg_count`
[INFO] [stdout]    --> src/vm.rs:253:32
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 ByteCode::Call(arg_count) => {
[INFO] [stdout]     |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next_func`
[INFO] [stdout]    --> src/vm.rs:264:25
[INFO] [stdout]     |
[INFO] [stdout] 264 |                     let next_func = self
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_func`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `module` is never read
[INFO] [stdout]    --> src/jit/mod.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 121 | struct FunctionTranslator<'a> {
[INFO] [stdout]     |        ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 125 |     module: &'a mut JITModule,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `translate_icmp` is never used
[INFO] [stdout]    --> src/jit/mod.rs:227:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl<'a> FunctionTranslator<'a> {
[INFO] [stdout]     | ------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 227 |     fn translate_icmp(&mut self, cmp: IntCC, lhs: &Expr, rhs: &Expr) -> Result<Value, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_frame` is never read
[INFO] [stdout]   --> src/vm.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct VM {
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     current_frame: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VM` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sp`, `ip`, and `locals` are never read
[INFO] [stdout]   --> src/vm.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Frame {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 17 |     sp: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 18 |     ip: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 19 |     locals: Vec<Value>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Frame` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `eval_func` and `current_frame` are never used
[INFO] [stdout]    --> src/vm.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl VM {
[INFO] [stdout]     | ------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 184 |     fn eval_func(&mut self, func: &Function, arg_count: usize) -> Value {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 307 |     fn current_frame(&mut self) -> &mut Frame {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/bf/vm.rs:105:53
[INFO] [stdout]     |
[INFO] [stdout] 105 |                     ; mov  rax, QWORD BfVM::getbyte as _
[INFO] [stdout]     |                                                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 105 |                     ; mov  rax, QWORD BfVM::getbyte as *const () as _
[INFO] [stdout]     |                                                     ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/bf/vm.rs:115:53
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     ; mov  rax, QWORD BfVM::putbyte as _
[INFO] [stdout]     |                                                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     ; mov  rax, QWORD BfVM::putbyte as *const () as _
[INFO] [stdout]     |                                                     ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/bf/vm.rs:147:51
[INFO] [stdout]     |
[INFO] [stdout] 147 |             ; mov rax, QWORD BfVM::overflow_error as _
[INFO] [stdout]     |                                                   ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 147 |             ; mov rax, QWORD BfVM::overflow_error as *const () as _
[INFO] [stdout]     |                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling plua v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]   --> examples/dyn.rs:38:32
[INFO] [stdout]    |
[INFO] [stdout] 38 |         ; mov rax, QWORD print as _         // 将 print 函数地址放入 rax
[INFO] [stdout]    |                                ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]    |
[INFO] [stdout] 38 |         ; mov rax, QWORD print as *const () as _         // 将 print 函数地址放入 rax
[INFO] [stdout]    |                                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> examples/stackvm.rs:414:59
[INFO] [stdout]     |
[INFO] [stdout] 414 | fn find_label<'a>(i: Pointer, s: &'a [&'a str]) -> Option<Label> {
[INFO] [stdout]     |                                   --   --                 ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                   |    |
[INFO] [stdout]     |                                   |    the lifetime is named here
[INFO] [stdout]     |                                   the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 414 | fn find_label<'a>(i: Pointer, s: &'a [&'a str]) -> Option<Label<'a>> {
[INFO] [stdout]     |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/vm.rs:113:25
[INFO] [stdout]     |
[INFO] [stdout] 113 |                     let name = constant.get(*i).unwrap();
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg`
[INFO] [stdout]    --> src/vm.rs:133:29
[INFO] [stdout]     |
[INFO] [stdout] 133 |                         let arg = stack.pop().unwrap();
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_arg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg_count`
[INFO] [stdout]    --> src/vm.rs:184:46
[INFO] [stdout]     |
[INFO] [stdout] 184 |     fn eval_func(&mut self, func: &Function, arg_count: usize) -> Value {
[INFO] [stdout]     |                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/vm.rs:240:25
[INFO] [stdout]     |
[INFO] [stdout] 240 |                     let name = constant.get(*i).unwrap();
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg_count`
[INFO] [stdout]    --> src/vm.rs:253:32
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 ByteCode::Call(arg_count) => {
[INFO] [stdout]     |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next_func`
[INFO] [stdout]    --> src/vm.rs:264:25
[INFO] [stdout]     |
[INFO] [stdout] 264 |                     let next_func = self
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_func`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `module` is never read
[INFO] [stdout]    --> src/jit/mod.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 121 | struct FunctionTranslator<'a> {
[INFO] [stdout]     |        ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 125 |     module: &'a mut JITModule,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `translate_icmp` is never used
[INFO] [stdout]    --> src/jit/mod.rs:227:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl<'a> FunctionTranslator<'a> {
[INFO] [stdout]     | ------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 227 |     fn translate_icmp(&mut self, cmp: IntCC, lhs: &Expr, rhs: &Expr) -> Result<Value, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_frame` is never read
[INFO] [stdout]   --> src/vm.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct VM {
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     current_frame: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VM` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sp`, `ip`, and `locals` are never read
[INFO] [stdout]   --> src/vm.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Frame {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 17 |     sp: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 18 |     ip: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 19 |     locals: Vec<Value>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Frame` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `eval_func` and `current_frame` are never used
[INFO] [stdout]    --> src/vm.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl VM {
[INFO] [stdout]     | ------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 184 |     fn eval_func(&mut self, func: &Function, arg_count: usize) -> Value {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 307 |     fn current_frame(&mut self) -> &mut Frame {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/bf/vm.rs:105:53
[INFO] [stdout]     |
[INFO] [stdout] 105 |                     ; mov  rax, QWORD BfVM::getbyte as _
[INFO] [stdout]     |                                                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 105 |                     ; mov  rax, QWORD BfVM::getbyte as *const () as _
[INFO] [stdout]     |                                                     ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/bf/vm.rs:115:53
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     ; mov  rax, QWORD BfVM::putbyte as _
[INFO] [stdout]     |                                                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     ; mov  rax, QWORD BfVM::putbyte as *const () as _
[INFO] [stdout]     |                                                     ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/bf/vm.rs:147:51
[INFO] [stdout]     |
[INFO] [stdout] 147 |             ; mov rax, QWORD BfVM::overflow_error as _
[INFO] [stdout]     |                                                   ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 147 |             ; mov rax, QWORD BfVM::overflow_error as *const () as _
[INFO] [stdout]     |                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.23s
[INFO] running `Command { std: "docker" "inspect" "44ae535bc4f48bc254c579474fb13d45594c436f9b5c3d8355d3df0ffff6d11d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "44ae535bc4f48bc254c579474fb13d45594c436f9b5c3d8355d3df0ffff6d11d", kill_on_drop: false }`
[INFO] [stdout] 44ae535bc4f48bc254c579474fb13d45594c436f9b5c3d8355d3df0ffff6d11d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 98034b16bc9ee0f545a407695f82c644f2d5bc44c557b5b1cb77c524b5d4e8b0
[INFO] running `Command { std: "docker" "start" "-a" "98034b16bc9ee0f545a407695f82c644f2d5bc44c557b5b1cb77c524b5d4e8b0", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: package.author
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]    --> src/bf/compile.rs:106:9
[INFO] [stderr]     |
[INFO] [stderr] 106 |     use super::*;
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> src/vm.rs:113:25
[INFO] [stderr]     |
[INFO] [stderr] 113 |                     let name = constant.get(*i).unwrap();
[INFO] [stderr]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `arg`
[INFO] [stderr]    --> src/vm.rs:133:29
[INFO] [stderr]     |
[INFO] [stderr] 133 |                         let arg = stack.pop().unwrap();
[INFO] [stderr]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_arg`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `arg_count`
[INFO] [stderr]    --> src/vm.rs:184:46
[INFO] [stderr]     |
[INFO] [stderr] 184 |     fn eval_func(&mut self, func: &Function, arg_count: usize) -> Value {
[INFO] [stderr]     |                                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_count`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> src/vm.rs:240:25
[INFO] [stderr]     |
[INFO] [stderr] 240 |                     let name = constant.get(*i).unwrap();
[INFO] [stderr]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `arg_count`
[INFO] [stderr]    --> src/vm.rs:253:32
[INFO] [stderr]     |
[INFO] [stderr] 253 |                 ByteCode::Call(arg_count) => {
[INFO] [stderr]     |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_count`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `next_func`
[INFO] [stderr]    --> src/vm.rs:264:25
[INFO] [stderr]     |
[INFO] [stderr] 264 |                     let next_func = self
[INFO] [stderr]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_func`
[INFO] [stderr] 
[INFO] [stderr] warning: field `module` is never read
[INFO] [stderr]    --> src/jit/mod.rs:125:5
[INFO] [stderr]     |
[INFO] [stderr] 121 | struct FunctionTranslator<'a> {
[INFO] [stderr]     |        ------------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 125 |     module: &'a mut JITModule,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `translate_icmp` is never used
[INFO] [stderr]    --> src/jit/mod.rs:227:8
[INFO] [stderr]     |
[INFO] [stderr] 128 | impl<'a> FunctionTranslator<'a> {
[INFO] [stderr]     | ------------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 227 |     fn translate_icmp(&mut self, cmp: IntCC, lhs: &Expr, rhs: &Expr) -> Result<Value, String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `current_frame` is never read
[INFO] [stderr]   --> src/vm.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr]  8 | pub struct VM {
[INFO] [stderr]    |            -- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 11 |     current_frame: Option<usize>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `VM` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `sp`, `ip`, and `locals` are never read
[INFO] [stderr]   --> src/vm.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub struct Frame {
[INFO] [stderr]    |            ----- fields in this struct
[INFO] [stderr] 17 |     sp: usize,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 18 |     ip: usize,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 19 |     locals: Vec<Value>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Frame` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `eval_func` and `current_frame` are never used
[INFO] [stderr]    --> src/vm.rs:184:8
[INFO] [stderr]     |
[INFO] [stderr]  32 | impl VM {
[INFO] [stderr]     | ------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 184 |     fn eval_func(&mut self, func: &Function, arg_count: usize) -> Value {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 307 |     fn current_frame(&mut self) -> &mut Frame {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: direct cast of function item into an integer
[INFO] [stderr]    --> src/bf/vm.rs:105:53
[INFO] [stderr]     |
[INFO] [stderr] 105 |                     ; mov  rax, QWORD BfVM::getbyte as _
[INFO] [stderr]     |                                                     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stderr] help: first cast to a pointer `as *const ()`
[INFO] [stderr]     |
[INFO] [stderr] 105 |                     ; mov  rax, QWORD BfVM::getbyte as *const () as _
[INFO] [stderr]     |                                                     ++++++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: direct cast of function item into an integer
[INFO] [stderr]    --> src/bf/vm.rs:115:53
[INFO] [stderr]     |
[INFO] [stderr] 115 |                     ; mov  rax, QWORD BfVM::putbyte as _
[INFO] [stderr]     |                                                     ^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: first cast to a pointer `as *const ()`
[INFO] [stderr]     |
[INFO] [stderr] 115 |                     ; mov  rax, QWORD BfVM::putbyte as *const () as _
[INFO] [stderr]     |                                                     ++++++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: direct cast of function item into an integer
[INFO] [stderr]    --> src/bf/vm.rs:147:51
[INFO] [stderr]     |
[INFO] [stderr] 147 |             ; mov rax, QWORD BfVM::overflow_error as _
[INFO] [stderr]     |                                                   ^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: first cast to a pointer `as *const ()`
[INFO] [stderr]     |
[INFO] [stderr] 147 |             ; mov rax, QWORD BfVM::overflow_error as *const () as _
[INFO] [stderr]     |                                                   ++++++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `plua` (lib) generated 15 warnings (run `cargo fix --lib -p plua` to apply 10 suggestions)
[INFO] [stderr] warning: `plua` (lib test) generated 14 warnings (14 duplicates)
[INFO] [stderr] warning: direct cast of function item into an integer
[INFO] [stderr]   --> examples/dyn.rs:38:32
[INFO] [stderr]    |
[INFO] [stderr] 38 |         ; mov rax, QWORD print as _         // 将 print 函数地址放入 rax
[INFO] [stderr]    |                                ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stderr] help: first cast to a pointer `as *const ()`
[INFO] [stderr]    |
[INFO] [stderr] 38 |         ; mov rax, QWORD print as *const () as _         // 将 print 函数地址放入 rax
[INFO] [stderr]    |                                ++++++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> examples/stackvm.rs:414:59
[INFO] [stderr]     |
[INFO] [stderr] 414 | fn find_label<'a>(i: Pointer, s: &'a [&'a str]) -> Option<Label> {
[INFO] [stderr]     |                                   --   --                 ^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                                   |    |
[INFO] [stderr]     |                                   |    the lifetime is named here
[INFO] [stderr]     |                                   the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 414 | fn find_label<'a>(i: Pointer, s: &'a [&'a str]) -> Option<Label<'a>> {
[INFO] [stderr]     |                                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `plua` (example "dyn") generated 1 warning (run `cargo fix --example "dyn" -p plua` to apply 1 suggestion)
[INFO] [stderr] warning: `plua` (example "stackvm") generated 1 warning (run `cargo fix --example "stackvm" -p plua` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/plua-417654adfce06f4f)
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test bf::compile::tests::test_compile ... ok
[INFO] [stdout] test intercepter::tests::env_basic_operations ... ok
[INFO] [stdout] test intercepter::tests::env_with_parent ... ok
[INFO] [stdout] test emitter::tests::test_emit_local ... ok
[INFO] [stdout] test emitter::tests::test_simple_func ... ok
[INFO] [stdout] test emitter::tests::test_emit_func ... ok
[INFO] [stdout] test intercepter::tests::intercepter_function_define ... ok
[INFO] [stdout] test intercepter::tests::intercepter_print_env ... ok
[INFO] [stdout] test intercepter::tests::intercepter_print_variable ... ok
[INFO] [stdout] test intercepter::tests::intercepter_function_recursion ... ok
[INFO] [stdout] test intercepter::tests::intercepter_return_variable ... ok
[INFO] [stdout] test parser::tests::test_parse_expr ... ok
[INFO] [stdout] test parser::tests::test_parse_expr_err ... ok
[INFO] [stdout] test intercepter::tests::intercepter_function_recursion2 ... ok
[INFO] [stdout] test intercepter::tests::intercepter_many_functions ... ok
[INFO] [stdout] test vm::tests::test_variable_declare ... ok
[INFO] [stdout] test value::tests::test_value_compare ... ok
[INFO] [stdout] test resolver::tests::test_resolve_err ... ok
[INFO] [stdout] test parser::tests::test_parse_func ... ok
[INFO] [stdout] test scanner::tests::test_scan_tokens ... ok
[INFO] [stdout] test value::tests::test_value_operation ... ok
[INFO] [stdout] test vm::tests::test_eval_variable_declare ... ok
[INFO] [stdout] test scanner::tests::test_scan_tokens_with_mul_lines ... ok
[INFO] [stdout] test jit::tests::test_jit ... ok
[INFO] [stdout] test resolver::tests::test_resolve ... ok
[INFO] [stdout] test vm::tests::test_emit_mul ... FAILED
[INFO] [stdout] test vm::tests::test_func_call ... FAILED
[INFO] [stdout] test vm::tests::test_func_eval ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- vm::tests::test_emit_mul stdout ----
[INFO] [stdout] [
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Function,
[INFO] [stdout]         raw: "function",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 2,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Identifier,
[INFO] [stdout]         raw: "mul",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 2,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: LeftParen,
[INFO] [stdout]         raw: "(",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 2,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Identifier,
[INFO] [stdout]         raw: "n",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 2,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: RightParen,
[INFO] [stdout]         raw: ")",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 2,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Local,
[INFO] [stdout]         raw: "local",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 3,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Identifier,
[INFO] [stdout]         raw: "n1",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 3,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Equal,
[INFO] [stdout]         raw: "=",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 3,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Identifier,
[INFO] [stdout]         raw: "n",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 3,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Plus,
[INFO] [stdout]         raw: "+",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 3,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Number,
[INFO] [stdout]         raw: "1",
[INFO] [stdout]         value: Int(
[INFO] [stdout]             1,
[INFO] [stdout]         ),
[INFO] [stdout]         line: 3,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Star,
[INFO] [stdout]         raw: "*",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 3,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Number,
[INFO] [stdout]         raw: "4",
[INFO] [stdout]         value: Int(
[INFO] [stdout]             4,
[INFO] [stdout]         ),
[INFO] [stdout]         line: 3,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Slash,
[INFO] [stdout]         raw: "/",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 3,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Number,
[INFO] [stdout]         raw: "2",
[INFO] [stdout]         value: Int(
[INFO] [stdout]             2,
[INFO] [stdout]         ),
[INFO] [stdout]         line: 3,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Semicolon,
[INFO] [stdout]         raw: ";",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 3,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Return,
[INFO] [stdout]         raw: "return",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 4,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Identifier,
[INFO] [stdout]         raw: "n1",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 4,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Semicolon,
[INFO] [stdout]         raw: ";",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 4,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: End,
[INFO] [stdout]         raw: "end",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 5,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Print,
[INFO] [stdout]         raw: "print",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 7,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: LeftParen,
[INFO] [stdout]         raw: "(",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 7,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Identifier,
[INFO] [stdout]         raw: "mul",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 7,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: LeftParen,
[INFO] [stdout]         raw: "(",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 7,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Number,
[INFO] [stdout]         raw: "4",
[INFO] [stdout]         value: Int(
[INFO] [stdout]             4,
[INFO] [stdout]         ),
[INFO] [stdout]         line: 7,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: RightParen,
[INFO] [stdout]         raw: ")",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 7,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: RightParen,
[INFO] [stdout]         raw: ")",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 7,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Semicolon,
[INFO] [stdout]         raw: ";",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 7,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Eof,
[INFO] [stdout]         raw: "",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 8,
[INFO] [stdout]     },
[INFO] [stdout] ]
[INFO] [stdout] [
[INFO] [stdout]     FunctionStmt(
[INFO] [stdout]         Token {
[INFO] [stdout]             typ: Identifier,
[INFO] [stdout]             raw: "mul",
[INFO] [stdout]             value: Nil,
[INFO] [stdout]             line: 2,
[INFO] [stdout]         },
[INFO] [stdout]         [
[INFO] [stdout]             Token {
[INFO] [stdout]                 typ: Identifier,
[INFO] [stdout]                 raw: "n",
[INFO] [stdout]                 value: Nil,
[INFO] [stdout]                 line: 2,
[INFO] [stdout]             },
[INFO] [stdout]         ],
[INFO] [stdout]         [
[INFO] [stdout]             LocalStmt(
[INFO] [stdout]                 Token {
[INFO] [stdout]                     typ: Identifier,
[INFO] [stdout]                     raw: "n1",
[INFO] [stdout]                     value: Nil,
[INFO] [stdout]                     line: 3,
[INFO] [stdout]                 },
[INFO] [stdout]                 Binary(
[INFO] [stdout]                     Variable(
[INFO] [stdout]                         Token {
[INFO] [stdout]                             typ: Identifier,
[INFO] [stdout]                             raw: "n",
[INFO] [stdout]                             value: Nil,
[INFO] [stdout]                             line: 3,
[INFO] [stdout]                         },
[INFO] [stdout]                     ),
[INFO] [stdout]                     Token {
[INFO] [stdout]                         typ: Plus,
[INFO] [stdout]                         raw: "+",
[INFO] [stdout]                         value: Nil,
[INFO] [stdout]                         line: 3,
[INFO] [stdout]                     },
[INFO] [stdout]                     Binary(
[INFO] [stdout]                         Binary(
[INFO] [stdout]                             Literal(
[INFO] [stdout]                                 Int(
[INFO] [stdout]                                     1,
[INFO] [stdout]                                 ),
[INFO] [stdout]                             ),
[INFO] [stdout]                             Token {
[INFO] [stdout]                                 typ: Star,
[INFO] [stdout]                                 raw: "*",
[INFO] [stdout]                                 value: Nil,
[INFO] [stdout]                                 line: 3,
[INFO] [stdout]                             },
[INFO] [stdout]                             Literal(
[INFO] [stdout]                                 Int(
[INFO] [stdout]                                     4,
[INFO] [stdout]                                 ),
[INFO] [stdout]                             ),
[INFO] [stdout]                         ),
[INFO] [stdout]                         Token {
[INFO] [stdout]                             typ: Slash,
[INFO] [stdout]                             raw: "/",
[INFO] [stdout]                             value: Nil,
[INFO] [stdout]                             line: 3,
[INFO] [stdout]                         },
[INFO] [stdout]                         Literal(
[INFO] [stdout]                             Int(
[INFO] [stdout]                                 2,
[INFO] [stdout]                             ),
[INFO] [stdout]                         ),
[INFO] [stdout]                     ),
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]             ReturnStmt(
[INFO] [stdout]                 Token {
[INFO] [stdout]                     typ: Return,
[INFO] [stdout]                     raw: "return",
[INFO] [stdout]                     value: Nil,
[INFO] [stdout]                     line: 4,
[INFO] [stdout]                 },
[INFO] [stdout]                 Variable(
[INFO] [stdout]                     Token {
[INFO] [stdout]                         typ: Identifier,
[INFO] [stdout]                         raw: "n1",
[INFO] [stdout]                         value: Nil,
[INFO] [stdout]                         line: 4,
[INFO] [stdout]                     },
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         ],
[INFO] [stdout]     ),
[INFO] [stdout]     PrintStmt(
[INFO] [stdout]         Call(
[INFO] [stdout]             Variable(
[INFO] [stdout]                 Token {
[INFO] [stdout]                     typ: Identifier,
[INFO] [stdout]                     raw: "mul",
[INFO] [stdout]                     value: Nil,
[INFO] [stdout]                     line: 7,
[INFO] [stdout]                 },
[INFO] [stdout]             ),
[INFO] [stdout]             Token {
[INFO] [stdout]                 typ: RightParen,
[INFO] [stdout]                 raw: ")",
[INFO] [stdout]                 value: Nil,
[INFO] [stdout]                 line: 7,
[INFO] [stdout]             },
[INFO] [stdout]             [
[INFO] [stdout]                 Literal(
[INFO] [stdout]                     Int(
[INFO] [stdout]                         4,
[INFO] [stdout]                     ),
[INFO] [stdout]                 ),
[INFO] [stdout]             ],
[INFO] [stdout]         ),
[INFO] [stdout]     ),
[INFO] [stdout] ]
[INFO] [stdout] 
[INFO] [stdout] thread 'vm::tests::test_emit_mul' (48) panicked at src/vm.rs:461:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: 8
[INFO] [stdout]  right: 12
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5a50620a4302 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5a50620a4302 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5a50620a4302 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5a50620a4302 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5a50620ba9fa - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5a50620ba9fa - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x5a50620a91b6 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5a50620a91b6 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5a5062082a8f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5a5062082a8f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5a506209c5e9 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5a5061c2dace - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5a5061c2dace - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5a506209c7a2 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5a506209c7a2 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5a5062082b48 - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5a5062077d99 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5a506208399d - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5a50620bb13c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5a50620baff3 - core[27de1724e4349be2]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5a50620b5fbd - core[27de1724e4349be2]::panicking::assert_failed::<usize, usize>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5a5061be974b - plua[394a9fab2316093b]::vm::tests::test_emit_mul
[INFO] [stdout]                                at /opt/rustwide/workdir/src/vm.rs:461:9
[INFO] [stdout]   22:     0x5a5061be4817 - plua[394a9fab2316093b]::vm::tests::test_emit_mul::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/vm.rs:438:23
[INFO] [stdout]   23:     0x5a5061bf6656 - <plua[394a9fab2316093b]::vm::tests::test_emit_mul::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5a5061c21e7b - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5a5061c21e7b - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x5a5061c2e6da - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x5a5061c2e6da - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x5a5061c2e6da - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5a5061c2e6da - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5a5061c2e6da - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5a5061c2e6da - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x5a5061c2e6da - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x5a5061c29c84 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x5a5061c29c84 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5a5061c311d2 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x5a5061c311d2 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x5a5061c311d2 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5a5061c311d2 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5a5061c311d2 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5a5061c311d2 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x5a5061c311d2 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5a50620a3baf - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x5a50620a3baf - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   44:     0x732754023aa4 - <unknown>
[INFO] [stdout]   45:     0x7327540b0a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- vm::tests::test_func_call stdout ----
[INFO] [stdout] == <script> arity: 0  value_count: 1 ==
[INFO] [stdout] 0000 Closure          2 'Closure@0([1])'
[INFO] [stdout] 0001 DefineGlabal     3 'fib'
[INFO] [stdout] 0002 GetGlobal        4 'fib'
[INFO] [stdout] 0003 Constant         5 '4'
[INFO] [stdout] 0004 Call             '1'
[INFO] [stdout] 0005 Print           
[INFO] [stdout] 0006 Nil             
[INFO] [stdout] 0007 Ret             
[INFO] [stdout] == fib arity: 1  value_count: 1 ==
[INFO] [stdout] 0000 GetLocal         0 'n'
[INFO] [stdout] 0001 Constant         1 '3'
[INFO] [stdout] 0002 Add             
[INFO] [stdout] 0003 Ret             
[INFO] [stdout] next_func: Function { name: "fib", arity: 1, value_count: 1, chunk: Chunk { codes: [GetLocal(0), Constant(1), Add, Ret], constants: [String("n"), Int(3)] } }
[INFO] [stdout] 
[INFO] [stdout] thread 'vm::tests::test_func_call' (50) panicked at src/vm.rs:123:43:
[INFO] [stdout] called `Option::unwrap()` on a `None` value
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5a50620a4302 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5a50620a4302 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5a50620a4302 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5a50620a4302 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5a50620ba9fa - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5a50620ba9fa - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x5a50620a91b6 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5a50620a91b6 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5a5062082a8f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5a5062082a8f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5a506209c5e9 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5a5061c2dace - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5a5061c2dace - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5a506209c7a2 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5a506209c7a2 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5a5062082b7a - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5a5062077d99 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5a506208399d - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5a50620bb13c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5a50620bb102 - core[27de1724e4349be2]::panicking::panic
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5a50620bae59 - core[27de1724e4349be2]::option::unwrap_failed
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/option.rs:2199:5
[INFO] [stdout]   21:     0x5a5061c02772 - <core[27de1724e4349be2]::option::Option<plua[394a9fab2316093b]::value::Value>>::unwrap
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/option.rs:1016:21
[INFO] [stdout]   22:     0x5a5061c02772 - <plua[394a9fab2316093b]::vm::VM>::eval
[INFO] [stdout]                                at /opt/rustwide/workdir/src/vm.rs:123:43
[INFO] [stdout]   23:     0x5a5061c029d3 - <plua[394a9fab2316093b]::vm::VM>::eval_all
[INFO] [stdout]                                at /opt/rustwide/workdir/src/vm.rs:54:18
[INFO] [stdout]   24:     0x5a5061be9e3f - plua[394a9fab2316093b]::vm::tests::test_func_call
[INFO] [stdout]                                at /opt/rustwide/workdir/src/vm.rs:397:22
[INFO] [stdout]   25:     0x5a5061be4847 - plua[394a9fab2316093b]::vm::tests::test_func_call::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/vm.rs:375:24
[INFO] [stdout]   26:     0x5a5061bf6696 - <plua[394a9fab2316093b]::vm::tests::test_func_call::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5a5061c21e7b - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28:     0x5a5061c21e7b - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   29:     0x5a5061c2e6da - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   30:     0x5a5061c2e6da - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   31:     0x5a5061c2e6da - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   32:     0x5a5061c2e6da - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   33:     0x5a5061c2e6da - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x5a5061c2e6da - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   35:     0x5a5061c2e6da - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   36:     0x5a5061c29c84 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   37:     0x5a5061c29c84 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   38:     0x5a5061c311d2 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   39:     0x5a5061c311d2 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   40:     0x5a5061c311d2 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   41:     0x5a5061c311d2 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   42:     0x5a5061c311d2 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   43:     0x5a5061c311d2 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   44:     0x5a5061c311d2 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5a50620a3baf - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   46:     0x5a50620a3baf - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   47:     0x732754023aa4 - <unknown>
[INFO] [stdout]   48:     0x7327540b0a64 - clone
[INFO] [stdout]   49:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- vm::tests::test_func_eval stdout ----
[INFO] [stdout] [
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Function,
[INFO] [stdout]         raw: "function",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 2,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Identifier,
[INFO] [stdout]         raw: "fib",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 2,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: LeftParen,
[INFO] [stdout]         raw: "(",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 2,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Identifier,
[INFO] [stdout]         raw: "n",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 2,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: RightParen,
[INFO] [stdout]         raw: ")",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 2,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: If,
[INFO] [stdout]         raw: "if",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 3,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Identifier,
[INFO] [stdout]         raw: "n",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 3,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Less,
[INFO] [stdout]         raw: "<",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 3,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Number,
[INFO] [stdout]         raw: "2",
[INFO] [stdout]         value: Int(
[INFO] [stdout]             2,
[INFO] [stdout]         ),
[INFO] [stdout]         line: 3,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Then,
[INFO] [stdout]         raw: "then",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 3,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Return,
[INFO] [stdout]         raw: "return",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 4,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Identifier,
[INFO] [stdout]         raw: "n",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 4,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Semicolon,
[INFO] [stdout]         raw: ";",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 4,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: End,
[INFO] [stdout]         raw: "end",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 5,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Local,
[INFO] [stdout]         raw: "local",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 7,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Identifier,
[INFO] [stdout]         raw: "n1",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 7,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Equal,
[INFO] [stdout]         raw: "=",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 7,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Identifier,
[INFO] [stdout]         raw: "fib",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 7,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: LeftParen,
[INFO] [stdout]         raw: "(",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 7,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Identifier,
[INFO] [stdout]         raw: "n",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 7,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Minus,
[INFO] [stdout]         raw: "-",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 7,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Number,
[INFO] [stdout]         raw: "1",
[INFO] [stdout]         value: Int(
[INFO] [stdout]             1,
[INFO] [stdout]         ),
[INFO] [stdout]         line: 7,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: RightParen,
[INFO] [stdout]         raw: ")",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 7,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Semicolon,
[INFO] [stdout]         raw: ";",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 7,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Local,
[INFO] [stdout]         raw: "local",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 8,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Identifier,
[INFO] [stdout]         raw: "n2",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 8,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Equal,
[INFO] [stdout]         raw: "=",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 8,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Identifier,
[INFO] [stdout]         raw: "fib",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 8,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: LeftParen,
[INFO] [stdout]         raw: "(",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 8,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Identifier,
[INFO] [stdout]         raw: "n",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 8,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Minus,
[INFO] [stdout]         raw: "-",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 8,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Number,
[INFO] [stdout]         raw: "2",
[INFO] [stdout]         value: Int(
[INFO] [stdout]             2,
[INFO] [stdout]         ),
[INFO] [stdout]         line: 8,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: RightParen,
[INFO] [stdout]         raw: ")",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 8,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Semicolon,
[INFO] [stdout]         raw: ";",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 8,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Return,
[INFO] [stdout]         raw: "return",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 9,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Identifier,
[INFO] [stdout]         raw: "n1",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 9,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Plus,
[INFO] [stdout]         raw: "+",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 9,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Identifier,
[INFO] [stdout]         raw: "n2",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 9,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Semicolon,
[INFO] [stdout]         raw: ";",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 9,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: End,
[INFO] [stdout]         raw: "end",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 10,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Print,
[INFO] [stdout]         raw: "print",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 12,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: LeftParen,
[INFO] [stdout]         raw: "(",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 12,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Identifier,
[INFO] [stdout]         raw: "fib",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 12,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: LeftParen,
[INFO] [stdout]         raw: "(",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 12,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Number,
[INFO] [stdout]         raw: "4",
[INFO] [stdout]         value: Int(
[INFO] [stdout]             4,
[INFO] [stdout]         ),
[INFO] [stdout]         line: 12,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: RightParen,
[INFO] [stdout]         raw: ")",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 12,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: RightParen,
[INFO] [stdout]         raw: ")",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 12,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Semicolon,
[INFO] [stdout]         raw: ";",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 12,
[INFO] [stdout]     },
[INFO] [stdout]     Token {
[INFO] [stdout]         typ: Eof,
[INFO] [stdout]         raw: "",
[INFO] [stdout]         value: Nil,
[INFO] [stdout]         line: 13,
[INFO] [stdout]     },
[INFO] [stdout] ]
[INFO] [stdout] [
[INFO] [stdout]     FunctionStmt(
[INFO] [stdout]         Token {
[INFO] [stdout]             typ: Identifier,
[INFO] [stdout]             raw: "fib",
[INFO] [stdout]             value: Nil,
[INFO] [stdout]             line: 2,
[INFO] [stdout]         },
[INFO] [stdout]         [
[INFO] [stdout]             Token {
[INFO] [stdout]                 typ: Identifier,
[INFO] [stdout]                 raw: "n",
[INFO] [stdout]                 value: Nil,
[INFO] [stdout]                 line: 2,
[INFO] [stdout]             },
[INFO] [stdout]         ],
[INFO] [stdout]         [
[INFO] [stdout]             IfStmt(
[INFO] [stdout]                 Binary(
[INFO] [stdout]                     Variable(
[INFO] [stdout]                         Token {
[INFO] [stdout]                             typ: Identifier,
[INFO] [stdout]                             raw: "n",
[INFO] [stdout]                             value: Nil,
[INFO] [stdout]                             line: 3,
[INFO] [stdout]                         },
[INFO] [stdout]                     ),
[INFO] [stdout]                     Token {
[INFO] [stdout]                         typ: Less,
[INFO] [stdout]                         raw: "<",
[INFO] [stdout]                         value: Nil,
[INFO] [stdout]                         line: 3,
[INFO] [stdout]                     },
[INFO] [stdout]                     Literal(
[INFO] [stdout]                         Int(
[INFO] [stdout]                             2,
[INFO] [stdout]                         ),
[INFO] [stdout]                     ),
[INFO] [stdout]                 ),
[INFO] [stdout]                 ReturnStmt(
[INFO] [stdout]                     Token {
[INFO] [stdout]                         typ: Return,
[INFO] [stdout]                         raw: "return",
[INFO] [stdout]                         value: Nil,
[INFO] [stdout]                         line: 4,
[INFO] [stdout]                     },
[INFO] [stdout]                     Variable(
[INFO] [stdout]                         Token {
[INFO] [stdout]                             typ: Identifier,
[INFO] [stdout]                             raw: "n",
[INFO] [stdout]                             value: Nil,
[INFO] [stdout]                             line: 4,
[INFO] [stdout]                         },
[INFO] [stdout]                     ),
[INFO] [stdout]                 ),
[INFO] [stdout]                 None,
[INFO] [stdout]             ),
[INFO] [stdout]             LocalStmt(
[INFO] [stdout]                 Token {
[INFO] [stdout]                     typ: Identifier,
[INFO] [stdout]                     raw: "n1",
[INFO] [stdout]                     value: Nil,
[INFO] [stdout]                     line: 7,
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout]                 },
[INFO] [stdout]                 Call(
[INFO] [stdout]                     Variable(
[INFO] [stdout]                         Token {
[INFO] [stdout]                             typ: Identifier,
[INFO] [stdout]                             raw: "fib",
[INFO] [stdout]                             value: Nil,
[INFO] [stdout]                             line: 7,
[INFO] [stdout]                         },
[INFO] [stdout]                     ),
[INFO] [stdout]                     Token {
[INFO] [stdout]                         typ: RightParen,
[INFO] [stdout]                         raw: ")",
[INFO] [stdout]                         value: Nil,
[INFO] [stdout]                         line: 7,
[INFO] [stdout]                     },
[INFO] [stdout]                     [
[INFO] [stdout]                         Binary(
[INFO] [stdout]                             Variable(
[INFO] [stdout]                                 Token {
[INFO] [stdout]                                     typ: Identifier,
[INFO] [stdout]                                     raw: "n",
[INFO] [stdout]                                     value: Nil,
[INFO] [stdout]                                     line: 7,
[INFO] [stdout]                                 },
[INFO] [stdout]                             ),
[INFO] [stdout]                             Token {
[INFO] [stdout]                                 typ: Minus,
[INFO] [stdout]                                 raw: "-",
[INFO] [stdout]                                 value: Nil,
[INFO] [stdout]                                 line: 7,
[INFO] [stdout]                             },
[INFO] [stdout]                             Literal(
[INFO] [stdout]                                 Int(
[INFO] [stdout]                                     1,
[INFO] [stdout]                                 ),
[INFO] [stdout]                             ),
[INFO] [stdout]                         ),
[INFO] [stdout]                     ],
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]             LocalStmt(
[INFO] [stdout]                 Token {
[INFO] [stdout]                     typ: Identifier,
[INFO] [stdout]                     raw: "n2",
[INFO] [stdout]                     value: Nil,
[INFO] [stdout]                     line: 8,
[INFO] [stdout]                 },
[INFO] [stdout]                 Call(
[INFO] [stdout]                     Variable(
[INFO] [stdout]                         Token {
[INFO] [stdout]                             typ: Identifier,
[INFO] [stdout]                             raw: "fib",
[INFO] [stdout]                             value: Nil,
[INFO] [stdout]                             line: 8,
[INFO] [stdout]                         },
[INFO] [stdout]                     ),
[INFO] [stdout]                     Token {
[INFO] [stdout]                         typ: RightParen,
[INFO] [stdout]                         raw: ")",
[INFO] [stdout]                         value: Nil,
[INFO] [stdout]                         line: 8,
[INFO] [stdout]                     },
[INFO] [stdout]                     [
[INFO] [stdout]                         Binary(
[INFO] [stdout]                             Variable(
[INFO] [stdout]                                 Token {
[INFO] [stdout]                                     typ: Identifier,
[INFO] [stdout]                                     raw: "n",
[INFO] [stdout]                                     value: Nil,
[INFO] [stdout]                                     line: 8,
[INFO] [stdout]                                 },
[INFO] [stdout]                             ),
[INFO] [stdout]                             Token {
[INFO] [stdout]                                 typ: Minus,
[INFO] [stdout]                                 raw: "-",
[INFO] [stdout]                                 value: Nil,
[INFO] [stdout]                                 line: 8,
[INFO] [stdout]                             },
[INFO] [stdout]                             Literal(
[INFO] [stdout]                                 Int(
[INFO] [stdout]                                     2,
[INFO] [stdout]                                 ),
[INFO] [stdout]                             ),
[INFO] [stdout]                         ),
[INFO] [stdout]                     ],
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]             ReturnStmt(
[INFO] [stdout]                 Token {
[INFO] [stdout]                     typ: Return,
[INFO] [stdout]                     raw: "return",
[INFO] [stdout]                     value: Nil,
[INFO] [stdout]                     line: 9,
[INFO] [stdout]                 },
[INFO] [stdout]                 Binary(
[INFO] [stdout]                     Variable(
[INFO] [stdout]                         Token {
[INFO] [stdout]                             typ: Identifier,
[INFO] [stdout]                             raw: "n1",
[INFO] [stdout]                             value: Nil,
[INFO] [stdout]                             line: 9,
[INFO] [stdout]                         },
[INFO] [stdout]                     ),
[INFO] [stdout]                     Token {
[INFO] [stdout]                         typ: Plus,
[INFO] [stdout]                         raw: "+",
[INFO] [stdout]                         value: Nil,
[INFO] [stdout]                         line: 9,
[INFO] [stdout]                     },
[INFO] [stdout]                     Variable(
[INFO] [stdout]                         Token {
[INFO] [stdout]                             typ: Identifier,
[INFO] [stdout]                             raw: "n2",
[INFO] [stdout]                             value: Nil,
[INFO] [stdout]                             line: 9,
[INFO] [stdout]                         },
[INFO] [stdout]                     ),
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         ],
[INFO] [stdout]     ),
[INFO] [stdout]     PrintStmt(
[INFO] [stdout]         Call(
[INFO] [stdout]             Variable(
[INFO] [stdout]                 Token {
[INFO] [stdout]                     typ: Identifier,
[INFO] [stdout]                     raw: "fib",
[INFO] [stdout]                     value: Nil,
[INFO] [stdout]                     line: 12,
[INFO] [stdout]                 },
[INFO] [stdout]             ),
[INFO] [stdout]             Token {
[INFO] [stdout]                 typ: RightParen,
[INFO] [stdout]                 raw: ")",
[INFO] [stdout]                 value: Nil,
[INFO] [stdout]                 line: 12,
[INFO] [stdout]             },
[INFO] [stdout]             [
[INFO] [stdout]                 Literal(
[INFO] [stdout]                     Int(
[INFO] [stdout]                         4,
[INFO] [stdout]                     ),
[INFO] [stdout]                 ),
[INFO] [stdout]             ],
[INFO] [stdout]         ),
[INFO] [stdout]     ),
[INFO] [stdout] ]
[INFO] [stdout] 
[INFO] [stdout] thread 'vm::tests::test_func_eval' (51) panicked at src/vm.rs:430:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: 8
[INFO] [stdout]  right: 23
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5a50620a4302 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5a50620a4302 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5a50620a4302 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5a50620a4302 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5a50620ba9fa - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5a50620ba9fa - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x5a50620a91b6 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5a50620a91b6 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5a5062082a8f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5a5062082a8f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5a506209c5e9 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5a5061c2dace - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5a5061c2dace - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5a506209c7a2 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5a506209c7a2 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5a5062082b48 - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5a5062077d99 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5a506208399d - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5a50620bb13c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5a50620baff3 - core[27de1724e4349be2]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5a50620b5fbd - core[27de1724e4349be2]::panicking::assert_failed::<usize, usize>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5a5061beaafb - plua[394a9fab2316093b]::vm::tests::test_func_eval
[INFO] [stdout]                                at /opt/rustwide/workdir/src/vm.rs:430:9
[INFO] [stdout]   22:     0x5a5061be4877 - plua[394a9fab2316093b]::vm::tests::test_func_eval::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/vm.rs:402:24
[INFO] [stdout]   23:     0x5a5061bf66d6 - <plua[394a9fab2316093b]::vm::tests::test_func_eval::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5a5061c21e7b - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5a5061c21e7b - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x5a5061c2e6da - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x5a5061c2e6da - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x5a5061c2e6da - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5a5061c2e6da - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5a5061c2e6da - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5a5061c2e6da - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x5a5061c2e6da - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x5a5061c29c84 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x5a5061c29c84 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5a5061c311d2 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x5a5061c311d2 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x5a5061c311d2 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5a5061c311d2 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5a5061c311d2 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5a5061c311d2 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x5a5061c311d2 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5a50620a3baf - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x5a50620a3baf - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   44:     0x732754023aa4 - <unknown>
[INFO] [stdout]   45:     0x7327540b0a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     vm::tests::test_emit_mul
[INFO] [stdout]     vm::tests::test_func_call
[INFO] [stdout]     vm::tests::test_func_eval
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 25 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "98034b16bc9ee0f545a407695f82c644f2d5bc44c557b5b1cb77c524b5d4e8b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "98034b16bc9ee0f545a407695f82c644f2d5bc44c557b5b1cb77c524b5d4e8b0", kill_on_drop: false }`
[INFO] [stdout] 98034b16bc9ee0f545a407695f82c644f2d5bc44c557b5b1cb77c524b5d4e8b0
