[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.75.0 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FProtoDef-io%2Fprotodefc" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ProtoDef-io/protodefc on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.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-3-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.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded atty v0.2.2
[INFO] [stderr]   Downloaded term_size v0.3.0
[INFO] [stderr]   Downloaded serde v1.0.2
[INFO] [stderr]   Downloaded vec_map v0.7.0
[INFO] [stderr]   Downloaded num-traits v0.2.4
[INFO] [stderr]   Downloaded clap v2.23.3
[INFO] [stderr]   Downloaded toml v0.4.0
[INFO] [stderr]   Downloaded json v0.11.6
[INFO] [stderr]   Downloaded num-integer v0.1.38
[INFO] [stderr]   Downloaded unicode-segmentation v1.1.0
[INFO] [stderr]   Downloaded num-bigint v0.2.0
[INFO] [stderr]   Downloaded serde_json v1.0.1
[INFO] [stderr]   Downloaded peg v0.5.2
[INFO] [stderr]   Downloaded Inflector v0.10.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cca14d78f58126414b6ad396ead3ae51623312312c0d0ecd7f866d10b0d4fa78
[INFO] running `Command { std: "docker" "start" "-a" "cca14d78f58126414b6ad396ead3ae51623312312c0d0ecd7f866d10b0d4fa78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cca14d78f58126414b6ad396ead3ae51623312312c0d0ecd7f866d10b0d4fa78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cca14d78f58126414b6ad396ead3ae51623312312c0d0ecd7f866d10b0d4fa78", kill_on_drop: false }`
[INFO] [stdout] cca14d78f58126414b6ad396ead3ae51623312312c0d0ecd7f866d10b0d4fa78
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 70cd472300470fe4c430697b9eeacf4aa55340ef4126376be8d7b5dad1779b61
[INFO] running `Command { std: "docker" "start" "-a" "70cd472300470fe4c430697b9eeacf4aa55340ef4126376be8d7b5dad1779b61", 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 serde v1.0.2
[INFO] [stderr]    Compiling num-bigint v0.2.0
[INFO] [stderr]    Compiling itoa v0.3.1
[INFO] [stderr]    Compiling dtoa v0.4.1
[INFO] [stderr]    Compiling num-traits v0.1.37
[INFO] [stderr]    Compiling either v1.1.0
[INFO] [stderr]    Compiling json v0.11.6
[INFO] [stderr]    Compiling peg v0.5.2
[INFO] [stderr]    Compiling itertools v0.5.10
[INFO] [stderr]    Compiling matches v0.1.4
[INFO] [stderr]    Compiling Inflector v0.10.0
[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 protodefc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling toml v0.4.0
[INFO] [stderr]    Compiling serde_json v1.0.1
[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-69fd92e47870436c/out/pds.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         try!
[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-69fd92e47870436c/out/pds.rs:20:39
[INFO] [stdout]    |
[INFO] [stdout] 20 |         if self.expected.len() == 0 { try! (write! (fmt, "EOF")) ; } else if
[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-69fd92e47870436c/out/pds.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |             try!
[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-69fd92e47870436c/out/pds.rs:29:51
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let mut iter = self.expected.iter() ; try!
[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-69fd92e47870436c/out/pds.rs:33:15
[INFO] [stdout]    |
[INFO] [stdout] 33 |             { 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-69fd92e47870436c/out/pds.rs:122:529
[INFO] [stdout]     |
[INFO] [stdout] 122 | ...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-69fd92e47870436c/out/pds.rs:122:543
[INFO] [stdout]     |
[INFO] [stdout] 122 | ...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-69fd92e47870436c/out/pds.rs:122:557
[INFO] [stdout]     |
[INFO] [stdout] 122 | ... 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-69fd92e47870436c/out/pds.rs:140:361
[INFO] [stdout]     |
[INFO] [stdout] 140 | ...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 9.77s
[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" "70cd472300470fe4c430697b9eeacf4aa55340ef4126376be8d7b5dad1779b61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "70cd472300470fe4c430697b9eeacf4aa55340ef4126376be8d7b5dad1779b61", kill_on_drop: false }`
[INFO] [stdout] 70cd472300470fe4c430697b9eeacf4aa55340ef4126376be8d7b5dad1779b61
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2c82684a4e65a865b49a58805bb634760f894a3f10c79916c963217ca34532ba
[INFO] running `Command { std: "docker" "start" "-a" "2c82684a4e65a865b49a58805bb634760f894a3f10c79916c963217ca34532ba", 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-69fd92e47870436c/out/pds.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         try!
[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-69fd92e47870436c/out/pds.rs:20:39
[INFO] [stdout]    |
[INFO] [stdout] 20 |         if self.expected.len() == 0 { try! (write! (fmt, "EOF")) ; } else if
[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-69fd92e47870436c/out/pds.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |             try!
[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-69fd92e47870436c/out/pds.rs:29:51
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let mut iter = self.expected.iter() ; try!
[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-69fd92e47870436c/out/pds.rs:33:15
[INFO] [stdout]    |
[INFO] [stdout] 33 |             { 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-69fd92e47870436c/out/pds.rs:122:529
[INFO] [stdout]     |
[INFO] [stdout] 122 | ...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-69fd92e47870436c/out/pds.rs:122:543
[INFO] [stdout]     |
[INFO] [stdout] 122 | ...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-69fd92e47870436c/out/pds.rs:122:557
[INFO] [stdout]     |
[INFO] [stdout] 122 | ... 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-69fd92e47870436c/out/pds.rs:140:361
[INFO] [stdout]     |
[INFO] [stdout] 140 | ...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] [stderr]    Compiling protodefc v0.1.0 (/opt/rustwide/workdir)
[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] [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-69fd92e47870436c/out/pds.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         try!
[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-69fd92e47870436c/out/pds.rs:20:39
[INFO] [stdout]    |
[INFO] [stdout] 20 |         if self.expected.len() == 0 { try! (write! (fmt, "EOF")) ; } else if
[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-69fd92e47870436c/out/pds.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |             try!
[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-69fd92e47870436c/out/pds.rs:29:51
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let mut iter = self.expected.iter() ; try!
[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-69fd92e47870436c/out/pds.rs:33:15
[INFO] [stdout]    |
[INFO] [stdout] 33 |             { 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-69fd92e47870436c/out/pds.rs:122:529
[INFO] [stdout]     |
[INFO] [stdout] 122 | ...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-69fd92e47870436c/out/pds.rs:122:543
[INFO] [stdout]     |
[INFO] [stdout] 122 | ...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-69fd92e47870436c/out/pds.rs:122:557
[INFO] [stdout]     |
[INFO] [stdout] 122 | ... 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-69fd92e47870436c/out/pds.rs:140:361
[INFO] [stdout]     |
[INFO] [stdout] 140 | ...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: 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: 1 warning emitted
[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 2.66s
[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" "2c82684a4e65a865b49a58805bb634760f894a3f10c79916c963217ca34532ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c82684a4e65a865b49a58805bb634760f894a3f10c79916c963217ca34532ba", kill_on_drop: false }`
[INFO] [stdout] 2c82684a4e65a865b49a58805bb634760f894a3f10c79916c963217ca34532ba
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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.75.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 49637766dac07916de82cb1eccbe93f7ae2c4a4b5375974ca0be0acc52fbada0
[INFO] running `Command { std: "docker" "start" "-a" "49637766dac07916de82cb1eccbe93f7ae2c4a4b5375974ca0be0acc52fbada0", 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-69fd92e47870436c/out/pds.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 18 |         try!
[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-69fd92e47870436c/out/pds.rs:20:39
[INFO] [stderr]    |
[INFO] [stderr] 20 |         if self.expected.len() == 0 { try! (write! (fmt, "EOF")) ; } else if
[INFO] [stderr]    |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> /opt/rustwide/target/debug/build/protodefc-69fd92e47870436c/out/pds.rs:23:13
[INFO] [stderr]    |
[INFO] [stderr] 23 |             try!
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> /opt/rustwide/target/debug/build/protodefc-69fd92e47870436c/out/pds.rs:29:51
[INFO] [stderr]    |
[INFO] [stderr] 29 |             let mut iter = self.expected.iter() ; try!
[INFO] [stderr]    |                                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> /opt/rustwide/target/debug/build/protodefc-69fd92e47870436c/out/pds.rs:33:15
[INFO] [stderr]    |
[INFO] [stderr] 33 |             { 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-69fd92e47870436c/out/pds.rs:122:529
[INFO] [stderr]     |
[INFO] [stderr] 122 | ...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-69fd92e47870436c/out/pds.rs:122:543
[INFO] [stderr]     |
[INFO] [stderr] 122 | ...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-69fd92e47870436c/out/pds.rs:122:557
[INFO] [stderr]     |
[INFO] [stderr] 122 | ... 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-69fd92e47870436c/out/pds.rs:140:361
[INFO] [stderr]     |
[INFO] [stderr] 140 | ...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.04s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.2.1
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[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-6696be6f867e2769)
[INFO] [stdout] test backend::imperative_base::tests::simple_scalar ... ok
[INFO] [stdout] test backend::imperative_base::tests::container ... ok
[INFO] [stdout] test frontend::protocol_spec::tests::spec_to_compilation_unit ... 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::ast::value_helpers::tests::tag_getters ... 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:     0x5621ba2888ac - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x5621ba2888ac - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5621ba2888ac - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x5621ba2888ac - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x5621ba2b2e70 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x5621ba2b2e70 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x5621ba2860df - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x5621ba288694 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x5621ba288694 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x5621ba28a357 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x5621ba28a043 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x5621ba21bdf7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x5621ba21bdf7 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x5621ba28a968 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x5621ba28a968 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x5621ba28a6be - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x5621ba288d76 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x5621ba28a422 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x5621ba172de5 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x5621ba1733b3 - core::result::unwrap_failed::hddb4fea594200c52
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/result.rs:1653:5
[INFO] [stdout]   20:     0x5621ba1e42ac - core::result::Result<T,E>::unwrap::h1166e96f5c991fc1
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/result.rs:1077:23
[INFO] [stdout]   21:     0x5621ba1e0305 - protodefc::test_harness::json_spec_cases::h31ef2bfcdc9b69f0
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test_harness.rs:17:5
[INFO] [stdout]   22:     0x5621ba19977c - protodefc::test_harness::tests::gen_spec_test_cases::hfe4f35054143c867
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test_harness.rs:90:9
[INFO] [stdout]   23:     0x5621ba199757 - protodefc::test_harness::tests::gen_spec_test_cases::{{closure}}::h32aa54071f46f006
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test_harness.rs:89:29
[INFO] [stdout]   24:     0x5621ba1d1c66 - core::ops::function::FnOnce::call_once::h6340df757c4a8755
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5621ba22144f - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5621ba22144f - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   27:     0x5621ba220465 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   28:     0x5621ba220465 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   29:     0x5621ba220465 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   30:     0x5621ba220465 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   31:     0x5621ba220465 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   32:     0x5621ba220465 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   33:     0x5621ba220465 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   34:     0x5621ba1e8726 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   35:     0x5621ba1e8726 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   36:     0x5621ba1ed7d7 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   37:     0x5621ba1ed7d7 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   38:     0x5621ba1ed7d7 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   39:     0x5621ba1ed7d7 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   40:     0x5621ba1ed7d7 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   41:     0x5621ba1ed7d7 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   42:     0x5621ba1ed7d7 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5621ba28f875 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   44:     0x5621ba28f875 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   45:     0x5621ba28f875 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   46:     0x7f5b5a78cac3 - <unknown>
[INFO] [stdout]   47:     0x7f5b5a81dbf4 - __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" "49637766dac07916de82cb1eccbe93f7ae2c4a4b5375974ca0be0acc52fbada0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "49637766dac07916de82cb1eccbe93f7ae2c4a4b5375974ca0be0acc52fbada0", kill_on_drop: false }`
[INFO] [stdout] 49637766dac07916de82cb1eccbe93f7ae2c4a4b5375974ca0be0acc52fbada0
[INFO] testing ProtoDef-io/protodefc against beta-2023-12-22 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FProtoDef-io%2Fprotodefc" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ProtoDef-io/protodefc on toolchain beta-2023-12-22
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "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-3-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-2023-12-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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-2023-12-22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 013abd85c9426c213f0bdc880b431b6339f715017ab36ba1b33f79b6423c9eed
[INFO] running `Command { std: "docker" "start" "-a" "013abd85c9426c213f0bdc880b431b6339f715017ab36ba1b33f79b6423c9eed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "013abd85c9426c213f0bdc880b431b6339f715017ab36ba1b33f79b6423c9eed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "013abd85c9426c213f0bdc880b431b6339f715017ab36ba1b33f79b6423c9eed", kill_on_drop: false }`
[INFO] [stdout] 013abd85c9426c213f0bdc880b431b6339f715017ab36ba1b33f79b6423c9eed
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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-2023-12-22" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 52f01629dd955413914c277eb858d55e774d3c56d03417b5b29731a76751bd9e
[INFO] running `Command { std: "docker" "start" "-a" "52f01629dd955413914c277eb858d55e774d3c56d03417b5b29731a76751bd9e", 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 serde v1.0.2
[INFO] [stderr]    Compiling num-bigint v0.2.0
[INFO] [stderr]    Compiling dtoa v0.4.1
[INFO] [stderr]    Compiling itoa v0.3.1
[INFO] [stderr]    Compiling either v1.1.0
[INFO] [stderr]    Compiling num-traits v0.1.37
[INFO] [stderr]    Compiling peg v0.5.2
[INFO] [stderr]    Compiling itertools v0.5.10
[INFO] [stderr]    Compiling matches v0.1.4
[INFO] [stderr]    Compiling lazy_static v0.2.8
[INFO] [stderr]    Compiling error-chain v0.10.0
[INFO] [stderr]    Compiling nom v2.2.1
[INFO] [stderr]    Compiling Inflector v0.10.0
[INFO] [stderr]    Compiling json v0.11.6
[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: 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 6.81s
[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" "52f01629dd955413914c277eb858d55e774d3c56d03417b5b29731a76751bd9e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "52f01629dd955413914c277eb858d55e774d3c56d03417b5b29731a76751bd9e", kill_on_drop: false }`
[INFO] [stdout] 52f01629dd955413914c277eb858d55e774d3c56d03417b5b29731a76751bd9e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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-2023-12-22" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 883c3cb7fc333f2f9797ac6ec3c1bbad8b40d976cf5f58abf6ce80fdb330bf38
[INFO] running `Command { std: "docker" "start" "-a" "883c3cb7fc333f2f9797ac6ec3c1bbad8b40d976cf5f58abf6ce80fdb330bf38", 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: 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]    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: 1 warning emitted
[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 2.69s
[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" "883c3cb7fc333f2f9797ac6ec3c1bbad8b40d976cf5f58abf6ce80fdb330bf38", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "883c3cb7fc333f2f9797ac6ec3c1bbad8b40d976cf5f58abf6ce80fdb330bf38", kill_on_drop: false }`
[INFO] [stdout] 883c3cb7fc333f2f9797ac6ec3c1bbad8b40d976cf5f58abf6ce80fdb330bf38
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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-2023-12-22" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7bfb6c847da362461238f43ce12b2c83001e4827decc96b094d92f6e15ec45f5
[INFO] running `Command { std: "docker" "start" "-a" "7bfb6c847da362461238f43ce12b2c83001e4827decc96b094d92f6e15ec45f5", 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] [stdout] 
[INFO] [stderr]    |
[INFO] [stdout] running 9 tests
[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] [stdout] test backend::imperative_base::tests::container ... ok
[INFO] [stderr] 101 |         let count_root_node = data.get_reference_root(self.count_handle).upgrade();
[INFO] [stdout] test frontend::protocol_json::test::test_from_json ... ok
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count_root_node`
[INFO] [stdout] test frontend::protocol_spec::ast::value_helpers::tests::tag_getters ... ok
[INFO] [stderr] 
[INFO] [stdout] test backend::imperative_base::tests::simple_scalar ... ok
[INFO] [stderr] warning: unused variable: `item_var`
[INFO] [stdout] test frontend::protocol_spec::tests::spec_to_compilation_unit ... ok
[INFO] [stderr]    --> src/backend/imperative_base/deserialize.rs:109:13
[INFO] [stderr]     |
[INFO] [stderr] 109 |         let item_var = format!("array_{}_index", ident);
[INFO] [stdout] test ir::spec::reference::tests::successes ... ok
[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] [stdout] test frontend::protocol_spec::ast::value_helpers::tests::tag_validators ... ok
[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.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] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout] test ir::spec::reference::tests::up_after_down - should panic ... ok
[INFO] [stdout] test test_harness::tests::gen_spec_test_cases ... FAILED
[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:     0x5639da1c9846 - std::backtrace_rs::backtrace::libunwind::trace::h261606ad26a499c1
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x5639da1c9846 - std::backtrace_rs::backtrace::trace_unsynchronized::hd183f0625477fb28
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5639da1c9846 - std::sys_common::backtrace::_print_fmt::hd7f8fef21b4eda67
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x5639da1c9846 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h623d9b51f2f453f1
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x5639da1f3100 - core::fmt::rt::Argument::fmt::h9f417ac76a86f368
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x5639da1f3100 - core::fmt::write::hc9b6faf4ac2aeff7
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x5639da1c712f - std::io::Write::write_fmt::he04625a3a989fec3
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/io/mod.rs:1810:15
[INFO] [stdout]    7:     0x5639da1c9624 - std::sys_common::backtrace::_print::hd5d66399c7df88a2
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x5639da1c9624 - std::sys_common::backtrace::print::he81ed2da642d37e5
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x5639da1cb397 - std::panicking::default_hook::{{closure}}::h85773f4fa117163d
[INFO] [stdout]   10:     0x5639da1cb07d - std::panicking::default_hook::h6a1694a91d09b278
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x5639da15c237 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h616ac37fa3cd6c8f
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   12:     0x5639da15c237 - test::test_main::{{closure}}::h00d84697cefdcbb6
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x5639da1cb9b6 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcb3fe3b9bb537ba8
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   14:     0x5639da1cb9b6 - std::panicking::rust_panic_with_hook::h0a7ad96e90f7145b
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x5639da1cb702 - std::panicking::begin_panic_handler::{{closure}}::h7919090525c6485e
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x5639da1c9d46 - std::sys_common::backtrace::__rust_end_short_backtrace::hf3289479464f7dfe
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x5639da1cb460 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x5639da0b1dd5 - core::panicking::panic_fmt::hcc9f77c5c132af55
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x5639da0b23b3 - core::result::unwrap_failed::hbe14f498be1452f9
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/result.rs:1649:5
[INFO] [stdout]   20:     0x5639da11405c - core::result::Result<T,E>::unwrap::h9f2dd63df1ba2b6e
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/result.rs:1073:23
[INFO] [stdout]   21:     0x5639da11f9f5 - protodefc::test_harness::json_spec_cases::h94d554c8141b0484
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test_harness.rs:17:5
[INFO] [stdout]   22:     0x5639da12375c - protodefc::test_harness::tests::gen_spec_test_cases::hd98b5ffcf773e185
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test_harness.rs:90:9
[INFO] [stdout]   23:     0x5639da123737 - protodefc::test_harness::tests::gen_spec_test_cases::{{closure}}::h76a30166323676fd
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test_harness.rs:89:29
[INFO] [stdout]   24:     0x5639da0e6836 - core::ops::function::FnOnce::call_once::hc552be6b69b48cfc
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5639da161b0f - core::ops::function::FnOnce::call_once::hd64d26f405258157
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5639da161b0f - test::__rust_begin_short_backtrace::he21b0b7a6d731bf9
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:627:18
[INFO] [stdout]   27:     0x5639da160891 - test::run_test_in_process::{{closure}}::hf5c73986d7bdfde2
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:650:60
[INFO] [stdout]   28:     0x5639da160891 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h330011ad032aadc0
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   29:     0x5639da160891 - std::panicking::try::do_call::he61b0a958b795a41
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:552:40
[INFO] [stdout]   30:     0x5639da160891 - std::panicking::try::h7309da130f906eb7
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:516:19
[INFO] [stdout]   31:     0x5639da160891 - std::panic::catch_unwind::hc5c3a06fdaf0a92a
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panic.rs:142:14
[INFO] [stdout]   32:     0x5639da160891 - test::run_test_in_process::h7e7b7c71c3324e0f
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:650:27
[INFO] [stdout]   33:     0x5639da160891 - test::run_test::{{closure}}::h1f509f28f5cf20b1
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:573:43
[INFO] [stdout]   34:     0x5639da127bc6 - test::run_test::{{closure}}::h1754218abf443f6d
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:601:41
[INFO] [stdout]   35:     0x5639da127bc6 - std::sys_common::backtrace::__rust_begin_short_backtrace::h2ee174b9d5954948
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   36:     0x5639da12cc27 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hf60bee9c1a17ef09
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   37:     0x5639da12cc27 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h33d0dddec5216160
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   38:     0x5639da12cc27 - std::panicking::try::do_call::h144b3048b546f835
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:552:40
[INFO] [stdout]   39:     0x5639da12cc27 - std::panicking::try::h978244d04646189f
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:516:19
[INFO] [stdout]   40:     0x5639da12cc27 - std::panic::catch_unwind::hdf436369d188fe86
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panic.rs:142:14
[INFO] [stdout]   41:     0x5639da12cc27 - std::thread::Builder::spawn_unchecked_::{{closure}}::h87329cbdd33c79ec
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   42:     0x5639da12cc27 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h401abbe67897d450
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5639da1d08e5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h5d7c8f150ab9c84c
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   44:     0x5639da1d08e5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h570d5b005c242c15
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   45:     0x5639da1d08e5 - std::sys::unix::thread::Thread::new::thread_start::h36b0a20c0b2361ad
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   46:     0x7f14ff8abac3 - <unknown>
[INFO] [stdout]   47:     0x7f14ff93cbf4 - __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.05s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7bfb6c847da362461238f43ce12b2c83001e4827decc96b094d92f6e15ec45f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7bfb6c847da362461238f43ce12b2c83001e4827decc96b094d92f6e15ec45f5", kill_on_drop: false }`
[INFO] [stdout] 7bfb6c847da362461238f43ce12b2c83001e4827decc96b094d92f6e15ec45f5
