[INFO] cloning repository https://github.com/nextAwaz/utencore
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nextAwaz/utencore" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FnextAwaz%2Futencore", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FnextAwaz%2Futencore'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d5a4e2bc66b2ccdc133953a919dcd648eee6b9b9
[INFO] checking nextAwaz/utencore against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FnextAwaz%2Futencore" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/nextAwaz/utencore
[INFO] finished tweaking git repo https://github.com/nextAwaz/utencore
[INFO] tweaked toml for git repo https://github.com/nextAwaz/utencore written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/nextAwaz/utencore on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/nextAwaz/utencore 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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused field `authors` in `workspace.package`
[INFO] [stderr]  --> Cargo.toml:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | authors = ["Uten Core Contributors"]
[INFO] [stderr]   | ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_workspace_package_fields` is set to `warn` by default
[INFO] [stderr] help: consider removing the field `workspace.package.authors`
[INFO] [stderr] warning: workspace (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 3b686c5604ef912549615e845bbe175366176a2b9aeac8c6a5cb181422621221
[INFO] running `Command { std: "docker" "start" "3b686c5604ef912549615e845bbe175366176a2b9aeac8c6a5cb181422621221", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3b686c5604ef912549615e845bbe175366176a2b9aeac8c6a5cb181422621221", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3b686c5604ef912549615e845bbe175366176a2b9aeac8c6a5cb181422621221" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3b686c5604ef912549615e845bbe175366176a2b9aeac8c6a5cb181422621221", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3b686c5604ef912549615e845bbe175366176a2b9aeac8c6a5cb181422621221" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: unused field `authors` in `workspace.package`
[INFO] [stderr]  --> Cargo.toml:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | authors = ["Uten Core Contributors"]
[INFO] [stderr]   | ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_workspace_package_fields` is set to `warn` by default
[INFO] [stderr] help: consider removing the field `workspace.package.authors`
[INFO] [stderr] warning: workspace (manifest) generated 1 warning
[INFO] [stderr]     Checking memchr v2.8.2
[INFO] [stderr]    Compiling libffi-sys v3.3.3
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]     Checking jiff v0.2.28
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking serde_json v1.0.150
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking utencore-types v0.1.0 (/opt/rustwide/workdir/utencore-types)
[INFO] [stderr]     Checking c-header-ucif v0.1.0 (/opt/rustwide/workdir/tools/c-header-ucif)
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stdout] warning: field `typedefs` is never read
[INFO] [stdout]   --> tools/c-header-ucif/src/parser.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct ParsedHeader {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub typedefs: Vec<(String, CType)>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParsedHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `try_eat` is never used
[INFO] [stdout]    --> tools/c-header-ucif/src/parser.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 106 |     fn try_eat(&mut self, s: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::*`
[INFO] [stdout]  --> utencore-types/src/tests.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use crate::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `typedefs` is never read
[INFO] [stdout]   --> tools/c-header-ucif/src/parser.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct ParsedHeader {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub typedefs: Vec<(String, CType)>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParsedHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `try_eat` is never used
[INFO] [stdout]    --> tools/c-header-ucif/src/parser.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 106 |     fn try_eat(&mut self, s: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking utencore-gc v0.1.0 (/opt/rustwide/workdir/utencore-gc)
[INFO] [stderr]     Checking utencore-bytecode v0.1.0 (/opt/rustwide/workdir/utencore-bytecode)
[INFO] [stdout] warning: unused imports: `CopyingGc`, `GcEngine`, `GenerationalGc`, `MarkSweepGc`, and `RefCountGc`
[INFO] [stdout]  --> utencore-gc/src/tests.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::memory::{GenerationalGc, MarkSweepGc, RefCountGc, CopyingGc, GcEngine};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> utencore-gc/src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod tests;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeapObject`, `UValue`, and `ValueTag`
[INFO] [stdout]  --> utencore-gc/src/tests.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use utencore_types::{HeapObject, UValue, GcPtr, ValueTag};
[INFO] [stdout]   |                      ^^^^^^^^^^  ^^^^^^         ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> utencore-gc/src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod tests;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UValue`
[INFO] [stdout]   --> utencore-bytecode/src/bytecode.rs:16:52
[INFO] [stdout]    |
[INFO] [stdout] 16 | use utencore_types::{FuncRef, StringId, StructDef, UValue};
[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: `UValue`
[INFO] [stdout]   --> utencore-bytecode/src/bytecode.rs:16:52
[INFO] [stdout]    |
[INFO] [stdout] 16 | use utencore_types::{FuncRef, StringId, StructDef, UValue};
[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 imports: `BytecodeReader`, `BytecodeWriter`, `ConstValue`, `ExceptionTableEntry`, `FunctionDef`, and `UtenModule`
[INFO] [stdout]  --> utencore-bytecode/src/tests.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use crate::bytecode::{BytecodeWriter, BytecodeReader, FunctionDef, UtenModule, ConstValue, ExceptionTableEntry};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BYTECODE_VERSION` and `Opcode`
[INFO] [stdout]  --> utencore-bytecode/src/tests.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use utencore_types::{Opcode, BYTECODE_VERSION};
[INFO] [stdout]   |                          ^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> utencore-gc/src/tests.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 |     for (i, ptr) in ptrs.iter().enumerate() { assert!(gc.is_valid(*ptr)); match ptr.data() { HeapObject::Array(arr) => assert_eq!(ar...
[INFO] [stdout]    |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `release_children` and `release` are never used
[INFO] [stdout]   --> utencore-gc/src/memory/refcount.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl RefCountGc {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 12 |     pub fn new() -> Self { RefCountGc { all: HashSet::new(), refcounts: HashMap::new(), stats: GcStats::default() } }
[INFO] [stdout] 13 |     fn release_children(&mut self, ptr: GcPtr) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn release(&mut self, ptr: GcPtr) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `release_children` and `release` are never used
[INFO] [stdout]   --> utencore-gc/src/memory/refcount.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl RefCountGc {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 12 |     pub fn new() -> Self { RefCountGc { all: HashSet::new(), refcounts: HashMap::new(), stats: GcStats::default() } }
[INFO] [stdout] 13 |     fn release_children(&mut self, ptr: GcPtr) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn release(&mut self, ptr: GcPtr) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoopRoots` is never constructed
[INFO] [stdout]  --> utencore-gc/src/tests.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct NoopRoots;
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking regex v1.12.4
[INFO] [stderr]     Checking env_filter v1.0.1
[INFO] [stderr]     Checking env_logger v0.11.10
[INFO] [stderr]     Checking utencore v0.1.0 (/opt/rustwide/workdir/utencore-core)
[INFO] [stdout] warning: unused import: `BytecodeReader`
[INFO] [stdout]   --> utencore-core/src/vm/mod.rs:16:23
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::bytecode::{BytecodeReader, ExceptionTableEntry, UtenModule};
[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: `TraceRoots`
[INFO] [stdout]   --> utencore-core/src/vm/mod.rs:19:36
[INFO] [stdout]    |
[INFO] [stdout] 19 | use utencore_gc::{GcEngine, GcPtr, TraceRoots};
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OpFlags`
[INFO] [stdout]   --> utencore-core/src/vm/mod.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::opcodes::{Opcode, OpFlags, opcode_info};
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> utencore-core/src/vm/dispatch/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpFlags` and `opcode_info`
[INFO] [stdout]  --> utencore-core/src/vm/dispatch/mod.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::opcodes::{Opcode, OpFlags, opcode_info};
[INFO] [stdout]   |                              ^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utencore_types::*`
[INFO] [stdout]  --> utencore-core/src/vm/dispatch/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use utencore_types::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BytecodeReader`
[INFO] [stdout]   --> utencore-core/src/vm/mod.rs:16:23
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::bytecode::{BytecodeReader, ExceptionTableEntry, UtenModule};
[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: `TraceRoots`
[INFO] [stdout]   --> utencore-core/src/vm/mod.rs:19:36
[INFO] [stdout]    |
[INFO] [stdout] 19 | use utencore_gc::{GcEngine, GcPtr, TraceRoots};
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OpFlags`
[INFO] [stdout]   --> utencore-core/src/vm/mod.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::opcodes::{Opcode, OpFlags, opcode_info};
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> utencore-core/src/vm/dispatch/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpFlags` and `opcode_info`
[INFO] [stdout]  --> utencore-core/src/vm/dispatch/mod.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::opcodes::{Opcode, OpFlags, opcode_info};
[INFO] [stdout]   |                              ^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utencore_types::*`
[INFO] [stdout]  --> utencore-core/src/vm/dispatch/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use utencore_types::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utencore_types::*`
[INFO] [stdout]  --> utencore-core/src/vm/call.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use utencore_types::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> utencore-core/src/vm/io.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 |         inner: Box<(dyn Write + Send)>,
[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] 46 -         inner: Box<(dyn Write + Send)>,
[INFO] [stdout] 46 +         inner: Box<dyn Write + Send>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utencore_types::*`
[INFO] [stdout]  --> utencore-core/src/vm/call.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use utencore_types::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> utencore-core/src/vm/io.rs:46:20
[INFO] [stdout]    |
[INFO] [stdout] 46 |         inner: Box<(dyn Write + Send)>,
[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] 46 -         inner: Box<(dyn Write + Send)>,
[INFO] [stdout] 46 +         inner: Box<dyn Write + Send>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> utencore-core/src/vm/builtins.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::io::{self, Write, BufRead};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> utencore-core/src/vm/vm_config.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> utencore-core/src/vm/builtins.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::io::{self, Write, BufRead};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::UtenResult`
[INFO] [stdout]   --> utencore-core/src/cib/closure.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::error::UtenResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> utencore-core/src/cib/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> utencore-core/src/plugin/manifest.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CCIS_ABI_VERSION`, `CcisCompileResult`, and `self`
[INFO] [stdout]  --> utencore-core/src/plugin/manifest.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::ccis::{self, CcisCompileResult, CompileContext, CompileError, CCIS_ABI_VERSION};
[INFO] [stdout]   |                   ^^^^  ^^^^^^^^^^^^^^^^^                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UtenError`
[INFO] [stdout]  --> utencore-core/src/plugin/manifest.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::error::{UtenError, UtenResult};
[INFO] [stdout]   |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> utencore-core/src/plugin/manager.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CompileContext` and `CompileError`
[INFO] [stdout]  --> utencore-core/src/plugin/manager.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::ccis::{self, CcisManifest, CompileContext, CompileError};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> utencore-core/src/vm/vm_config.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> utencore-core/src/lib.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use utencore_types::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ the name `tests` in the type namespace is first re-exported here
[INFO] [stdout] 16 | pub use utencore_bytecode::*;
[INFO] [stdout] 17 | pub use utencore_gc::*;
[INFO] [stdout]    |         -------------- but the name `tests` in the type namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::UtenResult`
[INFO] [stdout]   --> utencore-core/src/cib/closure.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::error::UtenResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> utencore-core/src/cib/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> utencore-core/src/plugin/manifest.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CCIS_ABI_VERSION`, `CcisCompileResult`, and `self`
[INFO] [stdout]  --> utencore-core/src/plugin/manifest.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::ccis::{self, CcisCompileResult, CompileContext, CompileError, CCIS_ABI_VERSION};
[INFO] [stdout]   |                   ^^^^  ^^^^^^^^^^^^^^^^^                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UtenError`
[INFO] [stdout]  --> utencore-core/src/plugin/manifest.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::error::{UtenError, UtenResult};
[INFO] [stdout]   |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> utencore-core/src/plugin/manager.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CompileContext` and `CompileError`
[INFO] [stdout]  --> utencore-core/src/plugin/manager.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::ccis::{self, CcisManifest, CompileContext, CompileError};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> utencore-core/src/lib.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use utencore_types::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ the name `tests` in the type namespace is first re-exported here
[INFO] [stdout] 16 | pub use utencore_bytecode::*;
[INFO] [stdout] 17 | pub use utencore_gc::*;
[INFO] [stdout]    |         -------------- but the name `tests` in the type namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `ccis::CcisManifest`: use plugin::PluginManifest instead
[INFO] [stdout]    --> utencore-core/src/plugin/manifest.rs:127:46
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn to_ccis_manifest(&self) -> Option<CcisManifest> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `ccis::CcisManifest`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/plugin/manager.rs:38:51
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn register_compiler(&mut self, manifest: CcisManifest, compile_fn: CompileFn) -> UtenResult<()> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `ccis::CcisManifest`: use plugin::PluginManifest instead
[INFO] [stdout]    --> utencore-core/src/plugin/manager.rs:120:24
[INFO] [stdout]     |
[INFO] [stdout] 120 |             let ccis = CcisManifest::from_json(&json_str)
[INFO] [stdout]     |                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `ccis::CcisManifest`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:70:6
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl CcisManifest {
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `ccis::CcisManifest`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         CcisManifest {
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `ccis::CcisManifest`: use plugin::PluginManifest instead
[INFO] [stdout]    --> utencore-core/src/plugin/manifest.rs:127:46
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn to_ccis_manifest(&self) -> Option<CcisManifest> {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `ccis::CcisManifest`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/plugin/manager.rs:38:51
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn register_compiler(&mut self, manifest: CcisManifest, compile_fn: CompileFn) -> UtenResult<()> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `ccis::CcisManifest`: use plugin::PluginManifest instead
[INFO] [stdout]    --> utencore-core/src/plugin/manager.rs:120:24
[INFO] [stdout]     |
[INFO] [stdout] 120 |             let ccis = CcisManifest::from_json(&json_str)
[INFO] [stdout]     |                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `ccis::CcisManifest`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:70:6
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl CcisManifest {
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `ccis::CcisManifest`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         CcisManifest {
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::version`: use plugin::PluginManifest instead
[INFO] [stdout]    --> utencore-core/src/plugin/manifest.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |             m.version = self.version.clone();
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::description`: use plugin::PluginManifest instead
[INFO] [stdout]    --> utencore-core/src/plugin/manifest.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |             m.description = self.description.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::default_gc`: use plugin::PluginManifest instead
[INFO] [stdout]    --> utencore-core/src/plugin/manifest.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |             m.default_gc = info.default_gc.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::version`: use plugin::PluginManifest instead
[INFO] [stdout]    --> utencore-core/src/plugin/manifest.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |             m.version = self.version.clone();
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::description`: use plugin::PluginManifest instead
[INFO] [stdout]    --> utencore-core/src/plugin/manifest.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |             m.description = self.description.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::default_gc`: use plugin::PluginManifest instead
[INFO] [stdout]    --> utencore-core/src/plugin/manifest.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |             m.default_gc = info.default_gc.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::ccis_version`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |             ccis_version: CCIS_MANIFEST_VERSION,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::name`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |             name: name.to_string(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::version`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |             version: env!("CARGO_PKG_VERSION").to_string(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::description`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |             description: String::new(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::language`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |             language: language.to_string(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::extensions`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |             extensions: extensions.iter().map(|s| s.to_string()).collect(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::default_gc`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |             default_gc: "generational".to_string(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::jit_recommended`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |             jit_recommended: false,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::cib_interfaces`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |             cib_interfaces: Vec::new(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::abi_version`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 82 |             abi_version: CCIS_ABI_VERSION,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::metadata`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |             metadata: HashMap::new(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::ccis_version`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |         if self.ccis_version != CCIS_MANIFEST_VERSION {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::ccis_version`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:91:72
[INFO] [stdout]    |
[INFO] [stdout] 91 |             errs.push(format!("Unsupported CCIS manifest version: {}", self.ccis_version));
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::name`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 93 |         if self.name.is_empty() {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::extensions`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 |         if self.extensions.is_empty() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::abi_version`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |         if self.abi_version != CCIS_ABI_VERSION {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::abi_version`: use plugin::PluginManifest instead
[INFO] [stdout]    --> utencore-core/src/ccis/mod.rs:100:67
[INFO] [stdout]     |
[INFO] [stdout] 100 |             errs.push(format!("Unsupported CCIS ABI version: {}", self.abi_version));
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::default_gc`: use plugin::PluginManifest instead
[INFO] [stdout]    --> utencore-core/src/ccis/mod.rs:102:15
[INFO] [stdout]     |
[INFO] [stdout] 102 |         match self.default_gc.as_str() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::default_gc`: use plugin::PluginManifest instead
[INFO] [stdout]    --> utencore-core/src/ccis/mod.rs:104:63
[INFO] [stdout]     |
[INFO] [stdout] 104 |             _ => errs.push(format!("Unknown GC strategy: {}", self.default_gc)),
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::ccis_version`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |             ccis_version: CCIS_MANIFEST_VERSION,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::name`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |             name: name.to_string(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::version`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |             version: env!("CARGO_PKG_VERSION").to_string(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::description`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |             description: String::new(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::language`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |             language: language.to_string(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::extensions`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |             extensions: extensions.iter().map(|s| s.to_string()).collect(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::default_gc`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |             default_gc: "generational".to_string(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::jit_recommended`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |             jit_recommended: false,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::cib_interfaces`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |             cib_interfaces: Vec::new(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::abi_version`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 82 |             abi_version: CCIS_ABI_VERSION,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::metadata`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |             metadata: HashMap::new(),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::ccis_version`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |         if self.ccis_version != CCIS_MANIFEST_VERSION {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::ccis_version`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:91:72
[INFO] [stdout]    |
[INFO] [stdout] 91 |             errs.push(format!("Unsupported CCIS manifest version: {}", self.ccis_version));
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::name`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 93 |         if self.name.is_empty() {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::extensions`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 |         if self.extensions.is_empty() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::abi_version`: use plugin::PluginManifest instead
[INFO] [stdout]   --> utencore-core/src/ccis/mod.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |         if self.abi_version != CCIS_ABI_VERSION {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::abi_version`: use plugin::PluginManifest instead
[INFO] [stdout]    --> utencore-core/src/ccis/mod.rs:100:67
[INFO] [stdout]     |
[INFO] [stdout] 100 |             errs.push(format!("Unsupported CCIS ABI version: {}", self.abi_version));
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::default_gc`: use plugin::PluginManifest instead
[INFO] [stdout]    --> utencore-core/src/ccis/mod.rs:102:15
[INFO] [stdout]     |
[INFO] [stdout] 102 |         match self.default_gc.as_str() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ccis::CcisManifest::default_gc`: use plugin::PluginManifest instead
[INFO] [stdout]    --> utencore-core/src/ccis/mod.rs:104:63
[INFO] [stdout]     |
[INFO] [stdout] 104 |             _ => errs.push(format!("Unknown GC strategy: {}", self.default_gc)),
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]   --> utencore-core/src/vm/builtins.rs:19:28
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::io::{self, Write, BufRead};
[INFO] [stdout]    |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]   --> utencore-core/src/vm/builtins.rs:19:28
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::io::{self, Write, BufRead};
[INFO] [stdout]    |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pfields`
[INFO] [stdout]   --> utencore-core/src/vm/dispatch/helpers.rs:77:30
[INFO] [stdout]    |
[INFO] [stdout] 77 |                         let (pfields, pch, next_proto, proto_method) = {
[INFO] [stdout]    |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pfields`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pch`
[INFO] [stdout]   --> utencore-core/src/vm/dispatch/helpers.rs:77:39
[INFO] [stdout]    |
[INFO] [stdout] 77 |                         let (pfields, pch, next_proto, proto_method) = {
[INFO] [stdout]    |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_pch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/helpers.rs:203:39
[INFO] [stdout]     |
[INFO] [stdout] 203 |             UValue::StructInline(sid, ref bytes) => {
[INFO] [stdout]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cf`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/helpers.rs:370:25
[INFO] [stdout]     |
[INFO] [stdout] 370 |                     let cf = match class_handle.data() { HeapObject::Class { fields: cf, .. } => cf.clone(), _ => vec![] };
[INFO] [stdout]     |                         ^^ help: if this is intentional, prefix it with an underscore: `_cf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pfields`
[INFO] [stdout]   --> utencore-core/src/vm/dispatch/helpers.rs:77:30
[INFO] [stdout]    |
[INFO] [stdout] 77 |                         let (pfields, pch, next_proto, proto_method) = {
[INFO] [stdout]    |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pfields`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pch`
[INFO] [stdout]   --> utencore-core/src/vm/dispatch/helpers.rs:77:39
[INFO] [stdout]    |
[INFO] [stdout] 77 |                         let (pfields, pch, next_proto, proto_method) = {
[INFO] [stdout]    |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_pch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/helpers.rs:203:39
[INFO] [stdout]     |
[INFO] [stdout] 203 |             UValue::StructInline(sid, ref bytes) => {
[INFO] [stdout]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cf`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/helpers.rs:370:25
[INFO] [stdout]     |
[INFO] [stdout] 370 |                     let cf = match class_handle.data() { HeapObject::Class { fields: cf, .. } => cf.clone(), _ => vec![] };
[INFO] [stdout]     |                         ^^ help: if this is intentional, prefix it with an underscore: `_cf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/mod.rs:739:21
[INFO] [stdout]     |
[INFO] [stdout] 739 |                 let mut args = match args_arr {
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/mod.rs:506:21
[INFO] [stdout]     |
[INFO] [stdout] 506 |                 let pos = if operand as u8 == 0 { self.s().pc } else { self.s().pc };
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `module_id`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/mod.rs:646:36
[INFO] [stdout]     |
[INFO] [stdout] 646 |                         let (func, module_id) = match ptr.data() {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_module_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `module_id`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/mod.rs:725:36
[INFO] [stdout]     |
[INFO] [stdout] 725 |                         let (func, module_id) = match ptr.data() {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_module_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `module_id`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/mod.rs:746:36
[INFO] [stdout]     |
[INFO] [stdout] 746 |                         let (func, module_id) = match ptr.data() {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_module_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]     --> utencore-core/src/vm/dispatch/mod.rs:1035:60
[INFO] [stdout]      |
[INFO] [stdout] 1035 | ...   ArraySlice => { let end = self.pop_int()?; let start = self.pop_int()?; let h = self.pop_gc(ValueTag::Array)?; let slice = m...
[INFO] [stdout]      |                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_fields`
[INFO] [stdout]     --> utencore-core/src/vm/dispatch/mod.rs:1215:41
[INFO] [stdout]      |
[INFO] [stdout] 1215 | ...                   let class_fields = match class_handle.data() {
[INFO] [stdout]      |                           ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_fields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pf_clone`
[INFO] [stdout]     --> utencore-core/src/vm/dispatch/mod.rs:1381:38
[INFO] [stdout]      |
[INFO] [stdout] 1381 | ...                   let (pf_clone, pch, next_proto, proto_method) = {
[INFO] [stdout]      |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pf_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pch`
[INFO] [stdout]     --> utencore-core/src/vm/dispatch/mod.rs:1381:48
[INFO] [stdout]      |
[INFO] [stdout] 1381 | ...                   let (pf_clone, pch, next_proto, proto_method) = {
[INFO] [stdout]      |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_pch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ptr`
[INFO] [stdout]     --> utencore-core/src/vm/dispatch/mod.rs:1427:32
[INFO] [stdout]      |
[INFO] [stdout] 1427 |                     UValue::Gc(ptr, _) => {
[INFO] [stdout]      |                                ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flag`
[INFO] [stdout]     --> utencore-core/src/vm/dispatch/mod.rs:1510:21
[INFO] [stdout]      |
[INFO] [stdout] 1510 |                 let flag = operand;
[INFO] [stdout]      |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_flag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]     --> utencore-core/src/vm/dispatch/mod.rs:1562:47
[INFO] [stdout]      |
[INFO] [stdout] 1562 |                     UValue::StructInline(sid, ref bytes) => {
[INFO] [stdout]      |                                               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:480:17
[INFO] [stdout]     |
[INFO] [stdout] 480 |             let pos = f.metadata().map(|_| 0i64).unwrap_or(0); // not great — use seek(0, CUR)
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:493:31
[INFO] [stdout]     |
[INFO] [stdout] 493 |         IoHandle::MemReader { data, pos } => Ok(UValue::Int64(*pos as i64)),
[INFO] [stdout]     |                               ^^^^ help: try ignoring the field: `data: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stdin`
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:564:9
[INFO] [stdout]     |
[INFO] [stdout] 564 |     let stdin = io::stdin().lock();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_stdin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:612:37
[INFO] [stdout]     |
[INFO] [stdout] 612 |         IoHandle::MemReader { data, pos } => Box::new(io::BufReader::new(std::io::Cursor::new(data))),
[INFO] [stdout]     |                                     ^^^ help: try ignoring the field: `pos: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:664:37
[INFO] [stdout]     |
[INFO] [stdout] 664 |         IoHandle::MemReader { data, pos } => {
[INFO] [stdout]     |                                     ^^^ help: try ignoring the field: `pos: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:928:9
[INFO] [stdout]     |
[INFO] [stdout] 928 |     let addr = match h {
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:507:9
[INFO] [stdout]     |
[INFO] [stdout] 507 |     let s = String::from_utf8_lossy(&buf).into_owned();
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:533:17
[INFO] [stdout]     |
[INFO] [stdout] 533 |             let s = std::ffi::CStr::from_ptr(utsname.sysname.as_ptr());
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:593:17
[INFO] [stdout]     |
[INFO] [stdout] 593 |             let s = std::ffi::CStr::from_ptr(p).to_string_lossy().into_owned();
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:705:15
[INFO] [stdout]     |
[INFO] [stdout] 705 |         .map(|p| UValue::String(0)) // placeholder
[INFO] [stdout]     |               ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vm`
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:771:22
[INFO] [stdout]     |
[INFO] [stdout] 771 | fn misc_wall_time_ns(vm: &Vm, _args: &[UValue]) -> UtenResult<UValue> {
[INFO] [stdout]     |                      ^^ help: if this is intentional, prefix it with an underscore: `_vm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vm`
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:775:22
[INFO] [stdout]     |
[INFO] [stdout] 775 | fn misc_wall_time_ms(vm: &Vm, _args: &[UValue]) -> UtenResult<UValue> {
[INFO] [stdout]     |                      ^^ help: if this is intentional, prefix it with an underscore: `_vm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mid`
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:849:9
[INFO] [stdout]     |
[INFO] [stdout] 849 |     let mid = vm.current_module_id();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_mid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:952:9
[INFO] [stdout]     |
[INFO] [stdout] 952 |     let bytes: Vec<u8> = (0..hex.len())
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/mod.rs:739:21
[INFO] [stdout]     |
[INFO] [stdout] 739 |                 let mut args = match args_arr {
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vm`
[INFO] [stdout]    --> utencore-core/src/vm/builtins.rs:121:11
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn as_f64(vm: &Vm, args: &[UValue], idx: usize) -> Option<f64> {
[INFO] [stdout]     |           ^^ help: if this is intentional, prefix it with an underscore: `_vm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/mod.rs:506:21
[INFO] [stdout]     |
[INFO] [stdout] 506 |                 let pos = if operand as u8 == 0 { self.s().pc } else { self.s().pc };
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `module_id`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/mod.rs:646:36
[INFO] [stdout]     |
[INFO] [stdout] 646 |                         let (func, module_id) = match ptr.data() {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_module_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `module_id`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/mod.rs:725:36
[INFO] [stdout]     |
[INFO] [stdout] 725 |                         let (func, module_id) = match ptr.data() {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_module_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `module_id`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/mod.rs:746:36
[INFO] [stdout]     |
[INFO] [stdout] 746 |                         let (func, module_id) = match ptr.data() {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_module_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]     --> utencore-core/src/vm/dispatch/mod.rs:1035:60
[INFO] [stdout]      |
[INFO] [stdout] 1035 | ...   ArraySlice => { let end = self.pop_int()?; let start = self.pop_int()?; let h = self.pop_gc(ValueTag::Array)?; let slice = m...
[INFO] [stdout]      |                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> utencore-core/src/vm/vm_tests.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let mut vm = Vm::new();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_fields`
[INFO] [stdout]     --> utencore-core/src/vm/dispatch/mod.rs:1215:41
[INFO] [stdout]      |
[INFO] [stdout] 1215 | ...                   let class_fields = match class_handle.data() {
[INFO] [stdout]      |                           ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_fields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pf_clone`
[INFO] [stdout]     --> utencore-core/src/vm/dispatch/mod.rs:1381:38
[INFO] [stdout]      |
[INFO] [stdout] 1381 | ...                   let (pf_clone, pch, next_proto, proto_method) = {
[INFO] [stdout]      |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pf_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pch`
[INFO] [stdout]     --> utencore-core/src/vm/dispatch/mod.rs:1381:48
[INFO] [stdout]      |
[INFO] [stdout] 1381 | ...                   let (pf_clone, pch, next_proto, proto_method) = {
[INFO] [stdout]      |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_pch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vm`
[INFO] [stdout]   --> utencore-core/src/vm/vm_tests.rs:25:20
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn numeric_str(vm: &Vm, val: &UValue) -> String {
[INFO] [stdout]    |                    ^^ help: if this is intentional, prefix it with an underscore: `_vm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ptr`
[INFO] [stdout]     --> utencore-core/src/vm/dispatch/mod.rs:1427:32
[INFO] [stdout]      |
[INFO] [stdout] 1427 |                     UValue::Gc(ptr, _) => {
[INFO] [stdout]      |                                ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flag`
[INFO] [stdout]     --> utencore-core/src/vm/dispatch/mod.rs:1510:21
[INFO] [stdout]      |
[INFO] [stdout] 1510 |                 let flag = operand;
[INFO] [stdout]      |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_flag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]     --> utencore-core/src/vm/dispatch/mod.rs:1562:47
[INFO] [stdout]      |
[INFO] [stdout] 1562 |                     UValue::StructInline(sid, ref bytes) => {
[INFO] [stdout]      |                                               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> utencore-core/src/vm/vm_tests.rs:426:13
[INFO] [stdout]     |
[INFO] [stdout] 426 |         let mut vm = Vm::new();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> utencore-core/src/vm/vm_tests.rs:540:13
[INFO] [stdout]     |
[INFO] [stdout] 540 |         let mut vm = Vm::new();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> utencore-core/src/vm/vm_tests.rs:560:13
[INFO] [stdout]     |
[INFO] [stdout] 560 |         let mut vm = Vm::new();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> utencore-core/src/vm/vm_tests.rs:599:13
[INFO] [stdout]     |
[INFO] [stdout] 599 |         let mut vm = Vm::new();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> utencore-core/src/vm/vm_tests.rs:630:13
[INFO] [stdout]     |
[INFO] [stdout] 630 |         let mut vm = Vm::new();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> utencore-core/src/vm/vm_tests.rs:729:13
[INFO] [stdout]     |
[INFO] [stdout] 729 |         let mut vm = Vm::new();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> utencore-core/src/vm/vm_tests.rs:856:13
[INFO] [stdout]     |
[INFO] [stdout] 856 |         let mut vm = Vm::with_config(config);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mid`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:359:17
[INFO] [stdout]     |
[INFO] [stdout] 359 |             let mid = self.current_module_id();
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_mid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:480:17
[INFO] [stdout]     |
[INFO] [stdout] 480 |             let pos = f.metadata().map(|_| 0i64).unwrap_or(0); // not great — use seek(0, CUR)
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:493:31
[INFO] [stdout]     |
[INFO] [stdout] 493 |         IoHandle::MemReader { data, pos } => Ok(UValue::Int64(*pos as i64)),
[INFO] [stdout]     |                               ^^^^ help: try ignoring the field: `data: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `st`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:559:40
[INFO] [stdout]     |
[INFO] [stdout] 559 |                     if let Some((s, e, st, excl)) = range_clone {
[INFO] [stdout]     |                                        ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stdin`
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:564:9
[INFO] [stdout]     |
[INFO] [stdout] 564 |     let stdin = io::stdin().lock();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_stdin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:612:37
[INFO] [stdout]     |
[INFO] [stdout] 612 |         IoHandle::MemReader { data, pos } => Box::new(io::BufReader::new(std::io::Cursor::new(data))),
[INFO] [stdout]     |                                     ^^^ help: try ignoring the field: `pos: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:664:37
[INFO] [stdout]     |
[INFO] [stdout] 664 |         IoHandle::MemReader { data, pos } => {
[INFO] [stdout]     |                                     ^^^ help: try ignoring the field: `pos: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:822:27
[INFO] [stdout]     |
[INFO] [stdout] 822 |         if let UValue::Gc(h, ValueTag::BigInt) = &v {
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:928:9
[INFO] [stdout]     |
[INFO] [stdout] 928 |     let addr = match h {
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:507:9
[INFO] [stdout]     |
[INFO] [stdout] 507 |     let s = String::from_utf8_lossy(&buf).into_owned();
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:533:17
[INFO] [stdout]     |
[INFO] [stdout] 533 |             let s = std::ffi::CStr::from_ptr(utsname.sysname.as_ptr());
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:593:17
[INFO] [stdout]     |
[INFO] [stdout] 593 |             let s = std::ffi::CStr::from_ptr(p).to_string_lossy().into_owned();
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:705:15
[INFO] [stdout]     |
[INFO] [stdout] 705 |         .map(|p| UValue::String(0)) // placeholder
[INFO] [stdout]     |               ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vm`
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:771:22
[INFO] [stdout]     |
[INFO] [stdout] 771 | fn misc_wall_time_ns(vm: &Vm, _args: &[UValue]) -> UtenResult<UValue> {
[INFO] [stdout]     |                      ^^ help: if this is intentional, prefix it with an underscore: `_vm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vm`
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:775:22
[INFO] [stdout]     |
[INFO] [stdout] 775 | fn misc_wall_time_ms(vm: &Vm, _args: &[UValue]) -> UtenResult<UValue> {
[INFO] [stdout]     |                      ^^ help: if this is intentional, prefix it with an underscore: `_vm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mid`
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:849:9
[INFO] [stdout]     |
[INFO] [stdout] 849 |     let mid = vm.current_module_id();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_mid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:952:9
[INFO] [stdout]     |
[INFO] [stdout] 952 |     let bytes: Vec<u8> = (0..hex.len())
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vm`
[INFO] [stdout]    --> utencore-core/src/vm/builtins.rs:121:11
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn as_f64(vm: &Vm, args: &[UValue], idx: usize) -> Option<f64> {
[INFO] [stdout]     |           ^^ help: if this is intentional, prefix it with an underscore: `_vm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mid`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:359:17
[INFO] [stdout]     |
[INFO] [stdout] 359 |             let mid = self.current_module_id();
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_mid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `st`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:559:40
[INFO] [stdout]     |
[INFO] [stdout] 559 |                     if let Some((s, e, st, excl)) = range_clone {
[INFO] [stdout]     |                                        ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:822:27
[INFO] [stdout]     |
[INFO] [stdout] 822 |         if let UValue::Gc(h, ValueTag::BigInt) = &v {
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `plugin_mgr` is never read
[INFO] [stdout]   --> utencore-core/src/vm/mod.rs:75:16
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub(crate) struct VmInner {
[INFO] [stdout]    |                   ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub(crate) plugin_mgr: PluginManager,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `import_resolutions` is never read
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub(crate) struct LoadedModule {
[INFO] [stdout]     |                   ------------ field in this struct
[INFO] [stdout] 129 |     module: UtenModule,
[INFO] [stdout] 130 |     import_resolutions: Vec<ImportResolution>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LoadedModule` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `module_id` and `func_id` are never read
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub(crate) struct ImportResolution {
[INFO] [stdout]     |                   ---------------- fields in this struct
[INFO] [stdout] 137 |     module_id: ModuleId,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 138 |     func_id: FuncRef,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ImportResolution` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stack_len` is never read
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:440:5
[INFO] [stdout]     |
[INFO] [stdout] 437 | pub(crate) struct VmState {
[INFO] [stdout]     |                   ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 440 |     stack_len: usize,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `value_as_uint` and `gc_write_barrier` are never used
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:478:19
[INFO] [stdout]     |
[INFO] [stdout] 446 | impl Vm {
[INFO] [stdout]     | ------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 478 |     pub(crate) fn value_as_uint(&self, v: &UValue) -> UtenResult<u64> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 859 |     pub(crate) fn gc_write_barrier(&self, container: GcPtr, stored_value: &UValue) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/helpers.rs:14:19
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl Vm {
[INFO] [stdout]     | ------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  14 |     pub(super) fn op_new_namespace(&self, operand: u32) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  22 |     pub(super) fn op_new_class(&self) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  36 |     pub(super) fn op_get_attr(&self, target_sid: StringId) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub(super) fn op_set_attr(&self, target_sid: StringId) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub(super) fn op_class_add_method(&self, operand: u32) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub(super) fn op_instance_of(&self) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub(super) fn op_has_field(&self, name_sid: StringId) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub(super) fn op_import(&self, name_sid: StringId) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub(super) fn op_import_func(&self, name_sid: StringId) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub(super) fn op_import_value(&self, name_sid: StringId) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     pub(super) fn op_export(&self, sid: StringId) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 346 |     pub(super) fn op_cib_call_typed(&self) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     pub(super) fn op_get_field_object(&self, ptr: GcPtr, fid: StringId) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     pub(super) fn op_get_field_namespace(&self, ptr: GcPtr, fid: StringId) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_int` is never used
[INFO] [stdout]   --> utencore-core/src/vm/gc.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn get_int(args: &[UValue], idx: usize) -> UtenResult<i64> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_int` is never used
[INFO] [stdout]   --> utencore-core/src/vm/namespace.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn get_int(args: &[UValue], idx: usize) -> UtenResult<i64> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `has_bom` is never read
[INFO] [stdout]   --> utencore-core/src/vm/io.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     StreamReader {
[INFO] [stdout]    |     ------------ field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 42 |         has_bom: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `has_bom` is never read
[INFO] [stdout]   --> utencore-core/src/vm/io.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     StreamWriter {
[INFO] [stdout]    |     ------------ field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 48 |         has_bom: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Taken` and `BufWriter` are never constructed
[INFO] [stdout]   --> utencore-core/src/vm/io.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) enum IoHandle {
[INFO] [stdout]    |                 -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 31 |     Taken,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     BufWriter(Box<dyn Write + Send>),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `replace_handle` is never used
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:199:15
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub(crate) fn replace_handle(vm: &Vm, handle_id: i64, new: IoHandle) -> UtenResult<IoHandle> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `io_is_terminal` is never used
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:579:4
[INFO] [stdout]     |
[INFO] [stdout] 579 | fn io_is_terminal(_vm: &Vm, args: &[UValue]) -> UtenResult<UValue> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `io_buf_reader` is never used
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:602:4
[INFO] [stdout]     |
[INFO] [stdout] 602 | fn io_buf_reader(vm: &Vm, args: &[UValue]) -> UtenResult<UValue> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `io_buf_writer` is never used
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:625:4
[INFO] [stdout]     |
[INFO] [stdout] 625 | fn io_buf_writer(vm: &Vm, args: &[UValue]) -> UtenResult<UValue> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_str_arg` is never used
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:203:4
[INFO] [stdout]     |
[INFO] [stdout] 203 | fn get_str_arg(vm: &Vm, args: &[UValue], idx: usize) -> UtenResult<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/helpers.rs:165:68
[INFO] [stdout]     |
[INFO] [stdout] 165 |                 else { return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }); }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 165 -                 else { return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }); }
[INFO] [stdout] 165 +                 else { return Err(UtenError::TypeError { expected: "function", actual: format!("{:?}", tag) }); }
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 165 -                 else { return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }); }
[INFO] [stdout] 165 +                 else { return Err(UtenError::TypeError { expected: <&str as Into<_>>::into("function"), actual: format!("{:?}", tag) }); }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/helpers.rs:167:62
[INFO] [stdout]     |
[INFO] [stdout] 167 | ...   _ => return Err(UtenError::TypeError { expected: "function ref or closure".into(), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 167 -             _ => return Err(UtenError::TypeError { expected: "function ref or closure".into(), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout] 167 +             _ => return Err(UtenError::TypeError { expected: "function ref or closure", actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 167 -             _ => return Err(UtenError::TypeError { expected: "function ref or closure".into(), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout] 167 +             _ => return Err(UtenError::TypeError { expected: <&str as Into<_>>::into("function ref or closure"), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/mod.rs:649:78
[INFO] [stdout]     |
[INFO] [stdout] 649 | ...                   _ => return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 649 -                             _ => return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout] 649 +                             _ => return Err(UtenError::TypeError { expected: "function", actual: format!("{:?}", tag) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 649 -                             _ => return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout] 649 +                             _ => return Err(UtenError::TypeError { expected: <&str as Into<_>>::into("function"), actual: format!("{:?}", tag) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/mod.rs:683:70
[INFO] [stdout]     |
[INFO] [stdout] 683 |                     _ => return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 683 -                     _ => return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout] 683 +                     _ => return Err(UtenError::TypeError { expected: "function", actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 683 -                     _ => return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout] 683 +                     _ => return Err(UtenError::TypeError { expected: <&str as Into<_>>::into("function"), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/mod.rs:916:82
[INFO] [stdout]     |
[INFO] [stdout] 916 | ...                   _ => return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 916 -                                 _ => return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout] 916 +                                 _ => return Err(UtenError::TypeError { expected: "function", actual: format!("{:?}", tag) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 916 -                                 _ => return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout] 916 +                                 _ => return Err(UtenError::TypeError { expected: <&str as Into<_>>::into("function"), actual: format!("{:?}", tag) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]     --> utencore-core/src/vm/dispatch/mod.rs:1491:76
[INFO] [stdout]      |
[INFO] [stdout] 1491 |                         else { return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }); }
[INFO] [stdout]      |                                                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1491 -                         else { return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }); }
[INFO] [stdout] 1491 +                         else { return Err(UtenError::TypeError { expected: "function", actual: format!("{:?}", tag) }); }
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1491 -                         else { return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }); }
[INFO] [stdout] 1491 +                         else { return Err(UtenError::TypeError { expected: <&str as Into<_>>::into("function"), actual: format!("{:?}", tag) }); }
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]     --> utencore-core/src/vm/dispatch/mod.rs:1493:70
[INFO] [stdout]      |
[INFO] [stdout] 1493 | ...   _ => return Err(UtenError::TypeError { expected: "function ref or closure".into(), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout]      |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1493 -                     _ => return Err(UtenError::TypeError { expected: "function ref or closure".into(), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout] 1493 +                     _ => return Err(UtenError::TypeError { expected: "function ref or closure", actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1493 -                     _ => return Err(UtenError::TypeError { expected: "function ref or closure".into(), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout] 1493 +                     _ => return Err(UtenError::TypeError { expected: <&str as Into<_>>::into("function ref or closure"), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> utencore-core/src/vm/gc.rs:52:57
[INFO] [stdout]    |
[INFO] [stdout] 52 |         Some(v) => Err(UtenError::TypeError { expected: "gc object".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 52 -         Some(v) => Err(UtenError::TypeError { expected: "gc object".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 52 +         Some(v) => Err(UtenError::TypeError { expected: "gc object", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 52 -         Some(v) => Err(UtenError::TypeError { expected: "gc object".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 52 +         Some(v) => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("gc object"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> utencore-core/src/vm/gc.rs:61:57
[INFO] [stdout]    |
[INFO] [stdout] 61 |         Some(v) => Err(UtenError::TypeError { expected: "gc object".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 61 -         Some(v) => Err(UtenError::TypeError { expected: "gc object".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 61 +         Some(v) => Err(UtenError::TypeError { expected: "gc object", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 61 -         Some(v) => Err(UtenError::TypeError { expected: "gc object".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 61 +         Some(v) => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("gc object"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> utencore-core/src/vm/gc.rs:75:51
[INFO] [stdout]    |
[INFO] [stdout] 75 |         _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 75 -         _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 75 +         _ => Err(UtenError::TypeError { expected: "numeric", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 75 -         _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 75 +         _ => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> utencore-core/src/vm/namespace.rs:58:51
[INFO] [stdout]    |
[INFO] [stdout] 58 |         _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 58 -         _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 58 +         _ => Err(UtenError::TypeError { expected: "numeric", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 58 -         _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 58 +         _ => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> utencore-core/src/vm/namespace.rs:70:51
[INFO] [stdout]    |
[INFO] [stdout] 70 |         _ => Err(UtenError::TypeError { expected: "string".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 70 -         _ => Err(UtenError::TypeError { expected: "string".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 70 +         _ => Err(UtenError::TypeError { expected: "string", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 70 -         _ => Err(UtenError::TypeError { expected: "string".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 70 +         _ => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("string"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:259:51
[INFO] [stdout]     |
[INFO] [stdout] 259 |         _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 259 -         _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 259 +         _ => Err(UtenError::TypeError { expected: "numeric", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 259 -         _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 259 +         _ => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:302:23
[INFO] [stdout]     |
[INFO] [stdout] 302 |             expected: "Bytes, ByteArray, or String".into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 302 -             expected: "Bytes, ByteArray, or String".into(),
[INFO] [stdout] 302 +             expected: "Bytes, ByteArray, or String",
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 302 -             expected: "Bytes, ByteArray, or String".into(),
[INFO] [stdout] 302 +             expected: <&str as Into<_>>::into("Bytes, ByteArray, or String"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:173:23
[INFO] [stdout]     |
[INFO] [stdout] 173 |             expected: "numeric".into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 173 -             expected: "numeric".into(),
[INFO] [stdout] 173 +             expected: "numeric",
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 173 -             expected: "numeric".into(),
[INFO] [stdout] 173 +             expected: <&str as Into<_>>::into("numeric"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:934:23
[INFO] [stdout]     |
[INFO] [stdout] 934 |             expected: "Bytes or ByteArray".into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 934 -             expected: "Bytes or ByteArray".into(),
[INFO] [stdout] 934 +             expected: "Bytes or ByteArray",
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 934 -             expected: "Bytes or ByteArray".into(),
[INFO] [stdout] 934 +             expected: <&str as Into<_>>::into("Bytes or ByteArray"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]     --> utencore-core/src/vm/misc.rs:1220:23
[INFO] [stdout]      |
[INFO] [stdout] 1220 |             expected: "Bytes".into(),
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1220 -             expected: "Bytes".into(),
[INFO] [stdout] 1220 +             expected: "Bytes",
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1220 -             expected: "Bytes".into(),
[INFO] [stdout] 1220 +             expected: <&str as Into<_>>::into("Bytes"),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]     --> utencore-core/src/vm/misc.rs:1305:23
[INFO] [stdout]      |
[INFO] [stdout] 1305 |             expected: "numeric".into(),
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1305 -             expected: "numeric".into(),
[INFO] [stdout] 1305 +             expected: "numeric",
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1305 -             expected: "numeric".into(),
[INFO] [stdout] 1305 +             expected: <&str as Into<_>>::into("numeric"),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]     --> utencore-core/src/vm/misc.rs:1320:23
[INFO] [stdout]      |
[INFO] [stdout] 1320 |             expected: "string".into(),
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1320 -             expected: "string".into(),
[INFO] [stdout] 1320 +             expected: "string",
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1320 -             expected: "string".into(),
[INFO] [stdout] 1320 +             expected: <&str as Into<_>>::into("string"),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/builtins.rs:138:81
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 138 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 138 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric", actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 138 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 138 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/builtins.rs:143:81
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 143 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 143 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric", actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 143 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 143 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/builtins.rs:148:81
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 148 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 148 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric", actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 148 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 148 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/builtins.rs:153:81
[INFO] [stdout]     |
[INFO] [stdout] 153 |     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 153 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 153 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric", actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 153 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 153 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/builtins.rs:158:81
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 158 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 158 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric", actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 158 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 158 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/builtins.rs:163:81
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 163 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 163 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric", actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 163 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 163 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/builtins.rs:168:81
[INFO] [stdout]     |
[INFO] [stdout] 168 |     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 168 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 168 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric", actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 168 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 168 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/builtins.rs:173:81
[INFO] [stdout]     |
[INFO] [stdout] 173 |     let a = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 173 -     let a = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 173 +     let a = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric", actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 173 -     let a = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 173 +     let a = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/builtins.rs:174:81
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let b = as_f64(_vm, args, 1).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 174 -     let b = as_f64(_vm, args, 1).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 174 +     let b = as_f64(_vm, args, 1).ok_or_else(|| UtenError::TypeError { expected: "numeric", actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 174 -     let b = as_f64(_vm, args, 1).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 174 +     let b = as_f64(_vm, args, 1).ok_or_else(|| UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:470:67
[INFO] [stdout]     |
[INFO] [stdout] 470 |                     } else { Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", tag) }) }
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 470 -                     } else { Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", tag) }) }
[INFO] [stdout] 470 +                     } else { Err(UtenError::TypeError { expected: "numeric", actual: format!("{:?}", tag) }) }
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 470 -                     } else { Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", tag) }) }
[INFO] [stdout] 470 +                     } else { Err(UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: format!("{:?}", tag) }) }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:472:59
[INFO] [stdout]     |
[INFO] [stdout] 472 |                 _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 472 -                 _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout] 472 +                 _ => Err(UtenError::TypeError { expected: "numeric", actual: format!("{:?}", tag) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 472 -                 _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout] 472 +                 _ => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: format!("{:?}", tag) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:474:55
[INFO] [stdout]     |
[INFO] [stdout] 474 |             _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 474 -             _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 474 +             _ => Err(UtenError::TypeError { expected: "numeric", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 474 -             _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 474 +             _ => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:492:67
[INFO] [stdout]     |
[INFO] [stdout] 492 |                     } else { Err(UtenError::TypeError { expected: "unsigned numeric".into(), actual: format!("{:?}", tag) }) }
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 492 -                     } else { Err(UtenError::TypeError { expected: "unsigned numeric".into(), actual: format!("{:?}", tag) }) }
[INFO] [stdout] 492 +                     } else { Err(UtenError::TypeError { expected: "unsigned numeric", actual: format!("{:?}", tag) }) }
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 492 -                     } else { Err(UtenError::TypeError { expected: "unsigned numeric".into(), actual: format!("{:?}", tag) }) }
[INFO] [stdout] 492 +                     } else { Err(UtenError::TypeError { expected: <&str as Into<_>>::into("unsigned numeric"), actual: format!("{:?}", tag) }) }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:494:59
[INFO] [stdout]     |
[INFO] [stdout] 494 |                 _ => Err(UtenError::TypeError { expected: "unsigned numeric".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 494 -                 _ => Err(UtenError::TypeError { expected: "unsigned numeric".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout] 494 +                 _ => Err(UtenError::TypeError { expected: "unsigned numeric", actual: format!("{:?}", tag) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 494 -                 _ => Err(UtenError::TypeError { expected: "unsigned numeric".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout] 494 +                 _ => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("unsigned numeric"), actual: format!("{:?}", tag) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:496:55
[INFO] [stdout]     |
[INFO] [stdout] 496 |             _ => Err(UtenError::TypeError { expected: "unsigned numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 496 -             _ => Err(UtenError::TypeError { expected: "unsigned numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 496 +             _ => Err(UtenError::TypeError { expected: "unsigned numeric", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 496 -             _ => Err(UtenError::TypeError { expected: "unsigned numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 496 +             _ => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("unsigned numeric"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:602:63
[INFO] [stdout]     |
[INFO] [stdout] 602 |                 } else { Err(UtenError::TypeError { expected: "numeric".into(), actual: "BigInt".into() }) }
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 602 -                 } else { Err(UtenError::TypeError { expected: "numeric".into(), actual: "BigInt".into() }) }
[INFO] [stdout] 602 +                 } else { Err(UtenError::TypeError { expected: "numeric", actual: "BigInt".into() }) }
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 602 -                 } else { Err(UtenError::TypeError { expected: "numeric".into(), actual: "BigInt".into() }) }
[INFO] [stdout] 602 +                 } else { Err(UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: "BigInt".into() }) }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:604:55
[INFO] [stdout]     |
[INFO] [stdout] 604 |             v => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 604 -             v => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 604 +             v => Err(UtenError::TypeError { expected: "numeric", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 604 -             v => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 604 +             v => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:617:55
[INFO] [stdout]     |
[INFO] [stdout] 617 |             v => Err(UtenError::TypeError { expected: "unsigned".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 617 -             v => Err(UtenError::TypeError { expected: "unsigned".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 617 +             v => Err(UtenError::TypeError { expected: "unsigned", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 617 -             v => Err(UtenError::TypeError { expected: "unsigned".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 617 +             v => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("unsigned"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:630:55
[INFO] [stdout]     |
[INFO] [stdout] 630 |             v => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 630 -             v => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 630 +             v => Err(UtenError::TypeError { expected: "numeric", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 630 -             v => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 630 +             v => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:641:55
[INFO] [stdout]     |
[INFO] [stdout] 641 |             v => Err(UtenError::TypeError { expected: "gc object".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 641 -             v => Err(UtenError::TypeError { expected: "gc object".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 641 +             v => Err(UtenError::TypeError { expected: "gc object", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 641 -             v => Err(UtenError::TypeError { expected: "gc object".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 641 +             v => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("gc object"), actual: format!("{:?}", v.tag()) }),
[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]    --> utencore-core/src/vm/mod.rs:404:13
[INFO] [stdout]     |
[INFO] [stdout] 404 |             drop(bytecode);
[INFO] [stdout]     |             ^^^^^--------^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  argument has type `&[u8]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 404 -             drop(bytecode);
[INFO] [stdout] 404 +             let _ = bytecode;
[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]    --> utencore-core/src/vm/io.rs:482:13
[INFO] [stdout]     |
[INFO] [stdout] 482 |             drop(h);
[INFO] [stdout]     |             ^^^^^-^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  argument has type `&IoHandle`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 482 -             drop(h);
[INFO] [stdout] 482 +             let _ = h;
[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]    --> utencore-core/src/vm/io.rs:932:5
[INFO] [stdout]     |
[INFO] [stdout] 932 |     drop(h);
[INFO] [stdout]     |     ^^^^^-^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          argument has type `&IoHandle`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 932 -     drop(h);
[INFO] [stdout] 932 +     let _ = h;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 |             CType::Void => &mut ffi::ffi_type_void,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 13 |             CType::Void => &raw mut ffi::ffi_type_void,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:14:57
[INFO] [stdout]    |
[INFO] [stdout] 14 |             CType::Bool | CType::Char | CType::UChar => &mut ffi::ffi_type_sint8,
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 14 |             CType::Bool | CType::Char | CType::UChar => &raw mut ffi::ffi_type_sint8,
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 |             CType::Short => &mut ffi::ffi_type_sint16,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 15 |             CType::Short => &raw mut ffi::ffi_type_sint16,
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:16:30
[INFO] [stdout]    |
[INFO] [stdout] 16 |             CType::UShort => &mut ffi::ffi_type_uint16,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 16 |             CType::UShort => &raw mut ffi::ffi_type_uint16,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:17:27
[INFO] [stdout]    |
[INFO] [stdout] 17 |             CType::Int => &mut ffi::ffi_type_sint32,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 17 |             CType::Int => &raw mut ffi::ffi_type_sint32,
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |             CType::UInt => &mut ffi::ffi_type_uint32,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 18 |             CType::UInt => &raw mut ffi::ffi_type_uint32,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:20:54
[INFO] [stdout]    |
[INFO] [stdout] 20 |                 if std::mem::size_of::<i64>() == 8 { &mut ffi::ffi_type_sint64 }
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 20 |                 if std::mem::size_of::<i64>() == 8 { &raw mut ffi::ffi_type_sint64 }
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 else { &mut ffi::ffi_type_sint32 }
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 else { &raw mut ffi::ffi_type_sint32 }
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:24:54
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 if std::mem::size_of::<i64>() == 8 { &mut ffi::ffi_type_uint64 }
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 if std::mem::size_of::<i64>() == 8 { &raw mut ffi::ffi_type_uint64 }
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 |                 else { &mut ffi::ffi_type_uint32 }
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 25 |                 else { &raw mut ffi::ffi_type_uint32 }
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:27:32
[INFO] [stdout]    |
[INFO] [stdout] 27 |             CType::LongLong => &mut ffi::ffi_type_sint64,
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 27 |             CType::LongLong => &raw mut ffi::ffi_type_sint64,
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:28:33
[INFO] [stdout]    |
[INFO] [stdout] 28 |             CType::ULongLong => &mut ffi::ffi_type_uint64,
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 28 |             CType::ULongLong => &raw mut ffi::ffi_type_uint64,
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:29:29
[INFO] [stdout]    |
[INFO] [stdout] 29 |             CType::Float => &mut ffi::ffi_type_float,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 29 |             CType::Float => &raw mut ffi::ffi_type_float,
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:30:30
[INFO] [stdout]    |
[INFO] [stdout] 30 |             CType::Double => &mut ffi::ffi_type_double,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 30 |             CType::Double => &raw mut ffi::ffi_type_double,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:31:79
[INFO] [stdout]    |
[INFO] [stdout] 31 |             CType::Pointer(_) | CType::ConstPointer(_) | CType::FuncPtr(_) => &mut ffi::ffi_type_pointer,
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 31 |             CType::Pointer(_) | CType::ConstPointer(_) | CType::FuncPtr(_) => &raw mut ffi::ffi_type_pointer,
[INFO] [stdout]    |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:33:18
[INFO] [stdout]    |
[INFO] [stdout] 33 |             _ => &mut ffi::ffi_type_void,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 33 |             _ => &raw mut ffi::ffi_type_void,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `plugin_mgr` is never read
[INFO] [stdout]   --> utencore-core/src/vm/mod.rs:75:16
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub(crate) struct VmInner {
[INFO] [stdout]    |                   ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub(crate) plugin_mgr: PluginManager,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `import_resolutions` is never read
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub(crate) struct LoadedModule {
[INFO] [stdout]     |                   ------------ field in this struct
[INFO] [stdout] 129 |     module: UtenModule,
[INFO] [stdout] 130 |     import_resolutions: Vec<ImportResolution>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LoadedModule` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `module_id` and `func_id` are never read
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub(crate) struct ImportResolution {
[INFO] [stdout]     |                   ---------------- fields in this struct
[INFO] [stdout] 137 |     module_id: ModuleId,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 138 |     func_id: FuncRef,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ImportResolution` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stack_len` is never read
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:440:5
[INFO] [stdout]     |
[INFO] [stdout] 437 | pub(crate) struct VmState {
[INFO] [stdout]     |                   ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 440 |     stack_len: usize,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `value_as_uint` and `gc_write_barrier` are never used
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:478:19
[INFO] [stdout]     |
[INFO] [stdout] 446 | impl Vm {
[INFO] [stdout]     | ------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 478 |     pub(crate) fn value_as_uint(&self, v: &UValue) -> UtenResult<u64> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 859 |     pub(crate) fn gc_write_barrier(&self, container: GcPtr, stored_value: &UValue) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/helpers.rs:14:19
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl Vm {
[INFO] [stdout]     | ------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  14 |     pub(super) fn op_new_namespace(&self, operand: u32) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  22 |     pub(super) fn op_new_class(&self) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  36 |     pub(super) fn op_get_attr(&self, target_sid: StringId) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub(super) fn op_set_attr(&self, target_sid: StringId) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub(super) fn op_class_add_method(&self, operand: u32) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub(super) fn op_instance_of(&self) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub(super) fn op_has_field(&self, name_sid: StringId) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub(super) fn op_import(&self, name_sid: StringId) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub(super) fn op_import_func(&self, name_sid: StringId) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub(super) fn op_import_value(&self, name_sid: StringId) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     pub(super) fn op_export(&self, sid: StringId) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 346 |     pub(super) fn op_cib_call_typed(&self) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     pub(super) fn op_get_field_object(&self, ptr: GcPtr, fid: StringId) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     pub(super) fn op_get_field_namespace(&self, ptr: GcPtr, fid: StringId) -> UtenResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_int` is never used
[INFO] [stdout]   --> utencore-core/src/vm/gc.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn get_int(args: &[UValue], idx: usize) -> UtenResult<i64> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_int` is never used
[INFO] [stdout]   --> utencore-core/src/vm/namespace.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn get_int(args: &[UValue], idx: usize) -> UtenResult<i64> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `has_bom` is never read
[INFO] [stdout]   --> utencore-core/src/vm/io.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     StreamReader {
[INFO] [stdout]    |     ------------ field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 42 |         has_bom: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `has_bom` is never read
[INFO] [stdout]   --> utencore-core/src/vm/io.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     StreamWriter {
[INFO] [stdout]    |     ------------ field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 48 |         has_bom: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Taken` and `BufWriter` are never constructed
[INFO] [stdout]   --> utencore-core/src/vm/io.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub(crate) enum IoHandle {
[INFO] [stdout]    |                 -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 31 |     Taken,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     BufWriter(Box<dyn Write + Send>),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `replace_handle` is never used
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:199:15
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub(crate) fn replace_handle(vm: &Vm, handle_id: i64, new: IoHandle) -> UtenResult<IoHandle> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `io_is_terminal` is never used
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:579:4
[INFO] [stdout]     |
[INFO] [stdout] 579 | fn io_is_terminal(_vm: &Vm, args: &[UValue]) -> UtenResult<UValue> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `io_buf_reader` is never used
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:602:4
[INFO] [stdout]     |
[INFO] [stdout] 602 | fn io_buf_reader(vm: &Vm, args: &[UValue]) -> UtenResult<UValue> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `io_buf_writer` is never used
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:625:4
[INFO] [stdout]     |
[INFO] [stdout] 625 | fn io_buf_writer(vm: &Vm, args: &[UValue]) -> UtenResult<UValue> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_str_arg` is never used
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:203:4
[INFO] [stdout]     |
[INFO] [stdout] 203 | fn get_str_arg(vm: &Vm, args: &[UValue], idx: usize) -> UtenResult<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `utencore` (lib test) due to 39 previous errors; 124 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/helpers.rs:165:68
[INFO] [stdout]     |
[INFO] [stdout] 165 |                 else { return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }); }
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 165 -                 else { return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }); }
[INFO] [stdout] 165 +                 else { return Err(UtenError::TypeError { expected: "function", actual: format!("{:?}", tag) }); }
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 165 -                 else { return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }); }
[INFO] [stdout] 165 +                 else { return Err(UtenError::TypeError { expected: <&str as Into<_>>::into("function"), actual: format!("{:?}", tag) }); }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/helpers.rs:167:62
[INFO] [stdout]     |
[INFO] [stdout] 167 | ...   _ => return Err(UtenError::TypeError { expected: "function ref or closure".into(), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 167 -             _ => return Err(UtenError::TypeError { expected: "function ref or closure".into(), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout] 167 +             _ => return Err(UtenError::TypeError { expected: "function ref or closure", actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 167 -             _ => return Err(UtenError::TypeError { expected: "function ref or closure".into(), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout] 167 +             _ => return Err(UtenError::TypeError { expected: <&str as Into<_>>::into("function ref or closure"), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/mod.rs:649:78
[INFO] [stdout]     |
[INFO] [stdout] 649 | ...                   _ => return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 649 -                             _ => return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout] 649 +                             _ => return Err(UtenError::TypeError { expected: "function", actual: format!("{:?}", tag) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 649 -                             _ => return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout] 649 +                             _ => return Err(UtenError::TypeError { expected: <&str as Into<_>>::into("function"), actual: format!("{:?}", tag) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/mod.rs:683:70
[INFO] [stdout]     |
[INFO] [stdout] 683 |                     _ => return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 683 -                     _ => return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout] 683 +                     _ => return Err(UtenError::TypeError { expected: "function", actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 683 -                     _ => return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout] 683 +                     _ => return Err(UtenError::TypeError { expected: <&str as Into<_>>::into("function"), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/dispatch/mod.rs:916:82
[INFO] [stdout]     |
[INFO] [stdout] 916 | ...                   _ => return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 916 -                                 _ => return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout] 916 +                                 _ => return Err(UtenError::TypeError { expected: "function", actual: format!("{:?}", tag) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 916 -                                 _ => return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout] 916 +                                 _ => return Err(UtenError::TypeError { expected: <&str as Into<_>>::into("function"), actual: format!("{:?}", tag) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]     --> utencore-core/src/vm/dispatch/mod.rs:1491:76
[INFO] [stdout]      |
[INFO] [stdout] 1491 |                         else { return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }); }
[INFO] [stdout]      |                                                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1491 -                         else { return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }); }
[INFO] [stdout] 1491 +                         else { return Err(UtenError::TypeError { expected: "function", actual: format!("{:?}", tag) }); }
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1491 -                         else { return Err(UtenError::TypeError { expected: "function".into(), actual: format!("{:?}", tag) }); }
[INFO] [stdout] 1491 +                         else { return Err(UtenError::TypeError { expected: <&str as Into<_>>::into("function"), actual: format!("{:?}", tag) }); }
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]     --> utencore-core/src/vm/dispatch/mod.rs:1493:70
[INFO] [stdout]      |
[INFO] [stdout] 1493 | ...   _ => return Err(UtenError::TypeError { expected: "function ref or closure".into(), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout]      |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1493 -                     _ => return Err(UtenError::TypeError { expected: "function ref or closure".into(), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout] 1493 +                     _ => return Err(UtenError::TypeError { expected: "function ref or closure", actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1493 -                     _ => return Err(UtenError::TypeError { expected: "function ref or closure".into(), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout] 1493 +                     _ => return Err(UtenError::TypeError { expected: <&str as Into<_>>::into("function ref or closure"), actual: format!("{:?}", func_val.tag()) }),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> utencore-core/src/vm/gc.rs:52:57
[INFO] [stdout]    |
[INFO] [stdout] 52 |         Some(v) => Err(UtenError::TypeError { expected: "gc object".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 52 -         Some(v) => Err(UtenError::TypeError { expected: "gc object".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 52 +         Some(v) => Err(UtenError::TypeError { expected: "gc object", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 52 -         Some(v) => Err(UtenError::TypeError { expected: "gc object".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 52 +         Some(v) => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("gc object"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> utencore-core/src/vm/gc.rs:61:57
[INFO] [stdout]    |
[INFO] [stdout] 61 |         Some(v) => Err(UtenError::TypeError { expected: "gc object".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 61 -         Some(v) => Err(UtenError::TypeError { expected: "gc object".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 61 +         Some(v) => Err(UtenError::TypeError { expected: "gc object", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 61 -         Some(v) => Err(UtenError::TypeError { expected: "gc object".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 61 +         Some(v) => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("gc object"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> utencore-core/src/vm/gc.rs:75:51
[INFO] [stdout]    |
[INFO] [stdout] 75 |         _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 75 -         _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 75 +         _ => Err(UtenError::TypeError { expected: "numeric", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 75 -         _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 75 +         _ => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> utencore-core/src/vm/namespace.rs:58:51
[INFO] [stdout]    |
[INFO] [stdout] 58 |         _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 58 -         _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 58 +         _ => Err(UtenError::TypeError { expected: "numeric", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 58 -         _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 58 +         _ => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]   --> utencore-core/src/vm/namespace.rs:70:51
[INFO] [stdout]    |
[INFO] [stdout] 70 |         _ => Err(UtenError::TypeError { expected: "string".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 70 -         _ => Err(UtenError::TypeError { expected: "string".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 70 +         _ => Err(UtenError::TypeError { expected: "string", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 70 -         _ => Err(UtenError::TypeError { expected: "string".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 70 +         _ => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("string"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:259:51
[INFO] [stdout]     |
[INFO] [stdout] 259 |         _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 259 -         _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 259 +         _ => Err(UtenError::TypeError { expected: "numeric", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 259 -         _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 259 +         _ => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/io.rs:302:23
[INFO] [stdout]     |
[INFO] [stdout] 302 |             expected: "Bytes, ByteArray, or String".into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 302 -             expected: "Bytes, ByteArray, or String".into(),
[INFO] [stdout] 302 +             expected: "Bytes, ByteArray, or String",
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 302 -             expected: "Bytes, ByteArray, or String".into(),
[INFO] [stdout] 302 +             expected: <&str as Into<_>>::into("Bytes, ByteArray, or String"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:173:23
[INFO] [stdout]     |
[INFO] [stdout] 173 |             expected: "numeric".into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 173 -             expected: "numeric".into(),
[INFO] [stdout] 173 +             expected: "numeric",
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 173 -             expected: "numeric".into(),
[INFO] [stdout] 173 +             expected: <&str as Into<_>>::into("numeric"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/misc.rs:934:23
[INFO] [stdout]     |
[INFO] [stdout] 934 |             expected: "Bytes or ByteArray".into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 934 -             expected: "Bytes or ByteArray".into(),
[INFO] [stdout] 934 +             expected: "Bytes or ByteArray",
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 934 -             expected: "Bytes or ByteArray".into(),
[INFO] [stdout] 934 +             expected: <&str as Into<_>>::into("Bytes or ByteArray"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]     --> utencore-core/src/vm/misc.rs:1220:23
[INFO] [stdout]      |
[INFO] [stdout] 1220 |             expected: "Bytes".into(),
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1220 -             expected: "Bytes".into(),
[INFO] [stdout] 1220 +             expected: "Bytes",
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1220 -             expected: "Bytes".into(),
[INFO] [stdout] 1220 +             expected: <&str as Into<_>>::into("Bytes"),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]     --> utencore-core/src/vm/misc.rs:1305:23
[INFO] [stdout]      |
[INFO] [stdout] 1305 |             expected: "numeric".into(),
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1305 -             expected: "numeric".into(),
[INFO] [stdout] 1305 +             expected: "numeric",
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1305 -             expected: "numeric".into(),
[INFO] [stdout] 1305 +             expected: <&str as Into<_>>::into("numeric"),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]     --> utencore-core/src/vm/misc.rs:1320:23
[INFO] [stdout]      |
[INFO] [stdout] 1320 |             expected: "string".into(),
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1320 -             expected: "string".into(),
[INFO] [stdout] 1320 +             expected: "string",
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1320 -             expected: "string".into(),
[INFO] [stdout] 1320 +             expected: <&str as Into<_>>::into("string"),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/builtins.rs:138:81
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 138 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 138 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric", actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 138 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 138 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/builtins.rs:143:81
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 143 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 143 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric", actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 143 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 143 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/builtins.rs:148:81
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 148 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 148 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric", actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 148 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 148 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/builtins.rs:153:81
[INFO] [stdout]     |
[INFO] [stdout] 153 |     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 153 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 153 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric", actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 153 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 153 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/builtins.rs:158:81
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 158 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 158 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric", actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 158 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 158 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/builtins.rs:163:81
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 163 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 163 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric", actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 163 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 163 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/builtins.rs:168:81
[INFO] [stdout]     |
[INFO] [stdout] 168 |     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 168 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 168 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric", actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 168 -     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 168 +     let v = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/builtins.rs:173:81
[INFO] [stdout]     |
[INFO] [stdout] 173 |     let a = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 173 -     let a = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 173 +     let a = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric", actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 173 -     let a = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 173 +     let a = as_f64(_vm, args, 0).ok_or_else(|| UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/builtins.rs:174:81
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let b = as_f64(_vm, args, 1).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 174 -     let b = as_f64(_vm, args, 1).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 174 +     let b = as_f64(_vm, args, 1).ok_or_else(|| UtenError::TypeError { expected: "numeric", actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 174 -     let b = as_f64(_vm, args, 1).ok_or_else(|| UtenError::TypeError { expected: "numeric".into(), actual: "?".into() })?;
[INFO] [stdout] 174 +     let b = as_f64(_vm, args, 1).ok_or_else(|| UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: "?".into() })?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:470:67
[INFO] [stdout]     |
[INFO] [stdout] 470 |                     } else { Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", tag) }) }
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 470 -                     } else { Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", tag) }) }
[INFO] [stdout] 470 +                     } else { Err(UtenError::TypeError { expected: "numeric", actual: format!("{:?}", tag) }) }
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 470 -                     } else { Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", tag) }) }
[INFO] [stdout] 470 +                     } else { Err(UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: format!("{:?}", tag) }) }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:472:59
[INFO] [stdout]     |
[INFO] [stdout] 472 |                 _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 472 -                 _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout] 472 +                 _ => Err(UtenError::TypeError { expected: "numeric", actual: format!("{:?}", tag) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 472 -                 _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout] 472 +                 _ => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: format!("{:?}", tag) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:474:55
[INFO] [stdout]     |
[INFO] [stdout] 474 |             _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 474 -             _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 474 +             _ => Err(UtenError::TypeError { expected: "numeric", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 474 -             _ => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 474 +             _ => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:492:67
[INFO] [stdout]     |
[INFO] [stdout] 492 |                     } else { Err(UtenError::TypeError { expected: "unsigned numeric".into(), actual: format!("{:?}", tag) }) }
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 492 -                     } else { Err(UtenError::TypeError { expected: "unsigned numeric".into(), actual: format!("{:?}", tag) }) }
[INFO] [stdout] 492 +                     } else { Err(UtenError::TypeError { expected: "unsigned numeric", actual: format!("{:?}", tag) }) }
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 492 -                     } else { Err(UtenError::TypeError { expected: "unsigned numeric".into(), actual: format!("{:?}", tag) }) }
[INFO] [stdout] 492 +                     } else { Err(UtenError::TypeError { expected: <&str as Into<_>>::into("unsigned numeric"), actual: format!("{:?}", tag) }) }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:494:59
[INFO] [stdout]     |
[INFO] [stdout] 494 |                 _ => Err(UtenError::TypeError { expected: "unsigned numeric".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 494 -                 _ => Err(UtenError::TypeError { expected: "unsigned numeric".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout] 494 +                 _ => Err(UtenError::TypeError { expected: "unsigned numeric", actual: format!("{:?}", tag) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 494 -                 _ => Err(UtenError::TypeError { expected: "unsigned numeric".into(), actual: format!("{:?}", tag) }),
[INFO] [stdout] 494 +                 _ => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("unsigned numeric"), actual: format!("{:?}", tag) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:496:55
[INFO] [stdout]     |
[INFO] [stdout] 496 |             _ => Err(UtenError::TypeError { expected: "unsigned numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 496 -             _ => Err(UtenError::TypeError { expected: "unsigned numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 496 +             _ => Err(UtenError::TypeError { expected: "unsigned numeric", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 496 -             _ => Err(UtenError::TypeError { expected: "unsigned numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 496 +             _ => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("unsigned numeric"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:602:63
[INFO] [stdout]     |
[INFO] [stdout] 602 |                 } else { Err(UtenError::TypeError { expected: "numeric".into(), actual: "BigInt".into() }) }
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 602 -                 } else { Err(UtenError::TypeError { expected: "numeric".into(), actual: "BigInt".into() }) }
[INFO] [stdout] 602 +                 } else { Err(UtenError::TypeError { expected: "numeric", actual: "BigInt".into() }) }
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 602 -                 } else { Err(UtenError::TypeError { expected: "numeric".into(), actual: "BigInt".into() }) }
[INFO] [stdout] 602 +                 } else { Err(UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: "BigInt".into() }) }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:604:55
[INFO] [stdout]     |
[INFO] [stdout] 604 |             v => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 604 -             v => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 604 +             v => Err(UtenError::TypeError { expected: "numeric", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 604 -             v => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 604 +             v => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:617:55
[INFO] [stdout]     |
[INFO] [stdout] 617 |             v => Err(UtenError::TypeError { expected: "unsigned".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 617 -             v => Err(UtenError::TypeError { expected: "unsigned".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 617 +             v => Err(UtenError::TypeError { expected: "unsigned", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 617 -             v => Err(UtenError::TypeError { expected: "unsigned".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 617 +             v => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("unsigned"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:630:55
[INFO] [stdout]     |
[INFO] [stdout] 630 |             v => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 630 -             v => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 630 +             v => Err(UtenError::TypeError { expected: "numeric", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 630 -             v => Err(UtenError::TypeError { expected: "numeric".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 630 +             v => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("numeric"), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `&str`
[INFO] [stdout]    --> utencore-core/src/vm/mod.rs:641:55
[INFO] [stdout]     |
[INFO] [stdout] 641 |             v => Err(UtenError::TypeError { expected: "gc object".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 641 -             v => Err(UtenError::TypeError { expected: "gc object".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 641 +             v => Err(UtenError::TypeError { expected: "gc object", actual: format!("{:?}", v.tag()) }),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 641 -             v => Err(UtenError::TypeError { expected: "gc object".into(), actual: format!("{:?}", v.tag()) }),
[INFO] [stdout] 641 +             v => Err(UtenError::TypeError { expected: <&str as Into<_>>::into("gc object"), actual: format!("{:?}", v.tag()) }),
[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]    --> utencore-core/src/vm/mod.rs:404:13
[INFO] [stdout]     |
[INFO] [stdout] 404 |             drop(bytecode);
[INFO] [stdout]     |             ^^^^^--------^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  argument has type `&[u8]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 404 -             drop(bytecode);
[INFO] [stdout] 404 +             let _ = bytecode;
[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]    --> utencore-core/src/vm/io.rs:482:13
[INFO] [stdout]     |
[INFO] [stdout] 482 |             drop(h);
[INFO] [stdout]     |             ^^^^^-^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  argument has type `&IoHandle`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 482 -             drop(h);
[INFO] [stdout] 482 +             let _ = h;
[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]    --> utencore-core/src/vm/io.rs:932:5
[INFO] [stdout]     |
[INFO] [stdout] 932 |     drop(h);
[INFO] [stdout]     |     ^^^^^-^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          argument has type `&IoHandle`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 932 -     drop(h);
[INFO] [stdout] 932 +     let _ = h;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 |             CType::Void => &mut ffi::ffi_type_void,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 13 |             CType::Void => &raw mut ffi::ffi_type_void,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:14:57
[INFO] [stdout]    |
[INFO] [stdout] 14 |             CType::Bool | CType::Char | CType::UChar => &mut ffi::ffi_type_sint8,
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 14 |             CType::Bool | CType::Char | CType::UChar => &raw mut ffi::ffi_type_sint8,
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 |             CType::Short => &mut ffi::ffi_type_sint16,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 15 |             CType::Short => &raw mut ffi::ffi_type_sint16,
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:16:30
[INFO] [stdout]    |
[INFO] [stdout] 16 |             CType::UShort => &mut ffi::ffi_type_uint16,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 16 |             CType::UShort => &raw mut ffi::ffi_type_uint16,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:17:27
[INFO] [stdout]    |
[INFO] [stdout] 17 |             CType::Int => &mut ffi::ffi_type_sint32,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 17 |             CType::Int => &raw mut ffi::ffi_type_sint32,
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |             CType::UInt => &mut ffi::ffi_type_uint32,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 18 |             CType::UInt => &raw mut ffi::ffi_type_uint32,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:20:54
[INFO] [stdout]    |
[INFO] [stdout] 20 |                 if std::mem::size_of::<i64>() == 8 { &mut ffi::ffi_type_sint64 }
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 20 |                 if std::mem::size_of::<i64>() == 8 { &raw mut ffi::ffi_type_sint64 }
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 else { &mut ffi::ffi_type_sint32 }
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 else { &raw mut ffi::ffi_type_sint32 }
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:24:54
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 if std::mem::size_of::<i64>() == 8 { &mut ffi::ffi_type_uint64 }
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 if std::mem::size_of::<i64>() == 8 { &raw mut ffi::ffi_type_uint64 }
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 |                 else { &mut ffi::ffi_type_uint32 }
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 25 |                 else { &raw mut ffi::ffi_type_uint32 }
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:27:32
[INFO] [stdout]    |
[INFO] [stdout] 27 |             CType::LongLong => &mut ffi::ffi_type_sint64,
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 27 |             CType::LongLong => &raw mut ffi::ffi_type_sint64,
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:28:33
[INFO] [stdout]    |
[INFO] [stdout] 28 |             CType::ULongLong => &mut ffi::ffi_type_uint64,
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 28 |             CType::ULongLong => &raw mut ffi::ffi_type_uint64,
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:29:29
[INFO] [stdout]    |
[INFO] [stdout] 29 |             CType::Float => &mut ffi::ffi_type_float,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 29 |             CType::Float => &raw mut ffi::ffi_type_float,
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:30:30
[INFO] [stdout]    |
[INFO] [stdout] 30 |             CType::Double => &mut ffi::ffi_type_double,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 30 |             CType::Double => &raw mut ffi::ffi_type_double,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:31:79
[INFO] [stdout]    |
[INFO] [stdout] 31 |             CType::Pointer(_) | CType::ConstPointer(_) | CType::FuncPtr(_) => &mut ffi::ffi_type_pointer,
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 31 |             CType::Pointer(_) | CType::ConstPointer(_) | CType::FuncPtr(_) => &raw mut ffi::ffi_type_pointer,
[INFO] [stdout]    |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> utencore-core/src/cib/ffi.rs:33:18
[INFO] [stdout]    |
[INFO] [stdout] 33 |             _ => &mut ffi::ffi_type_void,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 33 |             _ => &raw mut ffi::ffi_type_void,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `utencore` (lib) due to 39 previous errors; 115 warnings emitted
[INFO] [stderr] warning: unused dependency `env_logger`
[INFO] [stderr]   --> utencore-core/Cargo.toml:23:1
[INFO] [stderr]    |
[INFO] [stderr] 23 | env_logger = "0.11"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `env_logger`
[INFO] [stderr] warning: unused dependency `rayon`
[INFO] [stderr]   --> utencore-core/Cargo.toml:28:1
[INFO] [stderr]    |
[INFO] [stderr] 28 | rayon = "1"
[INFO] [stderr]    | ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `rayon`
[INFO] [stderr] warning: unused dependency `rustc-hash`
[INFO] [stderr]   --> utencore-core/Cargo.toml:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | rustc-hash = "2"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `rustc-hash`
[INFO] [stderr] warning: `utencore` (manifest) generated 3 warnings
[INFO] [stderr] warning: unused dependency `serde_json`
[INFO] [stderr]   --> utencore-types/Cargo.toml:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | serde_json = "1"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `serde_json`
[INFO] [stderr] warning: `utencore-types` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "inspect" "3b686c5604ef912549615e845bbe175366176a2b9aeac8c6a5cb181422621221", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3b686c5604ef912549615e845bbe175366176a2b9aeac8c6a5cb181422621221", kill_on_drop: false }`
[INFO] [stdout] 3b686c5604ef912549615e845bbe175366176a2b9aeac8c6a5cb181422621221
