[INFO] cloning repository https://github.com/Maxuss/galevm
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Maxuss/galevm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMaxuss%2Fgalevm", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMaxuss%2Fgalevm'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b0521d94b08a47d8aa9190b323f69ad8113cf5a3
[INFO] checking Maxuss/galevm against try#012cd62c9add58ab3910e44c137d87db3ab70f61 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMaxuss%2Fgalevm" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Maxuss/galevm
[INFO] finished tweaking git repo https://github.com/Maxuss/galevm
[INFO] tweaked toml for git repo https://github.com/Maxuss/galevm written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Maxuss/galevm on toolchain 012cd62c9add58ab3910e44c137d87db3ab70f61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Maxuss/galevm 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" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `edition` is set on library `galevm` which is deprecated
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7ff323a7f7a6e75470b8ef74270fe734cd1c81b0b7465345ad4bbb6d0e06dfb1
[INFO] running `Command { std: "docker" "start" "-a" "7ff323a7f7a6e75470b8ef74270fe734cd1c81b0b7465345ad4bbb6d0e06dfb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7ff323a7f7a6e75470b8ef74270fe734cd1c81b0b7465345ad4bbb6d0e06dfb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ff323a7f7a6e75470b8ef74270fe734cd1c81b0b7465345ad4bbb6d0e06dfb1", kill_on_drop: false }`
[INFO] [stdout] 7ff323a7f7a6e75470b8ef74270fe734cd1c81b0b7465345ad4bbb6d0e06dfb1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2a685cd94f4c1f546689aaddb4c0343e903ba4e3faf452fda6eff2de9fa1e901
[INFO] running `Command { std: "docker" "start" "-a" "2a685cd94f4c1f546689aaddb4c0343e903ba4e3faf452fda6eff2de9fa1e901", kill_on_drop: false }`
[INFO] [stderr] warning: `edition` is set on library `galevm` which is deprecated
[INFO] [stderr]    Compiling libc v0.2.121
[INFO] [stderr]    Compiling anyhow v1.0.56
[INFO] [stderr]     Checking getrandom v0.2.5
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking colored v2.0.0
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking galevm v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/tks/expr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::VecDeque;
[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 import: `Scope`
[INFO] [stdout]  --> src/tks/kw.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::visit::{Scope, Visitable, Visitor};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/var.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::{Arc, Mutex, MutexGuard};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> src/var.rs:38:27
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .map(|(k, v)| ((_string_size(k) + v.size()) as u64))
[INFO] [stdout]    |                           ^                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 38 -             .map(|(k, v)| ((_string_size(k) + v.size()) as u64))
[INFO] [stdout] 38 +             .map(|(k, v)| (_string_size(k) + v.size()) as u64 )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/tks/expr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::VecDeque;
[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 import: `Scope`
[INFO] [stdout]  --> src/tks/kw.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::visit::{Scope, Visitable, Visitor};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/var.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::{Arc, Mutex, MutexGuard};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> src/var.rs:38:27
[INFO] [stdout]    |
[INFO] [stdout] 38 |             .map(|(k, v)| ((_string_size(k) + v.size()) as u64))
[INFO] [stdout]    |                           ^                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 38 -             .map(|(k, v)| ((_string_size(k) + v.size()) as u64))
[INFO] [stdout] 38 +             .map(|(k, v)| (_string_size(k) + v.size()) as u64 )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::RngCore`
[INFO] [stdout]  --> src/visit.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::RngCore;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::RngCore`
[INFO] [stdout]  --> src/visit.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::RngCore;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/tks/expr.rs:143:38
[INFO] [stdout]     |
[INFO] [stdout] 143 |             Expression::StaticAccess(path) => {
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/tks/expr.rs:143:38
[INFO] [stdout]     |
[INFO] [stdout] 143 |             Expression::StaticAccess(path) => {
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/var.rs:24:33
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let vec: [u8; 2] = unsafe { mem::transmute(str.len() as u16) };
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 24 -     let vec: [u8; 2] = unsafe { mem::transmute(str.len() as u16) };
[INFO] [stdout] 24 +     let vec: [u8; 2] = unsafe { u16::to_ne_bytes(str.len() as u16) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/vm.rs:136:37
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let vec: [u8; 2] = unsafe { mem::transmute(self.len() as u16) };
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 136 -         let vec: [u8; 2] = unsafe { mem::transmute(self.len() as u16) };
[INFO] [stdout] 136 +         let vec: [u8; 2] = unsafe { u16::to_ne_bytes(self.len() as u16) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/fns.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |               drop(__extfns);
[INFO] [stdout]     |               ^^^^^--------^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    argument has type `&mut MutexGuard<'_, Vec<Box<dyn Fn(Vec<...>) -> ... + Send + Sync>>>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/stdlib.rs:38:5
[INFO] [stdout]     |
[INFO] [stdout]  38 | /     extern_fns!(visitor {
[INFO] [stdout]  39 | |         scope "std" {
[INFO] [stdout]  40 | |             extern fn panic(message) -> void;
[INFO] [stdout]  41 | |             extern fn exit(code) -> void;
[INFO] [stdout] ...   |
[INFO] [stdout]  45 | |     })
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/galevm-730232c4fe8cb74d.long-type-17451880185637549591.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this warning originates in the macro `extern_fns` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 255 -             drop(__extfns);
[INFO] [stdout] 255 +             let _ = __extfns;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/fns.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |               drop(__extfns);
[INFO] [stdout]     |               ^^^^^--------^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    argument has type `&mut MutexGuard<'_, Vec<Box<dyn Fn(Vec<...>) -> ... + Send + Sync>>>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/stdlib/io.rs:47:5
[INFO] [stdout]     |
[INFO] [stdout]  47 | /     extern_fns!(visitor {
[INFO] [stdout]  48 | |         scope "std::io" {
[INFO] [stdout]  49 | |             extern fn print(value) -> void;
[INFO] [stdout]  50 | |             extern fn println(value) -> void;
[INFO] [stdout] ...   |
[INFO] [stdout]  54 | |     });
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/galevm-730232c4fe8cb74d.long-type-17451880185637549591.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this warning originates in the macro `extern_fns` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 255 -             drop(__extfns);
[INFO] [stdout] 255 +             let _ = __extfns;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/fns.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |               drop(__extfns);
[INFO] [stdout]     |               ^^^^^--------^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    argument has type `&mut MutexGuard<'_, Vec<Box<dyn Fn(Vec<...>) -> ... + Send + Sync>>>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/stdlib/math.rs:62:5
[INFO] [stdout]     |
[INFO] [stdout]  62 | /     extern_fns!(visitor {
[INFO] [stdout]  63 | |         scope "std::math" {
[INFO] [stdout]  64 | |             extern fn min(min, val) -> num;
[INFO] [stdout]  65 | |             extern fn max(max, val) -> num;
[INFO] [stdout] ...   |
[INFO] [stdout]  78 | |     })
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/galevm-730232c4fe8cb74d.long-type-17451880185637549591.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this warning originates in the macro `extern_fns` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 255 -             drop(__extfns);
[INFO] [stdout] 255 +             let _ = __extfns;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/fns.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |               drop(__extfns);
[INFO] [stdout]     |               ^^^^^--------^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    argument has type `&mut MutexGuard<'_, Vec<Box<dyn Fn(Vec<...>) -> ... + Send + Sync>>>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/stdlib/strs.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout]  11 | /     extern_fns!(visitor {
[INFO] [stdout]  12 | |         scope "std::str" {
[INFO] [stdout]  13 | |             extern fn stringify(value) -> str;
[INFO] [stdout]  14 | |         }
[INFO] [stdout]  15 | |     })
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/galevm-730232c4fe8cb74d.long-type-17451880185637549591.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this warning originates in the macro `extern_fns` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 255 -             drop(__extfns);
[INFO] [stdout] 255 +             let _ = __extfns;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/fns.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |               drop(__extfns);
[INFO] [stdout]     |               ^^^^^--------^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    argument has type `&mut MutexGuard<'_, Vec<Box<dyn Fn(Vec<...>) -> ... + Send + Sync>>>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/stdlib/mem.rs:29:5
[INFO] [stdout]     |
[INFO] [stdout]  29 | /     extern_fns!(visitor {
[INFO] [stdout]  30 | |         scope "std::mem" {
[INFO] [stdout]  31 | |             extern fn transmute(value, ty) -> unknown;
[INFO] [stdout]  32 | |         }
[INFO] [stdout]  33 | |     })
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/galevm-730232c4fe8cb74d.long-type-17451880185637549591.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this warning originates in the macro `extern_fns` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 255 -             drop(__extfns);
[INFO] [stdout] 255 +             let _ = __extfns;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/var.rs:24:33
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let vec: [u8; 2] = unsafe { mem::transmute(str.len() as u16) };
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 24 -     let vec: [u8; 2] = unsafe { mem::transmute(str.len() as u16) };
[INFO] [stdout] 24 +     let vec: [u8; 2] = unsafe { u16::to_ne_bytes(str.len() as u16) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/vm.rs:136:37
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let vec: [u8; 2] = unsafe { mem::transmute(self.len() as u16) };
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 136 -         let vec: [u8; 2] = unsafe { mem::transmute(self.len() as u16) };
[INFO] [stdout] 136 +         let vec: [u8; 2] = unsafe { u16::to_ne_bytes(self.len() as u16) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/fns.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |               drop(__extfns);
[INFO] [stdout]     |               ^^^^^--------^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    argument has type `&mut MutexGuard<'_, Vec<Box<dyn Fn(Vec<...>) -> ... + Send + Sync>>>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/stdlib.rs:38:5
[INFO] [stdout]     |
[INFO] [stdout]  38 | /     extern_fns!(visitor {
[INFO] [stdout]  39 | |         scope "std" {
[INFO] [stdout]  40 | |             extern fn panic(message) -> void;
[INFO] [stdout]  41 | |             extern fn exit(code) -> void;
[INFO] [stdout] ...   |
[INFO] [stdout]  45 | |     })
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/galevm-5c3f29338b4d535a.long-type-8974008356531139351.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this warning originates in the macro `extern_fns` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 255 -             drop(__extfns);
[INFO] [stdout] 255 +             let _ = __extfns;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/fns.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |               drop(__extfns);
[INFO] [stdout]     |               ^^^^^--------^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    argument has type `&mut MutexGuard<'_, Vec<Box<dyn Fn(Vec<...>) -> ... + Send + Sync>>>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/stdlib/io.rs:47:5
[INFO] [stdout]     |
[INFO] [stdout]  47 | /     extern_fns!(visitor {
[INFO] [stdout]  48 | |         scope "std::io" {
[INFO] [stdout]  49 | |             extern fn print(value) -> void;
[INFO] [stdout]  50 | |             extern fn println(value) -> void;
[INFO] [stdout] ...   |
[INFO] [stdout]  54 | |     });
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/galevm-5c3f29338b4d535a.long-type-8974008356531139351.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this warning originates in the macro `extern_fns` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 255 -             drop(__extfns);
[INFO] [stdout] 255 +             let _ = __extfns;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/fns.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |               drop(__extfns);
[INFO] [stdout]     |               ^^^^^--------^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    argument has type `&mut MutexGuard<'_, Vec<Box<dyn Fn(Vec<...>) -> ... + Send + Sync>>>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/stdlib/math.rs:62:5
[INFO] [stdout]     |
[INFO] [stdout]  62 | /     extern_fns!(visitor {
[INFO] [stdout]  63 | |         scope "std::math" {
[INFO] [stdout]  64 | |             extern fn min(min, val) -> num;
[INFO] [stdout]  65 | |             extern fn max(max, val) -> num;
[INFO] [stdout] ...   |
[INFO] [stdout]  78 | |     })
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/galevm-5c3f29338b4d535a.long-type-8974008356531139351.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this warning originates in the macro `extern_fns` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 255 -             drop(__extfns);
[INFO] [stdout] 255 +             let _ = __extfns;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/fns.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |               drop(__extfns);
[INFO] [stdout]     |               ^^^^^--------^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    argument has type `&mut MutexGuard<'_, Vec<Box<dyn Fn(Vec<...>) -> ... + Send + Sync>>>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/stdlib/strs.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout]  11 | /     extern_fns!(visitor {
[INFO] [stdout]  12 | |         scope "std::str" {
[INFO] [stdout]  13 | |             extern fn stringify(value) -> str;
[INFO] [stdout]  14 | |         }
[INFO] [stdout]  15 | |     })
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/galevm-5c3f29338b4d535a.long-type-8974008356531139351.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this warning originates in the macro `extern_fns` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 255 -             drop(__extfns);
[INFO] [stdout] 255 +             let _ = __extfns;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/fns.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |               drop(__extfns);
[INFO] [stdout]     |               ^^^^^--------^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    argument has type `&mut MutexGuard<'_, Vec<Box<dyn Fn(Vec<...>) -> ... + Send + Sync>>>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/stdlib/mem.rs:29:5
[INFO] [stdout]     |
[INFO] [stdout]  29 | /     extern_fns!(visitor {
[INFO] [stdout]  30 | |         scope "std::mem" {
[INFO] [stdout]  31 | |             extern fn transmute(value, ty) -> unknown;
[INFO] [stdout]  32 | |         }
[INFO] [stdout]  33 | |     })
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/galevm-5c3f29338b4d535a.long-type-8974008356531139351.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this warning originates in the macro `extern_fns` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 255 -             drop(__extfns);
[INFO] [stdout] 255 +             let _ = __extfns;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/fns.rs:231:13
[INFO] [stdout]     |
[INFO] [stdout] 231 |               drop(__extfns);
[INFO] [stdout]     |               ^^^^^--------^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    argument has type `&mut MutexGuard<'_, Vec<Box<dyn Fn(Vec<...>) -> ... + Send + Sync>>>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 | /         extern_fns!(vm {
[INFO] [stdout] 232 | |             extern fn example_print(name) -> void;
[INFO] [stdout] 233 | |             extern fn add(a, b) -> num;
[INFO] [stdout] 234 | |         });
[INFO] [stdout]     | |__________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/galevm-5c3f29338b4d535a.long-type-8974008356531139351.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this warning originates in the macro `extern_fns` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 231 -             drop(__extfns);
[INFO] [stdout] 231 +             let _ = __extfns;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.17s
[INFO] running `Command { std: "docker" "inspect" "2a685cd94f4c1f546689aaddb4c0343e903ba4e3faf452fda6eff2de9fa1e901", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2a685cd94f4c1f546689aaddb4c0343e903ba4e3faf452fda6eff2de9fa1e901", kill_on_drop: false }`
[INFO] [stdout] 2a685cd94f4c1f546689aaddb4c0343e903ba4e3faf452fda6eff2de9fa1e901
