[INFO] cloning repository https://github.com/ProtoDef-io/protodefc
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ProtoDef-io/protodefc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FProtoDef-io%2Fprotodefc", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FProtoDef-io%2Fprotodefc'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a17214e3c27f5438241b8ef3a82bfffd955e6dd6
[INFO] testing ProtoDef-io/protodefc against 1.76.0 for beta-1.77-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FProtoDef-io%2Fprotodefc" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ProtoDef-io/protodefc on toolchain 1.76.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ProtoDef-io/protodefc
[INFO] finished tweaking git repo https://github.com/ProtoDef-io/protodefc
[INFO] tweaked toml for git repo https://github.com/ProtoDef-io/protodefc written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/ProtoDef-io/protodefc already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded num-integer v0.1.38
[INFO] [stderr]   Downloaded num-traits v0.2.4
[INFO] [stderr]   Downloaded json v0.11.6
[INFO] [stderr]   Downloaded serde v1.0.2
[INFO] [stderr]   Downloaded peg v0.5.2
[INFO] [stderr]   Downloaded serde_json v1.0.1
[INFO] [stderr]   Downloaded Inflector v0.10.0
[INFO] [stderr]   Downloaded clap v2.23.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9878f990057f7e7792abdade55ae17ccf2704aa05acd7f3a65515b3172ba01a8
[INFO] running `Command { std: "docker" "start" "-a" "9878f990057f7e7792abdade55ae17ccf2704aa05acd7f3a65515b3172ba01a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9878f990057f7e7792abdade55ae17ccf2704aa05acd7f3a65515b3172ba01a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9878f990057f7e7792abdade55ae17ccf2704aa05acd7f3a65515b3172ba01a8", kill_on_drop: false }`
[INFO] [stdout] 9878f990057f7e7792abdade55ae17ccf2704aa05acd7f3a65515b3172ba01a8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 83aa760e624f27e0e3015e75a8c91aa00acb4e2edb580a785b6f8da74a28d88f
[INFO] running `Command { std: "docker" "start" "-a" "83aa760e624f27e0e3015e75a8c91aa00acb4e2edb580a785b6f8da74a28d88f", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.4
[INFO] [stderr]    Compiling num-integer v0.1.38
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling num-bigint v0.2.0
[INFO] [stderr]    Compiling serde v1.0.2
[INFO] [stderr]    Compiling itoa v0.3.1
[INFO] [stderr]    Compiling num-traits v0.1.37
[INFO] [stderr]    Compiling dtoa v0.4.1
[INFO] [stderr]    Compiling either v1.1.0
[INFO] [stderr]    Compiling Inflector v0.10.0
[INFO] [stderr]    Compiling json v0.11.6
[INFO] [stderr]    Compiling nom v2.2.1
[INFO] [stderr]    Compiling lazy_static v0.2.8
[INFO] [stderr]    Compiling error-chain v0.10.0
[INFO] [stderr]    Compiling matches v0.1.4
[INFO] [stderr]    Compiling itertools v0.5.10
[INFO] [stderr]    Compiling peg v0.5.2
[INFO] [stderr]    Compiling protodefc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling serde_json v1.0.1
[INFO] [stderr]    Compiling toml v0.4.0
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use] extern crate lazy_static;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[macro_use] extern crate matches;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Container`, `WeakContainer`
[INFO] [stdout]  --> src/ir/compilation_unit/mod.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ::rc_container::{Container, WeakContainer};
[INFO] [stdout]   |                      ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::spec::data::ReferenceAccessTime`
[INFO] [stdout]  --> src/ir/compilation_unit/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ::ir::spec::data::ReferenceAccessTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntegerSize`, `IntegerSpec`, `TypeSpecContainer`
[INFO] [stdout]  --> src/ir/spec/variant/array.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::type_spec::{TypeSpecContainer, WeakTypeSpecContainer, TypeSpecVariant,
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |                       ArraySpec, ArraySize, IntegerSpec, IntegerSize};
[INFO] [stdout]   |                                             ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::compilation_unit::TypePath`
[INFO] [stdout]  --> src/ir/spec/variant/array.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ::ir::compilation_unit::TypePath;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalNSPath`, `TypeKind`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:9:60
[INFO] [stdout]    |
[INFO] [stdout] 9  | use ::ir::compilation_unit::{TypePath, NamedTypeContainer, TypeKind, RelativeNSPath,
[INFO] [stdout]    |                                                            ^^^^^^^^
[INFO] [stdout] 10 |                              CanonicalNSPath};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalNSPath`, `RelativeNSPath`, `TypePath`
[INFO] [stdout]  --> src/ir/spec/data.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ::ir::compilation_unit::{TypePath, RelativeNSPath, CanonicalNSPath};
[INFO] [stdout]   |                              ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EnumSpec`
[INFO] [stdout]  --> src/ir/type_spec/literal.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |             EnumSpec};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::std::marker::PhantomData`
[INFO] [stdout]  --> src/ir/name.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ::std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::nom::IResult`
[INFO] [stdout]  --> src/ir/name.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::nom::IResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `pf_push`
[INFO] [stdout]   --> src/backend/common/formatter.rs:41:14
[INFO] [stdout]    |
[INFO] [stdout] 41 | macro_rules! pf_push {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `pf_push_line`
[INFO] [stdout]   --> src/backend/common/formatter.rs:46:14
[INFO] [stdout]    |
[INFO] [stdout] 46 | macro_rules! pf_push_line {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::spec::data::ReferenceAccessTime`
[INFO] [stdout]  --> src/backend/imperative_base/deserialize.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::ir::spec::data::ReferenceAccessTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EnumSpec`, `TypeSpecVariant`
[INFO] [stdout]  --> src/backend/imperative_base/reference.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::type_spec::{TypeSpecVariant, EnumSpec};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ir::compilation_unit::TypePath`
[INFO] [stdout]  --> src/backend/javascript/cu_to_js.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ir::compilation_unit::TypePath;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `to_value`
[INFO] [stdout]  --> src/backend/json_spec/mod.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::serde_json::{Value, to_value};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/mod.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/mod.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/array.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/union.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/container.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalNSPath`, `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_spec/ast/mod.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::ir::compilation_unit::{TypePath, CanonicalNSPath};
[INFO] [stdout]   |                              ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         try!(write!(fmt, "error at {}:{}: expected ", self.line,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 |         { try!(write!(fmt, "EOF")); } else if self.expected.len() == 1
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |             try!(write!(fmt, "`{}`",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             try!(write!(fmt, "one of `{}`",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 |             { try!(write!(fmt, ", `{}`", escape_default(elem))); }
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:117:529
[INFO] [stdout]     |
[INFO] [stdout] 117 | ...nge_at ( __input , __pos ) ; match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . m...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:117:543
[INFO] [stdout]     |
[INFO] [stdout] 117 | ...ut , __pos ) ; match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:117:557
[INFO] [stdout]     |
[INFO] [stdout] 117 | ... match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0-9a...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:135:361
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...feff}' | '\u{1680}' | '\u{180e}' | '\u{2000}' ... '\u{200a}' | '\u{202f}' | '\u{205f}' | '\u{3000}' => Matched ( __next , ( ) ) , _ =>...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ident`
[INFO] [stdout]  --> src/frontend/protocol_spec/to_ir/spec.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::super::ast::{Ident, Statement, Value};
[INFO] [stdout]   |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RelativeNSPath`
[INFO] [stdout]  --> src/frontend/protocol_spec/to_ir/compilation_unit.rs:3:47
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ::ir::compilation_unit::{CompilationUnit, RelativeNSPath, CanonicalNSPath,
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntegerSize`, `IntegerSpec`
[INFO] [stdout]  --> src/frontend/protocol_spec/to_ir/compilation_unit.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::type_spec::{TypeSpecVariant, IntegerSpec, IntegerSize};
[INFO] [stdout]   |                                        ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `unwrap_ok`
[INFO] [stdout]   --> src/lib.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 | macro_rules! unwrap_ok {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `unwrap_error`
[INFO] [stdout]   --> src/lib.rs:60:14
[INFO] [stdout]    |
[INFO] [stdout] 60 | macro_rules! unwrap_error {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / error_chain! {
[INFO] [stdout] 7  | |     links {
[INFO] [stdout] 8  | |         //JsonParseError(
[INFO] [stdout] 9  | |         //    ::frontend::protocol_json::Error,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     }
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:193:44
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn specs_iter<'a>(&'a self) -> Box<Iterator<Item = &'a NamedTypeContainer> + 'a> {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn specs_iter<'a>(&'a self) -> Box<dyn Iterator<Item = &'a NamedTypeContainer> + 'a> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:46:44
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn to_variant<'a>(&'a self) -> &'a TypeVariant {
[INFO] [stdout]    |                                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn to_variant<'a>(&'a self) -> &'a dyn TypeVariant {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:55:56
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn to_variant_mut<'a>(&'a mut self) -> &'a mut TypeVariant {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn to_variant_mut<'a>(&'a mut self) -> &'a mut dyn TypeVariant {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/imperative_base/mod.rs:192:59
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn codegen_for_type<'a>(typ: &'a ::ir::spec::Type) -> &'a BaseCodegen {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn codegen_for_type<'a>(typ: &'a ::ir::spec::Type) -> &'a dyn BaseCodegen {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:11:43
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn build_reference_accessor(variant: &TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn build_reference_accessor(variant: &dyn TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:42:46
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn build_reference_accessor_inner(_variant: &TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn build_reference_accessor_inner(_variant: &dyn TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/ir/spec/reference/mod.rs:32:51
[INFO] [stdout]    |
[INFO] [stdout] 32 |         for is_up in (0..(self.up)).map(|_| true).intersperse(false) {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/ir/spec/reference/mod.rs:44:56
[INFO] [stdout]    |
[INFO] [stdout] 44 |         for item in self.items.iter().map(|i| Some(i)).intersperse(None) {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/errors.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / error_chain! {
[INFO] [stdout] 7  | |     links {
[INFO] [stdout] 8  | |         //JsonParseError(
[INFO] [stdout] 9  | |         //    ::frontend::protocol_json::Error,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     }
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/ir/compilation_unit/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |             _ => None,
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 _ => (),
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 _ => panic!(),
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ir/spec/variant/union.rs:72:21
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 for mut case in &mut self.cases {
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stdout]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:56:53
[INFO] [stdout]    |
[INFO] [stdout] 56 |             CompilePass::ResolveReferencedTypes(ref path, ref cu) => {
[INFO] [stdout]    |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ir/spec/variant/simple_scalar.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let mut data = TypeData::default();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:64:28
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/type_spec/literal.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn parse_binary(data: &BinarySpec, input_str: &str) -> Result<TypeSpecLiteralVariant> {
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count_root_node`
[INFO] [stdout]    --> src/backend/imperative_base/deserialize.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let count_root_node = data.get_reference_root(self.count_handle).upgrade();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count_root_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_var`
[INFO] [stdout]    --> src/backend/imperative_base/deserialize.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let item_var = format!("array_{}_index", ident);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_spec`
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:81:27
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 ref node, ref type_spec, .. }) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_spec`
[INFO] [stdout]    --> src/backend/imperative_base/reference.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 ref type_spec, .. }) => {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/imperative_base/mod.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_name`
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:126:54
[INFO] [stdout]     |
[INFO] [stdout] 126 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default`
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:39:53
[INFO] [stdout]    |
[INFO] [stdout] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stdout]    |                                  ^^^^^^^^^^^ help: try ignoring the field: `default: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enum_type`
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:39:66
[INFO] [stdout]    |
[INFO] [stdout] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^ help: try ignoring the field: `enum_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |             let mut cases = cases.iter()
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_name_size_of`
[INFO] [stdout]   --> src/backend/rust/cu_to_rs.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let typ_name_size_of = format!("{}_size_of", typ_base_name);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_size_of`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_name_deserialize`
[INFO] [stdout]   --> src/backend/rust/cu_to_rs.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let typ_name_deserialize = format!("{}_deserialize", typ_base_name);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_deserialize`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length_var`
[INFO] [stdout]   --> src/backend/python/ib_to_py.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 let length_var = format!("{}_length", index_var);
[INFO] [stdout]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_length_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_name`
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:113:54
[INFO] [stdout]     |
[INFO] [stdout] 113 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 |             let mut cases: Vec<(Expr, Block)> = cases.iter()
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `native`
[INFO] [stdout]   --> src/backend/json_spec/mod.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |             TypeKind::Native(ref native) => {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_native`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_data`
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let typ_data = &typ_inner.data;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/pass/resolve_reference.rs:213:23
[INFO] [stdout]     |
[INFO] [stdout] 213 | fn validate_causality(target: &mut ReferenceData) -> Result<()> {
[INFO] [stdout]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `WeakDefinedTypeSpecContainer` is never used
[INFO] [stdout]  --> src/ir/compilation_unit/defined_type_spec.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type WeakDefinedTypeSpecContainer = WeakContainer<DefinedTypeSpec>;
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `HexOne` and `HexTwo` are never constructed
[INFO] [stdout]   --> src/ir/type_spec/literal.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | enum ParseBinaryState {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 86 |     HexOne(bool),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 87 |     HexTwo(u8, bool),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse` is never used
[INFO] [stdout]   --> src/ir/target_type.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl TargetType {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     fn parse(&self, raw: &str) -> Option<TargetTypeValue> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Integer`, `Bytes`, and `Enum` are never constructed
[INFO] [stdout]   --> src/ir/target_type.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum TargetTypeValue {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 38 |     Integer(u64),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 39 |     Bytes(Vec<u8>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 40 |     Enum(String),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TargetTypeValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_type` is never used
[INFO] [stdout]   --> src/ir/target_type.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl TargetTypeValue {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 43 |
[INFO] [stdout] 44 |     fn get_type(&self) -> TargetType {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `block` and `result_var` are never read
[INFO] [stdout]   --> src/backend/imperative_base/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ResultBlock {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 23 |     block: Block,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 24 |     result_var: Var,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResultBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_compile` is never used
[INFO] [stdout]  --> src/backend/imperative_base/tests/mod.rs:2:4
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn test_compile(spec: &str) {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AssignBlock`, `Block`, and `Module` are never constructed
[INFO] [stdout]   --> src/backend/rust/builder.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub enum Statement {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |     AssignBlock {
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Block {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Module {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `block` is never used
[INFO] [stdout]   --> src/backend/rust/builder.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Block {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn block(&mut self, block: Block) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_error` is never used
[INFO] [stdout]   --> src/frontend/protocol_spec/ast/parser.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn format_error(input: &str, error: pds::ParseError) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ir_to_spec` is never used
[INFO] [stdout]  --> src/frontend/protocol_spec/from_ir.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn ir_to_spec(type_name: String, typ: TypeContainer) -> Statement {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ir_to_spec_inner` is never used
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn ir_to_spec_inner(typ: TypeContainer) -> Statement {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:190:23
[INFO] [stdout]     |
[INFO] [stdout] 190 |             .map(|t| t.clone())
[INFO] [stdout]     |                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `DefinedItem` does not implement `Clone`, so calling `clone` on `&DefinedItem` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 88 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 3.51s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "83aa760e624f27e0e3015e75a8c91aa00acb4e2edb580a785b6f8da74a28d88f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "83aa760e624f27e0e3015e75a8c91aa00acb4e2edb580a785b6f8da74a28d88f", kill_on_drop: false }`
[INFO] [stdout] 83aa760e624f27e0e3015e75a8c91aa00acb4e2edb580a785b6f8da74a28d88f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4482b8e416121359bdcf6e417f971c146cbe882e6b1b93aeace81c406552965b
[INFO] running `Command { std: "docker" "start" "-a" "4482b8e416121359bdcf6e417f971c146cbe882e6b1b93aeace81c406552965b", kill_on_drop: false }`
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use] extern crate lazy_static;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[macro_use] extern crate matches;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Container`, `WeakContainer`
[INFO] [stdout]  --> src/ir/compilation_unit/mod.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ::rc_container::{Container, WeakContainer};
[INFO] [stdout]   |                      ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::spec::data::ReferenceAccessTime`
[INFO] [stdout]  --> src/ir/compilation_unit/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ::ir::spec::data::ReferenceAccessTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntegerSize`, `IntegerSpec`, `TypeSpecContainer`
[INFO] [stdout]  --> src/ir/spec/variant/array.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::type_spec::{TypeSpecContainer, WeakTypeSpecContainer, TypeSpecVariant,
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |                       ArraySpec, ArraySize, IntegerSpec, IntegerSize};
[INFO] [stdout]   |                                             ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::compilation_unit::TypePath`
[INFO] [stdout]  --> src/ir/spec/variant/array.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ::ir::compilation_unit::TypePath;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalNSPath`, `TypeKind`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:9:60
[INFO] [stdout]    |
[INFO] [stdout] 9  | use ::ir::compilation_unit::{TypePath, NamedTypeContainer, TypeKind, RelativeNSPath,
[INFO] [stdout]    |                                                            ^^^^^^^^
[INFO] [stdout] 10 |                              CanonicalNSPath};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalNSPath`, `RelativeNSPath`, `TypePath`
[INFO] [stdout]  --> src/ir/spec/data.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ::ir::compilation_unit::{TypePath, RelativeNSPath, CanonicalNSPath};
[INFO] [stdout]   |                              ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EnumSpec`
[INFO] [stdout]  --> src/ir/type_spec/literal.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |             EnumSpec};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::std::marker::PhantomData`
[INFO] [stdout]  --> src/ir/name.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ::std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::nom::IResult`
[INFO] [stdout]  --> src/ir/name.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::nom::IResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `pf_push`
[INFO] [stdout]   --> src/backend/common/formatter.rs:41:14
[INFO] [stdout]    |
[INFO] [stdout] 41 | macro_rules! pf_push {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `pf_push_line`
[INFO] [stdout]   --> src/backend/common/formatter.rs:46:14
[INFO] [stdout]    |
[INFO] [stdout] 46 | macro_rules! pf_push_line {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::spec::data::ReferenceAccessTime`
[INFO] [stdout]  --> src/backend/imperative_base/deserialize.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::ir::spec::data::ReferenceAccessTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EnumSpec`, `TypeSpecVariant`
[INFO] [stdout]  --> src/backend/imperative_base/reference.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::type_spec::{TypeSpecVariant, EnumSpec};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ir::compilation_unit::TypePath`
[INFO] [stdout]  --> src/backend/javascript/cu_to_js.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ir::compilation_unit::TypePath;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `to_value`
[INFO] [stdout]  --> src/backend/json_spec/mod.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::serde_json::{Value, to_value};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/mod.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/mod.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/array.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/union.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/container.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalNSPath`, `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_spec/ast/mod.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::ir::compilation_unit::{TypePath, CanonicalNSPath};
[INFO] [stdout]   |                              ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         try!(write!(fmt, "error at {}:{}: expected ", self.line,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 |         { try!(write!(fmt, "EOF")); } else if self.expected.len() == 1
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |             try!(write!(fmt, "`{}`",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             try!(write!(fmt, "one of `{}`",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 |             { try!(write!(fmt, ", `{}`", escape_default(elem))); }
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:117:529
[INFO] [stdout]     |
[INFO] [stdout] 117 | ...nge_at ( __input , __pos ) ; match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . m...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:117:543
[INFO] [stdout]     |
[INFO] [stdout] 117 | ...ut , __pos ) ; match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:117:557
[INFO] [stdout]     |
[INFO] [stdout] 117 | ... match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0-9a...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:135:361
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...feff}' | '\u{1680}' | '\u{180e}' | '\u{2000}' ... '\u{200a}' | '\u{202f}' | '\u{205f}' | '\u{3000}' => Matched ( __next , ( ) ) , _ =>...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ident`
[INFO] [stdout]  --> src/frontend/protocol_spec/to_ir/spec.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::super::ast::{Ident, Statement, Value};
[INFO] [stdout]   |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RelativeNSPath`
[INFO] [stdout]  --> src/frontend/protocol_spec/to_ir/compilation_unit.rs:3:47
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ::ir::compilation_unit::{CompilationUnit, RelativeNSPath, CanonicalNSPath,
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntegerSize`, `IntegerSpec`
[INFO] [stdout]  --> src/frontend/protocol_spec/to_ir/compilation_unit.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::type_spec::{TypeSpecVariant, IntegerSpec, IntegerSize};
[INFO] [stdout]   |                                        ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `unwrap_ok`
[INFO] [stdout]   --> src/lib.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 | macro_rules! unwrap_ok {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `unwrap_error`
[INFO] [stdout]   --> src/lib.rs:60:14
[INFO] [stdout]    |
[INFO] [stdout] 60 | macro_rules! unwrap_error {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / error_chain! {
[INFO] [stdout] 7  | |     links {
[INFO] [stdout] 8  | |         //JsonParseError(
[INFO] [stdout] 9  | |         //    ::frontend::protocol_json::Error,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     }
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:193:44
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn specs_iter<'a>(&'a self) -> Box<Iterator<Item = &'a NamedTypeContainer> + 'a> {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn specs_iter<'a>(&'a self) -> Box<dyn Iterator<Item = &'a NamedTypeContainer> + 'a> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:46:44
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn to_variant<'a>(&'a self) -> &'a TypeVariant {
[INFO] [stdout]    |                                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn to_variant<'a>(&'a self) -> &'a dyn TypeVariant {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:55:56
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn to_variant_mut<'a>(&'a mut self) -> &'a mut TypeVariant {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn to_variant_mut<'a>(&'a mut self) -> &'a mut dyn TypeVariant {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/imperative_base/mod.rs:192:59
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn codegen_for_type<'a>(typ: &'a ::ir::spec::Type) -> &'a BaseCodegen {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn codegen_for_type<'a>(typ: &'a ::ir::spec::Type) -> &'a dyn BaseCodegen {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:11:43
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn build_reference_accessor(variant: &TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn build_reference_accessor(variant: &dyn TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:42:46
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn build_reference_accessor_inner(_variant: &TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn build_reference_accessor_inner(_variant: &dyn TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/ir/spec/reference/mod.rs:32:51
[INFO] [stdout]    |
[INFO] [stdout] 32 |         for is_up in (0..(self.up)).map(|_| true).intersperse(false) {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/ir/spec/reference/mod.rs:44:56
[INFO] [stdout]    |
[INFO] [stdout] 44 |         for item in self.items.iter().map(|i| Some(i)).intersperse(None) {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/errors.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / error_chain! {
[INFO] [stdout] 7  | |     links {
[INFO] [stdout] 8  | |         //JsonParseError(
[INFO] [stdout] 9  | |         //    ::frontend::protocol_json::Error,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     }
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/ir/compilation_unit/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |             _ => None,
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 _ => (),
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 _ => panic!(),
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ir/spec/variant/union.rs:72:21
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 for mut case in &mut self.cases {
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stdout]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:56:53
[INFO] [stdout]    |
[INFO] [stdout] 56 |             CompilePass::ResolveReferencedTypes(ref path, ref cu) => {
[INFO] [stdout]    |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ir/spec/variant/simple_scalar.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let mut data = TypeData::default();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:64:28
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/type_spec/literal.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn parse_binary(data: &BinarySpec, input_str: &str) -> Result<TypeSpecLiteralVariant> {
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count_root_node`
[INFO] [stdout]    --> src/backend/imperative_base/deserialize.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let count_root_node = data.get_reference_root(self.count_handle).upgrade();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count_root_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_var`
[INFO] [stdout]    --> src/backend/imperative_base/deserialize.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let item_var = format!("array_{}_index", ident);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_spec`
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:81:27
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 ref node, ref type_spec, .. }) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_spec`
[INFO] [stdout]    --> src/backend/imperative_base/reference.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 ref type_spec, .. }) => {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/imperative_base/mod.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_name`
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:126:54
[INFO] [stdout]     |
[INFO] [stdout] 126 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default`
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:39:53
[INFO] [stdout]    |
[INFO] [stdout] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stdout]    |                                  ^^^^^^^^^^^ help: try ignoring the field: `default: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enum_type`
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:39:66
[INFO] [stdout]    |
[INFO] [stdout] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^ help: try ignoring the field: `enum_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |             let mut cases = cases.iter()
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_name_size_of`
[INFO] [stdout]   --> src/backend/rust/cu_to_rs.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let typ_name_size_of = format!("{}_size_of", typ_base_name);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_size_of`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_name_deserialize`
[INFO] [stdout]   --> src/backend/rust/cu_to_rs.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let typ_name_deserialize = format!("{}_deserialize", typ_base_name);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_deserialize`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length_var`
[INFO] [stdout]   --> src/backend/python/ib_to_py.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 let length_var = format!("{}_length", index_var);
[INFO] [stdout]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_length_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_name`
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:113:54
[INFO] [stdout]     |
[INFO] [stdout] 113 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 |             let mut cases: Vec<(Expr, Block)> = cases.iter()
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `native`
[INFO] [stdout]   --> src/backend/json_spec/mod.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |             TypeKind::Native(ref native) => {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_native`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_data`
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let typ_data = &typ_inner.data;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/pass/resolve_reference.rs:213:23
[INFO] [stdout]     |
[INFO] [stdout] 213 | fn validate_causality(target: &mut ReferenceData) -> Result<()> {
[INFO] [stdout]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `WeakDefinedTypeSpecContainer` is never used
[INFO] [stdout]  --> src/ir/compilation_unit/defined_type_spec.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type WeakDefinedTypeSpecContainer = WeakContainer<DefinedTypeSpec>;
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `HexOne` and `HexTwo` are never constructed
[INFO] [stdout]   --> src/ir/type_spec/literal.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | enum ParseBinaryState {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 86 |     HexOne(bool),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 87 |     HexTwo(u8, bool),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse` is never used
[INFO] [stdout]   --> src/ir/target_type.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl TargetType {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     fn parse(&self, raw: &str) -> Option<TargetTypeValue> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Integer`, `Bytes`, and `Enum` are never constructed
[INFO] [stdout]   --> src/ir/target_type.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum TargetTypeValue {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 38 |     Integer(u64),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 39 |     Bytes(Vec<u8>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 40 |     Enum(String),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TargetTypeValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_type` is never used
[INFO] [stdout]   --> src/ir/target_type.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl TargetTypeValue {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 43 |
[INFO] [stdout] 44 |     fn get_type(&self) -> TargetType {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `block` and `result_var` are never read
[INFO] [stdout]   --> src/backend/imperative_base/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ResultBlock {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 23 |     block: Block,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 24 |     result_var: Var,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResultBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_compile` is never used
[INFO] [stdout]  --> src/backend/imperative_base/tests/mod.rs:2:4
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn test_compile(spec: &str) {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AssignBlock`, `Block`, and `Module` are never constructed
[INFO] [stdout]   --> src/backend/rust/builder.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub enum Statement {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |     AssignBlock {
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Block {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Module {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `block` is never used
[INFO] [stdout]   --> src/backend/rust/builder.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Block {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn block(&mut self, block: Block) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_error` is never used
[INFO] [stdout]   --> src/frontend/protocol_spec/ast/parser.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn format_error(input: &str, error: pds::ParseError) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ir_to_spec` is never used
[INFO] [stdout]  --> src/frontend/protocol_spec/from_ir.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn ir_to_spec(type_name: String, typ: TypeContainer) -> Statement {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ir_to_spec_inner` is never used
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn ir_to_spec_inner(typ: TypeContainer) -> Statement {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:190:23
[INFO] [stdout]     |
[INFO] [stdout] 190 |             .map(|t| t.clone())
[INFO] [stdout]     |                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `DefinedItem` does not implement `Clone`, so calling `clone` on `&DefinedItem` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling protodefc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: 88 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `protodefc::ir::spec::TypeContainer`
[INFO] [stdout]  --> tests/spec_compile.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use protodefc::ir::spec::TypeContainer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use] extern crate lazy_static;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[macro_use] extern crate matches;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Container`, `WeakContainer`
[INFO] [stdout]  --> src/ir/compilation_unit/mod.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ::rc_container::{Container, WeakContainer};
[INFO] [stdout]   |                      ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::spec::data::ReferenceAccessTime`
[INFO] [stdout]  --> src/ir/compilation_unit/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ::ir::spec::data::ReferenceAccessTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntegerSize`, `IntegerSpec`, `TypeSpecContainer`
[INFO] [stdout]  --> src/ir/spec/variant/array.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::type_spec::{TypeSpecContainer, WeakTypeSpecContainer, TypeSpecVariant,
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |                       ArraySpec, ArraySize, IntegerSpec, IntegerSize};
[INFO] [stdout]   |                                             ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::compilation_unit::TypePath`
[INFO] [stdout]  --> src/ir/spec/variant/array.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ::ir::compilation_unit::TypePath;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalNSPath`, `TypeKind`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:9:60
[INFO] [stdout]    |
[INFO] [stdout] 9  | use ::ir::compilation_unit::{TypePath, NamedTypeContainer, TypeKind, RelativeNSPath,
[INFO] [stdout]    |                                                            ^^^^^^^^
[INFO] [stdout] 10 |                              CanonicalNSPath};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalNSPath`, `RelativeNSPath`, `TypePath`
[INFO] [stdout]  --> src/ir/spec/data.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ::ir::compilation_unit::{TypePath, RelativeNSPath, CanonicalNSPath};
[INFO] [stdout]   |                              ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EnumSpec`
[INFO] [stdout]  --> src/ir/type_spec/literal.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |             EnumSpec};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::std::marker::PhantomData`
[INFO] [stdout]  --> src/ir/name.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ::std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::nom::IResult`
[INFO] [stdout]  --> src/ir/name.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::nom::IResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `pf_push`
[INFO] [stdout]   --> src/backend/common/formatter.rs:41:14
[INFO] [stdout]    |
[INFO] [stdout] 41 | macro_rules! pf_push {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `pf_push_line`
[INFO] [stdout]   --> src/backend/common/formatter.rs:46:14
[INFO] [stdout]    |
[INFO] [stdout] 46 | macro_rules! pf_push_line {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::spec::data::ReferenceAccessTime`
[INFO] [stdout]  --> src/backend/imperative_base/deserialize.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::ir::spec::data::ReferenceAccessTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EnumSpec`, `TypeSpecVariant`
[INFO] [stdout]  --> src/backend/imperative_base/reference.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::type_spec::{TypeSpecVariant, EnumSpec};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ir::compilation_unit::TypePath`
[INFO] [stdout]  --> src/backend/javascript/cu_to_js.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ir::compilation_unit::TypePath;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `to_value`
[INFO] [stdout]  --> src/backend/json_spec/mod.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::serde_json::{Value, to_value};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/mod.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/mod.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/array.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/union.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/container.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalNSPath`, `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_spec/ast/mod.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::ir::compilation_unit::{TypePath, CanonicalNSPath};
[INFO] [stdout]   |                              ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         try!(write!(fmt, "error at {}:{}: expected ", self.line,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 |         { try!(write!(fmt, "EOF")); } else if self.expected.len() == 1
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |             try!(write!(fmt, "`{}`",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             try!(write!(fmt, "one of `{}`",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 |             { try!(write!(fmt, ", `{}`", escape_default(elem))); }
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:117:529
[INFO] [stdout]     |
[INFO] [stdout] 117 | ...nge_at ( __input , __pos ) ; match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . m...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:117:543
[INFO] [stdout]     |
[INFO] [stdout] 117 | ...ut , __pos ) ; match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:117:557
[INFO] [stdout]     |
[INFO] [stdout] 117 | ... match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0-9a...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:135:361
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...feff}' | '\u{1680}' | '\u{180e}' | '\u{2000}' ... '\u{200a}' | '\u{202f}' | '\u{205f}' | '\u{3000}' => Matched ( __next , ( ) ) , _ =>...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::ir_to_spec`
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     use super::ir_to_spec;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::protocol_spec::ast::printer::print`
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     use self::protocol_spec::ast::printer::print;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::protocol_spec::ast::Block`
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     use self::protocol_spec::ast::Block;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ident`
[INFO] [stdout]  --> src/frontend/protocol_spec/to_ir/spec.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::super::ast::{Ident, Statement, Value};
[INFO] [stdout]   |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RelativeNSPath`
[INFO] [stdout]  --> src/frontend/protocol_spec/to_ir/compilation_unit.rs:3:47
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ::ir::compilation_unit::{CompilationUnit, RelativeNSPath, CanonicalNSPath,
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntegerSize`, `IntegerSpec`
[INFO] [stdout]  --> src/frontend/protocol_spec/to_ir/compilation_unit.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::type_spec::{TypeSpecVariant, IntegerSpec, IntegerSize};
[INFO] [stdout]   |                                        ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `unwrap_ok`
[INFO] [stdout]   --> src/lib.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 | macro_rules! unwrap_ok {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `unwrap_error`
[INFO] [stdout]   --> src/lib.rs:60:14
[INFO] [stdout]    |
[INFO] [stdout] 60 | macro_rules! unwrap_error {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / error_chain! {
[INFO] [stdout] 7  | |     links {
[INFO] [stdout] 8  | |         //JsonParseError(
[INFO] [stdout] 9  | |         //    ::frontend::protocol_json::Error,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     }
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:193:44
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn specs_iter<'a>(&'a self) -> Box<Iterator<Item = &'a NamedTypeContainer> + 'a> {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn specs_iter<'a>(&'a self) -> Box<dyn Iterator<Item = &'a NamedTypeContainer> + 'a> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:46:44
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn to_variant<'a>(&'a self) -> &'a TypeVariant {
[INFO] [stdout]    |                                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn to_variant<'a>(&'a self) -> &'a dyn TypeVariant {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:55:56
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn to_variant_mut<'a>(&'a mut self) -> &'a mut TypeVariant {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn to_variant_mut<'a>(&'a mut self) -> &'a mut dyn TypeVariant {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/imperative_base/mod.rs:192:59
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn codegen_for_type<'a>(typ: &'a ::ir::spec::Type) -> &'a BaseCodegen {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn codegen_for_type<'a>(typ: &'a ::ir::spec::Type) -> &'a dyn BaseCodegen {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:11:43
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn build_reference_accessor(variant: &TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn build_reference_accessor(variant: &dyn TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:42:46
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn build_reference_accessor_inner(_variant: &TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn build_reference_accessor_inner(_variant: &dyn TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/ir/spec/reference/mod.rs:32:51
[INFO] [stdout]    |
[INFO] [stdout] 32 |         for is_up in (0..(self.up)).map(|_| true).intersperse(false) {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/ir/spec/reference/mod.rs:44:56
[INFO] [stdout]    |
[INFO] [stdout] 44 |         for item in self.items.iter().map(|i| Some(i)).intersperse(None) {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/errors.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / error_chain! {
[INFO] [stdout] 7  | |     links {
[INFO] [stdout] 8  | |         //JsonParseError(
[INFO] [stdout] 9  | |         //    ::frontend::protocol_json::Error,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     }
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/ir/compilation_unit/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |             _ => None,
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 _ => (),
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 _ => panic!(),
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ir/spec/variant/union.rs:72:21
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 for mut case in &mut self.cases {
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stdout]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:56:53
[INFO] [stdout]    |
[INFO] [stdout] 56 |             CompilePass::ResolveReferencedTypes(ref path, ref cu) => {
[INFO] [stdout]    |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ir/spec/variant/simple_scalar.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let mut data = TypeData::default();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:64:28
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/type_spec/literal.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn parse_binary(data: &BinarySpec, input_str: &str) -> Result<TypeSpecLiteralVariant> {
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count_root_node`
[INFO] [stdout]    --> src/backend/imperative_base/deserialize.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let count_root_node = data.get_reference_root(self.count_handle).upgrade();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count_root_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_var`
[INFO] [stdout]    --> src/backend/imperative_base/deserialize.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let item_var = format!("array_{}_index", ident);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_spec`
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:81:27
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 ref node, ref type_spec, .. }) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_spec`
[INFO] [stdout]    --> src/backend/imperative_base/reference.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 ref type_spec, .. }) => {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/imperative_base/mod.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_name`
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:126:54
[INFO] [stdout]     |
[INFO] [stdout] 126 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default`
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:39:53
[INFO] [stdout]    |
[INFO] [stdout] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stdout]    |                                  ^^^^^^^^^^^ help: try ignoring the field: `default: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enum_type`
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:39:66
[INFO] [stdout]    |
[INFO] [stdout] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^ help: try ignoring the field: `enum_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |             let mut cases = cases.iter()
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_name_size_of`
[INFO] [stdout]   --> src/backend/rust/cu_to_rs.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let typ_name_size_of = format!("{}_size_of", typ_base_name);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_size_of`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_name_deserialize`
[INFO] [stdout]   --> src/backend/rust/cu_to_rs.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let typ_name_deserialize = format!("{}_deserialize", typ_base_name);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_deserialize`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length_var`
[INFO] [stdout]   --> src/backend/python/ib_to_py.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 let length_var = format!("{}_length", index_var);
[INFO] [stdout]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_length_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_name`
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:113:54
[INFO] [stdout]     |
[INFO] [stdout] 113 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 |             let mut cases: Vec<(Expr, Block)> = cases.iter()
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `native`
[INFO] [stdout]   --> src/backend/json_spec/mod.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |             TypeKind::Native(ref native) => {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_native`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_data`
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let typ_data = &typ_inner.data;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/pass/resolve_reference.rs:213:23
[INFO] [stdout]     |
[INFO] [stdout] 213 | fn validate_causality(target: &mut ReferenceData) -> Result<()> {
[INFO] [stdout]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `WeakDefinedTypeSpecContainer` is never used
[INFO] [stdout]  --> src/ir/compilation_unit/defined_type_spec.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type WeakDefinedTypeSpecContainer = WeakContainer<DefinedTypeSpec>;
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `HexOne` and `HexTwo` are never constructed
[INFO] [stdout]   --> src/ir/type_spec/literal.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | enum ParseBinaryState {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 86 |     HexOne(bool),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 87 |     HexTwo(u8, bool),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse` is never used
[INFO] [stdout]   --> src/ir/target_type.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl TargetType {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     fn parse(&self, raw: &str) -> Option<TargetTypeValue> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Integer`, `Bytes`, and `Enum` are never constructed
[INFO] [stdout]   --> src/ir/target_type.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum TargetTypeValue {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 38 |     Integer(u64),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 39 |     Bytes(Vec<u8>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 40 |     Enum(String),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TargetTypeValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_type` is never used
[INFO] [stdout]   --> src/ir/target_type.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl TargetTypeValue {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 43 |
[INFO] [stdout] 44 |     fn get_type(&self) -> TargetType {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `block` and `result_var` are never read
[INFO] [stdout]   --> src/backend/imperative_base/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ResultBlock {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 23 |     block: Block,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 24 |     result_var: Var,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResultBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AssignBlock`, `Block`, and `Module` are never constructed
[INFO] [stdout]   --> src/backend/rust/builder.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub enum Statement {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |     AssignBlock {
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Block {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Module {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `block` is never used
[INFO] [stdout]   --> src/backend/rust/builder.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Block {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn block(&mut self, block: Block) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_error` is never used
[INFO] [stdout]   --> src/frontend/protocol_spec/ast/parser.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn format_error(input: &str, error: pds::ParseError) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ir_to_spec` is never used
[INFO] [stdout]  --> src/frontend/protocol_spec/from_ir.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn ir_to_spec(type_name: String, typ: TypeContainer) -> Statement {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ir_to_spec_inner` is never used
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn ir_to_spec_inner(typ: TypeContainer) -> Statement {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:190:23
[INFO] [stdout]     |
[INFO] [stdout] 190 |             .map(|t| t.clone())
[INFO] [stdout]     |                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `DefinedItem` does not implement `Clone`, so calling `clone` on `&DefinedItem` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 90 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.36s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "4482b8e416121359bdcf6e417f971c146cbe882e6b1b93aeace81c406552965b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4482b8e416121359bdcf6e417f971c146cbe882e6b1b93aeace81c406552965b", kill_on_drop: false }`
[INFO] [stdout] 4482b8e416121359bdcf6e417f971c146cbe882e6b1b93aeace81c406552965b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a117e7523c02d45cc17408f86105d04a329dc59a8db4a2c561b68851b28e6ed2
[INFO] running `Command { std: "docker" "start" "-a" "a117e7523c02d45cc17408f86105d04a329dc59a8db4a2c561b68851b28e6ed2", kill_on_drop: false }`
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> src/lib.rs:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[macro_use] extern crate lazy_static;
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> src/lib.rs:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | #[macro_use] extern crate matches;
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Container`, `WeakContainer`
[INFO] [stderr]  --> src/ir/compilation_unit/mod.rs:5:22
[INFO] [stderr]   |
[INFO] [stderr] 5 | use ::rc_container::{Container, WeakContainer};
[INFO] [stderr]   |                      ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `::ir::spec::data::ReferenceAccessTime`
[INFO] [stderr]  --> src/ir/compilation_unit/mod.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use ::ir::spec::data::ReferenceAccessTime;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `IntegerSize`, `IntegerSpec`, `TypeSpecContainer`
[INFO] [stderr]  --> src/ir/spec/variant/array.rs:6:23
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ::ir::type_spec::{TypeSpecContainer, WeakTypeSpecContainer, TypeSpecVariant,
[INFO] [stderr]   |                       ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 7 |                       ArraySpec, ArraySize, IntegerSpec, IntegerSize};
[INFO] [stderr]   |                                             ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `::ir::compilation_unit::TypePath`
[INFO] [stderr]  --> src/ir/spec/variant/array.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use ::ir::compilation_unit::TypePath;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CanonicalNSPath`, `TypeKind`
[INFO] [stderr]   --> src/ir/spec/variant/simple_scalar.rs:9:60
[INFO] [stderr]    |
[INFO] [stderr] 9  | use ::ir::compilation_unit::{TypePath, NamedTypeContainer, TypeKind, RelativeNSPath,
[INFO] [stderr]    |                                                            ^^^^^^^^
[INFO] [stderr] 10 |                              CanonicalNSPath};
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CanonicalNSPath`, `RelativeNSPath`, `TypePath`
[INFO] [stderr]  --> src/ir/spec/data.rs:1:30
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ::ir::compilation_unit::{TypePath, RelativeNSPath, CanonicalNSPath};
[INFO] [stderr]   |                              ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `EnumSpec`
[INFO] [stderr]  --> src/ir/type_spec/literal.rs:5:13
[INFO] [stderr]   |
[INFO] [stderr] 5 |             EnumSpec};
[INFO] [stderr]   |             ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `::std::marker::PhantomData`
[INFO] [stderr]  --> src/ir/name.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ::std::marker::PhantomData;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `::nom::IResult`
[INFO] [stderr]  --> src/ir/name.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ::nom::IResult;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `pf_push`
[INFO] [stderr]   --> src/backend/common/formatter.rs:41:14
[INFO] [stderr]    |
[INFO] [stderr] 41 | macro_rules! pf_push {
[INFO] [stderr]    |              ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `pf_push_line`
[INFO] [stderr]   --> src/backend/common/formatter.rs:46:14
[INFO] [stderr]    |
[INFO] [stderr] 46 | macro_rules! pf_push_line {
[INFO] [stderr]    |              ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `::ir::spec::data::ReferenceAccessTime`
[INFO] [stderr]  --> src/backend/imperative_base/deserialize.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ::ir::spec::data::ReferenceAccessTime;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `EnumSpec`, `TypeSpecVariant`
[INFO] [stderr]  --> src/backend/imperative_base/reference.rs:6:23
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ::ir::type_spec::{TypeSpecVariant, EnumSpec};
[INFO] [stderr]   |                       ^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ir::compilation_unit::TypePath`
[INFO] [stderr]  --> src/backend/javascript/cu_to_js.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ir::compilation_unit::TypePath;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `to_value`
[INFO] [stderr]  --> src/backend/json_spec/mod.rs:6:27
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ::serde_json::{Value, to_value};
[INFO] [stderr]   |                           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TypePath`
[INFO] [stderr]  --> src/frontend/protocol_json/mod.rs:5:30
[INFO] [stderr]   |
[INFO] [stderr] 5 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stderr]   |                              ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TypePath`
[INFO] [stderr]  --> src/frontend/protocol_json/variants/mod.rs:6:30
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stderr]   |                              ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TypePath`
[INFO] [stderr]  --> src/frontend/protocol_json/variants/array.rs:2:30
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stderr]   |                              ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TypePath`
[INFO] [stderr]  --> src/frontend/protocol_json/variants/union.rs:4:30
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stderr]   |                              ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TypePath`
[INFO] [stderr]  --> src/frontend/protocol_json/variants/container.rs:7:30
[INFO] [stderr]   |
[INFO] [stderr] 7 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stderr]   |                              ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CanonicalNSPath`, `TypePath`
[INFO] [stderr]  --> src/frontend/protocol_spec/ast/mod.rs:4:30
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ::ir::compilation_unit::{TypePath, CanonicalNSPath};
[INFO] [stderr]   |                              ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 18 |         try!(write!(fmt, "error at {}:{}: expected ", self.line,
[INFO] [stderr]    |         ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:20:11
[INFO] [stderr]    |
[INFO] [stderr] 20 |         { try!(write!(fmt, "EOF")); } else if self.expected.len() == 1
[INFO] [stderr]    |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:22:13
[INFO] [stderr]    |
[INFO] [stderr] 22 |             try!(write!(fmt, "`{}`",
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:27:13
[INFO] [stderr]    |
[INFO] [stderr] 27 |             try!(write!(fmt, "one of `{}`",
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:29:15
[INFO] [stderr]    |
[INFO] [stderr] 29 |             { try!(write!(fmt, ", `{}`", escape_default(elem))); }
[INFO] [stderr]    |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:117:529
[INFO] [stderr]     |
[INFO] [stderr] 117 | ...nge_at ( __input , __pos ) ; match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . m...
[INFO] [stderr]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:117:543
[INFO] [stderr]     |
[INFO] [stderr] 117 | ...ut , __pos ) ; match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( ...
[INFO] [stderr]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:117:557
[INFO] [stderr]     |
[INFO] [stderr] 117 | ... match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0-9a...
[INFO] [stderr]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/target/debug/build/protodefc-e90c1bf4af07b153/out/pds.rs:135:361
[INFO] [stderr]     |
[INFO] [stderr] 135 | ...feff}' | '\u{1680}' | '\u{180e}' | '\u{2000}' ... '\u{200a}' | '\u{202f}' | '\u{205f}' | '\u{3000}' => Matched ( __next , ( ) ) , _ =>...
[INFO] [stderr]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Ident`
[INFO] [stderr]  --> src/frontend/protocol_spec/to_ir/spec.rs:7:25
[INFO] [stderr]   |
[INFO] [stderr] 7 | use super::super::ast::{Ident, Statement, Value};
[INFO] [stderr]   |                         ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `RelativeNSPath`
[INFO] [stderr]  --> src/frontend/protocol_spec/to_ir/compilation_unit.rs:3:47
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ::ir::compilation_unit::{CompilationUnit, RelativeNSPath, CanonicalNSPath,
[INFO] [stderr]   |                                               ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `IntegerSize`, `IntegerSpec`
[INFO] [stderr]  --> src/frontend/protocol_spec/to_ir/compilation_unit.rs:6:40
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ::ir::type_spec::{TypeSpecVariant, IntegerSpec, IntegerSize};
[INFO] [stderr]   |                                        ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `unwrap_ok`
[INFO] [stderr]   --> src/lib.rs:48:14
[INFO] [stderr]    |
[INFO] [stderr] 48 | macro_rules! unwrap_ok {
[INFO] [stderr]    |              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `unwrap_error`
[INFO] [stderr]   --> src/lib.rs:60:14
[INFO] [stderr]    |
[INFO] [stderr] 60 | macro_rules! unwrap_error {
[INFO] [stderr]    |              ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/errors.rs:6:1
[INFO] [stderr]    |
[INFO] [stderr] 6  | / error_chain! {
[INFO] [stderr] 7  | |     links {
[INFO] [stderr] 8  | |         //JsonParseError(
[INFO] [stderr] 9  | |         //    ::frontend::protocol_json::Error,
[INFO] [stderr] ...  |
[INFO] [stderr] 27 | |     }
[INFO] [stderr] 28 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ir/compilation_unit/mod.rs:193:44
[INFO] [stderr]     |
[INFO] [stderr] 193 |     pub fn specs_iter<'a>(&'a self) -> Box<Iterator<Item = &'a NamedTypeContainer> + 'a> {
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 193 |     pub fn specs_iter<'a>(&'a self) -> Box<dyn Iterator<Item = &'a NamedTypeContainer> + 'a> {
[INFO] [stderr]     |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ir/spec/variant/mod.rs:46:44
[INFO] [stderr]    |
[INFO] [stderr] 46 |     pub fn to_variant<'a>(&'a self) -> &'a TypeVariant {
[INFO] [stderr]    |                                            ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 46 |     pub fn to_variant<'a>(&'a self) -> &'a dyn TypeVariant {
[INFO] [stderr]    |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ir/spec/variant/mod.rs:55:56
[INFO] [stderr]    |
[INFO] [stderr] 55 |     pub fn to_variant_mut<'a>(&'a mut self) -> &'a mut TypeVariant {
[INFO] [stderr]    |                                                        ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 55 |     pub fn to_variant_mut<'a>(&'a mut self) -> &'a mut dyn TypeVariant {
[INFO] [stderr]    |                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/backend/imperative_base/mod.rs:192:59
[INFO] [stderr]     |
[INFO] [stderr] 192 | fn codegen_for_type<'a>(typ: &'a ::ir::spec::Type) -> &'a BaseCodegen {
[INFO] [stderr]     |                                                           ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 192 | fn codegen_for_type<'a>(typ: &'a ::ir::spec::Type) -> &'a dyn BaseCodegen {
[INFO] [stderr]     |                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/imperative_base/reference.rs:11:43
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub fn build_reference_accessor(variant: &TypeVariant, data: &TypeData,
[INFO] [stderr]    |                                           ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub fn build_reference_accessor(variant: &dyn TypeVariant, data: &TypeData,
[INFO] [stderr]    |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/imperative_base/reference.rs:42:46
[INFO] [stderr]    |
[INFO] [stderr] 42 | fn build_reference_accessor_inner(_variant: &TypeVariant, data: &TypeData,
[INFO] [stderr]    |                                              ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 42 | fn build_reference_accessor_inner(_variant: &dyn TypeVariant, data: &TypeData,
[INFO] [stderr]    |                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: a method with this name may be added to the standard library in the future
[INFO] [stderr]   --> src/ir/spec/reference/mod.rs:32:51
[INFO] [stderr]    |
[INFO] [stderr] 32 |         for is_up in (0..(self.up)).map(|_| true).intersperse(false) {
[INFO] [stderr]    |                                                   ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stderr]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stderr]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stderr]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: a method with this name may be added to the standard library in the future
[INFO] [stderr]   --> src/ir/spec/reference/mod.rs:44:56
[INFO] [stderr]    |
[INFO] [stderr] 44 |         for item in self.items.iter().map(|i| Some(i)).intersperse(None) {
[INFO] [stderr]    |                                                        ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stderr]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stderr]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stderr]   --> src/errors.rs:6:1
[INFO] [stderr]    |
[INFO] [stderr] 6  | / error_chain! {
[INFO] [stderr] 7  | |     links {
[INFO] [stderr] 8  | |         //JsonParseError(
[INFO] [stderr] 9  | |         //    ::frontend::protocol_json::Error,
[INFO] [stderr] ...  |
[INFO] [stderr] 27 | |     }
[INFO] [stderr] 28 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/ir/compilation_unit/mod.rs:46:13
[INFO] [stderr]    |
[INFO] [stderr] 46 |             _ => None,
[INFO] [stderr]    |             ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/ir/compilation_unit/mod.rs:126:17
[INFO] [stderr]     |
[INFO] [stderr] 126 |                 _ => (),
[INFO] [stderr]     |                 ^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/ir/compilation_unit/mod.rs:179:17
[INFO] [stderr]     |
[INFO] [stderr] 179 |                 _ => panic!(),
[INFO] [stderr]     |                 ^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/ir/spec/variant/union.rs:72:21
[INFO] [stderr]    |
[INFO] [stderr] 72 |                 for mut case in &mut self.cases {
[INFO] [stderr]    |                     ----^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/ir/spec/variant/simple_scalar.rs:39:24
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stderr]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]   --> src/ir/spec/variant/simple_scalar.rs:56:53
[INFO] [stderr]    |
[INFO] [stderr] 56 |             CompilePass::ResolveReferencedTypes(ref path, ref cu) => {
[INFO] [stderr]    |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/ir/spec/variant/simple_scalar.rs:100:13
[INFO] [stderr]     |
[INFO] [stderr] 100 |         let mut data = TypeData::default();
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/ir/spec/variant/mod.rs:64:28
[INFO] [stderr]    |
[INFO] [stderr] 64 |     pub fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stderr]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/ir/type_spec/literal.rs:90:17
[INFO] [stderr]    |
[INFO] [stderr] 90 | fn parse_binary(data: &BinarySpec, input_str: &str) -> Result<TypeSpecLiteralVariant> {
[INFO] [stderr]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count_root_node`
[INFO] [stderr]    --> src/backend/imperative_base/deserialize.rs:101:13
[INFO] [stderr]     |
[INFO] [stderr] 101 |         let count_root_node = data.get_reference_root(self.count_handle).upgrade();
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count_root_node`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item_var`
[INFO] [stderr]    --> src/backend/imperative_base/deserialize.rs:109:13
[INFO] [stderr]     |
[INFO] [stderr] 109 |         let item_var = format!("array_{}_index", ident);
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_var`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `type_spec`
[INFO] [stderr]   --> src/backend/imperative_base/reference.rs:81:27
[INFO] [stderr]    |
[INFO] [stderr] 81 |                 ref node, ref type_spec, .. }) => {
[INFO] [stderr]    |                           ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `type_spec`
[INFO] [stderr]    --> src/backend/imperative_base/reference.rs:134:17
[INFO] [stderr]     |
[INFO] [stderr] 134 |                 ref type_spec, .. }) => {
[INFO] [stderr]     |                 ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/backend/imperative_base/mod.rs:199:9
[INFO] [stderr]     |
[INFO] [stderr] 199 |         _ => unimplemented!(),
[INFO] [stderr]     |         ^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `type_name`
[INFO] [stderr]    --> src/backend/javascript/ib_to_js.rs:126:54
[INFO] [stderr]     |
[INFO] [stderr] 126 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/backend/javascript/ib_to_js.rs:276:9
[INFO] [stderr]     |
[INFO] [stderr] 276 |         _ => unimplemented!(),
[INFO] [stderr]     |         ^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `default`
[INFO] [stderr]   --> src/backend/rust/ib_to_rs.rs:39:53
[INFO] [stderr]    |
[INFO] [stderr] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stderr]    |                                  ^^^^^^^^^^^ help: try ignoring the field: `default: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `enum_type`
[INFO] [stderr]   --> src/backend/rust/ib_to_rs.rs:39:66
[INFO] [stderr]    |
[INFO] [stderr] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stderr]    |                                               ^^^^^^^^^^^^^ help: try ignoring the field: `enum_type: _`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/backend/rust/ib_to_rs.rs:40:17
[INFO] [stderr]    |
[INFO] [stderr] 40 |             let mut cases = cases.iter()
[INFO] [stderr]    |                 ----^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `typ_name_size_of`
[INFO] [stderr]   --> src/backend/rust/cu_to_rs.rs:33:13
[INFO] [stderr]    |
[INFO] [stderr] 33 |         let typ_name_size_of = format!("{}_size_of", typ_base_name);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_size_of`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `typ_name_deserialize`
[INFO] [stderr]   --> src/backend/rust/cu_to_rs.rs:35:13
[INFO] [stderr]    |
[INFO] [stderr] 35 |         let typ_name_deserialize = format!("{}_deserialize", typ_base_name);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_deserialize`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `length_var`
[INFO] [stderr]   --> src/backend/python/ib_to_py.rs:27:21
[INFO] [stderr]    |
[INFO] [stderr] 27 |                 let length_var = format!("{}_length", index_var);
[INFO] [stderr]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_length_var`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `type_name`
[INFO] [stderr]    --> src/backend/python/ib_to_py.rs:113:54
[INFO] [stderr]     |
[INFO] [stderr] 113 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/backend/python/ib_to_py.rs:151:17
[INFO] [stderr]     |
[INFO] [stderr] 151 |             let mut cases: Vec<(Expr, Block)> = cases.iter()
[INFO] [stderr]     |                 ----^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/backend/python/ib_to_py.rs:253:9
[INFO] [stderr]     |
[INFO] [stderr] 253 |         _ => unimplemented!(),
[INFO] [stderr]     |         ^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `native`
[INFO] [stderr]   --> src/backend/json_spec/mod.rs:34:34
[INFO] [stderr]    |
[INFO] [stderr] 34 |             TypeKind::Native(ref native) => {
[INFO] [stderr]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_native`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `typ_data`
[INFO] [stderr]   --> src/frontend/protocol_spec/from_ir.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |     let typ_data = &typ_inner.data;
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `target`
[INFO] [stderr]    --> src/pass/resolve_reference.rs:213:23
[INFO] [stderr]     |
[INFO] [stderr] 213 | fn validate_causality(target: &mut ReferenceData) -> Result<()> {
[INFO] [stderr]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `WeakDefinedTypeSpecContainer` is never used
[INFO] [stderr]  --> src/ir/compilation_unit/defined_type_spec.rs:5:10
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub type WeakDefinedTypeSpecContainer = WeakContainer<DefinedTypeSpec>;
[INFO] [stderr]   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variants `HexOne` and `HexTwo` are never constructed
[INFO] [stderr]   --> src/ir/type_spec/literal.rs:86:5
[INFO] [stderr]    |
[INFO] [stderr] 81 | enum ParseBinaryState {
[INFO] [stderr]    |      ---------------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 86 |     HexOne(bool),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 87 |     HexTwo(u8, bool),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `parse` is never used
[INFO] [stderr]   --> src/ir/target_type.rs:18:8
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl TargetType {
[INFO] [stderr]    | --------------- method in this implementation
[INFO] [stderr] 17 |
[INFO] [stderr] 18 |     fn parse(&self, raw: &str) -> Option<TargetTypeValue> {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Integer`, `Bytes`, and `Enum` are never constructed
[INFO] [stderr]   --> src/ir/target_type.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub enum TargetTypeValue {
[INFO] [stderr]    |          --------------- variants in this enum
[INFO] [stderr] 38 |     Integer(u64),
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 39 |     Bytes(Vec<u8>),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 40 |     Enum(String),
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TargetTypeValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_type` is never used
[INFO] [stderr]   --> src/ir/target_type.rs:44:8
[INFO] [stderr]    |
[INFO] [stderr] 42 | impl TargetTypeValue {
[INFO] [stderr]    | -------------------- method in this implementation
[INFO] [stderr] 43 |
[INFO] [stderr] 44 |     fn get_type(&self) -> TargetType {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `block` and `result_var` are never read
[INFO] [stderr]   --> src/backend/imperative_base/mod.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct ResultBlock {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] 23 |     block: Block,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 24 |     result_var: Var,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ResultBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_compile` is never used
[INFO] [stderr]  --> src/backend/imperative_base/tests/mod.rs:2:4
[INFO] [stderr]   |
[INFO] [stderr] 2 | fn test_compile(spec: &str) {
[INFO] [stderr]   |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `AssignBlock`, `Block`, and `Module` are never constructed
[INFO] [stderr]   --> src/backend/rust/builder.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 4  | pub enum Statement {
[INFO] [stderr]    |          --------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 10 |     AssignBlock {
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 18 |     Block {
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 24 |     Module {
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `block` is never used
[INFO] [stderr]   --> src/backend/rust/builder.rs:64:12
[INFO] [stderr]    |
[INFO] [stderr] 47 | impl Block {
[INFO] [stderr]    | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 64 |     pub fn block(&mut self, block: Block) {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_error` is never used
[INFO] [stderr]   --> src/frontend/protocol_spec/ast/parser.rs:17:4
[INFO] [stderr]    |
[INFO] [stderr] 17 | fn format_error(input: &str, error: pds::ParseError) -> String {
[INFO] [stderr]    |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ir_to_spec` is never used
[INFO] [stderr]  --> src/frontend/protocol_spec/from_ir.rs:7:4
[INFO] [stderr]   |
[INFO] [stderr] 7 | fn ir_to_spec(type_name: String, typ: TypeContainer) -> Statement {
[INFO] [stderr]   |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ir_to_spec_inner` is never used
[INFO] [stderr]   --> src/frontend/protocol_spec/from_ir.rs:26:4
[INFO] [stderr]    |
[INFO] [stderr] 26 | fn ir_to_spec_inner(typ: TypeContainer) -> Statement {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/ir/compilation_unit/mod.rs:190:23
[INFO] [stderr]     |
[INFO] [stderr] 190 |             .map(|t| t.clone())
[INFO] [stderr]     |                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `DefinedItem` does not implement `Clone`, so calling `clone` on `&DefinedItem` copies the reference, which does not do anything and can be removed
[INFO] [stderr]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::ir_to_spec`
[INFO] [stderr]   --> src/frontend/protocol_spec/from_ir.rs:94:9
[INFO] [stderr]    |
[INFO] [stderr] 94 |     use super::ir_to_spec;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self::protocol_spec::ast::printer::print`
[INFO] [stderr]   --> src/frontend/protocol_spec/from_ir.rs:97:9
[INFO] [stderr]    |
[INFO] [stderr] 97 |     use self::protocol_spec::ast::printer::print;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self::protocol_spec::ast::Block`
[INFO] [stderr]   --> src/frontend/protocol_spec/from_ir.rs:98:9
[INFO] [stderr]    |
[INFO] [stderr] 98 |     use self::protocol_spec::ast::Block;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `protodefc` (lib) generated 88 warnings (run `cargo fix --lib -p protodefc` to apply 55 suggestions)
[INFO] [stderr] warning: `protodefc` (lib test) generated 90 warnings (87 duplicates) (run `cargo fix --lib -p protodefc --tests` to apply 3 suggestions)
[INFO] [stderr] warning: unused import: `protodefc::ir::spec::TypeContainer`
[INFO] [stderr]  --> tests/spec_compile.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use protodefc::ir::spec::TypeContainer;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `protodefc` (test "spec_compile") generated 1 warning (run `cargo fix --test "spec_compile"` to apply 1 suggestion)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/protodefc-403bc88719316d93)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test frontend::protocol_spec::ast::value_helpers::tests::tag_getters ... ok
[INFO] [stdout] test frontend::protocol_json::test::test_from_json ... ok
[INFO] [stdout] test backend::imperative_base::tests::simple_scalar ... ok
[INFO] [stdout] test frontend::protocol_spec::ast::value_helpers::tests::tag_validators ... ok
[INFO] [stdout] test backend::imperative_base::tests::container ... ok
[INFO] [stdout] test ir::spec::reference::tests::successes ... ok
[INFO] [stdout] test frontend::protocol_spec::tests::spec_to_compilation_unit ... ok
[INFO] [stdout] test test_harness::tests::gen_spec_test_cases ... FAILED
[INFO] [stdout] test ir::spec::reference::tests::up_after_down - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_harness::tests::gen_spec_test_cases stdout ----
[INFO] [stdout] thread 'test_harness::tests::gen_spec_test_cases' panicked at src/test_harness.rs:17:48:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f8d1989846 - std::backtrace_rs::backtrace::libunwind::trace::hbee8a7973eeb6c93
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x55f8d1989846 - std::backtrace_rs::backtrace::trace_unsynchronized::hc8ac75eea3aa6899
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55f8d1989846 - std::sys_common::backtrace::_print_fmt::hc7f3e3b5298b1083
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x55f8d1989846 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hbb235daedd7c6190
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55f8d19b3100 - core::fmt::rt::Argument::fmt::h76c38a80d925a410
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x55f8d19b3100 - core::fmt::write::h3ed6aeaa977c8e45
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x55f8d198712f - std::io::Write::write_fmt::h1299aa7741865f2b
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/io/mod.rs:1810:15
[INFO] [stdout]    7:     0x55f8d1989624 - std::sys_common::backtrace::_print::h5d645a07e0fcfdbb
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55f8d1989624 - std::sys_common::backtrace::print::h85035a511aafe7a8
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55f8d198b397 - std::panicking::default_hook::{{closure}}::hcce8cea212785a25
[INFO] [stdout]   10:     0x55f8d198b07d - std::panicking::default_hook::hf5fcb0f213fe709a
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x55f8d191c237 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h60265c2dfa87ee34
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   12:     0x55f8d191c237 - test::test_main::{{closure}}::h77865bd3127078c6
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x55f8d198b9b6 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hbc5ccf4eb663e1e5
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   14:     0x55f8d198b9b6 - std::panicking::rust_panic_with_hook::h095fccf1dc9379ee
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x55f8d198b702 - std::panicking::begin_panic_handler::{{closure}}::h032ba12139b353db
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x55f8d1989d46 - std::sys_common::backtrace::__rust_end_short_backtrace::h9259bc2ff8fd0f76
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x55f8d198b460 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x55f8d1871dd5 - core::panicking::panic_fmt::h784f20a50eaab275
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55f8d18723b3 - core::result::unwrap_failed::h03d8a5018196e1cd
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/result.rs:1649:5
[INFO] [stdout]   20:     0x55f8d18d44cc - core::result::Result<T,E>::unwrap::heae2af53d8c9ad0b
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/result.rs:1073:23
[INFO] [stdout]   21:     0x55f8d18df805 - protodefc::test_harness::json_spec_cases::h11b8ce08f94ac98f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test_harness.rs:17:5
[INFO] [stdout]   22:     0x55f8d18e78fc - protodefc::test_harness::tests::gen_spec_test_cases::h32bdc640725fcb9f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test_harness.rs:90:9
[INFO] [stdout]   23:     0x55f8d18e78d7 - protodefc::test_harness::tests::gen_spec_test_cases::{{closure}}::h4b7b8a8d85f726d6
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test_harness.rs:89:29
[INFO] [stdout]   24:     0x55f8d18a5ef6 - core::ops::function::FnOnce::call_once::h6c4c065fcc0519d1
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55f8d1921b0f - core::ops::function::FnOnce::call_once::h8dc6907944022cf6
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x55f8d1921b0f - test::__rust_begin_short_backtrace::haae1a87433f1efb3
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:627:18
[INFO] [stdout]   27:     0x55f8d1920891 - test::run_test_in_process::{{closure}}::h8c7decfa7c14e152
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:650:60
[INFO] [stdout]   28:     0x55f8d1920891 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h19e6ff056d9d21e9
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   29:     0x55f8d1920891 - std::panicking::try::do_call::h89c848fcaa37c035
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40
[INFO] [stdout]   30:     0x55f8d1920891 - std::panicking::try::h57ab3dc74e2839b8
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19
[INFO] [stdout]   31:     0x55f8d1920891 - std::panic::catch_unwind::hfb6a1b1abc120fb9
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14
[INFO] [stdout]   32:     0x55f8d1920891 - test::run_test_in_process::h5ae2f9875edd562d
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:650:27
[INFO] [stdout]   33:     0x55f8d1920891 - test::run_test::{{closure}}::h35d7300d8928a067
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:573:43
[INFO] [stdout]   34:     0x55f8d18e7bc6 - test::run_test::{{closure}}::h7525ced405d23d1b
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:601:41
[INFO] [stdout]   35:     0x55f8d18e7bc6 - std::sys_common::backtrace::__rust_begin_short_backtrace::h4e7db78ce05afad8
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   36:     0x55f8d18ecc27 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hcfbcb64f1a1b3482
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   37:     0x55f8d18ecc27 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9d89c5c4108bd689
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   38:     0x55f8d18ecc27 - std::panicking::try::do_call::h8a4869bc94ec50c9
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40
[INFO] [stdout]   39:     0x55f8d18ecc27 - std::panicking::try::h9a576f20ff81ac30
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19
[INFO] [stdout]   40:     0x55f8d18ecc27 - std::panic::catch_unwind::hbcb4e3f860ef9830
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14
[INFO] [stdout]   41:     0x55f8d18ecc27 - std::thread::Builder::spawn_unchecked_::{{closure}}::h93c79a6be1505948
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   42:     0x55f8d18ecc27 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h426d96740c81bdaf
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x55f8d19908e5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h12de4fc57affb195
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   44:     0x55f8d19908e5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h3c619f45059d5cf1
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   45:     0x55f8d19908e5 - std::sys::unix::thread::Thread::new::thread_start::hbac657605e4b7389
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   46:     0x7f1eede22ac3 - <unknown>
[INFO] [stdout]   47:     0x7f1eedeb3bf4 - __clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_harness::tests::gen_spec_test_cases
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 8 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "a117e7523c02d45cc17408f86105d04a329dc59a8db4a2c561b68851b28e6ed2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a117e7523c02d45cc17408f86105d04a329dc59a8db4a2c561b68851b28e6ed2", kill_on_drop: false }`
[INFO] [stdout] a117e7523c02d45cc17408f86105d04a329dc59a8db4a2c561b68851b28e6ed2
[INFO] testing ProtoDef-io/protodefc against beta-2024-02-10 for beta-1.77-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FProtoDef-io%2Fprotodefc" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ProtoDef-io/protodefc on toolchain beta-2024-02-10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ProtoDef-io/protodefc
[INFO] finished tweaking git repo https://github.com/ProtoDef-io/protodefc
[INFO] tweaked toml for git repo https://github.com/ProtoDef-io/protodefc written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/ProtoDef-io/protodefc already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ec726fc3594ffa383826ad31859ad93854f8ec500477417a31ca838d41b61120
[INFO] running `Command { std: "docker" "start" "-a" "ec726fc3594ffa383826ad31859ad93854f8ec500477417a31ca838d41b61120", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ec726fc3594ffa383826ad31859ad93854f8ec500477417a31ca838d41b61120", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec726fc3594ffa383826ad31859ad93854f8ec500477417a31ca838d41b61120", kill_on_drop: false }`
[INFO] [stdout] ec726fc3594ffa383826ad31859ad93854f8ec500477417a31ca838d41b61120
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5e5ea5e785c01b76cbfe4f2ec35edd45dec69546b183d0004f5fc818da529ad8
[INFO] running `Command { std: "docker" "start" "-a" "5e5ea5e785c01b76cbfe4f2ec35edd45dec69546b183d0004f5fc818da529ad8", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.4
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling num-integer v0.1.38
[INFO] [stderr]    Compiling num-bigint v0.2.0
[INFO] [stderr]    Compiling serde v1.0.2
[INFO] [stderr]    Compiling itoa v0.3.1
[INFO] [stderr]    Compiling num-traits v0.1.37
[INFO] [stderr]    Compiling dtoa v0.4.1
[INFO] [stderr]    Compiling either v1.1.0
[INFO] [stderr]    Compiling lazy_static v0.2.8
[INFO] [stderr]    Compiling Inflector v0.10.0
[INFO] [stderr]    Compiling nom v2.2.1
[INFO] [stderr]    Compiling error-chain v0.10.0
[INFO] [stderr]    Compiling matches v0.1.4
[INFO] [stderr]    Compiling json v0.11.6
[INFO] [stderr]    Compiling itertools v0.5.10
[INFO] [stderr]    Compiling peg v0.5.2
[INFO] [stderr]    Compiling protodefc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling serde_json v1.0.1
[INFO] [stderr]    Compiling toml v0.4.0
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use] extern crate lazy_static;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[macro_use] extern crate matches;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Container`, `WeakContainer`
[INFO] [stdout]  --> src/ir/compilation_unit/mod.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ::rc_container::{Container, WeakContainer};
[INFO] [stdout]   |                      ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::spec::data::ReferenceAccessTime`
[INFO] [stdout]  --> src/ir/compilation_unit/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ::ir::spec::data::ReferenceAccessTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntegerSize`, `IntegerSpec`, `TypeSpecContainer`
[INFO] [stdout]  --> src/ir/spec/variant/array.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::type_spec::{TypeSpecContainer, WeakTypeSpecContainer, TypeSpecVariant,
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |                       ArraySpec, ArraySize, IntegerSpec, IntegerSize};
[INFO] [stdout]   |                                             ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::compilation_unit::TypePath`
[INFO] [stdout]  --> src/ir/spec/variant/array.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ::ir::compilation_unit::TypePath;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalNSPath`, `TypeKind`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:9:60
[INFO] [stdout]    |
[INFO] [stdout] 9  | use ::ir::compilation_unit::{TypePath, NamedTypeContainer, TypeKind, RelativeNSPath,
[INFO] [stdout]    |                                                            ^^^^^^^^
[INFO] [stdout] 10 |                              CanonicalNSPath};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalNSPath`, `RelativeNSPath`, `TypePath`
[INFO] [stdout]  --> src/ir/spec/data.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ::ir::compilation_unit::{TypePath, RelativeNSPath, CanonicalNSPath};
[INFO] [stdout]   |                              ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EnumSpec`
[INFO] [stdout]  --> src/ir/type_spec/literal.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |             EnumSpec};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::std::marker::PhantomData`
[INFO] [stdout]  --> src/ir/name.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ::std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::nom::IResult`
[INFO] [stdout]  --> src/ir/name.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::nom::IResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `pf_push`
[INFO] [stdout]   --> src/backend/common/formatter.rs:41:14
[INFO] [stdout]    |
[INFO] [stdout] 41 | macro_rules! pf_push {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `pf_push_line`
[INFO] [stdout]   --> src/backend/common/formatter.rs:46:14
[INFO] [stdout]    |
[INFO] [stdout] 46 | macro_rules! pf_push_line {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::spec::data::ReferenceAccessTime`
[INFO] [stdout]  --> src/backend/imperative_base/deserialize.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::ir::spec::data::ReferenceAccessTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EnumSpec`, `TypeSpecVariant`
[INFO] [stdout]  --> src/backend/imperative_base/reference.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::type_spec::{TypeSpecVariant, EnumSpec};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ir::compilation_unit::TypePath`
[INFO] [stdout]  --> src/backend/javascript/cu_to_js.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ir::compilation_unit::TypePath;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `to_value`
[INFO] [stdout]  --> src/backend/json_spec/mod.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::serde_json::{Value, to_value};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/mod.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/mod.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/array.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/union.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/container.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalNSPath`, `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_spec/ast/mod.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::ir::compilation_unit::{TypePath, CanonicalNSPath};
[INFO] [stdout]   |                              ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         try!(write!(fmt, "error at {}:{}: expected ", self.line,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 |         { try!(write!(fmt, "EOF")); } else if self.expected.len() == 1
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |             try!(write!(fmt, "`{}`",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             try!(write!(fmt, "one of `{}`",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 |             { try!(write!(fmt, ", `{}`", escape_default(elem))); }
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:117:529
[INFO] [stdout]     |
[INFO] [stdout] 117 | ...nge_at ( __input , __pos ) ; match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . m...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:117:543
[INFO] [stdout]     |
[INFO] [stdout] 117 | ...ut , __pos ) ; match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:117:557
[INFO] [stdout]     |
[INFO] [stdout] 117 | ... match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0-9a...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:135:361
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...feff}' | '\u{1680}' | '\u{180e}' | '\u{2000}' ... '\u{200a}' | '\u{202f}' | '\u{205f}' | '\u{3000}' => Matched ( __next , ( ) ) , _ =>...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ident`
[INFO] [stdout]  --> src/frontend/protocol_spec/to_ir/spec.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::super::ast::{Ident, Statement, Value};
[INFO] [stdout]   |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RelativeNSPath`
[INFO] [stdout]  --> src/frontend/protocol_spec/to_ir/compilation_unit.rs:3:47
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ::ir::compilation_unit::{CompilationUnit, RelativeNSPath, CanonicalNSPath,
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntegerSize`, `IntegerSpec`
[INFO] [stdout]  --> src/frontend/protocol_spec/to_ir/compilation_unit.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::type_spec::{TypeSpecVariant, IntegerSpec, IntegerSize};
[INFO] [stdout]   |                                        ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `unwrap_ok`
[INFO] [stdout]   --> src/lib.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 | macro_rules! unwrap_ok {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `unwrap_error`
[INFO] [stdout]   --> src/lib.rs:60:14
[INFO] [stdout]    |
[INFO] [stdout] 60 | macro_rules! unwrap_error {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / error_chain! {
[INFO] [stdout] 7  | |     links {
[INFO] [stdout] 8  | |         //JsonParseError(
[INFO] [stdout] 9  | |         //    ::frontend::protocol_json::Error,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     }
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:193:44
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn specs_iter<'a>(&'a self) -> Box<Iterator<Item = &'a NamedTypeContainer> + 'a> {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn specs_iter<'a>(&'a self) -> Box<dyn Iterator<Item = &'a NamedTypeContainer> + 'a> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:46:44
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn to_variant<'a>(&'a self) -> &'a TypeVariant {
[INFO] [stdout]    |                                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn to_variant<'a>(&'a self) -> &'a dyn TypeVariant {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:55:56
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn to_variant_mut<'a>(&'a mut self) -> &'a mut TypeVariant {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn to_variant_mut<'a>(&'a mut self) -> &'a mut dyn TypeVariant {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/imperative_base/mod.rs:192:59
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn codegen_for_type<'a>(typ: &'a ::ir::spec::Type) -> &'a BaseCodegen {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn codegen_for_type<'a>(typ: &'a ::ir::spec::Type) -> &'a dyn BaseCodegen {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:11:43
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn build_reference_accessor(variant: &TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn build_reference_accessor(variant: &dyn TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:42:46
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn build_reference_accessor_inner(_variant: &TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn build_reference_accessor_inner(_variant: &dyn TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/ir/spec/reference/mod.rs:32:51
[INFO] [stdout]    |
[INFO] [stdout] 32 |         for is_up in (0..(self.up)).map(|_| true).intersperse(false) {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/ir/spec/reference/mod.rs:44:56
[INFO] [stdout]    |
[INFO] [stdout] 44 |         for item in self.items.iter().map(|i| Some(i)).intersperse(None) {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/errors.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / error_chain! {
[INFO] [stdout] 7  | |     links {
[INFO] [stdout] 8  | |         //JsonParseError(
[INFO] [stdout] 9  | |         //    ::frontend::protocol_json::Error,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     }
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/ir/compilation_unit/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |             _ => None,
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 _ => (),
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 _ => panic!(),
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ir/spec/variant/union.rs:72:21
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 for mut case in &mut self.cases {
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stdout]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:56:53
[INFO] [stdout]    |
[INFO] [stdout] 56 |             CompilePass::ResolveReferencedTypes(ref path, ref cu) => {
[INFO] [stdout]    |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ir/spec/variant/simple_scalar.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let mut data = TypeData::default();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:64:28
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/type_spec/literal.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn parse_binary(data: &BinarySpec, input_str: &str) -> Result<TypeSpecLiteralVariant> {
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count_root_node`
[INFO] [stdout]    --> src/backend/imperative_base/deserialize.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let count_root_node = data.get_reference_root(self.count_handle).upgrade();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count_root_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_var`
[INFO] [stdout]    --> src/backend/imperative_base/deserialize.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let item_var = format!("array_{}_index", ident);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_spec`
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:81:27
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 ref node, ref type_spec, .. }) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_spec`
[INFO] [stdout]    --> src/backend/imperative_base/reference.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 ref type_spec, .. }) => {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/imperative_base/mod.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_name`
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:126:54
[INFO] [stdout]     |
[INFO] [stdout] 126 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default`
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:39:53
[INFO] [stdout]    |
[INFO] [stdout] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stdout]    |                                  ^^^^^^^^^^^ help: try ignoring the field: `default: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enum_type`
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:39:66
[INFO] [stdout]    |
[INFO] [stdout] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^ help: try ignoring the field: `enum_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |             let mut cases = cases.iter()
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_name_size_of`
[INFO] [stdout]   --> src/backend/rust/cu_to_rs.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let typ_name_size_of = format!("{}_size_of", typ_base_name);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_size_of`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_name_deserialize`
[INFO] [stdout]   --> src/backend/rust/cu_to_rs.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let typ_name_deserialize = format!("{}_deserialize", typ_base_name);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_deserialize`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length_var`
[INFO] [stdout]   --> src/backend/python/ib_to_py.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 let length_var = format!("{}_length", index_var);
[INFO] [stdout]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_length_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_name`
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:113:54
[INFO] [stdout]     |
[INFO] [stdout] 113 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 |             let mut cases: Vec<(Expr, Block)> = cases.iter()
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `native`
[INFO] [stdout]   --> src/backend/json_spec/mod.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |             TypeKind::Native(ref native) => {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_native`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_data`
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let typ_data = &typ_inner.data;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/pass/resolve_reference.rs:213:23
[INFO] [stdout]     |
[INFO] [stdout] 213 | fn validate_causality(target: &mut ReferenceData) -> Result<()> {
[INFO] [stdout]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `WeakDefinedTypeSpecContainer` is never used
[INFO] [stdout]  --> src/ir/compilation_unit/defined_type_spec.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type WeakDefinedTypeSpecContainer = WeakContainer<DefinedTypeSpec>;
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir/spec/data.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct SpecChildHandle(usize);
[INFO] [stdout]    |            --------------- ^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpecChildHandle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct SpecChildHandle(());
[INFO] [stdout]    |                            ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `HexOne` and `HexTwo` are never constructed
[INFO] [stdout]   --> src/ir/type_spec/literal.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | enum ParseBinaryState {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 86 |     HexOne(bool),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 87 |     HexTwo(u8, bool),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse` is never used
[INFO] [stdout]   --> src/ir/target_type.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl TargetType {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     fn parse(&self, raw: &str) -> Option<TargetTypeValue> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Integer`, `Bytes`, and `Enum` are never constructed
[INFO] [stdout]   --> src/ir/target_type.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum TargetTypeValue {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 38 |     Integer(u64),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 39 |     Bytes(Vec<u8>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 40 |     Enum(String),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TargetTypeValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_type` is never used
[INFO] [stdout]   --> src/ir/target_type.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl TargetTypeValue {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 43 |
[INFO] [stdout] 44 |     fn get_type(&self) -> TargetType {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `block` and `result_var` are never read
[INFO] [stdout]   --> src/backend/imperative_base/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ResultBlock {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 23 |     block: Block,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 24 |     result_var: Var,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResultBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_compile` is never used
[INFO] [stdout]  --> src/backend/imperative_base/tests/mod.rs:2:4
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn test_compile(spec: &str) {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AssignBlock`, `Block`, and `Module` are never constructed
[INFO] [stdout]   --> src/backend/rust/builder.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub enum Statement {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |     AssignBlock {
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Block {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Module {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `block` is never used
[INFO] [stdout]   --> src/backend/rust/builder.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Block {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn block(&mut self, block: Block) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_error` is never used
[INFO] [stdout]   --> src/frontend/protocol_spec/ast/parser.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn format_error(input: &str, error: pds::ParseError) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ir_to_spec` is never used
[INFO] [stdout]  --> src/frontend/protocol_spec/from_ir.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn ir_to_spec(type_name: String, typ: TypeContainer) -> Statement {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ir_to_spec_inner` is never used
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn ir_to_spec_inner(typ: TypeContainer) -> Statement {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:190:23
[INFO] [stdout]     |
[INFO] [stdout] 190 |             .map(|t| t.clone())
[INFO] [stdout]     |                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `DefinedItem` does not implement `Clone`, so calling `clone` on `&DefinedItem` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 89 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 4.35s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "5e5ea5e785c01b76cbfe4f2ec35edd45dec69546b183d0004f5fc818da529ad8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5e5ea5e785c01b76cbfe4f2ec35edd45dec69546b183d0004f5fc818da529ad8", kill_on_drop: false }`
[INFO] [stdout] 5e5ea5e785c01b76cbfe4f2ec35edd45dec69546b183d0004f5fc818da529ad8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 375f492dba95aa059e18a4cecdabe050d429ac9c114f480b9e94889f228ddd7b
[INFO] running `Command { std: "docker" "start" "-a" "375f492dba95aa059e18a4cecdabe050d429ac9c114f480b9e94889f228ddd7b", kill_on_drop: false }`
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use] extern crate lazy_static;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[macro_use] extern crate matches;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Container`, `WeakContainer`
[INFO] [stdout]  --> src/ir/compilation_unit/mod.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ::rc_container::{Container, WeakContainer};
[INFO] [stdout]   |                      ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::spec::data::ReferenceAccessTime`
[INFO] [stdout]  --> src/ir/compilation_unit/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ::ir::spec::data::ReferenceAccessTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntegerSize`, `IntegerSpec`, `TypeSpecContainer`
[INFO] [stdout]  --> src/ir/spec/variant/array.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::type_spec::{TypeSpecContainer, WeakTypeSpecContainer, TypeSpecVariant,
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |                       ArraySpec, ArraySize, IntegerSpec, IntegerSize};
[INFO] [stdout]   |                                             ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::compilation_unit::TypePath`
[INFO] [stdout]  --> src/ir/spec/variant/array.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ::ir::compilation_unit::TypePath;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalNSPath`, `TypeKind`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:9:60
[INFO] [stdout]    |
[INFO] [stdout] 9  | use ::ir::compilation_unit::{TypePath, NamedTypeContainer, TypeKind, RelativeNSPath,
[INFO] [stdout]    |                                                            ^^^^^^^^
[INFO] [stdout] 10 |                              CanonicalNSPath};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalNSPath`, `RelativeNSPath`, `TypePath`
[INFO] [stdout]  --> src/ir/spec/data.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ::ir::compilation_unit::{TypePath, RelativeNSPath, CanonicalNSPath};
[INFO] [stdout]   |                              ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EnumSpec`
[INFO] [stdout]  --> src/ir/type_spec/literal.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |             EnumSpec};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::std::marker::PhantomData`
[INFO] [stdout]  --> src/ir/name.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ::std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::nom::IResult`
[INFO] [stdout]  --> src/ir/name.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::nom::IResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `pf_push`
[INFO] [stdout]   --> src/backend/common/formatter.rs:41:14
[INFO] [stdout]    |
[INFO] [stdout] 41 | macro_rules! pf_push {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `pf_push_line`
[INFO] [stdout]   --> src/backend/common/formatter.rs:46:14
[INFO] [stdout]    |
[INFO] [stdout] 46 | macro_rules! pf_push_line {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::spec::data::ReferenceAccessTime`
[INFO] [stdout]  --> src/backend/imperative_base/deserialize.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::ir::spec::data::ReferenceAccessTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EnumSpec`, `TypeSpecVariant`
[INFO] [stdout]  --> src/backend/imperative_base/reference.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::type_spec::{TypeSpecVariant, EnumSpec};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ir::compilation_unit::TypePath`
[INFO] [stdout]  --> src/backend/javascript/cu_to_js.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ir::compilation_unit::TypePath;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `to_value`
[INFO] [stdout]  --> src/backend/json_spec/mod.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::serde_json::{Value, to_value};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/mod.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/mod.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/array.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/union.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/container.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalNSPath`, `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_spec/ast/mod.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::ir::compilation_unit::{TypePath, CanonicalNSPath};
[INFO] [stdout]   |                              ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         try!(write!(fmt, "error at {}:{}: expected ", self.line,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 |         { try!(write!(fmt, "EOF")); } else if self.expected.len() == 1
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |             try!(write!(fmt, "`{}`",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             try!(write!(fmt, "one of `{}`",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 |             { try!(write!(fmt, ", `{}`", escape_default(elem))); }
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:117:529
[INFO] [stdout]     |
[INFO] [stdout] 117 | ...nge_at ( __input , __pos ) ; match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . m...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:117:543
[INFO] [stdout]     |
[INFO] [stdout] 117 | ...ut , __pos ) ; match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:117:557
[INFO] [stdout]     |
[INFO] [stdout] 117 | ... match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0-9a...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:135:361
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...feff}' | '\u{1680}' | '\u{180e}' | '\u{2000}' ... '\u{200a}' | '\u{202f}' | '\u{205f}' | '\u{3000}' => Matched ( __next , ( ) ) , _ =>...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ident`
[INFO] [stdout]  --> src/frontend/protocol_spec/to_ir/spec.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::super::ast::{Ident, Statement, Value};
[INFO] [stdout]   |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RelativeNSPath`
[INFO] [stdout]  --> src/frontend/protocol_spec/to_ir/compilation_unit.rs:3:47
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ::ir::compilation_unit::{CompilationUnit, RelativeNSPath, CanonicalNSPath,
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntegerSize`, `IntegerSpec`
[INFO] [stdout]  --> src/frontend/protocol_spec/to_ir/compilation_unit.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::type_spec::{TypeSpecVariant, IntegerSpec, IntegerSize};
[INFO] [stdout]   |                                        ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `unwrap_ok`
[INFO] [stdout]   --> src/lib.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 | macro_rules! unwrap_ok {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `unwrap_error`
[INFO] [stdout]   --> src/lib.rs:60:14
[INFO] [stdout]    |
[INFO] [stdout] 60 | macro_rules! unwrap_error {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / error_chain! {
[INFO] [stdout] 7  | |     links {
[INFO] [stdout] 8  | |         //JsonParseError(
[INFO] [stdout] 9  | |         //    ::frontend::protocol_json::Error,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     }
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:193:44
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn specs_iter<'a>(&'a self) -> Box<Iterator<Item = &'a NamedTypeContainer> + 'a> {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn specs_iter<'a>(&'a self) -> Box<dyn Iterator<Item = &'a NamedTypeContainer> + 'a> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:46:44
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn to_variant<'a>(&'a self) -> &'a TypeVariant {
[INFO] [stdout]    |                                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn to_variant<'a>(&'a self) -> &'a dyn TypeVariant {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:55:56
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn to_variant_mut<'a>(&'a mut self) -> &'a mut TypeVariant {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn to_variant_mut<'a>(&'a mut self) -> &'a mut dyn TypeVariant {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/imperative_base/mod.rs:192:59
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn codegen_for_type<'a>(typ: &'a ::ir::spec::Type) -> &'a BaseCodegen {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn codegen_for_type<'a>(typ: &'a ::ir::spec::Type) -> &'a dyn BaseCodegen {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:11:43
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn build_reference_accessor(variant: &TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn build_reference_accessor(variant: &dyn TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:42:46
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn build_reference_accessor_inner(_variant: &TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn build_reference_accessor_inner(_variant: &dyn TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/ir/spec/reference/mod.rs:32:51
[INFO] [stdout]    |
[INFO] [stdout] 32 |         for is_up in (0..(self.up)).map(|_| true).intersperse(false) {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/ir/spec/reference/mod.rs:44:56
[INFO] [stdout]    |
[INFO] [stdout] 44 |         for item in self.items.iter().map(|i| Some(i)).intersperse(None) {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/errors.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / error_chain! {
[INFO] [stdout] 7  | |     links {
[INFO] [stdout] 8  | |         //JsonParseError(
[INFO] [stdout] 9  | |         //    ::frontend::protocol_json::Error,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     }
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/ir/compilation_unit/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |             _ => None,
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 _ => (),
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 _ => panic!(),
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ir/spec/variant/union.rs:72:21
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 for mut case in &mut self.cases {
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stdout]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:56:53
[INFO] [stdout]    |
[INFO] [stdout] 56 |             CompilePass::ResolveReferencedTypes(ref path, ref cu) => {
[INFO] [stdout]    |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ir/spec/variant/simple_scalar.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let mut data = TypeData::default();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:64:28
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/type_spec/literal.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn parse_binary(data: &BinarySpec, input_str: &str) -> Result<TypeSpecLiteralVariant> {
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count_root_node`
[INFO] [stdout]    --> src/backend/imperative_base/deserialize.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let count_root_node = data.get_reference_root(self.count_handle).upgrade();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count_root_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_var`
[INFO] [stdout]    --> src/backend/imperative_base/deserialize.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let item_var = format!("array_{}_index", ident);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_spec`
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:81:27
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 ref node, ref type_spec, .. }) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_spec`
[INFO] [stdout]    --> src/backend/imperative_base/reference.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 ref type_spec, .. }) => {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/imperative_base/mod.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_name`
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:126:54
[INFO] [stdout]     |
[INFO] [stdout] 126 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default`
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:39:53
[INFO] [stdout]    |
[INFO] [stdout] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stdout]    |                                  ^^^^^^^^^^^ help: try ignoring the field: `default: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enum_type`
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:39:66
[INFO] [stdout]    |
[INFO] [stdout] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^ help: try ignoring the field: `enum_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |             let mut cases = cases.iter()
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_name_size_of`
[INFO] [stdout]   --> src/backend/rust/cu_to_rs.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let typ_name_size_of = format!("{}_size_of", typ_base_name);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_size_of`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_name_deserialize`
[INFO] [stdout]   --> src/backend/rust/cu_to_rs.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let typ_name_deserialize = format!("{}_deserialize", typ_base_name);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_deserialize`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length_var`
[INFO] [stdout]   --> src/backend/python/ib_to_py.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 let length_var = format!("{}_length", index_var);
[INFO] [stdout]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_length_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_name`
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:113:54
[INFO] [stdout]     |
[INFO] [stdout] 113 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 |             let mut cases: Vec<(Expr, Block)> = cases.iter()
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `native`
[INFO] [stdout]   --> src/backend/json_spec/mod.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |             TypeKind::Native(ref native) => {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_native`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_data`
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let typ_data = &typ_inner.data;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/pass/resolve_reference.rs:213:23
[INFO] [stdout]     |
[INFO] [stdout] 213 | fn validate_causality(target: &mut ReferenceData) -> Result<()> {
[INFO] [stdout]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `WeakDefinedTypeSpecContainer` is never used
[INFO] [stdout]  --> src/ir/compilation_unit/defined_type_spec.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type WeakDefinedTypeSpecContainer = WeakContainer<DefinedTypeSpec>;
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir/spec/data.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct SpecChildHandle(usize);
[INFO] [stdout]    |            --------------- ^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpecChildHandle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct SpecChildHandle(());
[INFO] [stdout]    |                            ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `HexOne` and `HexTwo` are never constructed
[INFO] [stdout]   --> src/ir/type_spec/literal.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | enum ParseBinaryState {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 86 |     HexOne(bool),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 87 |     HexTwo(u8, bool),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse` is never used
[INFO] [stdout]   --> src/ir/target_type.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl TargetType {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     fn parse(&self, raw: &str) -> Option<TargetTypeValue> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Integer`, `Bytes`, and `Enum` are never constructed
[INFO] [stdout]   --> src/ir/target_type.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum TargetTypeValue {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 38 |     Integer(u64),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 39 |     Bytes(Vec<u8>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 40 |     Enum(String),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TargetTypeValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_type` is never used
[INFO] [stdout]   --> src/ir/target_type.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl TargetTypeValue {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 43 |
[INFO] [stdout] 44 |     fn get_type(&self) -> TargetType {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `block` and `result_var` are never read
[INFO] [stdout]   --> src/backend/imperative_base/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ResultBlock {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 23 |     block: Block,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 24 |     result_var: Var,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResultBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_compile` is never used
[INFO] [stdout]  --> src/backend/imperative_base/tests/mod.rs:2:4
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn test_compile(spec: &str) {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AssignBlock`, `Block`, and `Module` are never constructed
[INFO] [stdout]   --> src/backend/rust/builder.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub enum Statement {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |     AssignBlock {
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Block {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Module {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `block` is never used
[INFO] [stdout]   --> src/backend/rust/builder.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Block {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn block(&mut self, block: Block) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_error` is never used
[INFO] [stdout]   --> src/frontend/protocol_spec/ast/parser.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn format_error(input: &str, error: pds::ParseError) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ir_to_spec` is never used
[INFO] [stdout]  --> src/frontend/protocol_spec/from_ir.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn ir_to_spec(type_name: String, typ: TypeContainer) -> Statement {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ir_to_spec_inner` is never used
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn ir_to_spec_inner(typ: TypeContainer) -> Statement {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:190:23
[INFO] [stdout]     |
[INFO] [stdout] 190 |             .map(|t| t.clone())
[INFO] [stdout]     |                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `DefinedItem` does not implement `Clone`, so calling `clone` on `&DefinedItem` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 89 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling protodefc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `protodefc::ir::spec::TypeContainer`
[INFO] [stdout]  --> tests/spec_compile.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use protodefc::ir::spec::TypeContainer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use] extern crate lazy_static;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[macro_use] extern crate matches;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Container`, `WeakContainer`
[INFO] [stdout]  --> src/ir/compilation_unit/mod.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ::rc_container::{Container, WeakContainer};
[INFO] [stdout]   |                      ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::spec::data::ReferenceAccessTime`
[INFO] [stdout]  --> src/ir/compilation_unit/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ::ir::spec::data::ReferenceAccessTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntegerSize`, `IntegerSpec`, `TypeSpecContainer`
[INFO] [stdout]  --> src/ir/spec/variant/array.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::type_spec::{TypeSpecContainer, WeakTypeSpecContainer, TypeSpecVariant,
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |                       ArraySpec, ArraySize, IntegerSpec, IntegerSize};
[INFO] [stdout]   |                                             ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::compilation_unit::TypePath`
[INFO] [stdout]  --> src/ir/spec/variant/array.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ::ir::compilation_unit::TypePath;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalNSPath`, `TypeKind`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:9:60
[INFO] [stdout]    |
[INFO] [stdout] 9  | use ::ir::compilation_unit::{TypePath, NamedTypeContainer, TypeKind, RelativeNSPath,
[INFO] [stdout]    |                                                            ^^^^^^^^
[INFO] [stdout] 10 |                              CanonicalNSPath};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalNSPath`, `RelativeNSPath`, `TypePath`
[INFO] [stdout]  --> src/ir/spec/data.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ::ir::compilation_unit::{TypePath, RelativeNSPath, CanonicalNSPath};
[INFO] [stdout]   |                              ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EnumSpec`
[INFO] [stdout]  --> src/ir/type_spec/literal.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |             EnumSpec};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::std::marker::PhantomData`
[INFO] [stdout]  --> src/ir/name.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ::std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::nom::IResult`
[INFO] [stdout]  --> src/ir/name.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::nom::IResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `pf_push`
[INFO] [stdout]   --> src/backend/common/formatter.rs:41:14
[INFO] [stdout]    |
[INFO] [stdout] 41 | macro_rules! pf_push {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `pf_push_line`
[INFO] [stdout]   --> src/backend/common/formatter.rs:46:14
[INFO] [stdout]    |
[INFO] [stdout] 46 | macro_rules! pf_push_line {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::spec::data::ReferenceAccessTime`
[INFO] [stdout]  --> src/backend/imperative_base/deserialize.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::ir::spec::data::ReferenceAccessTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EnumSpec`, `TypeSpecVariant`
[INFO] [stdout]  --> src/backend/imperative_base/reference.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::type_spec::{TypeSpecVariant, EnumSpec};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ir::compilation_unit::TypePath`
[INFO] [stdout]  --> src/backend/javascript/cu_to_js.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ir::compilation_unit::TypePath;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `to_value`
[INFO] [stdout]  --> src/backend/json_spec/mod.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::serde_json::{Value, to_value};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/mod.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/mod.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/array.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/union.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_json/variants/container.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stdout]   |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalNSPath`, `TypePath`
[INFO] [stdout]  --> src/frontend/protocol_spec/ast/mod.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::ir::compilation_unit::{TypePath, CanonicalNSPath};
[INFO] [stdout]   |                              ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         try!(write!(fmt, "error at {}:{}: expected ", self.line,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 |         { try!(write!(fmt, "EOF")); } else if self.expected.len() == 1
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |             try!(write!(fmt, "`{}`",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             try!(write!(fmt, "one of `{}`",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 |             { try!(write!(fmt, ", `{}`", escape_default(elem))); }
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:117:529
[INFO] [stdout]     |
[INFO] [stdout] 117 | ...nge_at ( __input , __pos ) ; match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . m...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:117:543
[INFO] [stdout]     |
[INFO] [stdout] 117 | ...ut , __pos ) ; match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( ...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:117:557
[INFO] [stdout]     |
[INFO] [stdout] 117 | ... match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0-9a...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:135:361
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...feff}' | '\u{1680}' | '\u{180e}' | '\u{2000}' ... '\u{200a}' | '\u{202f}' | '\u{205f}' | '\u{3000}' => Matched ( __next , ( ) ) , _ =>...
[INFO] [stdout]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::ir_to_spec`
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     use super::ir_to_spec;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::protocol_spec::ast::printer::print`
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     use self::protocol_spec::ast::printer::print;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::protocol_spec::ast::Block`
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     use self::protocol_spec::ast::Block;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ident`
[INFO] [stdout]  --> src/frontend/protocol_spec/to_ir/spec.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::super::ast::{Ident, Statement, Value};
[INFO] [stdout]   |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RelativeNSPath`
[INFO] [stdout]  --> src/frontend/protocol_spec/to_ir/compilation_unit.rs:3:47
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ::ir::compilation_unit::{CompilationUnit, RelativeNSPath, CanonicalNSPath,
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntegerSize`, `IntegerSpec`
[INFO] [stdout]  --> src/frontend/protocol_spec/to_ir/compilation_unit.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::type_spec::{TypeSpecVariant, IntegerSpec, IntegerSize};
[INFO] [stdout]   |                                        ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `unwrap_ok`
[INFO] [stdout]   --> src/lib.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 | macro_rules! unwrap_ok {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `unwrap_error`
[INFO] [stdout]   --> src/lib.rs:60:14
[INFO] [stdout]    |
[INFO] [stdout] 60 | macro_rules! unwrap_error {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / error_chain! {
[INFO] [stdout] 7  | |     links {
[INFO] [stdout] 8  | |         //JsonParseError(
[INFO] [stdout] 9  | |         //    ::frontend::protocol_json::Error,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     }
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:193:44
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn specs_iter<'a>(&'a self) -> Box<Iterator<Item = &'a NamedTypeContainer> + 'a> {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn specs_iter<'a>(&'a self) -> Box<dyn Iterator<Item = &'a NamedTypeContainer> + 'a> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:46:44
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn to_variant<'a>(&'a self) -> &'a TypeVariant {
[INFO] [stdout]    |                                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn to_variant<'a>(&'a self) -> &'a dyn TypeVariant {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:55:56
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn to_variant_mut<'a>(&'a mut self) -> &'a mut TypeVariant {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn to_variant_mut<'a>(&'a mut self) -> &'a mut dyn TypeVariant {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/imperative_base/mod.rs:192:59
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn codegen_for_type<'a>(typ: &'a ::ir::spec::Type) -> &'a BaseCodegen {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn codegen_for_type<'a>(typ: &'a ::ir::spec::Type) -> &'a dyn BaseCodegen {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:11:43
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn build_reference_accessor(variant: &TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn build_reference_accessor(variant: &dyn TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:42:46
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn build_reference_accessor_inner(_variant: &TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn build_reference_accessor_inner(_variant: &dyn TypeVariant, data: &TypeData,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/ir/spec/reference/mod.rs:32:51
[INFO] [stdout]    |
[INFO] [stdout] 32 |         for is_up in (0..(self.up)).map(|_| true).intersperse(false) {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/ir/spec/reference/mod.rs:44:56
[INFO] [stdout]    |
[INFO] [stdout] 44 |         for item in self.items.iter().map(|i| Some(i)).intersperse(None) {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/errors.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / error_chain! {
[INFO] [stdout] 7  | |     links {
[INFO] [stdout] 8  | |         //JsonParseError(
[INFO] [stdout] 9  | |         //    ::frontend::protocol_json::Error,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     }
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/ir/compilation_unit/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |             _ => None,
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 _ => (),
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 _ => panic!(),
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ir/spec/variant/union.rs:72:21
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 for mut case in &mut self.cases {
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stdout]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:56:53
[INFO] [stdout]    |
[INFO] [stdout] 56 |             CompilePass::ResolveReferencedTypes(ref path, ref cu) => {
[INFO] [stdout]    |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ir/spec/variant/simple_scalar.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let mut data = TypeData::default();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:64:28
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/type_spec/literal.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn parse_binary(data: &BinarySpec, input_str: &str) -> Result<TypeSpecLiteralVariant> {
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count_root_node`
[INFO] [stdout]    --> src/backend/imperative_base/deserialize.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let count_root_node = data.get_reference_root(self.count_handle).upgrade();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count_root_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_var`
[INFO] [stdout]    --> src/backend/imperative_base/deserialize.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let item_var = format!("array_{}_index", ident);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_spec`
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:81:27
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 ref node, ref type_spec, .. }) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_spec`
[INFO] [stdout]    --> src/backend/imperative_base/reference.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 ref type_spec, .. }) => {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/imperative_base/mod.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_name`
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:126:54
[INFO] [stdout]     |
[INFO] [stdout] 126 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default`
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:39:53
[INFO] [stdout]    |
[INFO] [stdout] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stdout]    |                                  ^^^^^^^^^^^ help: try ignoring the field: `default: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enum_type`
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:39:66
[INFO] [stdout]    |
[INFO] [stdout] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^ help: try ignoring the field: `enum_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |             let mut cases = cases.iter()
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_name_size_of`
[INFO] [stdout]   --> src/backend/rust/cu_to_rs.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let typ_name_size_of = format!("{}_size_of", typ_base_name);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_size_of`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_name_deserialize`
[INFO] [stdout]   --> src/backend/rust/cu_to_rs.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let typ_name_deserialize = format!("{}_deserialize", typ_base_name);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_deserialize`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length_var`
[INFO] [stdout]   --> src/backend/python/ib_to_py.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 let length_var = format!("{}_length", index_var);
[INFO] [stdout]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_length_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_name`
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:113:54
[INFO] [stdout]     |
[INFO] [stdout] 113 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 |             let mut cases: Vec<(Expr, Block)> = cases.iter()
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `native`
[INFO] [stdout]   --> src/backend/json_spec/mod.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |             TypeKind::Native(ref native) => {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_native`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_data`
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let typ_data = &typ_inner.data;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/pass/resolve_reference.rs:213:23
[INFO] [stdout]     |
[INFO] [stdout] 213 | fn validate_causality(target: &mut ReferenceData) -> Result<()> {
[INFO] [stdout]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `WeakDefinedTypeSpecContainer` is never used
[INFO] [stdout]  --> src/ir/compilation_unit/defined_type_spec.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type WeakDefinedTypeSpecContainer = WeakContainer<DefinedTypeSpec>;
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir/spec/data.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct SpecChildHandle(usize);
[INFO] [stdout]    |            --------------- ^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpecChildHandle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct SpecChildHandle(());
[INFO] [stdout]    |                            ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `HexOne` and `HexTwo` are never constructed
[INFO] [stdout]   --> src/ir/type_spec/literal.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | enum ParseBinaryState {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 86 |     HexOne(bool),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 87 |     HexTwo(u8, bool),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse` is never used
[INFO] [stdout]   --> src/ir/target_type.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl TargetType {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     fn parse(&self, raw: &str) -> Option<TargetTypeValue> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Integer`, `Bytes`, and `Enum` are never constructed
[INFO] [stdout]   --> src/ir/target_type.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum TargetTypeValue {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 38 |     Integer(u64),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 39 |     Bytes(Vec<u8>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 40 |     Enum(String),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TargetTypeValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_type` is never used
[INFO] [stdout]   --> src/ir/target_type.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl TargetTypeValue {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 43 |
[INFO] [stdout] 44 |     fn get_type(&self) -> TargetType {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `block` and `result_var` are never read
[INFO] [stdout]   --> src/backend/imperative_base/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ResultBlock {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 23 |     block: Block,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 24 |     result_var: Var,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResultBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AssignBlock`, `Block`, and `Module` are never constructed
[INFO] [stdout]   --> src/backend/rust/builder.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub enum Statement {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |     AssignBlock {
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Block {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Module {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `block` is never used
[INFO] [stdout]   --> src/backend/rust/builder.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Block {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn block(&mut self, block: Block) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_error` is never used
[INFO] [stdout]   --> src/frontend/protocol_spec/ast/parser.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn format_error(input: &str, error: pds::ParseError) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ir_to_spec` is never used
[INFO] [stdout]  --> src/frontend/protocol_spec/from_ir.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn ir_to_spec(type_name: String, typ: TypeContainer) -> Statement {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ir_to_spec_inner` is never used
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn ir_to_spec_inner(typ: TypeContainer) -> Statement {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:190:23
[INFO] [stdout]     |
[INFO] [stdout] 190 |             .map(|t| t.clone())
[INFO] [stdout]     |                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `DefinedItem` does not implement `Clone`, so calling `clone` on `&DefinedItem` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 91 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 2.61s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "375f492dba95aa059e18a4cecdabe050d429ac9c114f480b9e94889f228ddd7b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "375f492dba95aa059e18a4cecdabe050d429ac9c114f480b9e94889f228ddd7b", kill_on_drop: false }`
[INFO] [stdout] 375f492dba95aa059e18a4cecdabe050d429ac9c114f480b9e94889f228ddd7b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] cabd1323d61e28acd26c8c9b80bac4f2100c110c43a8bb2ec17fe2f08e757a2f
[INFO] running `Command { std: "docker" "start" "-a" "cabd1323d61e28acd26c8c9b80bac4f2100c110c43a8bb2ec17fe2f08e757a2f", kill_on_drop: false }`
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> src/lib.rs:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[macro_use] extern crate lazy_static;
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> src/lib.rs:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | #[macro_use] extern crate matches;
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Container`, `WeakContainer`
[INFO] [stderr]  --> src/ir/compilation_unit/mod.rs:5:22
[INFO] [stderr]   |
[INFO] [stderr] 5 | use ::rc_container::{Container, WeakContainer};
[INFO] [stderr]   |                      ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `::ir::spec::data::ReferenceAccessTime`
[INFO] [stderr]  --> src/ir/compilation_unit/mod.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use ::ir::spec::data::ReferenceAccessTime;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `IntegerSize`, `IntegerSpec`, `TypeSpecContainer`
[INFO] [stderr]  --> src/ir/spec/variant/array.rs:6:23
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ::ir::type_spec::{TypeSpecContainer, WeakTypeSpecContainer, TypeSpecVariant,
[INFO] [stderr]   |                       ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 7 |                       ArraySpec, ArraySize, IntegerSpec, IntegerSize};
[INFO] [stderr]   |                                             ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `::ir::compilation_unit::TypePath`
[INFO] [stderr]  --> src/ir/spec/variant/array.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use ::ir::compilation_unit::TypePath;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CanonicalNSPath`, `TypeKind`
[INFO] [stderr]   --> src/ir/spec/variant/simple_scalar.rs:9:60
[INFO] [stderr]    |
[INFO] [stderr] 9  | use ::ir::compilation_unit::{TypePath, NamedTypeContainer, TypeKind, RelativeNSPath,
[INFO] [stderr]    |                                                            ^^^^^^^^
[INFO] [stderr] 10 |                              CanonicalNSPath};
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CanonicalNSPath`, `RelativeNSPath`, `TypePath`
[INFO] [stderr]  --> src/ir/spec/data.rs:1:30
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ::ir::compilation_unit::{TypePath, RelativeNSPath, CanonicalNSPath};
[INFO] [stderr]   |                              ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `EnumSpec`
[INFO] [stderr]  --> src/ir/type_spec/literal.rs:5:13
[INFO] [stderr]   |
[INFO] [stderr] 5 |             EnumSpec};
[INFO] [stderr]   |             ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `::std::marker::PhantomData`
[INFO] [stderr]  --> src/ir/name.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ::std::marker::PhantomData;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `::nom::IResult`
[INFO] [stderr]  --> src/ir/name.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ::nom::IResult;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `pf_push`
[INFO] [stderr]   --> src/backend/common/formatter.rs:41:14
[INFO] [stderr]    |
[INFO] [stderr] 41 | macro_rules! pf_push {
[INFO] [stderr]    |              ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `pf_push_line`
[INFO] [stderr]   --> src/backend/common/formatter.rs:46:14
[INFO] [stderr]    |
[INFO] [stderr] 46 | macro_rules! pf_push_line {
[INFO] [stderr]    |              ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `::ir::spec::data::ReferenceAccessTime`
[INFO] [stderr]  --> src/backend/imperative_base/deserialize.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ::ir::spec::data::ReferenceAccessTime;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `EnumSpec`, `TypeSpecVariant`
[INFO] [stderr]  --> src/backend/imperative_base/reference.rs:6:23
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ::ir::type_spec::{TypeSpecVariant, EnumSpec};
[INFO] [stderr]   |                       ^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ir::compilation_unit::TypePath`
[INFO] [stderr]  --> src/backend/javascript/cu_to_js.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ir::compilation_unit::TypePath;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `to_value`
[INFO] [stderr]  --> src/backend/json_spec/mod.rs:6:27
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ::serde_json::{Value, to_value};
[INFO] [stderr]   |                           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TypePath`
[INFO] [stderr]  --> src/frontend/protocol_json/mod.rs:5:30
[INFO] [stderr]   |
[INFO] [stderr] 5 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stderr]   |                              ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TypePath`
[INFO] [stderr]  --> src/frontend/protocol_json/variants/mod.rs:6:30
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stderr]   |                              ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TypePath`
[INFO] [stderr]  --> src/frontend/protocol_json/variants/array.rs:2:30
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stderr]   |                              ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TypePath`
[INFO] [stderr]  --> src/frontend/protocol_json/variants/union.rs:4:30
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stderr]   |                              ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TypePath`
[INFO] [stderr]  --> src/frontend/protocol_json/variants/container.rs:7:30
[INFO] [stderr]   |
[INFO] [stderr] 7 | use ::ir::compilation_unit::{TypePath, RelativeNSPath};
[INFO] [stderr]   |                              ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CanonicalNSPath`, `TypePath`
[INFO] [stderr]  --> src/frontend/protocol_spec/ast/mod.rs:4:30
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ::ir::compilation_unit::{TypePath, CanonicalNSPath};
[INFO] [stderr]   |                              ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 18 |         try!(write!(fmt, "error at {}:{}: expected ", self.line,
[INFO] [stderr]    |         ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:20:11
[INFO] [stderr]    |
[INFO] [stderr] 20 |         { try!(write!(fmt, "EOF")); } else if self.expected.len() == 1
[INFO] [stderr]    |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:22:13
[INFO] [stderr]    |
[INFO] [stderr] 22 |             try!(write!(fmt, "`{}`",
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:27:13
[INFO] [stderr]    |
[INFO] [stderr] 27 |             try!(write!(fmt, "one of `{}`",
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:29:15
[INFO] [stderr]    |
[INFO] [stderr] 29 |             { try!(write!(fmt, ", `{}`", escape_default(elem))); }
[INFO] [stderr]    |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:117:529
[INFO] [stderr]     |
[INFO] [stderr] 117 | ...nge_at ( __input , __pos ) ; match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . m...
[INFO] [stderr]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:117:543
[INFO] [stderr]     |
[INFO] [stderr] 117 | ...ut , __pos ) ; match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( ...
[INFO] [stderr]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:117:557
[INFO] [stderr]     |
[INFO] [stderr] 117 | ... match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0-9a...
[INFO] [stderr]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> /opt/rustwide/target/debug/build/protodefc-acb000213b857330/out/pds.rs:135:361
[INFO] [stderr]     |
[INFO] [stderr] 135 | ...feff}' | '\u{1680}' | '\u{180e}' | '\u{2000}' ... '\u{200a}' | '\u{202f}' | '\u{205f}' | '\u{3000}' => Matched ( __next , ( ) ) , _ =>...
[INFO] [stderr]     |                                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Ident`
[INFO] [stderr]  --> src/frontend/protocol_spec/to_ir/spec.rs:7:25
[INFO] [stderr]   |
[INFO] [stderr] 7 | use super::super::ast::{Ident, Statement, Value};
[INFO] [stderr]   |                         ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `RelativeNSPath`
[INFO] [stderr]  --> src/frontend/protocol_spec/to_ir/compilation_unit.rs:3:47
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ::ir::compilation_unit::{CompilationUnit, RelativeNSPath, CanonicalNSPath,
[INFO] [stderr]   |                                               ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `IntegerSize`, `IntegerSpec`
[INFO] [stderr]  --> src/frontend/protocol_spec/to_ir/compilation_unit.rs:6:40
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ::ir::type_spec::{TypeSpecVariant, IntegerSpec, IntegerSize};
[INFO] [stderr]   |                                        ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `unwrap_ok`
[INFO] [stderr]   --> src/lib.rs:48:14
[INFO] [stderr]    |
[INFO] [stderr] 48 | macro_rules! unwrap_ok {
[INFO] [stderr]    |              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `unwrap_error`
[INFO] [stderr]   --> src/lib.rs:60:14
[INFO] [stderr]    |
[INFO] [stderr] 60 | macro_rules! unwrap_error {
[INFO] [stderr]    |              ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/errors.rs:6:1
[INFO] [stderr]    |
[INFO] [stderr] 6  | / error_chain! {
[INFO] [stderr] 7  | |     links {
[INFO] [stderr] 8  | |         //JsonParseError(
[INFO] [stderr] 9  | |         //    ::frontend::protocol_json::Error,
[INFO] [stderr] ...  |
[INFO] [stderr] 27 | |     }
[INFO] [stderr] 28 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ir/compilation_unit/mod.rs:193:44
[INFO] [stderr]     |
[INFO] [stderr] 193 |     pub fn specs_iter<'a>(&'a self) -> Box<Iterator<Item = &'a NamedTypeContainer> + 'a> {
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 193 |     pub fn specs_iter<'a>(&'a self) -> Box<dyn Iterator<Item = &'a NamedTypeContainer> + 'a> {
[INFO] [stderr]     |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ir/spec/variant/mod.rs:46:44
[INFO] [stderr]    |
[INFO] [stderr] 46 |     pub fn to_variant<'a>(&'a self) -> &'a TypeVariant {
[INFO] [stderr]    |                                            ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 46 |     pub fn to_variant<'a>(&'a self) -> &'a dyn TypeVariant {
[INFO] [stderr]    |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ir/spec/variant/mod.rs:55:56
[INFO] [stderr]    |
[INFO] [stderr] 55 |     pub fn to_variant_mut<'a>(&'a mut self) -> &'a mut TypeVariant {
[INFO] [stderr]    |                                                        ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 55 |     pub fn to_variant_mut<'a>(&'a mut self) -> &'a mut dyn TypeVariant {
[INFO] [stderr]    |                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/backend/imperative_base/mod.rs:192:59
[INFO] [stderr]     |
[INFO] [stderr] 192 | fn codegen_for_type<'a>(typ: &'a ::ir::spec::Type) -> &'a BaseCodegen {
[INFO] [stderr]     |                                                           ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 192 | fn codegen_for_type<'a>(typ: &'a ::ir::spec::Type) -> &'a dyn BaseCodegen {
[INFO] [stderr]     |                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/imperative_base/reference.rs:11:43
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub fn build_reference_accessor(variant: &TypeVariant, data: &TypeData,
[INFO] [stderr]    |                                           ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub fn build_reference_accessor(variant: &dyn TypeVariant, data: &TypeData,
[INFO] [stderr]    |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/imperative_base/reference.rs:42:46
[INFO] [stderr]    |
[INFO] [stderr] 42 | fn build_reference_accessor_inner(_variant: &TypeVariant, data: &TypeData,
[INFO] [stderr]    |                                              ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 42 | fn build_reference_accessor_inner(_variant: &dyn TypeVariant, data: &TypeData,
[INFO] [stderr]    |                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: a method with this name may be added to the standard library in the future
[INFO] [stderr]   --> src/ir/spec/reference/mod.rs:32:51
[INFO] [stderr]    |
[INFO] [stderr] 32 |         for is_up in (0..(self.up)).map(|_| true).intersperse(false) {
[INFO] [stderr]    |                                                   ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stderr]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stderr]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stderr]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: a method with this name may be added to the standard library in the future
[INFO] [stderr]   --> src/ir/spec/reference/mod.rs:44:56
[INFO] [stderr]    |
[INFO] [stderr] 44 |         for item in self.items.iter().map(|i| Some(i)).intersperse(None) {
[INFO] [stderr]    |                                                        ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stderr]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stderr]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stderr]   --> src/errors.rs:6:1
[INFO] [stderr]    |
[INFO] [stderr] 6  | / error_chain! {
[INFO] [stderr] 7  | |     links {
[INFO] [stderr] 8  | |         //JsonParseError(
[INFO] [stderr] 9  | |         //    ::frontend::protocol_json::Error,
[INFO] [stderr] ...  |
[INFO] [stderr] 27 | |     }
[INFO] [stderr] 28 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/ir/compilation_unit/mod.rs:46:13
[INFO] [stderr]    |
[INFO] [stderr] 46 |             _ => None,
[INFO] [stderr]    |             ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/ir/compilation_unit/mod.rs:126:17
[INFO] [stderr]     |
[INFO] [stderr] 126 |                 _ => (),
[INFO] [stderr]     |                 ^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/ir/compilation_unit/mod.rs:179:17
[INFO] [stderr]     |
[INFO] [stderr] 179 |                 _ => panic!(),
[INFO] [stderr]     |                 ^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/ir/spec/variant/union.rs:72:21
[INFO] [stderr]    |
[INFO] [stderr] 72 |                 for mut case in &mut self.cases {
[INFO] [stderr]    |                     ----^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/ir/spec/variant/simple_scalar.rs:39:24
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stderr]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]   --> src/ir/spec/variant/simple_scalar.rs:56:53
[INFO] [stderr]    |
[INFO] [stderr] 56 |             CompilePass::ResolveReferencedTypes(ref path, ref cu) => {
[INFO] [stderr]    |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/ir/spec/variant/simple_scalar.rs:100:13
[INFO] [stderr]     |
[INFO] [stderr] 100 |         let mut data = TypeData::default();
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/ir/spec/variant/mod.rs:64:28
[INFO] [stderr]    |
[INFO] [stderr] 64 |     pub fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stderr]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/ir/type_spec/literal.rs:90:17
[INFO] [stderr]    |
[INFO] [stderr] 90 | fn parse_binary(data: &BinarySpec, input_str: &str) -> Result<TypeSpecLiteralVariant> {
[INFO] [stderr]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count_root_node`
[INFO] [stderr]    --> src/backend/imperative_base/deserialize.rs:101:13
[INFO] [stderr]     |
[INFO] [stderr] 101 |         let count_root_node = data.get_reference_root(self.count_handle).upgrade();
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count_root_node`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item_var`
[INFO] [stderr]    --> src/backend/imperative_base/deserialize.rs:109:13
[INFO] [stderr]     |
[INFO] [stderr] 109 |         let item_var = format!("array_{}_index", ident);
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_var`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `type_spec`
[INFO] [stderr]   --> src/backend/imperative_base/reference.rs:81:27
[INFO] [stderr]    |
[INFO] [stderr] 81 |                 ref node, ref type_spec, .. }) => {
[INFO] [stderr]    |                           ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `type_spec`
[INFO] [stderr]    --> src/backend/imperative_base/reference.rs:134:17
[INFO] [stderr]     |
[INFO] [stderr] 134 |                 ref type_spec, .. }) => {
[INFO] [stderr]     |                 ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/backend/imperative_base/mod.rs:199:9
[INFO] [stderr]     |
[INFO] [stderr] 199 |         _ => unimplemented!(),
[INFO] [stderr]     |         ^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `type_name`
[INFO] [stderr]    --> src/backend/javascript/ib_to_js.rs:126:54
[INFO] [stderr]     |
[INFO] [stderr] 126 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/backend/javascript/ib_to_js.rs:276:9
[INFO] [stderr]     |
[INFO] [stderr] 276 |         _ => unimplemented!(),
[INFO] [stderr]     |         ^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `default`
[INFO] [stderr]   --> src/backend/rust/ib_to_rs.rs:39:53
[INFO] [stderr]    |
[INFO] [stderr] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stderr]    |                                  ^^^^^^^^^^^ help: try ignoring the field: `default: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `enum_type`
[INFO] [stderr]   --> src/backend/rust/ib_to_rs.rs:39:66
[INFO] [stderr]    |
[INFO] [stderr] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stderr]    |                                               ^^^^^^^^^^^^^ help: try ignoring the field: `enum_type: _`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/backend/rust/ib_to_rs.rs:40:17
[INFO] [stderr]    |
[INFO] [stderr] 40 |             let mut cases = cases.iter()
[INFO] [stderr]    |                 ----^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `typ_name_size_of`
[INFO] [stderr]   --> src/backend/rust/cu_to_rs.rs:33:13
[INFO] [stderr]    |
[INFO] [stderr] 33 |         let typ_name_size_of = format!("{}_size_of", typ_base_name);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_size_of`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `typ_name_deserialize`
[INFO] [stderr]   --> src/backend/rust/cu_to_rs.rs:35:13
[INFO] [stderr]    |
[INFO] [stderr] 35 |         let typ_name_deserialize = format!("{}_deserialize", typ_base_name);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_deserialize`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `length_var`
[INFO] [stderr]   --> src/backend/python/ib_to_py.rs:27:21
[INFO] [stderr]    |
[INFO] [stderr] 27 |                 let length_var = format!("{}_length", index_var);
[INFO] [stderr]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_length_var`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `type_name`
[INFO] [stderr]    --> src/backend/python/ib_to_py.rs:113:54
[INFO] [stderr]     |
[INFO] [stderr] 113 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/backend/python/ib_to_py.rs:151:17
[INFO] [stderr]     |
[INFO] [stderr] 151 |             let mut cases: Vec<(Expr, Block)> = cases.iter()
[INFO] [stderr]     |                 ----^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/backend/python/ib_to_py.rs:253:9
[INFO] [stderr]     |
[INFO] [stderr] 253 |         _ => unimplemented!(),
[INFO] [stderr]     |         ^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `native`
[INFO] [stderr]   --> src/backend/json_spec/mod.rs:34:34
[INFO] [stderr]    |
[INFO] [stderr] 34 |             TypeKind::Native(ref native) => {
[INFO] [stderr]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_native`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `typ_data`
[INFO] [stderr]   --> src/frontend/protocol_spec/from_ir.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |     let typ_data = &typ_inner.data;
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `target`
[INFO] [stderr]    --> src/pass/resolve_reference.rs:213:23
[INFO] [stderr]     |
[INFO] [stderr] 213 | fn validate_causality(target: &mut ReferenceData) -> Result<()> {
[INFO] [stderr]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `WeakDefinedTypeSpecContainer` is never used
[INFO] [stderr]  --> src/ir/compilation_unit/defined_type_spec.rs:5:10
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub type WeakDefinedTypeSpecContainer = WeakContainer<DefinedTypeSpec>;
[INFO] [stderr]   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/ir/spec/data.rs:24:28
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub struct SpecChildHandle(usize);
[INFO] [stderr]    |            --------------- ^^^^^
[INFO] [stderr]    |            |
[INFO] [stderr]    |            field in this struct
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SpecChildHandle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub struct SpecChildHandle(());
[INFO] [stderr]    |                            ~~
[INFO] [stderr] 
[INFO] [stderr] warning: variants `HexOne` and `HexTwo` are never constructed
[INFO] [stderr]   --> src/ir/type_spec/literal.rs:86:5
[INFO] [stderr]    |
[INFO] [stderr] 81 | enum ParseBinaryState {
[INFO] [stderr]    |      ---------------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 86 |     HexOne(bool),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 87 |     HexTwo(u8, bool),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `parse` is never used
[INFO] [stderr]   --> src/ir/target_type.rs:18:8
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl TargetType {
[INFO] [stderr]    | --------------- method in this implementation
[INFO] [stderr] 17 |
[INFO] [stderr] 18 |     fn parse(&self, raw: &str) -> Option<TargetTypeValue> {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Integer`, `Bytes`, and `Enum` are never constructed
[INFO] [stderr]   --> src/ir/target_type.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub enum TargetTypeValue {
[INFO] [stderr]    |          --------------- variants in this enum
[INFO] [stderr] 38 |     Integer(u64),
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 39 |     Bytes(Vec<u8>),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 40 |     Enum(String),
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TargetTypeValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_type` is never used
[INFO] [stderr]   --> src/ir/target_type.rs:44:8
[INFO] [stderr]    |
[INFO] [stderr] 42 | impl TargetTypeValue {
[INFO] [stderr]    | -------------------- method in this implementation
[INFO] [stderr] 43 |
[INFO] [stderr] 44 |     fn get_type(&self) -> TargetType {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `block` and `result_var` are never read
[INFO] [stderr]   --> src/backend/imperative_base/mod.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct ResultBlock {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] 23 |     block: Block,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 24 |     result_var: Var,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ResultBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_compile` is never used
[INFO] [stderr]  --> src/backend/imperative_base/tests/mod.rs:2:4
[INFO] [stderr]   |
[INFO] [stderr] 2 | fn test_compile(spec: &str) {
[INFO] [stderr]   |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `AssignBlock`, `Block`, and `Module` are never constructed
[INFO] [stderr]   --> src/backend/rust/builder.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 4  | pub enum Statement {
[INFO] [stderr]    |          --------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 10 |     AssignBlock {
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 18 |     Block {
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 24 |     Module {
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `block` is never used
[INFO] [stderr]   --> src/backend/rust/builder.rs:64:12
[INFO] [stderr]    |
[INFO] [stderr] 47 | impl Block {
[INFO] [stderr]    | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 64 |     pub fn block(&mut self, block: Block) {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_error` is never used
[INFO] [stderr]   --> src/frontend/protocol_spec/ast/parser.rs:17:4
[INFO] [stderr]    |
[INFO] [stderr] 17 | fn format_error(input: &str, error: pds::ParseError) -> String {
[INFO] [stderr]    |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ir_to_spec` is never used
[INFO] [stderr]  --> src/frontend/protocol_spec/from_ir.rs:7:4
[INFO] [stderr]   |
[INFO] [stderr] 7 | fn ir_to_spec(type_name: String, typ: TypeContainer) -> Statement {
[INFO] [stderr]   |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ir_to_spec_inner` is never used
[INFO] [stderr]   --> src/frontend/protocol_spec/from_ir.rs:26:4
[INFO] [stderr]    |
[INFO] [stderr] 26 | fn ir_to_spec_inner(typ: TypeContainer) -> Statement {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/ir/compilation_unit/mod.rs:190:23
[INFO] [stderr]     |
[INFO] [stderr] 190 |             .map(|t| t.clone())
[INFO] [stderr]     |                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `DefinedItem` does not implement `Clone`, so calling `clone` on `&DefinedItem` copies the reference, which does not do anything and can be removed
[INFO] [stderr]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::ir_to_spec`
[INFO] [stderr]   --> src/frontend/protocol_spec/from_ir.rs:94:9
[INFO] [stderr]    |
[INFO] [stderr] 94 |     use super::ir_to_spec;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self::protocol_spec::ast::printer::print`
[INFO] [stderr]   --> src/frontend/protocol_spec/from_ir.rs:97:9
[INFO] [stderr]    |
[INFO] [stderr] 97 |     use self::protocol_spec::ast::printer::print;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self::protocol_spec::ast::Block`
[INFO] [stderr]   --> src/frontend/protocol_spec/from_ir.rs:98:9
[INFO] [stderr]    |
[INFO] [stderr] 98 |     use self::protocol_spec::ast::Block;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `protodefc` (lib) generated 89 warnings (run `cargo fix --lib -p protodefc` to apply 55 suggestions)
[INFO] [stderr] warning: `protodefc` (lib test) generated 91 warnings (88 duplicates) (run `cargo fix --lib -p protodefc --tests` to apply 3 suggestions)
[INFO] [stderr] warning: unused import: `protodefc::ir::spec::TypeContainer`
[INFO] [stderr]  --> tests/spec_compile.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use protodefc::ir::spec::TypeContainer;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `protodefc` (test "spec_compile") generated 1 warning (run `cargo fix --test "spec_compile"` to apply 1 suggestion)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/protodefc-cf417388412c40d3)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test backend::imperative_base::tests::simple_scalar ... ok
[INFO] [stdout] test frontend::protocol_spec::ast::value_helpers::tests::tag_getters ... ok
[INFO] [stdout] test backend::imperative_base::tests::container ... ok
[INFO] [stdout] test frontend::protocol_json::test::test_from_json ... ok
[INFO] [stdout] test ir::spec::reference::tests::successes ... ok
[INFO] [stdout] test frontend::protocol_spec::ast::value_helpers::tests::tag_validators ... ok
[INFO] [stdout] test frontend::protocol_spec::tests::spec_to_compilation_unit ... ok
[INFO] [stdout] test test_harness::tests::gen_spec_test_cases ... FAILED
[INFO] [stdout] test ir::spec::reference::tests::up_after_down - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_harness::tests::gen_spec_test_cases stdout ----
[INFO] [stdout] thread 'test_harness::tests::gen_spec_test_cases' panicked at src/test_harness.rs:17:48:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x56058f62e296 - std::backtrace_rs::backtrace::libunwind::trace::h140b6deb6a45c671
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x56058f62e296 - std::backtrace_rs::backtrace::trace_unsynchronized::h8450d7e4e9219aed
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x56058f62e296 - std::sys_common::backtrace::_print_fmt::hbd28e5e6c6fc3a3f
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x56058f62e296 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hb058f285768cf98e
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x56058f657970 - core::fmt::rt::Argument::fmt::h87dec7a95127da24
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x56058f657970 - core::fmt::write::h873f89a91a4832db
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x56058f62b7cf - std::io::Write::write_fmt::h90f651e9e694a4bb
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/io/mod.rs:1846:15
[INFO] [stdout]    7:     0x56058f62e074 - std::sys_common::backtrace::_print::h7719d1529d9a9e13
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x56058f62e074 - std::sys_common::backtrace::print::haa3afbd0e7947108
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x56058f62fde7 - std::panicking::default_hook::{{closure}}::h10e3de2ec0eaff22
[INFO] [stdout]   10:     0x56058f62facd - std::panicking::default_hook::hbdc1b1b7fe073dab
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x56058f5c15e7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h20f7887d7cd0a330
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   12:     0x56058f5c15e7 - test::test_main::{{closure}}::hc125a615957b5cb1
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x56058f630406 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h8c19e0590f8443c4
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   14:     0x56058f630406 - std::panicking::rust_panic_with_hook::hb81692602460473d
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:785:13
[INFO] [stdout]   15:     0x56058f630152 - std::panicking::begin_panic_handler::{{closure}}::h2470593aa2678e9c
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:659:13
[INFO] [stdout]   16:     0x56058f62e796 - std::sys_common::backtrace::__rust_end_short_backtrace::h560bb50225b0562b
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x56058f62fea4 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:647:5
[INFO] [stdout]   18:     0x56058f517875 - core::panicking::panic_fmt::h29b6f262f6458dc3
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x56058f517e53 - core::result::unwrap_failed::h12bc80647957bcdb
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/result.rs:1649:5
[INFO] [stdout]   20:     0x56058f588b6e - core::result::Result<T,E>::unwrap::h01d0e28166b06677
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/result.rs:1073:23
[INFO] [stdout]   21:     0x56058f588b6e - protodefc::test_harness::json_spec_cases::he9b703e533bc95b2
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test_harness.rs:17:5
[INFO] [stdout]   22:     0x56058f582cbc - protodefc::test_harness::tests::gen_spec_test_cases::h1d7c77c51ad10469
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test_harness.rs:90:9
[INFO] [stdout]   23:     0x56058f582c97 - protodefc::test_harness::tests::gen_spec_test_cases::{{closure}}::h80f2e0268cd8ac45
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test_harness.rs:89:29
[INFO] [stdout]   24:     0x56058f562f66 - core::ops::function::FnOnce::call_once::h079b29d7f4d4301c
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x56058f5c71df - core::ops::function::FnOnce::call_once::h692fe6f34484199f
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x56058f5c71df - test::__rust_begin_short_backtrace::h48b62e76bd60e2de
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:621:18
[INFO] [stdout]   27:     0x56058f5c6001 - test::run_test_in_process::{{closure}}::h1c68597526ef43db
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:644:60
[INFO] [stdout]   28:     0x56058f5c6001 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hcae98092997f976b
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   29:     0x56058f5c6001 - std::panicking::try::do_call::h8d1548c2f5bb535a
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:554:40
[INFO] [stdout]   30:     0x56058f5c6001 - std::panicking::try::hbb7a2054f484688e
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:518:19
[INFO] [stdout]   31:     0x56058f5c6001 - std::panic::catch_unwind::h696d12d9d80497c2
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panic.rs:142:14
[INFO] [stdout]   32:     0x56058f5c6001 - test::run_test_in_process::h053367a7217c825b
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:644:27
[INFO] [stdout]   33:     0x56058f5c6001 - test::run_test::{{closure}}::hfa524e9fabcba78e
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:567:43
[INFO] [stdout]   34:     0x56058f58d466 - test::run_test::{{closure}}::h2c4d0bb741ef7f9f
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:595:41
[INFO] [stdout]   35:     0x56058f58d466 - std::sys_common::backtrace::__rust_begin_short_backtrace::h0d2c708415550075
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   36:     0x56058f592427 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h76e2635840d7293f
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   37:     0x56058f592427 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::haa640b67a810a214
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   38:     0x56058f592427 - std::panicking::try::do_call::h41892e3bc2807ab5
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:554:40
[INFO] [stdout]   39:     0x56058f592427 - std::panicking::try::h861a16d180681c80
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:518:19
[INFO] [stdout]   40:     0x56058f592427 - std::panic::catch_unwind::h8195f9064b1509fa
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panic.rs:142:14
[INFO] [stdout]   41:     0x56058f592427 - std::thread::Builder::spawn_unchecked_::{{closure}}::h73cc419da1217371
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   42:     0x56058f592427 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h79dc6499ff073b09
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x56058f634bf5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha718e8cdc51a5182
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   44:     0x56058f634bf5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h86072abc877c5474
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   45:     0x56058f634bf5 - std::sys::pal::unix::thread::Thread::new::thread_start::hac4056197c365894
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stdout]   46:     0x7f6d80a19ac3 - <unknown>
[INFO] [stdout]   47:     0x7f6d80aaabf4 - __clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_harness::tests::gen_spec_test_cases
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 8 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "cabd1323d61e28acd26c8c9b80bac4f2100c110c43a8bb2ec17fe2f08e757a2f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cabd1323d61e28acd26c8c9b80bac4f2100c110c43a8bb2ec17fe2f08e757a2f", kill_on_drop: false }`
[INFO] [stdout] cabd1323d61e28acd26c8c9b80bac4f2100c110c43a8bb2ec17fe2f08e757a2f
