[INFO] fetching crate datafu 0.1.0-alpha.2...
[INFO] testing datafu-0.1.0-alpha.2 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate datafu 0.1.0-alpha.2 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate datafu 0.1.0-alpha.2
[INFO] finished tweaking crates.io crate datafu 0.1.0-alpha.2
[INFO] tweaked toml for crates.io crate datafu 0.1.0-alpha.2 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate datafu 0.1.0-alpha.2 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 69 packages to latest compatible versions
[INFO] [stderr]       Adding erased-serde v0.3.31 (available: v0.4.9)
[INFO] [stderr]       Adding indexmap v1.9.3 (available: v2.12.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded impl_trait v0.1.7
[INFO] [stderr]   Downloaded charx v1.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7bef78c7279e99ed47c6ae7a6e033eff466855dd7488d659896c027db2497146
[INFO] running `Command { std: "docker" "start" "-a" "7bef78c7279e99ed47c6ae7a6e033eff466855dd7488d659896c027db2497146", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7bef78c7279e99ed47c6ae7a6e033eff466855dd7488d659896c027db2497146", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7bef78c7279e99ed47c6ae7a6e033eff466855dd7488d659896c027db2497146", kill_on_drop: false }`
[INFO] [stdout] 7bef78c7279e99ed47c6ae7a6e033eff466855dd7488d659896c027db2497146
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fc3ab0ffc94a9a94e4ba150063d5ef68443f131cee4303a7af20db4acf9a0426
[INFO] running `Command { std: "docker" "start" "-a" "fc3ab0ffc94a9a94e4ba150063d5ef68443f131cee4303a7af20db4acf9a0426", kill_on_drop: false }`
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling erased-serde v0.3.31
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling impl_trait v0.1.7
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling datafu v0.1.0-alpha.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::cell::Cell`
[INFO] [stdout]  --> src/vm/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::cell::Cell;
[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: `std::cell::RefCell`
[INFO] [stdout]   --> src/vm/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BTreeMap`
[INFO] [stdout]   --> src/vm/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::BTreeMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smallvec::SmallVec`
[INFO] [stdout]   --> src/vm/de/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use smallvec::SmallVec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::PatternConstants`
[INFO] [stdout]   --> src/vm/de/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use super::PatternConstants;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]     --> src/vm/de/mod.rs:1113:23
[INFO] [stdout]      |
[INFO] [stdout] 1112 |                 variant: todo!(),
[INFO] [stdout]      |                          ------- any code following this expression is unreachable
[INFO] [stdout] 1113 |                 data: todo!(),
[INFO] [stdout]      |                       ^^^^^^^ unreachable expression
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]      = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::Deserialize`
[INFO] [stdout]  --> src/pattern.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde::de::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/graph.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |                 let mut unpacker = Unpacker::new(pack, MAX_CALLS);
[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: `custom`
[INFO] [stdout]    --> src/parser.rs:534:17
[INFO] [stdout]     |
[INFO] [stdout] 534 |             let custom = strip_prefix(&mut cursor, "$");
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_custom`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:702:13
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut has_subtrees = false;
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `has_subtrees`
[INFO] [stdout]    --> src/parser.rs:702:13
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut has_subtrees = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_subtrees`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visitor`
[INFO] [stdout]    --> src/vm/de/unpacker.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |         visitor: V,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visitor`
[INFO] [stdout]    --> src/vm/de/unpacker.rs:138:33
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn deserialize_seq<V>(self, visitor: V) -> Result<V::Value, Self::Error> where V: serde::de::Visitor<'de> { todo!(); }
[INFO] [stdout]     |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/vm/de/unpacker.rs:228:9
[INFO] [stdout]     |
[INFO] [stdout] 228 |         name: &'static str,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fields`
[INFO] [stdout]    --> src/vm/de/unpacker.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |         fields: &'static [&'static str],
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_fields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visitor`
[INFO] [stdout]    --> src/vm/de/unpacker.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 |         visitor: V,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num`
[INFO] [stdout]    --> src/vm/de/mod.rs:244:35
[INFO] [stdout]     |
[INFO] [stdout] 244 | ...                   Some((num, _)) => {
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]    --> src/vm/de/mod.rs:254:29
[INFO] [stdout]     |
[INFO] [stdout] 254 |                         let frame = self.interp.frames.remove(index);
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |         mut self,
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> src/vm/de/mod.rs:339:22
[INFO] [stdout]     |
[INFO] [stdout] 339 |                     (left, Some((right, _))) => {
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> src/vm/de/mod.rs:339:34
[INFO] [stdout]     |
[INFO] [stdout] 339 |                     (left, Some((right, _))) => {
[INFO] [stdout]     |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pat`
[INFO] [stdout]    --> src/vm/de/mod.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let pat = self.interp.pat;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_pat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 481 |     vs!(fn visit_bool Bool (Type::Bool) bool);
[INFO] [stdout]     |     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 482 |     vs!(fn visit_i8 I8 (Type::I8) i8);
[INFO] [stdout]     |     --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 483 |     vs!(fn visit_i16 I16 (Type::I16) i16);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 484 |     vs!(fn visit_i32 I32 (Type::I32) i32);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 485 |     vs!(fn visit_i64 I64 (Type::I64) i64);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 486 |     vs!(fn visit_i128 I128 (Type::I128) i128);
[INFO] [stdout]     |     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 487 |     vs!(fn visit_u8 U8 (Type::U8) u8);
[INFO] [stdout]     |     --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 488 |     vs!(fn visit_u16 U16 (Type::U16) u16);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 489 |     vs!(fn visit_u32 U32 (Type::U32) u32);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 490 |     vs!(fn visit_u64 U64 (Type::U64) u64);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 491 |     vs!(fn visit_u128 U128 (Type::U128) u128);
[INFO] [stdout]     |     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 492 |     vs!(fn visit_f32 F32 (Type::F32) f32);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 493 |     vs!(fn visit_f64 F64 (Type::F64) f64);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 494 |     vs!(fn visit_char Char (Type::Char) char);
[INFO] [stdout]     |     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `deserializer`
[INFO] [stdout]    --> src/vm/de/mod.rs:682:28
[INFO] [stdout]     |
[INFO] [stdout] 682 |     fn visit_some<D>(self, deserializer: D) -> Result<Self::Value, D::Error>
[INFO] [stdout]     |                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_deserializer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `deserializer`
[INFO] [stdout]    --> src/vm/de/mod.rs:696:9
[INFO] [stdout]     |
[INFO] [stdout] 696 |         deserializer: D
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_deserializer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `while let` pattern
[INFO] [stdout]    --> src/vm/de/mod.rs:757:15
[INFO] [stdout]     |
[INFO] [stdout] 757 |           while let packed_key = {
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 758 | |             let subinterp = Interpreter {
[INFO] [stdout] 759 | |                 pat: pat,
[INFO] [stdout] 760 | |                 frames: &mut subframes,
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |         } {
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the loop will never exit
[INFO] [stdout]     = help: consider instead using a `loop { ... }` with a `let` inside it
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/vm/de/mod.rs:1109:13
[INFO] [stdout]      |
[INFO] [stdout] 1109 |         let mut obj = None;
[INFO] [stdout]      |             ----^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]     --> src/vm/de/mod.rs:1105:28
[INFO] [stdout]      |
[INFO] [stdout] 1105 |     fn visit_enum<A>(self, data: A) -> Result<Self::Value, A::Error>
[INFO] [stdout]      |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]     --> src/vm/de/mod.rs:1109:13
[INFO] [stdout]      |
[INFO] [stdout] 1109 |         let mut obj = None;
[INFO] [stdout]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]     --> src/vm/de/mod.rs:1141:38
[INFO] [stdout]      |
[INFO] [stdout] 1141 |     fn newtype_variant_seed<T>(self, seed: T) -> Result<T::Value, E>
[INFO] [stdout]      |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]     --> src/vm/de/mod.rs:1147:31
[INFO] [stdout]      |
[INFO] [stdout] 1147 |     fn tuple_variant<V>(self, len: usize, visitor: V) -> Result<V::Value, E>
[INFO] [stdout]      |                               ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visitor`
[INFO] [stdout]     --> src/vm/de/mod.rs:1147:43
[INFO] [stdout]      |
[INFO] [stdout] 1147 |     fn tuple_variant<V>(self, len: usize, visitor: V) -> Result<V::Value, E>
[INFO] [stdout]      |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fields`
[INFO] [stdout]     --> src/vm/de/mod.rs:1155:9
[INFO] [stdout]      |
[INFO] [stdout] 1155 |         fields: &'static [&'static str],
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_fields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visitor`
[INFO] [stdout]     --> src/vm/de/mod.rs:1156:9
[INFO] [stdout]      |
[INFO] [stdout] 1156 |         visitor: V,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/mod.rs:379:23
[INFO] [stdout]     |
[INFO] [stdout] 379 |     fn zip(&mut self, mut other: Self) {
[INFO] [stdout]     |                       ----^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pred` is never used
[INFO] [stdout]    --> src/lib.rs:149:4
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn pred<F>(f: F) -> Box<Predicate>
[INFO] [stdout]     |    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/vm/mod.rs:187:15
[INFO] [stdout]     |
[INFO] [stdout] 187 |     Parameter(usize, bool),
[INFO] [stdout]     |     --------- ^^^^^  ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PatternToken` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 187 -     Parameter(usize, bool),
[INFO] [stdout] 187 +     Parameter((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/vm/mod.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |     ApplyPredicate(
[INFO] [stdout]     |     -------------- fields in this variant
[INFO] [stdout] 196 |         /// The predicate index (in `PatternConstants.predicates`).
[INFO] [stdout] 197 |         usize,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 198 |         /// Whether to skip non-matching values, instead of erroring.
[INFO] [stdout] 199 |         bool,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PatternToken` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 197 ~         (),
[INFO] [stdout] 198 |         /// Whether to skip non-matching values, instead of erroring.
[INFO] [stdout] 199 ~         (),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/vm/mod.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub(crate) enum Type {
[INFO] [stdout]     |                 ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 251 |     Tuple(usize),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 252 |     Map,
[INFO] [stdout] 253 |     UnitStruct(&'static str),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 254 |     NewtypeStruct(&'static str),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 255 |     TupleStruct {
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     Identifier,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 260 |     Struct {
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     Enum {
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Some` and `NewtypeStruct` are never constructed
[INFO] [stdout]    --> src/vm/mod.rs:291:5
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub(crate) enum SerdeObject<'de> {
[INFO] [stdout]     |                 ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 291 |     Some(Box<SerdeObject<'de>>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     NewtypeStruct(Box<SerdeObject<'de>>),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SerdeObject` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SerdeObjectSeq` is never constructed
[INFO] [stdout]     --> src/vm/de/mod.rs:1127:8
[INFO] [stdout]      |
[INFO] [stdout] 1127 | struct SerdeObjectSeq<'de, I: Iterator<Item=SerdeObject<'de>>, E> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `call_limit` is never read
[INFO] [stdout]   --> src/vm/de/unpacker.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Unpacker<'pat, 'de> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 20 |     packs: Vec<Pack<'pat, 'de>>,
[INFO] [stdout] 21 |     call_limit: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |             self.interp.error.insert(MatchError::StackOverflow);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 125 |             let _ = self.interp.error.insert(MatchError::StackOverflow);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:272:33
[INFO] [stdout]     |
[INFO] [stdout] 272 | / ...                   self.interp.error.insert({
[INFO] [stdout] 273 | | ...                       MatchError::ValidationError
[INFO] [stdout] 274 | | ...                   });
[INFO] [stdout]     | |________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 272 |                                 let _ = self.interp.error.insert({
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:348:17
[INFO] [stdout]     |
[INFO] [stdout] 348 |                 self.interp.error.insert(e);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 348 |                 let _ = self.interp.error.insert(e);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:481:5
[INFO] [stdout]     |
[INFO] [stdout] 481 |     vs!(fn visit_bool Bool (Type::Bool) bool);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 481 |     let _ = vs!(fn visit_bool Bool (Type::Bool) bool);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:482:5
[INFO] [stdout]     |
[INFO] [stdout] 482 |     vs!(fn visit_i8 I8 (Type::I8) i8);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 482 |     let _ = vs!(fn visit_i8 I8 (Type::I8) i8);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:483:5
[INFO] [stdout]     |
[INFO] [stdout] 483 |     vs!(fn visit_i16 I16 (Type::I16) i16);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 483 |     let _ = vs!(fn visit_i16 I16 (Type::I16) i16);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:484:5
[INFO] [stdout]     |
[INFO] [stdout] 484 |     vs!(fn visit_i32 I32 (Type::I32) i32);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 484 |     let _ = vs!(fn visit_i32 I32 (Type::I32) i32);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:485:5
[INFO] [stdout]     |
[INFO] [stdout] 485 |     vs!(fn visit_i64 I64 (Type::I64) i64);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 485 |     let _ = vs!(fn visit_i64 I64 (Type::I64) i64);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:486:5
[INFO] [stdout]     |
[INFO] [stdout] 486 |     vs!(fn visit_i128 I128 (Type::I128) i128);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 486 |     let _ = vs!(fn visit_i128 I128 (Type::I128) i128);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:487:5
[INFO] [stdout]     |
[INFO] [stdout] 487 |     vs!(fn visit_u8 U8 (Type::U8) u8);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 487 |     let _ = vs!(fn visit_u8 U8 (Type::U8) u8);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:488:5
[INFO] [stdout]     |
[INFO] [stdout] 488 |     vs!(fn visit_u16 U16 (Type::U16) u16);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 488 |     let _ = vs!(fn visit_u16 U16 (Type::U16) u16);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:489:5
[INFO] [stdout]     |
[INFO] [stdout] 489 |     vs!(fn visit_u32 U32 (Type::U32) u32);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 489 |     let _ = vs!(fn visit_u32 U32 (Type::U32) u32);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:490:5
[INFO] [stdout]     |
[INFO] [stdout] 490 |     vs!(fn visit_u64 U64 (Type::U64) u64);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 490 |     let _ = vs!(fn visit_u64 U64 (Type::U64) u64);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:491:5
[INFO] [stdout]     |
[INFO] [stdout] 491 |     vs!(fn visit_u128 U128 (Type::U128) u128);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 491 |     let _ = vs!(fn visit_u128 U128 (Type::U128) u128);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:492:5
[INFO] [stdout]     |
[INFO] [stdout] 492 |     vs!(fn visit_f32 F32 (Type::F32) f32);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 492 |     let _ = vs!(fn visit_f32 F32 (Type::F32) f32);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:493:5
[INFO] [stdout]     |
[INFO] [stdout] 493 |     vs!(fn visit_f64 F64 (Type::F64) f64);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 493 |     let _ = vs!(fn visit_f64 F64 (Type::F64) f64);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:494:5
[INFO] [stdout]     |
[INFO] [stdout] 494 |     vs!(fn visit_char Char (Type::Char) char);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 494 |     let _ = vs!(fn visit_char Char (Type::Char) char);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:566:17
[INFO] [stdout]     |
[INFO] [stdout] 566 |                 self.interp.error.insert(e);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 566 |                 let _ = self.interp.error.insert(e);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:643:17
[INFO] [stdout]     |
[INFO] [stdout] 643 |                 self.interp.error.insert(e);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 643 |                 let _ = self.interp.error.insert(e);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:661:9
[INFO] [stdout]     |
[INFO] [stdout] 661 |         vs!(self (Cow::Owned(v.to_owned())) Bytes (Type::Bytes | Type::ByteBuf))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 661 |         let _ = vs!(self (Cow::Owned(v.to_owned())) Bytes (Type::Bytes | Type::ByteBuf))
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:667:9
[INFO] [stdout]     |
[INFO] [stdout] 667 |         vs!(self (Cow::Borrowed(v)) Bytes (Type::Bytes | Type::ByteBuf))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 667 |         let _ = vs!(self (Cow::Borrowed(v)) Bytes (Type::Bytes | Type::ByteBuf))
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:680:9
[INFO] [stdout]     |
[INFO] [stdout] 680 |         vs!(self {} None (Type::Option))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 680 |         let _ = vs!(self {} None (Type::Option))
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:692:9
[INFO] [stdout]     |
[INFO] [stdout] 692 |         vs!(self {} Unit (Type::Unit))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 692 |         let _ = vs!(self {} Unit (Type::Unit))
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:733:17
[INFO] [stdout]     |
[INFO] [stdout] 733 |                 self.interp.error.insert(e);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 733 |                 let _ = self.interp.error.insert(e);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:939:17
[INFO] [stdout]     |
[INFO] [stdout] 939 |                 self.interp.error.insert(e);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 939 |                 let _ = self.interp.error.insert(e);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.47s
[INFO] running `Command { std: "docker" "inspect" "fc3ab0ffc94a9a94e4ba150063d5ef68443f131cee4303a7af20db4acf9a0426", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fc3ab0ffc94a9a94e4ba150063d5ef68443f131cee4303a7af20db4acf9a0426", kill_on_drop: false }`
[INFO] [stdout] fc3ab0ffc94a9a94e4ba150063d5ef68443f131cee4303a7af20db4acf9a0426
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 155e0f9e141304623149c4342b09fceb4b65eac4114bbab9b61b5fa7d1452f99
[INFO] running `Command { std: "docker" "start" "-a" "155e0f9e141304623149c4342b09fceb4b65eac4114bbab9b61b5fa7d1452f99", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling heapless v0.7.17
[INFO] [stderr]    Compiling hash32 v0.2.1
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stderr]    Compiling impl_trait v0.1.7
[INFO] [stderr]    Compiling charx v1.1.0
[INFO] [stderr]    Compiling cobs v0.3.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling erased-serde v0.3.31
[INFO] [stderr]    Compiling proptest v1.9.0
[INFO] [stderr]    Compiling postcard v1.1.3
[INFO] [stderr]    Compiling datafu v0.1.0-alpha.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::cell::Cell`
[INFO] [stdout]  --> src/vm/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::cell::Cell;
[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: `std::cell::RefCell`
[INFO] [stdout]   --> src/vm/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BTreeMap`
[INFO] [stdout]   --> src/vm/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::BTreeMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smallvec::SmallVec`
[INFO] [stdout]   --> src/vm/de/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use smallvec::SmallVec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::PatternConstants`
[INFO] [stdout]   --> src/vm/de/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use super::PatternConstants;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]     --> src/vm/de/mod.rs:1113:23
[INFO] [stdout]      |
[INFO] [stdout] 1112 |                 variant: todo!(),
[INFO] [stdout]      |                          ------- any code following this expression is unreachable
[INFO] [stdout] 1113 |                 data: todo!(),
[INFO] [stdout]      |                       ^^^^^^^ unreachable expression
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]      = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::Deserialize`
[INFO] [stdout]  --> src/pattern.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde::de::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/graph.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |                 let mut unpacker = Unpacker::new(pack, MAX_CALLS);
[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: `custom`
[INFO] [stdout]    --> src/parser.rs:534:17
[INFO] [stdout]     |
[INFO] [stdout] 534 |             let custom = strip_prefix(&mut cursor, "$");
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_custom`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:702:13
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut has_subtrees = false;
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `has_subtrees`
[INFO] [stdout]    --> src/parser.rs:702:13
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut has_subtrees = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_subtrees`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visitor`
[INFO] [stdout]    --> src/vm/de/unpacker.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |         visitor: V,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visitor`
[INFO] [stdout]    --> src/vm/de/unpacker.rs:138:33
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn deserialize_seq<V>(self, visitor: V) -> Result<V::Value, Self::Error> where V: serde::de::Visitor<'de> { todo!(); }
[INFO] [stdout]     |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/vm/de/unpacker.rs:228:9
[INFO] [stdout]     |
[INFO] [stdout] 228 |         name: &'static str,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fields`
[INFO] [stdout]    --> src/vm/de/unpacker.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |         fields: &'static [&'static str],
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_fields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visitor`
[INFO] [stdout]    --> src/vm/de/unpacker.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 |         visitor: V,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num`
[INFO] [stdout]    --> src/vm/de/mod.rs:244:35
[INFO] [stdout]     |
[INFO] [stdout] 244 | ...                   Some((num, _)) => {
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]    --> src/vm/de/mod.rs:254:29
[INFO] [stdout]     |
[INFO] [stdout] 254 |                         let frame = self.interp.frames.remove(index);
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |         mut self,
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> src/vm/de/mod.rs:339:22
[INFO] [stdout]     |
[INFO] [stdout] 339 |                     (left, Some((right, _))) => {
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> src/vm/de/mod.rs:339:34
[INFO] [stdout]     |
[INFO] [stdout] 339 |                     (left, Some((right, _))) => {
[INFO] [stdout]     |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pat`
[INFO] [stdout]    --> src/vm/de/mod.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let pat = self.interp.pat;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_pat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 481 |     vs!(fn visit_bool Bool (Type::Bool) bool);
[INFO] [stdout]     |     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 482 |     vs!(fn visit_i8 I8 (Type::I8) i8);
[INFO] [stdout]     |     --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 483 |     vs!(fn visit_i16 I16 (Type::I16) i16);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 484 |     vs!(fn visit_i32 I32 (Type::I32) i32);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 485 |     vs!(fn visit_i64 I64 (Type::I64) i64);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 486 |     vs!(fn visit_i128 I128 (Type::I128) i128);
[INFO] [stdout]     |     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 487 |     vs!(fn visit_u8 U8 (Type::U8) u8);
[INFO] [stdout]     |     --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 488 |     vs!(fn visit_u16 U16 (Type::U16) u16);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 489 |     vs!(fn visit_u32 U32 (Type::U32) u32);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 490 |     vs!(fn visit_u64 U64 (Type::U64) u64);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 491 |     vs!(fn visit_u128 U128 (Type::U128) u128);
[INFO] [stdout]     |     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 492 |     vs!(fn visit_f32 F32 (Type::F32) f32);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 493 |     vs!(fn visit_f64 F64 (Type::F64) f64);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 494 |     vs!(fn visit_char Char (Type::Char) char);
[INFO] [stdout]     |     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `deserializer`
[INFO] [stdout]    --> src/vm/de/mod.rs:682:28
[INFO] [stdout]     |
[INFO] [stdout] 682 |     fn visit_some<D>(self, deserializer: D) -> Result<Self::Value, D::Error>
[INFO] [stdout]     |                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_deserializer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `deserializer`
[INFO] [stdout]    --> src/vm/de/mod.rs:696:9
[INFO] [stdout]     |
[INFO] [stdout] 696 |         deserializer: D
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_deserializer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `while let` pattern
[INFO] [stdout]    --> src/vm/de/mod.rs:757:15
[INFO] [stdout]     |
[INFO] [stdout] 757 |           while let packed_key = {
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 758 | |             let subinterp = Interpreter {
[INFO] [stdout] 759 | |                 pat: pat,
[INFO] [stdout] 760 | |                 frames: &mut subframes,
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |         } {
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the loop will never exit
[INFO] [stdout]     = help: consider instead using a `loop { ... }` with a `let` inside it
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/vm/de/mod.rs:1109:13
[INFO] [stdout]      |
[INFO] [stdout] 1109 |         let mut obj = None;
[INFO] [stdout]      |             ----^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]     --> src/vm/de/mod.rs:1105:28
[INFO] [stdout]      |
[INFO] [stdout] 1105 |     fn visit_enum<A>(self, data: A) -> Result<Self::Value, A::Error>
[INFO] [stdout]      |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]     --> src/vm/de/mod.rs:1109:13
[INFO] [stdout]      |
[INFO] [stdout] 1109 |         let mut obj = None;
[INFO] [stdout]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]     --> src/vm/de/mod.rs:1141:38
[INFO] [stdout]      |
[INFO] [stdout] 1141 |     fn newtype_variant_seed<T>(self, seed: T) -> Result<T::Value, E>
[INFO] [stdout]      |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]     --> src/vm/de/mod.rs:1147:31
[INFO] [stdout]      |
[INFO] [stdout] 1147 |     fn tuple_variant<V>(self, len: usize, visitor: V) -> Result<V::Value, E>
[INFO] [stdout]      |                               ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visitor`
[INFO] [stdout]     --> src/vm/de/mod.rs:1147:43
[INFO] [stdout]      |
[INFO] [stdout] 1147 |     fn tuple_variant<V>(self, len: usize, visitor: V) -> Result<V::Value, E>
[INFO] [stdout]      |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fields`
[INFO] [stdout]     --> src/vm/de/mod.rs:1155:9
[INFO] [stdout]      |
[INFO] [stdout] 1155 |         fields: &'static [&'static str],
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_fields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visitor`
[INFO] [stdout]     --> src/vm/de/mod.rs:1156:9
[INFO] [stdout]      |
[INFO] [stdout] 1156 |         visitor: V,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/mod.rs:379:23
[INFO] [stdout]     |
[INFO] [stdout] 379 |     fn zip(&mut self, mut other: Self) {
[INFO] [stdout]     |                       ----^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pred` is never used
[INFO] [stdout]    --> src/lib.rs:149:4
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn pred<F>(f: F) -> Box<Predicate>
[INFO] [stdout]     |    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/vm/mod.rs:187:15
[INFO] [stdout]     |
[INFO] [stdout] 187 |     Parameter(usize, bool),
[INFO] [stdout]     |     --------- ^^^^^  ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PatternToken` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 187 -     Parameter(usize, bool),
[INFO] [stdout] 187 +     Parameter((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/vm/mod.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |     ApplyPredicate(
[INFO] [stdout]     |     -------------- fields in this variant
[INFO] [stdout] 196 |         /// The predicate index (in `PatternConstants.predicates`).
[INFO] [stdout] 197 |         usize,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 198 |         /// Whether to skip non-matching values, instead of erroring.
[INFO] [stdout] 199 |         bool,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PatternToken` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 197 ~         (),
[INFO] [stdout] 198 |         /// Whether to skip non-matching values, instead of erroring.
[INFO] [stdout] 199 ~         (),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/vm/mod.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub(crate) enum Type {
[INFO] [stdout]     |                 ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 251 |     Tuple(usize),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 252 |     Map,
[INFO] [stdout] 253 |     UnitStruct(&'static str),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 254 |     NewtypeStruct(&'static str),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 255 |     TupleStruct {
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     Identifier,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 260 |     Struct {
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     Enum {
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Some` and `NewtypeStruct` are never constructed
[INFO] [stdout]    --> src/vm/mod.rs:291:5
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub(crate) enum SerdeObject<'de> {
[INFO] [stdout]     |                 ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 291 |     Some(Box<SerdeObject<'de>>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     NewtypeStruct(Box<SerdeObject<'de>>),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SerdeObject` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SerdeObjectSeq` is never constructed
[INFO] [stdout]     --> src/vm/de/mod.rs:1127:8
[INFO] [stdout]      |
[INFO] [stdout] 1127 | struct SerdeObjectSeq<'de, I: Iterator<Item=SerdeObject<'de>>, E> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `call_limit` is never read
[INFO] [stdout]   --> src/vm/de/unpacker.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Unpacker<'pat, 'de> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 20 |     packs: Vec<Pack<'pat, 'de>>,
[INFO] [stdout] 21 |     call_limit: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |             self.interp.error.insert(MatchError::StackOverflow);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 125 |             let _ = self.interp.error.insert(MatchError::StackOverflow);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:272:33
[INFO] [stdout]     |
[INFO] [stdout] 272 | / ...                   self.interp.error.insert({
[INFO] [stdout] 273 | | ...                       MatchError::ValidationError
[INFO] [stdout] 274 | | ...                   });
[INFO] [stdout]     | |________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 272 |                                 let _ = self.interp.error.insert({
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:348:17
[INFO] [stdout]     |
[INFO] [stdout] 348 |                 self.interp.error.insert(e);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 348 |                 let _ = self.interp.error.insert(e);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:481:5
[INFO] [stdout]     |
[INFO] [stdout] 481 |     vs!(fn visit_bool Bool (Type::Bool) bool);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 481 |     let _ = vs!(fn visit_bool Bool (Type::Bool) bool);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:482:5
[INFO] [stdout]     |
[INFO] [stdout] 482 |     vs!(fn visit_i8 I8 (Type::I8) i8);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 482 |     let _ = vs!(fn visit_i8 I8 (Type::I8) i8);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:483:5
[INFO] [stdout]     |
[INFO] [stdout] 483 |     vs!(fn visit_i16 I16 (Type::I16) i16);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 483 |     let _ = vs!(fn visit_i16 I16 (Type::I16) i16);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:484:5
[INFO] [stdout]     |
[INFO] [stdout] 484 |     vs!(fn visit_i32 I32 (Type::I32) i32);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 484 |     let _ = vs!(fn visit_i32 I32 (Type::I32) i32);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:485:5
[INFO] [stdout]     |
[INFO] [stdout] 485 |     vs!(fn visit_i64 I64 (Type::I64) i64);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 485 |     let _ = vs!(fn visit_i64 I64 (Type::I64) i64);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:486:5
[INFO] [stdout]     |
[INFO] [stdout] 486 |     vs!(fn visit_i128 I128 (Type::I128) i128);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 486 |     let _ = vs!(fn visit_i128 I128 (Type::I128) i128);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:487:5
[INFO] [stdout]     |
[INFO] [stdout] 487 |     vs!(fn visit_u8 U8 (Type::U8) u8);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 487 |     let _ = vs!(fn visit_u8 U8 (Type::U8) u8);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:488:5
[INFO] [stdout]     |
[INFO] [stdout] 488 |     vs!(fn visit_u16 U16 (Type::U16) u16);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 488 |     let _ = vs!(fn visit_u16 U16 (Type::U16) u16);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:489:5
[INFO] [stdout]     |
[INFO] [stdout] 489 |     vs!(fn visit_u32 U32 (Type::U32) u32);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 489 |     let _ = vs!(fn visit_u32 U32 (Type::U32) u32);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:490:5
[INFO] [stdout]     |
[INFO] [stdout] 490 |     vs!(fn visit_u64 U64 (Type::U64) u64);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 490 |     let _ = vs!(fn visit_u64 U64 (Type::U64) u64);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:491:5
[INFO] [stdout]     |
[INFO] [stdout] 491 |     vs!(fn visit_u128 U128 (Type::U128) u128);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 491 |     let _ = vs!(fn visit_u128 U128 (Type::U128) u128);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:492:5
[INFO] [stdout]     |
[INFO] [stdout] 492 |     vs!(fn visit_f32 F32 (Type::F32) f32);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 492 |     let _ = vs!(fn visit_f32 F32 (Type::F32) f32);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:493:5
[INFO] [stdout]     |
[INFO] [stdout] 493 |     vs!(fn visit_f64 F64 (Type::F64) f64);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 493 |     let _ = vs!(fn visit_f64 F64 (Type::F64) f64);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:494:5
[INFO] [stdout]     |
[INFO] [stdout] 494 |     vs!(fn visit_char Char (Type::Char) char);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 494 |     let _ = vs!(fn visit_char Char (Type::Char) char);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:566:17
[INFO] [stdout]     |
[INFO] [stdout] 566 |                 self.interp.error.insert(e);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 566 |                 let _ = self.interp.error.insert(e);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:643:17
[INFO] [stdout]     |
[INFO] [stdout] 643 |                 self.interp.error.insert(e);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 643 |                 let _ = self.interp.error.insert(e);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:661:9
[INFO] [stdout]     |
[INFO] [stdout] 661 |         vs!(self (Cow::Owned(v.to_owned())) Bytes (Type::Bytes | Type::ByteBuf))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 661 |         let _ = vs!(self (Cow::Owned(v.to_owned())) Bytes (Type::Bytes | Type::ByteBuf))
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:667:9
[INFO] [stdout]     |
[INFO] [stdout] 667 |         vs!(self (Cow::Borrowed(v)) Bytes (Type::Bytes | Type::ByteBuf))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 667 |         let _ = vs!(self (Cow::Borrowed(v)) Bytes (Type::Bytes | Type::ByteBuf))
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:680:9
[INFO] [stdout]     |
[INFO] [stdout] 680 |         vs!(self {} None (Type::Option))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 680 |         let _ = vs!(self {} None (Type::Option))
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:692:9
[INFO] [stdout]     |
[INFO] [stdout] 692 |         vs!(self {} Unit (Type::Unit))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 692 |         let _ = vs!(self {} Unit (Type::Unit))
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:733:17
[INFO] [stdout]     |
[INFO] [stdout] 733 |                 self.interp.error.insert(e);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 733 |                 let _ = self.interp.error.insert(e);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:939:17
[INFO] [stdout]     |
[INFO] [stdout] 939 |                 self.interp.error.insert(e);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 939 |                 let _ = self.interp.error.insert(e);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::Cell`
[INFO] [stdout]  --> src/vm/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::cell::Cell;
[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: `std::cell::RefCell`
[INFO] [stdout]   --> src/vm/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BTreeMap`
[INFO] [stdout]   --> src/vm/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::BTreeMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smallvec::SmallVec`
[INFO] [stdout]   --> src/vm/de/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use smallvec::SmallVec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::PatternConstants`
[INFO] [stdout]   --> src/vm/de/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use super::PatternConstants;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]     --> src/vm/de/mod.rs:1113:23
[INFO] [stdout]      |
[INFO] [stdout] 1112 |                 variant: todo!(),
[INFO] [stdout]      |                          ------- any code following this expression is unreachable
[INFO] [stdout] 1113 |                 data: todo!(),
[INFO] [stdout]      |                       ^^^^^^^ unreachable expression
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]      = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::Deserialize`
[INFO] [stdout]  --> src/pattern.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde::de::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/graph.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |                 let mut unpacker = Unpacker::new(pack, MAX_CALLS);
[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: `custom`
[INFO] [stdout]    --> src/parser.rs:534:17
[INFO] [stdout]     |
[INFO] [stdout] 534 |             let custom = strip_prefix(&mut cursor, "$");
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_custom`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:702:13
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut has_subtrees = false;
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `has_subtrees`
[INFO] [stdout]    --> src/parser.rs:702:13
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut has_subtrees = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_subtrees`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:801:13
[INFO] [stdout]     |
[INFO] [stdout] 801 |         let mut parser = Parser::<
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visitor`
[INFO] [stdout]    --> src/vm/de/unpacker.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |         visitor: V,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visitor`
[INFO] [stdout]    --> src/vm/de/unpacker.rs:138:33
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn deserialize_seq<V>(self, visitor: V) -> Result<V::Value, Self::Error> where V: serde::de::Visitor<'de> { todo!(); }
[INFO] [stdout]     |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/vm/de/unpacker.rs:228:9
[INFO] [stdout]     |
[INFO] [stdout] 228 |         name: &'static str,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fields`
[INFO] [stdout]    --> src/vm/de/unpacker.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |         fields: &'static [&'static str],
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_fields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visitor`
[INFO] [stdout]    --> src/vm/de/unpacker.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 |         visitor: V,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num`
[INFO] [stdout]    --> src/vm/de/mod.rs:244:35
[INFO] [stdout]     |
[INFO] [stdout] 244 | ...                   Some((num, _)) => {
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]    --> src/vm/de/mod.rs:254:29
[INFO] [stdout]     |
[INFO] [stdout] 254 |                         let frame = self.interp.frames.remove(index);
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |         mut self,
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> src/vm/de/mod.rs:339:22
[INFO] [stdout]     |
[INFO] [stdout] 339 |                     (left, Some((right, _))) => {
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> src/vm/de/mod.rs:339:34
[INFO] [stdout]     |
[INFO] [stdout] 339 |                     (left, Some((right, _))) => {
[INFO] [stdout]     |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pat`
[INFO] [stdout]    --> src/vm/de/mod.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let pat = self.interp.pat;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_pat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 481 |     vs!(fn visit_bool Bool (Type::Bool) bool);
[INFO] [stdout]     |     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 482 |     vs!(fn visit_i8 I8 (Type::I8) i8);
[INFO] [stdout]     |     --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 483 |     vs!(fn visit_i16 I16 (Type::I16) i16);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 484 |     vs!(fn visit_i32 I32 (Type::I32) i32);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 485 |     vs!(fn visit_i64 I64 (Type::I64) i64);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 486 |     vs!(fn visit_i128 I128 (Type::I128) i128);
[INFO] [stdout]     |     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 487 |     vs!(fn visit_u8 U8 (Type::U8) u8);
[INFO] [stdout]     |     --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 488 |     vs!(fn visit_u16 U16 (Type::U16) u16);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 489 |     vs!(fn visit_u32 U32 (Type::U32) u32);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 490 |     vs!(fn visit_u64 U64 (Type::U64) u64);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 491 |     vs!(fn visit_u128 U128 (Type::U128) u128);
[INFO] [stdout]     |     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 492 |     vs!(fn visit_f32 F32 (Type::F32) f32);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 493 |     vs!(fn visit_f64 F64 (Type::F64) f64);
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vm/de/mod.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 494 |     vs!(fn visit_char Char (Type::Char) char);
[INFO] [stdout]     |     ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `deserializer`
[INFO] [stdout]    --> src/vm/de/mod.rs:682:28
[INFO] [stdout]     |
[INFO] [stdout] 682 |     fn visit_some<D>(self, deserializer: D) -> Result<Self::Value, D::Error>
[INFO] [stdout]     |                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_deserializer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `deserializer`
[INFO] [stdout]    --> src/vm/de/mod.rs:696:9
[INFO] [stdout]     |
[INFO] [stdout] 696 |         deserializer: D
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_deserializer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `while let` pattern
[INFO] [stdout]    --> src/vm/de/mod.rs:757:15
[INFO] [stdout]     |
[INFO] [stdout] 757 |           while let packed_key = {
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 758 | |             let subinterp = Interpreter {
[INFO] [stdout] 759 | |                 pat: pat,
[INFO] [stdout] 760 | |                 frames: &mut subframes,
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |         } {
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the loop will never exit
[INFO] [stdout]     = help: consider instead using a `loop { ... }` with a `let` inside it
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/vm/de/mod.rs:1109:13
[INFO] [stdout]      |
[INFO] [stdout] 1109 |         let mut obj = None;
[INFO] [stdout]      |             ----^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]     --> src/vm/de/mod.rs:1105:28
[INFO] [stdout]      |
[INFO] [stdout] 1105 |     fn visit_enum<A>(self, data: A) -> Result<Self::Value, A::Error>
[INFO] [stdout]      |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]     --> src/vm/de/mod.rs:1109:13
[INFO] [stdout]      |
[INFO] [stdout] 1109 |         let mut obj = None;
[INFO] [stdout]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]     --> src/vm/de/mod.rs:1141:38
[INFO] [stdout]      |
[INFO] [stdout] 1141 |     fn newtype_variant_seed<T>(self, seed: T) -> Result<T::Value, E>
[INFO] [stdout]      |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]     --> src/vm/de/mod.rs:1147:31
[INFO] [stdout]      |
[INFO] [stdout] 1147 |     fn tuple_variant<V>(self, len: usize, visitor: V) -> Result<V::Value, E>
[INFO] [stdout]      |                               ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visitor`
[INFO] [stdout]     --> src/vm/de/mod.rs:1147:43
[INFO] [stdout]      |
[INFO] [stdout] 1147 |     fn tuple_variant<V>(self, len: usize, visitor: V) -> Result<V::Value, E>
[INFO] [stdout]      |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fields`
[INFO] [stdout]     --> src/vm/de/mod.rs:1155:9
[INFO] [stdout]      |
[INFO] [stdout] 1155 |         fields: &'static [&'static str],
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_fields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visitor`
[INFO] [stdout]     --> src/vm/de/mod.rs:1156:9
[INFO] [stdout]      |
[INFO] [stdout] 1156 |         visitor: V,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visitor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pack`
[INFO] [stdout]     --> src/vm/de/mod.rs:1303:13
[INFO] [stdout]      |
[INFO] [stdout] 1303 |         let pack = Packer::new(interp, MAX_CALLS).deserialize(&mut der).unwrap();
[INFO] [stdout]      |             ^^^^ help: if this is intentional, prefix it with an underscore: `_pack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/vm/de/mod.rs:1841:14
[INFO] [stdout]      |
[INFO] [stdout] 1841 |         let (mut packs, obj) = result.unwrap();
[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]     --> src/vm/de/mod.rs:1886:14
[INFO] [stdout]      |
[INFO] [stdout] 1886 |         let (mut packs, obj) = result.unwrap();
[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]     --> src/vm/de/mod.rs:1924:14
[INFO] [stdout]      |
[INFO] [stdout] 1924 |         let (mut packs, obj) = result.unwrap();
[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]     --> src/vm/de/mod.rs:2100:14
[INFO] [stdout]      |
[INFO] [stdout] 2100 |         let (mut packs, obj) = result.unwrap();
[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]    --> src/vm/mod.rs:379:23
[INFO] [stdout]     |
[INFO] [stdout] 379 |     fn zip(&mut self, mut other: Self) {
[INFO] [stdout]     |                       ----^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pred` is never used
[INFO] [stdout]    --> src/lib.rs:149:4
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn pred<F>(f: F) -> Box<Predicate>
[INFO] [stdout]     |    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/vm/mod.rs:187:15
[INFO] [stdout]     |
[INFO] [stdout] 187 |     Parameter(usize, bool),
[INFO] [stdout]     |     --------- ^^^^^  ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PatternToken` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 187 -     Parameter(usize, bool),
[INFO] [stdout] 187 +     Parameter((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/vm/mod.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |     ApplyPredicate(
[INFO] [stdout]     |     -------------- fields in this variant
[INFO] [stdout] 196 |         /// The predicate index (in `PatternConstants.predicates`).
[INFO] [stdout] 197 |         usize,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 198 |         /// Whether to skip non-matching values, instead of erroring.
[INFO] [stdout] 199 |         bool,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PatternToken` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 197 ~         (),
[INFO] [stdout] 198 |         /// Whether to skip non-matching values, instead of erroring.
[INFO] [stdout] 199 ~         (),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/vm/mod.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub(crate) enum Type {
[INFO] [stdout]     |                 ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 251 |     Tuple(usize),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 252 |     Map,
[INFO] [stdout] 253 |     UnitStruct(&'static str),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 254 |     NewtypeStruct(&'static str),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 255 |     TupleStruct {
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     Identifier,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 260 |     Struct {
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     Enum {
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Some` and `NewtypeStruct` are never constructed
[INFO] [stdout]    --> src/vm/mod.rs:291:5
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub(crate) enum SerdeObject<'de> {
[INFO] [stdout]     |                 ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 291 |     Some(Box<SerdeObject<'de>>),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     NewtypeStruct(Box<SerdeObject<'de>>),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SerdeObject` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SerdeObjectSeq` is never constructed
[INFO] [stdout]     --> src/vm/de/mod.rs:1127:8
[INFO] [stdout]      |
[INFO] [stdout] 1127 | struct SerdeObjectSeq<'de, I: Iterator<Item=SerdeObject<'de>>, E> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `call_limit` is never read
[INFO] [stdout]   --> src/vm/de/unpacker.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Unpacker<'pat, 'de> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 20 |     packs: Vec<Pack<'pat, 'de>>,
[INFO] [stdout] 21 |     call_limit: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |             self.interp.error.insert(MatchError::StackOverflow);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 125 |             let _ = self.interp.error.insert(MatchError::StackOverflow);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:272:33
[INFO] [stdout]     |
[INFO] [stdout] 272 | / ...                   self.interp.error.insert({
[INFO] [stdout] 273 | | ...                       MatchError::ValidationError
[INFO] [stdout] 274 | | ...                   });
[INFO] [stdout]     | |________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 272 |                                 let _ = self.interp.error.insert({
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:348:17
[INFO] [stdout]     |
[INFO] [stdout] 348 |                 self.interp.error.insert(e);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 348 |                 let _ = self.interp.error.insert(e);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:481:5
[INFO] [stdout]     |
[INFO] [stdout] 481 |     vs!(fn visit_bool Bool (Type::Bool) bool);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 481 |     let _ = vs!(fn visit_bool Bool (Type::Bool) bool);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:482:5
[INFO] [stdout]     |
[INFO] [stdout] 482 |     vs!(fn visit_i8 I8 (Type::I8) i8);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 482 |     let _ = vs!(fn visit_i8 I8 (Type::I8) i8);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:483:5
[INFO] [stdout]     |
[INFO] [stdout] 483 |     vs!(fn visit_i16 I16 (Type::I16) i16);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 483 |     let _ = vs!(fn visit_i16 I16 (Type::I16) i16);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:484:5
[INFO] [stdout]     |
[INFO] [stdout] 484 |     vs!(fn visit_i32 I32 (Type::I32) i32);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 484 |     let _ = vs!(fn visit_i32 I32 (Type::I32) i32);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:485:5
[INFO] [stdout]     |
[INFO] [stdout] 485 |     vs!(fn visit_i64 I64 (Type::I64) i64);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 485 |     let _ = vs!(fn visit_i64 I64 (Type::I64) i64);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:486:5
[INFO] [stdout]     |
[INFO] [stdout] 486 |     vs!(fn visit_i128 I128 (Type::I128) i128);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 486 |     let _ = vs!(fn visit_i128 I128 (Type::I128) i128);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:487:5
[INFO] [stdout]     |
[INFO] [stdout] 487 |     vs!(fn visit_u8 U8 (Type::U8) u8);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 487 |     let _ = vs!(fn visit_u8 U8 (Type::U8) u8);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:488:5
[INFO] [stdout]     |
[INFO] [stdout] 488 |     vs!(fn visit_u16 U16 (Type::U16) u16);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 488 |     let _ = vs!(fn visit_u16 U16 (Type::U16) u16);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:489:5
[INFO] [stdout]     |
[INFO] [stdout] 489 |     vs!(fn visit_u32 U32 (Type::U32) u32);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 489 |     let _ = vs!(fn visit_u32 U32 (Type::U32) u32);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:490:5
[INFO] [stdout]     |
[INFO] [stdout] 490 |     vs!(fn visit_u64 U64 (Type::U64) u64);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 490 |     let _ = vs!(fn visit_u64 U64 (Type::U64) u64);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:491:5
[INFO] [stdout]     |
[INFO] [stdout] 491 |     vs!(fn visit_u128 U128 (Type::U128) u128);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 491 |     let _ = vs!(fn visit_u128 U128 (Type::U128) u128);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:492:5
[INFO] [stdout]     |
[INFO] [stdout] 492 |     vs!(fn visit_f32 F32 (Type::F32) f32);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 492 |     let _ = vs!(fn visit_f32 F32 (Type::F32) f32);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:493:5
[INFO] [stdout]     |
[INFO] [stdout] 493 |     vs!(fn visit_f64 F64 (Type::F64) f64);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 493 |     let _ = vs!(fn visit_f64 F64 (Type::F64) f64);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:494:5
[INFO] [stdout]     |
[INFO] [stdout] 494 |     vs!(fn visit_char Char (Type::Char) char);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 494 |     let _ = vs!(fn visit_char Char (Type::Char) char);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:566:17
[INFO] [stdout]     |
[INFO] [stdout] 566 |                 self.interp.error.insert(e);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 566 |                 let _ = self.interp.error.insert(e);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:643:17
[INFO] [stdout]     |
[INFO] [stdout] 643 |                 self.interp.error.insert(e);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 643 |                 let _ = self.interp.error.insert(e);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:661:9
[INFO] [stdout]     |
[INFO] [stdout] 661 |         vs!(self (Cow::Owned(v.to_owned())) Bytes (Type::Bytes | Type::ByteBuf))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 661 |         let _ = vs!(self (Cow::Owned(v.to_owned())) Bytes (Type::Bytes | Type::ByteBuf))
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:667:9
[INFO] [stdout]     |
[INFO] [stdout] 667 |         vs!(self (Cow::Borrowed(v)) Bytes (Type::Bytes | Type::ByteBuf))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 667 |         let _ = vs!(self (Cow::Borrowed(v)) Bytes (Type::Bytes | Type::ByteBuf))
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:680:9
[INFO] [stdout]     |
[INFO] [stdout] 680 |         vs!(self {} None (Type::Option))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 680 |         let _ = vs!(self {} None (Type::Option))
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:692:9
[INFO] [stdout]     |
[INFO] [stdout] 692 |         vs!(self {} Unit (Type::Unit))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 692 |         let _ = vs!(self {} Unit (Type::Unit))
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:733:17
[INFO] [stdout]     |
[INFO] [stdout] 733 |                 self.interp.error.insert(e);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 733 |                 let _ = self.interp.error.insert(e);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stdout]    --> src/vm/de/mod.rs:939:17
[INFO] [stdout]     |
[INFO] [stdout] 939 |                 self.interp.error.insert(e);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 939 |                 let _ = self.interp.error.insert(e);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 8.72s
[INFO] running `Command { std: "docker" "inspect" "155e0f9e141304623149c4342b09fceb4b65eac4114bbab9b61b5fa7d1452f99", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "155e0f9e141304623149c4342b09fceb4b65eac4114bbab9b61b5fa7d1452f99", kill_on_drop: false }`
[INFO] [stdout] 155e0f9e141304623149c4342b09fceb4b65eac4114bbab9b61b5fa7d1452f99
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f34b64c1e4fdf8201e356cf2adc1af67d7a60a25d8880c88dc36a5b90bad5546
[INFO] running `Command { std: "docker" "start" "-a" "f34b64c1e4fdf8201e356cf2adc1af67d7a60a25d8880c88dc36a5b90bad5546", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::cell::Cell`
[INFO] [stderr]  --> src/vm/mod.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::cell::Cell;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cell::RefCell`
[INFO] [stderr]   --> src/vm/mod.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::cell::RefCell;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::BTreeMap`
[INFO] [stderr]   --> src/vm/mod.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::collections::BTreeMap;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `smallvec::SmallVec`
[INFO] [stderr]   --> src/vm/de/mod.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use smallvec::SmallVec;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::PatternConstants`
[INFO] [stderr]   --> src/vm/de/mod.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | use super::PatternConstants;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]     --> src/vm/de/mod.rs:1113:23
[INFO] [stderr]      |
[INFO] [stderr] 1112 |                 variant: todo!(),
[INFO] [stderr]      |                          ------- any code following this expression is unreachable
[INFO] [stderr] 1113 |                 data: todo!(),
[INFO] [stderr]      |                       ^^^^^^^ unreachable expression
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr]      = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde::de::Deserialize`
[INFO] [stderr]  --> src/pattern.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use serde::de::Deserialize;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/graph.rs:26:21
[INFO] [stderr]    |
[INFO] [stderr] 26 |                 let mut unpacker = Unpacker::new(pack, MAX_CALLS);
[INFO] [stderr]    |                     ----^^^^^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `custom`
[INFO] [stderr]    --> src/parser.rs:534:17
[INFO] [stderr]     |
[INFO] [stderr] 534 |             let custom = strip_prefix(&mut cursor, "$");
[INFO] [stderr]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_custom`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/parser.rs:702:13
[INFO] [stderr]     |
[INFO] [stderr] 702 |         let mut has_subtrees = false;
[INFO] [stderr]     |             ----^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `has_subtrees`
[INFO] [stderr]    --> src/parser.rs:702:13
[INFO] [stderr]     |
[INFO] [stderr] 702 |         let mut has_subtrees = false;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_subtrees`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `visitor`
[INFO] [stderr]    --> src/vm/de/unpacker.rs:131:9
[INFO] [stderr]     |
[INFO] [stderr] 131 |         visitor: V,
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visitor`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `visitor`
[INFO] [stderr]    --> src/vm/de/unpacker.rs:138:33
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn deserialize_seq<V>(self, visitor: V) -> Result<V::Value, Self::Error> where V: serde::de::Visitor<'de> { todo!(); }
[INFO] [stderr]     |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visitor`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> src/vm/de/unpacker.rs:228:9
[INFO] [stderr]     |
[INFO] [stderr] 228 |         name: &'static str,
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fields`
[INFO] [stderr]    --> src/vm/de/unpacker.rs:229:9
[INFO] [stderr]     |
[INFO] [stderr] 229 |         fields: &'static [&'static str],
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_fields`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `visitor`
[INFO] [stderr]    --> src/vm/de/unpacker.rs:230:9
[INFO] [stderr]     |
[INFO] [stderr] 230 |         visitor: V,
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visitor`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `num`
[INFO] [stderr]    --> src/vm/de/mod.rs:244:35
[INFO] [stderr]     |
[INFO] [stderr] 244 | ...                   Some((num, _)) => {
[INFO] [stderr]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `frame`
[INFO] [stderr]    --> src/vm/de/mod.rs:254:29
[INFO] [stderr]     |
[INFO] [stderr] 254 |                         let frame = self.interp.frames.remove(index);
[INFO] [stderr]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/vm/de/mod.rs:296:9
[INFO] [stderr]     |
[INFO] [stderr] 296 |         mut self,
[INFO] [stderr]     |         ----^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `left`
[INFO] [stderr]    --> src/vm/de/mod.rs:339:22
[INFO] [stderr]     |
[INFO] [stderr] 339 |                     (left, Some((right, _))) => {
[INFO] [stderr]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `right`
[INFO] [stderr]    --> src/vm/de/mod.rs:339:34
[INFO] [stderr]     |
[INFO] [stderr] 339 |                     (left, Some((right, _))) => {
[INFO] [stderr]     |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pat`
[INFO] [stderr]    --> src/vm/de/mod.rs:303:13
[INFO] [stderr]     |
[INFO] [stderr] 303 |         let pat = self.interp.pat;
[INFO] [stderr]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_pat`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/vm/de/mod.rs:417:22
[INFO] [stderr]     |
[INFO] [stderr] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stderr]     |                      ----^^^^
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      help: remove this `mut`
[INFO] [stderr] ...
[INFO] [stderr] 481 |     vs!(fn visit_bool Bool (Type::Bool) bool);
[INFO] [stderr]     |     ----------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/vm/de/mod.rs:417:22
[INFO] [stderr]     |
[INFO] [stderr] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stderr]     |                      ----^^^^
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      help: remove this `mut`
[INFO] [stderr] ...
[INFO] [stderr] 482 |     vs!(fn visit_i8 I8 (Type::I8) i8);
[INFO] [stderr]     |     --------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/vm/de/mod.rs:417:22
[INFO] [stderr]     |
[INFO] [stderr] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stderr]     |                      ----^^^^
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      help: remove this `mut`
[INFO] [stderr] ...
[INFO] [stderr] 483 |     vs!(fn visit_i16 I16 (Type::I16) i16);
[INFO] [stderr]     |     ------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/vm/de/mod.rs:417:22
[INFO] [stderr]     |
[INFO] [stderr] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stderr]     |                      ----^^^^
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      help: remove this `mut`
[INFO] [stderr] ...
[INFO] [stderr] 484 |     vs!(fn visit_i32 I32 (Type::I32) i32);
[INFO] [stderr]     |     ------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/vm/de/mod.rs:417:22
[INFO] [stderr]     |
[INFO] [stderr] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stderr]     |                      ----^^^^
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      help: remove this `mut`
[INFO] [stderr] ...
[INFO] [stderr] 485 |     vs!(fn visit_i64 I64 (Type::I64) i64);
[INFO] [stderr]     |     ------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/vm/de/mod.rs:417:22
[INFO] [stderr]     |
[INFO] [stderr] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stderr]     |                      ----^^^^
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      help: remove this `mut`
[INFO] [stderr] ...
[INFO] [stderr] 486 |     vs!(fn visit_i128 I128 (Type::I128) i128);
[INFO] [stderr]     |     ----------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/vm/de/mod.rs:417:22
[INFO] [stderr]     |
[INFO] [stderr] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stderr]     |                      ----^^^^
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      help: remove this `mut`
[INFO] [stderr] ...
[INFO] [stderr] 487 |     vs!(fn visit_u8 U8 (Type::U8) u8);
[INFO] [stderr]     |     --------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/vm/de/mod.rs:417:22
[INFO] [stderr]     |
[INFO] [stderr] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stderr]     |                      ----^^^^
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      help: remove this `mut`
[INFO] [stderr] ...
[INFO] [stderr] 488 |     vs!(fn visit_u16 U16 (Type::U16) u16);
[INFO] [stderr]     |     ------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/vm/de/mod.rs:417:22
[INFO] [stderr]     |
[INFO] [stderr] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stderr]     |                      ----^^^^
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      help: remove this `mut`
[INFO] [stderr] ...
[INFO] [stderr] 489 |     vs!(fn visit_u32 U32 (Type::U32) u32);
[INFO] [stderr]     |     ------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/vm/de/mod.rs:417:22
[INFO] [stderr]     |
[INFO] [stderr] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stderr]     |                      ----^^^^
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      help: remove this `mut`
[INFO] [stderr] ...
[INFO] [stderr] 490 |     vs!(fn visit_u64 U64 (Type::U64) u64);
[INFO] [stderr]     |     ------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/vm/de/mod.rs:417:22
[INFO] [stderr]     |
[INFO] [stderr] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stderr]     |                      ----^^^^
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      help: remove this `mut`
[INFO] [stderr] ...
[INFO] [stderr] 491 |     vs!(fn visit_u128 U128 (Type::U128) u128);
[INFO] [stderr]     |     ----------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/vm/de/mod.rs:417:22
[INFO] [stderr]     |
[INFO] [stderr] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stderr]     |                      ----^^^^
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      help: remove this `mut`
[INFO] [stderr] ...
[INFO] [stderr] 492 |     vs!(fn visit_f32 F32 (Type::F32) f32);
[INFO] [stderr]     |     ------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/vm/de/mod.rs:417:22
[INFO] [stderr]     |
[INFO] [stderr] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stderr]     |                      ----^^^^
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      help: remove this `mut`
[INFO] [stderr] ...
[INFO] [stderr] 493 |     vs!(fn visit_f64 F64 (Type::F64) f64);
[INFO] [stderr]     |     ------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/vm/de/mod.rs:417:22
[INFO] [stderr]     |
[INFO] [stderr] 417 |         fn $visit<E>(mut self, v: $rust_type) -> Result<Self::Value, E>
[INFO] [stderr]     |                      ----^^^^
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      help: remove this `mut`
[INFO] [stderr] ...
[INFO] [stderr] 494 |     vs!(fn visit_char Char (Type::Char) char);
[INFO] [stderr]     |     ----------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `vs` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `deserializer`
[INFO] [stderr]    --> src/vm/de/mod.rs:682:28
[INFO] [stderr]     |
[INFO] [stderr] 682 |     fn visit_some<D>(self, deserializer: D) -> Result<Self::Value, D::Error>
[INFO] [stderr]     |                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_deserializer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `deserializer`
[INFO] [stderr]    --> src/vm/de/mod.rs:696:9
[INFO] [stderr]     |
[INFO] [stderr] 696 |         deserializer: D
[INFO] [stderr]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_deserializer`
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `while let` pattern
[INFO] [stderr]    --> src/vm/de/mod.rs:757:15
[INFO] [stderr]     |
[INFO] [stderr] 757 |           while let packed_key = {
[INFO] [stderr]     |  _______________^
[INFO] [stderr] 758 | |             let subinterp = Interpreter {
[INFO] [stderr] 759 | |                 pat: pat,
[INFO] [stderr] 760 | |                 frames: &mut subframes,
[INFO] [stderr] ...   |
[INFO] [stderr] 778 | |         } {
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this pattern will always match, so the loop will never exit
[INFO] [stderr]     = help: consider instead using a `loop { ... }` with a `let` inside it
[INFO] [stderr]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/vm/de/mod.rs:1109:13
[INFO] [stderr]      |
[INFO] [stderr] 1109 |         let mut obj = None;
[INFO] [stderr]      |             ----^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]     --> src/vm/de/mod.rs:1105:28
[INFO] [stderr]      |
[INFO] [stderr] 1105 |     fn visit_enum<A>(self, data: A) -> Result<Self::Value, A::Error>
[INFO] [stderr]      |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `obj`
[INFO] [stderr]     --> src/vm/de/mod.rs:1109:13
[INFO] [stderr]      |
[INFO] [stderr] 1109 |         let mut obj = None;
[INFO] [stderr]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `seed`
[INFO] [stderr]     --> src/vm/de/mod.rs:1141:38
[INFO] [stderr]      |
[INFO] [stderr] 1141 |     fn newtype_variant_seed<T>(self, seed: T) -> Result<T::Value, E>
[INFO] [stderr]      |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `len`
[INFO] [stderr]     --> src/vm/de/mod.rs:1147:31
[INFO] [stderr]      |
[INFO] [stderr] 1147 |     fn tuple_variant<V>(self, len: usize, visitor: V) -> Result<V::Value, E>
[INFO] [stderr]      |                               ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `visitor`
[INFO] [stderr]     --> src/vm/de/mod.rs:1147:43
[INFO] [stderr]      |
[INFO] [stderr] 1147 |     fn tuple_variant<V>(self, len: usize, visitor: V) -> Result<V::Value, E>
[INFO] [stderr]      |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visitor`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fields`
[INFO] [stderr]     --> src/vm/de/mod.rs:1155:9
[INFO] [stderr]      |
[INFO] [stderr] 1155 |         fields: &'static [&'static str],
[INFO] [stderr]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_fields`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `visitor`
[INFO] [stderr]     --> src/vm/de/mod.rs:1156:9
[INFO] [stderr]      |
[INFO] [stderr] 1156 |         visitor: V,
[INFO] [stderr]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visitor`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/vm/mod.rs:379:23
[INFO] [stderr]     |
[INFO] [stderr] 379 |     fn zip(&mut self, mut other: Self) {
[INFO] [stderr]     |                       ----^^^^^
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: function `pred` is never used
[INFO] [stderr]    --> src/lib.rs:149:4
[INFO] [stderr]     |
[INFO] [stderr] 149 | fn pred<F>(f: F) -> Box<Predicate>
[INFO] [stderr]     |    ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/vm/mod.rs:187:15
[INFO] [stderr]     |
[INFO] [stderr] 187 |     Parameter(usize, bool),
[INFO] [stderr]     |     --------- ^^^^^  ^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     fields in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `PatternToken` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]     |
[INFO] [stderr] 187 -     Parameter(usize, bool),
[INFO] [stderr] 187 +     Parameter((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/vm/mod.rs:197:9
[INFO] [stderr]     |
[INFO] [stderr] 195 |     ApplyPredicate(
[INFO] [stderr]     |     -------------- fields in this variant
[INFO] [stderr] 196 |         /// The predicate index (in `PatternConstants.predicates`).
[INFO] [stderr] 197 |         usize,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr] 198 |         /// Whether to skip non-matching values, instead of erroring.
[INFO] [stderr] 199 |         bool,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `PatternToken` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]     |
[INFO] [stderr] 197 ~         (),
[INFO] [stderr] 198 |         /// Whether to skip non-matching values, instead of erroring.
[INFO] [stderr] 199 ~         (),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]    --> src/vm/mod.rs:251:5
[INFO] [stderr]     |
[INFO] [stderr] 227 | pub(crate) enum Type {
[INFO] [stderr]     |                 ---- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 251 |     Tuple(usize),
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 252 |     Map,
[INFO] [stderr] 253 |     UnitStruct(&'static str),
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 254 |     NewtypeStruct(&'static str),
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 255 |     TupleStruct {
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 259 |     Identifier,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 260 |     Struct {
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 264 |     Enum {
[INFO] [stderr]     |     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Type` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Some` and `NewtypeStruct` are never constructed
[INFO] [stderr]    --> src/vm/mod.rs:291:5
[INFO] [stderr]     |
[INFO] [stderr] 274 | pub(crate) enum SerdeObject<'de> {
[INFO] [stderr]     |                 ----------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 291 |     Some(Box<SerdeObject<'de>>),
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 297 |     NewtypeStruct(Box<SerdeObject<'de>>),
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `SerdeObject` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SerdeObjectSeq` is never constructed
[INFO] [stderr]     --> src/vm/de/mod.rs:1127:8
[INFO] [stderr]      |
[INFO] [stderr] 1127 | struct SerdeObjectSeq<'de, I: Iterator<Item=SerdeObject<'de>>, E> {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `call_limit` is never read
[INFO] [stderr]   --> src/vm/de/unpacker.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub struct Unpacker<'pat, 'de> {
[INFO] [stderr]    |            -------- field in this struct
[INFO] [stderr] 20 |     packs: Vec<Pack<'pat, 'de>>,
[INFO] [stderr] 21 |     call_limit: usize,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:125:13
[INFO] [stderr]     |
[INFO] [stderr] 125 |             self.interp.error.insert(MatchError::StackOverflow);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 125 |             let _ = self.interp.error.insert(MatchError::StackOverflow);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:272:33
[INFO] [stderr]     |
[INFO] [stderr] 272 | / ...                   self.interp.error.insert({
[INFO] [stderr] 273 | | ...                       MatchError::ValidationError
[INFO] [stderr] 274 | | ...                   });
[INFO] [stderr]     | |________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 272 |                                 let _ = self.interp.error.insert({
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:348:17
[INFO] [stderr]     |
[INFO] [stderr] 348 |                 self.interp.error.insert(e);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 348 |                 let _ = self.interp.error.insert(e);
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:481:5
[INFO] [stderr]     |
[INFO] [stderr] 481 |     vs!(fn visit_bool Bool (Type::Bool) bool);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 481 |     let _ = vs!(fn visit_bool Bool (Type::Bool) bool);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:482:5
[INFO] [stderr]     |
[INFO] [stderr] 482 |     vs!(fn visit_i8 I8 (Type::I8) i8);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 482 |     let _ = vs!(fn visit_i8 I8 (Type::I8) i8);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:483:5
[INFO] [stderr]     |
[INFO] [stderr] 483 |     vs!(fn visit_i16 I16 (Type::I16) i16);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 483 |     let _ = vs!(fn visit_i16 I16 (Type::I16) i16);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:484:5
[INFO] [stderr]     |
[INFO] [stderr] 484 |     vs!(fn visit_i32 I32 (Type::I32) i32);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 484 |     let _ = vs!(fn visit_i32 I32 (Type::I32) i32);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:485:5
[INFO] [stderr]     |
[INFO] [stderr] 485 |     vs!(fn visit_i64 I64 (Type::I64) i64);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 485 |     let _ = vs!(fn visit_i64 I64 (Type::I64) i64);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:486:5
[INFO] [stderr]     |
[INFO] [stderr] 486 |     vs!(fn visit_i128 I128 (Type::I128) i128);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 486 |     let _ = vs!(fn visit_i128 I128 (Type::I128) i128);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:487:5
[INFO] [stderr]     |
[INFO] [stderr] 487 |     vs!(fn visit_u8 U8 (Type::U8) u8);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 487 |     let _ = vs!(fn visit_u8 U8 (Type::U8) u8);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:488:5
[INFO] [stderr]     |
[INFO] [stderr] 488 |     vs!(fn visit_u16 U16 (Type::U16) u16);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 488 |     let _ = vs!(fn visit_u16 U16 (Type::U16) u16);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:489:5
[INFO] [stderr]     |
[INFO] [stderr] 489 |     vs!(fn visit_u32 U32 (Type::U32) u32);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 489 |     let _ = vs!(fn visit_u32 U32 (Type::U32) u32);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:490:5
[INFO] [stderr]     |
[INFO] [stderr] 490 |     vs!(fn visit_u64 U64 (Type::U64) u64);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 490 |     let _ = vs!(fn visit_u64 U64 (Type::U64) u64);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:491:5
[INFO] [stderr]     |
[INFO] [stderr] 491 |     vs!(fn visit_u128 U128 (Type::U128) u128);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 491 |     let _ = vs!(fn visit_u128 U128 (Type::U128) u128);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:492:5
[INFO] [stderr]     |
[INFO] [stderr] 492 |     vs!(fn visit_f32 F32 (Type::F32) f32);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 492 |     let _ = vs!(fn visit_f32 F32 (Type::F32) f32);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:493:5
[INFO] [stderr]     |
[INFO] [stderr] 493 |     vs!(fn visit_f64 F64 (Type::F64) f64);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 493 |     let _ = vs!(fn visit_f64 F64 (Type::F64) f64);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:494:5
[INFO] [stderr]     |
[INFO] [stderr] 494 |     vs!(fn visit_char Char (Type::Char) char);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 494 |     let _ = vs!(fn visit_char Char (Type::Char) char);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:566:17
[INFO] [stderr]     |
[INFO] [stderr] 566 |                 self.interp.error.insert(e);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 566 |                 let _ = self.interp.error.insert(e);
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:643:17
[INFO] [stderr]     |
[INFO] [stderr] 643 |                 self.interp.error.insert(e);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 643 |                 let _ = self.interp.error.insert(e);
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:661:9
[INFO] [stderr]     |
[INFO] [stderr] 661 |         vs!(self (Cow::Owned(v.to_owned())) Bytes (Type::Bytes | Type::ByteBuf))
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 661 |         let _ = vs!(self (Cow::Owned(v.to_owned())) Bytes (Type::Bytes | Type::ByteBuf))
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:667:9
[INFO] [stderr]     |
[INFO] [stderr] 667 |         vs!(self (Cow::Borrowed(v)) Bytes (Type::Bytes | Type::ByteBuf))
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 667 |         let _ = vs!(self (Cow::Borrowed(v)) Bytes (Type::Bytes | Type::ByteBuf))
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:680:9
[INFO] [stderr]     |
[INFO] [stderr] 680 |         vs!(self {} None (Type::Option))
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 680 |         let _ = vs!(self {} None (Type::Option))
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:692:9
[INFO] [stderr]     |
[INFO] [stderr] 692 |         vs!(self {} Unit (Type::Unit))
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 692 |         let _ = vs!(self {} Unit (Type::Unit))
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:733:17
[INFO] [stderr]     |
[INFO] [stderr] 733 |                 self.interp.error.insert(e);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 733 |                 let _ = self.interp.error.insert(e);
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::option::Option::<T>::insert` that must be used
[INFO] [stderr]    --> src/vm/de/mod.rs:939:17
[INFO] [stderr]     |
[INFO] [stderr] 939 |                 self.interp.error.insert(e);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you intended to set a value, consider assignment instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 939 |                 let _ = self.interp.error.insert(e);
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `datafu` (lib) generated 80 warnings (run `cargo fix --lib -p datafu` to apply 45 suggestions)
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/parser.rs:801:13
[INFO] [stderr]     |
[INFO] [stderr] 801 |         let mut parser = Parser::<
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pack`
[INFO] [stderr]     --> src/vm/de/mod.rs:1303:13
[INFO] [stderr]      |
[INFO] [stderr] 1303 |         let pack = Packer::new(interp, MAX_CALLS).deserialize(&mut der).unwrap();
[INFO] [stderr]      |             ^^^^ help: if this is intentional, prefix it with an underscore: `_pack`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/vm/de/mod.rs:1841:14
[INFO] [stderr]      |
[INFO] [stderr] 1841 |         let (mut packs, obj) = result.unwrap();
[INFO] [stderr]      |              ----^^^^^
[INFO] [stderr]      |              |
[INFO] [stderr]      |              help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/vm/de/mod.rs:1886:14
[INFO] [stderr]      |
[INFO] [stderr] 1886 |         let (mut packs, obj) = result.unwrap();
[INFO] [stderr]      |              ----^^^^^
[INFO] [stderr]      |              |
[INFO] [stderr]      |              help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/vm/de/mod.rs:1924:14
[INFO] [stderr]      |
[INFO] [stderr] 1924 |         let (mut packs, obj) = result.unwrap();
[INFO] [stderr]      |              ----^^^^^
[INFO] [stderr]      |              |
[INFO] [stderr]      |              help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/vm/de/mod.rs:2100:14
[INFO] [stderr]      |
[INFO] [stderr] 2100 |         let (mut packs, obj) = result.unwrap();
[INFO] [stderr]      |              ----^^^^^
[INFO] [stderr]      |              |
[INFO] [stderr]      |              help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `datafu` (lib test) generated 86 warnings (80 duplicates) (run `cargo fix --lib -p datafu --tests` to apply 6 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/datafu-a5f494f2bed8b76c)
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] test parser::tests::test_documented_edge_cases ... ok
[INFO] [stdout] test parser::tests::test_identifier ... ok
[INFO] [stdout] test vm::de::tests::test_basic_multiframe ... ok
[INFO] [stdout] test vm::de::tests::test_empty_create ... ok
[INFO] [stdout] test vm::de::tests::test_empty_match ... ok
[INFO] [stdout] test vm::de::tests::test_empty_subtrees ... ok
[INFO] [stdout] test parser::tests::test_no_crash_some_patterns ... ok
[INFO] [stdout] test vm::de::tests::test_guaranteed_at_least_once ... ok
[INFO] [stdout] test vm::de::tests::test_list_key ... ok
[INFO] [stdout] test vm::de::tests::test_map ... ok
[INFO] [stdout] test vm::de::tests::test_parser_empty ... ok
[INFO] [stdout] test vm::de::tests::test_parser_subtrees ... ok
[INFO] [stdout] test vm::de::tests::test_key_optionally_missing ... ok
[INFO] [stdout] test vm::de::tests::test_simple_error ... ok
[INFO] [stdout] test vm::de::tests::test_parser_basic_subtree ... ok
[INFO] [stdout] test vm::de::tests::test_parser_subtrees_validation ... ok
[INFO] [stdout] test vm::de::tests::test_basic_seq ... ok
[INFO] [stdout] test vm::de::tests::test_parser_basic ... ok
[INFO] [stdout] test vm::de::tests::test_map_without_values ... ok
[INFO] [stdout] test vm::de::tests::test_simple_match ... ok
[INFO] [stdout] test vm::de::tests::test_one_or_more_subtrees_validation_failure ... ok
[INFO] [stdout] test vm::de::tests::test_one_or_more_subtrees_validation ... ok
[INFO] [stdout] test vm::de::tests::test_realish_use_case ... ok
[INFO] [stdout] test vm::de::tests::test_broken - should panic ... ok
[INFO] [stdout] test parser::tests::test_no_crash ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.50s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_real_use_case ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/basic_match.rs (/opt/rustwide/target/debug/deps/basic_match-cab14e62eff0ad67)
[INFO] [stderr]      Running tests/parser_prop.rs (/opt/rustwide/target/debug/deps/parser_prop-a7b97e4edec9b449)
[INFO] [stdout] test doesnt_panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests datafu
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test src/lib.rs - pred (line 144) ... ignored
[INFO] [stdout] test src/lib.rs - pred (line 135) - compile fail ... ok
[INFO] [stdout] test src/pattern.rs - pattern::Pattern (line 26) ... ok
[INFO] [stdout] test src/pattern.rs - pattern::PatternBuilder<'s>::for_pattern (line 79) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.64s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f34b64c1e4fdf8201e356cf2adc1af67d7a60a25d8880c88dc36a5b90bad5546", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f34b64c1e4fdf8201e356cf2adc1af67d7a60a25d8880c88dc36a5b90bad5546", kill_on_drop: false }`
[INFO] [stdout] f34b64c1e4fdf8201e356cf2adc1af67d7a60a25d8880c88dc36a5b90bad5546
