[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 master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FProtoDef-io%2Fprotodefc" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ProtoDef-io/protodefc on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ProtoDef-io/protodefc
[INFO] finished tweaking git repo https://github.com/ProtoDef-io/protodefc
[INFO] tweaked toml for git repo https://github.com/ProtoDef-io/protodefc written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/ProtoDef-io/protodefc already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded vec_map v0.7.0
[INFO] [stderr]   Downloaded num-bigint v0.2.0
[INFO] [stderr]   Downloaded atty v0.2.2
[INFO] [stderr]   Downloaded term_size v0.3.0
[INFO] [stderr]   Downloaded libc v0.2.22
[INFO] [stderr]   Downloaded serde_json v1.0.1
[INFO] [stderr]   Downloaded toml v0.4.0
[INFO] [stderr]   Downloaded serde v1.0.2
[INFO] [stderr]   Downloaded peg v0.5.2
[INFO] [stderr]   Downloaded json v0.11.6
[INFO] [stderr]   Downloaded unicode-segmentation v1.1.0
[INFO] [stderr]   Downloaded Inflector v0.10.0
[INFO] [stderr]   Downloaded clap v2.23.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0e91a02f17937ab78f51f59415c96a5843828e75d4b4e3b3b3ee6c38855315cf
[INFO] running `Command { std: "docker" "start" "-a" "0e91a02f17937ab78f51f59415c96a5843828e75d4b4e3b3b3ee6c38855315cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0e91a02f17937ab78f51f59415c96a5843828e75d4b4e3b3b3ee6c38855315cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0e91a02f17937ab78f51f59415c96a5843828e75d4b4e3b3b3ee6c38855315cf", kill_on_drop: false }`
[INFO] [stdout] 0e91a02f17937ab78f51f59415c96a5843828e75d4b4e3b3b3ee6c38855315cf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b200df8359fec7842221bcd58bbc1a89f7d16cfe5a4ee77df3a048c238e5ebb3
[INFO] running `Command { std: "docker" "start" "-a" "b200df8359fec7842221bcd58bbc1a89f7d16cfe5a4ee77df3a048c238e5ebb3", 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 either v1.1.0
[INFO] [stderr]    Compiling dtoa v0.4.1
[INFO] [stderr]    Compiling itoa v0.3.1
[INFO] [stderr]    Compiling num-traits v0.1.37
[INFO] [stderr]    Compiling lazy_static v0.2.8
[INFO] [stderr]    Compiling nom v2.2.1
[INFO] [stderr]    Compiling Inflector v0.10.0
[INFO] [stderr]    Compiling json v0.11.6
[INFO] [stderr]    Compiling error-chain v0.10.0
[INFO] [stderr]    Compiling matches v0.1.4
[INFO] [stderr]    Compiling itertools v0.5.10
[INFO] [stderr]    Compiling peg v0.5.2
[INFO] [stderr]    Compiling protodefc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling serde_json v1.0.1
[INFO] [stderr]    Compiling toml v0.4.0
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use] extern crate lazy_static;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[macro_use] extern crate matches;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Container`, `WeakContainer`
[INFO] [stdout]  --> src/ir/compilation_unit/mod.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ::rc_container::{Container, WeakContainer};
[INFO] [stdout]   |                      ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::spec::data::ReferenceAccessTime`
[INFO] [stdout]  --> src/ir/compilation_unit/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ::ir::spec::data::ReferenceAccessTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntegerSize`, `IntegerSpec`, `TypeSpecContainer`
[INFO] [stdout]  --> src/ir/spec/variant/array.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::type_spec::{TypeSpecContainer, WeakTypeSpecContainer, TypeSpecVariant,
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |                       ArraySpec, ArraySize, IntegerSpec, IntegerSize};
[INFO] [stdout]   |                                             ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::compilation_unit::TypePath`
[INFO] [stdout]  --> src/ir/spec/variant/array.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ::ir::compilation_unit::TypePath;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalNSPath`, `TypeKind`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:9:60
[INFO] [stdout]    |
[INFO] [stdout] 9  | use ::ir::compilation_unit::{TypePath, NamedTypeContainer, TypeKind, RelativeNSPath,
[INFO] [stdout]    |                                                            ^^^^^^^^
[INFO] [stdout] 10 |                              CanonicalNSPath};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalNSPath`, `RelativeNSPath`, `TypePath`
[INFO] [stdout]  --> src/ir/spec/data.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ::ir::compilation_unit::{TypePath, RelativeNSPath, CanonicalNSPath};
[INFO] [stdout]   |                              ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EnumSpec`
[INFO] [stdout]  --> src/ir/type_spec/literal.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |             EnumSpec};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::std::marker::PhantomData`
[INFO] [stdout]  --> src/ir/name.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ::std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::nom::IResult`
[INFO] [stdout]  --> src/ir/name.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::nom::IResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `pf_push`
[INFO] [stdout]   --> src/backend/common/formatter.rs:41:14
[INFO] [stdout]    |
[INFO] [stdout] 41 | macro_rules! pf_push {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `pf_push_line`
[INFO] [stdout]   --> src/backend/common/formatter.rs:46:14
[INFO] [stdout]    |
[INFO] [stdout] 46 | macro_rules! pf_push_line {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::ir::spec::data::ReferenceAccessTime`
[INFO] [stdout]  --> src/backend/imperative_base/deserialize.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ::ir::spec::data::ReferenceAccessTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EnumSpec`, `TypeSpecVariant`
[INFO] [stdout]  --> src/backend/imperative_base/reference.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ::ir::type_spec::{TypeSpecVariant, EnumSpec};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `js_tests`
[INFO] [stdout]  --> src/backend/javascript/mod.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[cfg(all(test, feature = "js_tests"))]
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `clap`, `cli`
[INFO] [stdout]   = help: consider adding `js_tests` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `js_tests`
[INFO] [stdout]    --> src/backend/javascript/builder.rs:297:17
[INFO] [stdout]     |
[INFO] [stdout] 297 | #[cfg(all(test, feature = "js_tests"))]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `clap`, `cli`
[INFO] [stdout]     = help: consider adding `js_tests` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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: if this is an object-safe trait, 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: if this is an object-safe trait, 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: if this is an object-safe trait, 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: if this is an object-safe trait, 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: if this is an object-safe trait, 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: if this is an object-safe trait, 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] help: add `#![feature(iter_intersperse)]` to the crate attributes to enable `std::iter::Iterator::intersperse`
[INFO] [stdout]   --> src/lib.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  + #![feature(iter_intersperse)]
[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: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] help: add `#![feature(iter_intersperse)]` to the crate attributes to enable `std::iter::Iterator::intersperse`
[INFO] [stdout]   --> src/lib.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  + #![feature(iter_intersperse)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/errors.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / error_chain! {
[INFO] [stdout] 7  | |     links {
[INFO] [stdout] 8  | |         //JsonParseError(
[INFO] [stdout] 9  | |         //    ::frontend::protocol_json::Error,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     }
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/ir/compilation_unit/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |             _ => None,
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 _ => (),
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 _ => panic!(),
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ir/spec/variant/union.rs:72:21
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 for mut case in &mut self.cases {
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stdout]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:56:53
[INFO] [stdout]    |
[INFO] [stdout] 56 |             CompilePass::ResolveReferencedTypes(ref path, ref cu) => {
[INFO] [stdout]    |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ir/spec/variant/simple_scalar.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let mut data = TypeData::default();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:64:28
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/type_spec/literal.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn parse_binary(data: &BinarySpec, input_str: &str) -> Result<TypeSpecLiteralVariant> {
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count_root_node`
[INFO] [stdout]    --> src/backend/imperative_base/deserialize.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let count_root_node = data.get_reference_root(self.count_handle).upgrade();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count_root_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_var`
[INFO] [stdout]    --> src/backend/imperative_base/deserialize.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let item_var = format!("array_{}_index", ident);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_spec`
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:81:27
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 ref node, ref type_spec, .. }) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_spec`
[INFO] [stdout]    --> src/backend/imperative_base/reference.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 ref type_spec, .. }) => {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/imperative_base/mod.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_name`
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:126:54
[INFO] [stdout]     |
[INFO] [stdout] 126 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default`
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:39:53
[INFO] [stdout]    |
[INFO] [stdout] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stdout]    |                                  ^^^^^^^^^^^ help: try ignoring the field: `default: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enum_type`
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:39:66
[INFO] [stdout]    |
[INFO] [stdout] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^ help: try ignoring the field: `enum_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |             let mut cases = cases.iter()
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_name_size_of`
[INFO] [stdout]   --> src/backend/rust/cu_to_rs.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let typ_name_size_of = format!("{}_size_of", typ_base_name);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_size_of`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_name_deserialize`
[INFO] [stdout]   --> src/backend/rust/cu_to_rs.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let typ_name_deserialize = format!("{}_deserialize", typ_base_name);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_deserialize`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length_var`
[INFO] [stdout]   --> src/backend/python/ib_to_py.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 let length_var = format!("{}_length", index_var);
[INFO] [stdout]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_length_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_name`
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:113:54
[INFO] [stdout]     |
[INFO] [stdout] 113 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 |             let mut cases: Vec<(Expr, Block)> = cases.iter()
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `native`
[INFO] [stdout]   --> src/backend/json_spec/mod.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |             TypeKind::Native(ref native) => {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_native`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_data`
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let typ_data = &typ_inner.data;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/pass/resolve_reference.rs:213:23
[INFO] [stdout]     |
[INFO] [stdout] 213 | fn validate_causality(target: &mut ReferenceData) -> Result<()> {
[INFO] [stdout]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `WeakDefinedTypeSpecContainer` is never used
[INFO] [stdout]  --> src/ir/compilation_unit/defined_type_spec.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type WeakDefinedTypeSpecContainer = WeakContainer<DefinedTypeSpec>;
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir/spec/data.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct SpecChildHandle(usize);
[INFO] [stdout]    |            --------------- ^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpecChildHandle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct SpecChildHandle(());
[INFO] [stdout]    |                            ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `HexOne` and `HexTwo` are never constructed
[INFO] [stdout]   --> src/ir/type_spec/literal.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | enum ParseBinaryState {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 86 |     HexOne(bool),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 87 |     HexTwo(u8, bool),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse` is never used
[INFO] [stdout]   --> src/ir/target_type.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl TargetType {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     fn parse(&self, raw: &str) -> Option<TargetTypeValue> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Integer`, `Bytes`, and `Enum` are never constructed
[INFO] [stdout]   --> src/ir/target_type.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum TargetTypeValue {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 38 |     Integer(u64),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 39 |     Bytes(Vec<u8>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 40 |     Enum(String),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TargetTypeValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_type` is never used
[INFO] [stdout]   --> src/ir/target_type.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl TargetTypeValue {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 43 |
[INFO] [stdout] 44 |     fn get_type(&self) -> TargetType {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `block` and `result_var` are never read
[INFO] [stdout]   --> src/backend/imperative_base/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ResultBlock {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 23 |     block: Block,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 24 |     result_var: Var,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResultBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_compile` is never used
[INFO] [stdout]  --> src/backend/imperative_base/tests/mod.rs:2:4
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn test_compile(spec: &str) {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AssignBlock`, `Block`, and `Module` are never constructed
[INFO] [stdout]   --> src/backend/rust/builder.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub enum Statement {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |     AssignBlock {
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Block {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Module {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `block` is never used
[INFO] [stdout]   --> src/backend/rust/builder.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Block {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn block(&mut self, block: Block) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_error` is never used
[INFO] [stdout]   --> src/frontend/protocol_spec/ast/parser.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn format_error(input: &str, error: pds::ParseError) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ir_to_spec` is never used
[INFO] [stdout]  --> src/frontend/protocol_spec/from_ir.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn ir_to_spec(type_name: String, typ: TypeContainer) -> Statement {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ir_to_spec_inner` is never used
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn ir_to_spec_inner(typ: TypeContainer) -> Statement {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:190:23
[INFO] [stdout]     |
[INFO] [stdout] 190 |             .map(|t| t.clone())
[INFO] [stdout]     |                       ^^^^^^^^
[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] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 190 -             .map(|t| t.clone())
[INFO] [stdout] 190 +             .map(|t| t)
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `DefinedItem`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout] 34  + #[derive(Clone)]
[INFO] [stdout] 35  | pub struct DefinedItem {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 91 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.85s
[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 3`
[INFO] running `Command { std: "docker" "inspect" "b200df8359fec7842221bcd58bbc1a89f7d16cfe5a4ee77df3a048c238e5ebb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b200df8359fec7842221bcd58bbc1a89f7d16cfe5a4ee77df3a048c238e5ebb3", kill_on_drop: false }`
[INFO] [stdout] b200df8359fec7842221bcd58bbc1a89f7d16cfe5a4ee77df3a048c238e5ebb3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 63d953acc8c14a0a547890a4f27da108df3ebf886b44c5a593b7325c4bf5396d
[INFO] running `Command { std: "docker" "start" "-a" "63d953acc8c14a0a547890a4f27da108df3ebf886b44c5a593b7325c4bf5396d", 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: unexpected `cfg` condition value: `js_tests`
[INFO] [stdout]  --> src/backend/javascript/mod.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[cfg(all(test, feature = "js_tests"))]
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `clap`, `cli`
[INFO] [stdout]   = help: consider adding `js_tests` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `js_tests`
[INFO] [stdout]    --> src/backend/javascript/builder.rs:297:17
[INFO] [stdout]     |
[INFO] [stdout] 297 | #[cfg(all(test, feature = "js_tests"))]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `clap`, `cli`
[INFO] [stdout]     = help: consider adding `js_tests` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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: if this is an object-safe trait, 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: if this is an object-safe trait, 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: if this is an object-safe trait, 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: if this is an object-safe trait, 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: if this is an object-safe trait, 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: if this is an object-safe trait, 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] help: add `#![feature(iter_intersperse)]` to the crate attributes to enable `std::iter::Iterator::intersperse`
[INFO] [stdout]   --> src/lib.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  + #![feature(iter_intersperse)]
[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: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] help: add `#![feature(iter_intersperse)]` to the crate attributes to enable `std::iter::Iterator::intersperse`
[INFO] [stdout]   --> src/lib.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  + #![feature(iter_intersperse)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/errors.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / error_chain! {
[INFO] [stdout] 7  | |     links {
[INFO] [stdout] 8  | |         //JsonParseError(
[INFO] [stdout] 9  | |         //    ::frontend::protocol_json::Error,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     }
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/ir/compilation_unit/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |             _ => None,
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 _ => (),
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 _ => panic!(),
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ir/spec/variant/union.rs:72:21
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 for mut case in &mut self.cases {
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stdout]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:56:53
[INFO] [stdout]    |
[INFO] [stdout] 56 |             CompilePass::ResolveReferencedTypes(ref path, ref cu) => {
[INFO] [stdout]    |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ir/spec/variant/simple_scalar.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let mut data = TypeData::default();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:64:28
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/type_spec/literal.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn parse_binary(data: &BinarySpec, input_str: &str) -> Result<TypeSpecLiteralVariant> {
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count_root_node`
[INFO] [stdout]    --> src/backend/imperative_base/deserialize.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let count_root_node = data.get_reference_root(self.count_handle).upgrade();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count_root_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_var`
[INFO] [stdout]    --> src/backend/imperative_base/deserialize.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let item_var = format!("array_{}_index", ident);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_spec`
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:81:27
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 ref node, ref type_spec, .. }) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_spec`
[INFO] [stdout]    --> src/backend/imperative_base/reference.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 ref type_spec, .. }) => {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/imperative_base/mod.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_name`
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:126:54
[INFO] [stdout]     |
[INFO] [stdout] 126 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default`
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:39:53
[INFO] [stdout]    |
[INFO] [stdout] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stdout]    |                                  ^^^^^^^^^^^ help: try ignoring the field: `default: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enum_type`
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:39:66
[INFO] [stdout]    |
[INFO] [stdout] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^ help: try ignoring the field: `enum_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |             let mut cases = cases.iter()
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_name_size_of`
[INFO] [stdout]   --> src/backend/rust/cu_to_rs.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let typ_name_size_of = format!("{}_size_of", typ_base_name);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_size_of`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_name_deserialize`
[INFO] [stdout]   --> src/backend/rust/cu_to_rs.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let typ_name_deserialize = format!("{}_deserialize", typ_base_name);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_deserialize`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length_var`
[INFO] [stdout]   --> src/backend/python/ib_to_py.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 let length_var = format!("{}_length", index_var);
[INFO] [stdout]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_length_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_name`
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:113:54
[INFO] [stdout]     |
[INFO] [stdout] 113 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 |             let mut cases: Vec<(Expr, Block)> = cases.iter()
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `native`
[INFO] [stdout]   --> src/backend/json_spec/mod.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |             TypeKind::Native(ref native) => {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_native`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_data`
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let typ_data = &typ_inner.data;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/pass/resolve_reference.rs:213:23
[INFO] [stdout]     |
[INFO] [stdout] 213 | fn validate_causality(target: &mut ReferenceData) -> Result<()> {
[INFO] [stdout]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `WeakDefinedTypeSpecContainer` is never used
[INFO] [stdout]  --> src/ir/compilation_unit/defined_type_spec.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type WeakDefinedTypeSpecContainer = WeakContainer<DefinedTypeSpec>;
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir/spec/data.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct SpecChildHandle(usize);
[INFO] [stdout]    |            --------------- ^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpecChildHandle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct SpecChildHandle(());
[INFO] [stdout]    |                            ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `HexOne` and `HexTwo` are never constructed
[INFO] [stdout]   --> src/ir/type_spec/literal.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | enum ParseBinaryState {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 86 |     HexOne(bool),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 87 |     HexTwo(u8, bool),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse` is never used
[INFO] [stdout]   --> src/ir/target_type.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl TargetType {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     fn parse(&self, raw: &str) -> Option<TargetTypeValue> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Integer`, `Bytes`, and `Enum` are never constructed
[INFO] [stdout]   --> src/ir/target_type.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum TargetTypeValue {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 38 |     Integer(u64),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 39 |     Bytes(Vec<u8>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 40 |     Enum(String),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TargetTypeValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_type` is never used
[INFO] [stdout]   --> src/ir/target_type.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl TargetTypeValue {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 43 |
[INFO] [stdout] 44 |     fn get_type(&self) -> TargetType {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `block` and `result_var` are never read
[INFO] [stdout]   --> src/backend/imperative_base/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ResultBlock {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 23 |     block: Block,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 24 |     result_var: Var,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResultBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_compile` is never used
[INFO] [stdout]  --> src/backend/imperative_base/tests/mod.rs:2:4
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn test_compile(spec: &str) {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AssignBlock`, `Block`, and `Module` are never constructed
[INFO] [stdout]   --> src/backend/rust/builder.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub enum Statement {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |     AssignBlock {
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Block {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Module {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `block` is never used
[INFO] [stdout]   --> src/backend/rust/builder.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Block {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn block(&mut self, block: Block) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_error` is never used
[INFO] [stdout]   --> src/frontend/protocol_spec/ast/parser.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn format_error(input: &str, error: pds::ParseError) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ir_to_spec` is never used
[INFO] [stdout]  --> src/frontend/protocol_spec/from_ir.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn ir_to_spec(type_name: String, typ: TypeContainer) -> Statement {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ir_to_spec_inner` is never used
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn ir_to_spec_inner(typ: TypeContainer) -> Statement {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:190:23
[INFO] [stdout]     |
[INFO] [stdout] 190 |             .map(|t| t.clone())
[INFO] [stdout]     |                       ^^^^^^^^
[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] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 190 -             .map(|t| t.clone())
[INFO] [stdout] 190 +             .map(|t| t)
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `DefinedItem`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout] 34  + #[derive(Clone)]
[INFO] [stdout] 35  | pub struct DefinedItem {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling protodefc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: 91 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: unexpected `cfg` condition value: `js_tests`
[INFO] [stdout]  --> src/backend/javascript/mod.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[cfg(all(test, feature = "js_tests"))]
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `clap`, `cli`
[INFO] [stdout]   = help: consider adding `js_tests` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `js_tests`
[INFO] [stdout]    --> src/backend/javascript/builder.rs:297:17
[INFO] [stdout]     |
[INFO] [stdout] 297 | #[cfg(all(test, feature = "js_tests"))]
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `clap`, `cli`
[INFO] [stdout]     = help: consider adding `js_tests` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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: if this is an object-safe trait, 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: if this is an object-safe trait, 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: if this is an object-safe trait, 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: if this is an object-safe trait, 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: if this is an object-safe trait, 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: if this is an object-safe trait, 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] help: add `#![feature(iter_intersperse)]` to the crate attributes to enable `std::iter::Iterator::intersperse`
[INFO] [stdout]   --> src/lib.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  + #![feature(iter_intersperse)]
[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: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] help: add `#![feature(iter_intersperse)]` to the crate attributes to enable `std::iter::Iterator::intersperse`
[INFO] [stdout]   --> src/lib.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  + #![feature(iter_intersperse)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/errors.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / error_chain! {
[INFO] [stdout] 7  | |     links {
[INFO] [stdout] 8  | |         //JsonParseError(
[INFO] [stdout] 9  | |         //    ::frontend::protocol_json::Error,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     }
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/ir/compilation_unit/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |             _ => None,
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 _ => (),
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 _ => panic!(),
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ir/spec/variant/union.rs:72:21
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 for mut case in &mut self.cases {
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stdout]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:56:53
[INFO] [stdout]    |
[INFO] [stdout] 56 |             CompilePass::ResolveReferencedTypes(ref path, ref cu) => {
[INFO] [stdout]    |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ir/spec/variant/simple_scalar.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let mut data = TypeData::default();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/spec/variant/mod.rs:64:28
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/ir/type_spec/literal.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn parse_binary(data: &BinarySpec, input_str: &str) -> Result<TypeSpecLiteralVariant> {
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count_root_node`
[INFO] [stdout]    --> src/backend/imperative_base/deserialize.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let count_root_node = data.get_reference_root(self.count_handle).upgrade();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count_root_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_var`
[INFO] [stdout]    --> src/backend/imperative_base/deserialize.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let item_var = format!("array_{}_index", ident);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_spec`
[INFO] [stdout]   --> src/backend/imperative_base/reference.rs:81:27
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 ref node, ref type_spec, .. }) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_spec`
[INFO] [stdout]    --> src/backend/imperative_base/reference.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 ref type_spec, .. }) => {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/imperative_base/mod.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_name`
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:126:54
[INFO] [stdout]     |
[INFO] [stdout] 126 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default`
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:39:53
[INFO] [stdout]    |
[INFO] [stdout] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stdout]    |                                  ^^^^^^^^^^^ help: try ignoring the field: `default: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enum_type`
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:39:66
[INFO] [stdout]    |
[INFO] [stdout] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^ help: try ignoring the field: `enum_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/backend/rust/ib_to_rs.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |             let mut cases = cases.iter()
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_name_size_of`
[INFO] [stdout]   --> src/backend/rust/cu_to_rs.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let typ_name_size_of = format!("{}_size_of", typ_base_name);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_size_of`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_name_deserialize`
[INFO] [stdout]   --> src/backend/rust/cu_to_rs.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let typ_name_deserialize = format!("{}_deserialize", typ_base_name);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_deserialize`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length_var`
[INFO] [stdout]   --> src/backend/python/ib_to_py.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 let length_var = format!("{}_length", index_var);
[INFO] [stdout]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_length_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_name`
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:113:54
[INFO] [stdout]     |
[INFO] [stdout] 113 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 |             let mut cases: Vec<(Expr, Block)> = cases.iter()
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `native`
[INFO] [stdout]   --> src/backend/json_spec/mod.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |             TypeKind::Native(ref native) => {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_native`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ_data`
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let typ_data = &typ_inner.data;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/pass/resolve_reference.rs:213:23
[INFO] [stdout]     |
[INFO] [stdout] 213 | fn validate_causality(target: &mut ReferenceData) -> Result<()> {
[INFO] [stdout]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `WeakDefinedTypeSpecContainer` is never used
[INFO] [stdout]  --> src/ir/compilation_unit/defined_type_spec.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type WeakDefinedTypeSpecContainer = WeakContainer<DefinedTypeSpec>;
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir/spec/data.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct SpecChildHandle(usize);
[INFO] [stdout]    |            --------------- ^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpecChildHandle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct SpecChildHandle(());
[INFO] [stdout]    |                            ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `HexOne` and `HexTwo` are never constructed
[INFO] [stdout]   --> src/ir/type_spec/literal.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | enum ParseBinaryState {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 86 |     HexOne(bool),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 87 |     HexTwo(u8, bool),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse` is never used
[INFO] [stdout]   --> src/ir/target_type.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl TargetType {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     fn parse(&self, raw: &str) -> Option<TargetTypeValue> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Integer`, `Bytes`, and `Enum` are never constructed
[INFO] [stdout]   --> src/ir/target_type.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum TargetTypeValue {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 38 |     Integer(u64),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 39 |     Bytes(Vec<u8>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 40 |     Enum(String),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TargetTypeValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_type` is never used
[INFO] [stdout]   --> src/ir/target_type.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl TargetTypeValue {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 43 |
[INFO] [stdout] 44 |     fn get_type(&self) -> TargetType {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `block` and `result_var` are never read
[INFO] [stdout]   --> src/backend/imperative_base/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ResultBlock {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 23 |     block: Block,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 24 |     result_var: Var,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResultBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AssignBlock`, `Block`, and `Module` are never constructed
[INFO] [stdout]   --> src/backend/rust/builder.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub enum Statement {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |     AssignBlock {
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Block {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Module {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `block` is never used
[INFO] [stdout]   --> src/backend/rust/builder.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Block {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn block(&mut self, block: Block) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_error` is never used
[INFO] [stdout]   --> src/frontend/protocol_spec/ast/parser.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn format_error(input: &str, error: pds::ParseError) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ir_to_spec` is never used
[INFO] [stdout]  --> src/frontend/protocol_spec/from_ir.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn ir_to_spec(type_name: String, typ: TypeContainer) -> Statement {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ir_to_spec_inner` is never used
[INFO] [stdout]   --> src/frontend/protocol_spec/from_ir.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn ir_to_spec_inner(typ: TypeContainer) -> Statement {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:190:23
[INFO] [stdout]     |
[INFO] [stdout] 190 |             .map(|t| t.clone())
[INFO] [stdout]     |                       ^^^^^^^^
[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] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 190 -             .map(|t| t.clone())
[INFO] [stdout] 190 +             .map(|t| t)
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `DefinedItem`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout] 34  + #[derive(Clone)]
[INFO] [stdout] 35  | pub struct DefinedItem {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 93 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.48s
[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 3`
[INFO] running `Command { std: "docker" "inspect" "63d953acc8c14a0a547890a4f27da108df3ebf886b44c5a593b7325c4bf5396d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "63d953acc8c14a0a547890a4f27da108df3ebf886b44c5a593b7325c4bf5396d", kill_on_drop: false }`
[INFO] [stdout] 63d953acc8c14a0a547890a4f27da108df3ebf886b44c5a593b7325c4bf5396d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 74f9ac5de2df090316c514421db93245dc2f1606fab3935723f47ba0278898a5
[INFO] running `Command { std: "docker" "start" "-a" "74f9ac5de2df090316c514421db93245dc2f1606fab3935723f47ba0278898a5", 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: unexpected `cfg` condition value: `js_tests`
[INFO] [stderr]  --> src/backend/javascript/mod.rs:6:17
[INFO] [stderr]   |
[INFO] [stderr] 6 | #[cfg(all(test, feature = "js_tests"))]
[INFO] [stderr]   |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: expected values for `feature` are: `clap`, `cli`
[INFO] [stderr]   = help: consider adding `js_tests` as a feature in `Cargo.toml`
[INFO] [stderr]   = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[INFO] [stderr]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `js_tests`
[INFO] [stderr]    --> src/backend/javascript/builder.rs:297:17
[INFO] [stderr]     |
[INFO] [stderr] 297 | #[cfg(all(test, feature = "js_tests"))]
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected values for `feature` are: `clap`, `cli`
[INFO] [stderr]     = help: consider adding `js_tests` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/build-scripts.html#rustc-check-cfg> for more information about checking conditional configuration
[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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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-852afcca02112dd8/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: if this is an object-safe trait, 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: if this is an object-safe trait, 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: if this is an object-safe trait, 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: if this is an object-safe trait, 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: if this is an object-safe trait, 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: if this is an object-safe trait, 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] help: add `#![feature(iter_intersperse)]` to the crate attributes to enable `std::iter::Iterator::intersperse`
[INFO] [stderr]   --> src/lib.rs:3:1
[INFO] [stderr]    |
[INFO] [stderr] 3  + #![feature(iter_intersperse)]
[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: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] help: add `#![feature(iter_intersperse)]` to the crate attributes to enable `std::iter::Iterator::intersperse`
[INFO] [stderr]   --> src/lib.rs:3:1
[INFO] [stderr]    |
[INFO] [stderr] 3  + #![feature(iter_intersperse)]
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stderr]   --> src/errors.rs:6:1
[INFO] [stderr]    |
[INFO] [stderr] 6  | / error_chain! {
[INFO] [stderr] 7  | |     links {
[INFO] [stderr] 8  | |         //JsonParseError(
[INFO] [stderr] 9  | |         //    ::frontend::protocol_json::Error,
[INFO] [stderr] ...  |
[INFO] [stderr] 27 | |     }
[INFO] [stderr] 28 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/ir/compilation_unit/mod.rs:46:13
[INFO] [stderr]    |
[INFO] [stderr] 46 |             _ => None,
[INFO] [stderr]    |             ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/ir/compilation_unit/mod.rs:126:17
[INFO] [stderr]     |
[INFO] [stderr] 126 |                 _ => (),
[INFO] [stderr]     |                 ^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/ir/compilation_unit/mod.rs:179:17
[INFO] [stderr]     |
[INFO] [stderr] 179 |                 _ => panic!(),
[INFO] [stderr]     |                 ^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/ir/spec/variant/union.rs:72:21
[INFO] [stderr]    |
[INFO] [stderr] 72 |                 for mut case in &mut self.cases {
[INFO] [stderr]    |                     ----^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/ir/spec/variant/simple_scalar.rs:39:24
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stderr]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]   --> src/ir/spec/variant/simple_scalar.rs:56:53
[INFO] [stderr]    |
[INFO] [stderr] 56 |             CompilePass::ResolveReferencedTypes(ref path, ref cu) => {
[INFO] [stderr]    |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/ir/spec/variant/simple_scalar.rs:100:13
[INFO] [stderr]     |
[INFO] [stderr] 100 |         let mut data = TypeData::default();
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/ir/spec/variant/mod.rs:64:28
[INFO] [stderr]    |
[INFO] [stderr] 64 |     pub fn get_type(&self, data: &TypeData) -> VariantType {
[INFO] [stderr]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/ir/type_spec/literal.rs:90:17
[INFO] [stderr]    |
[INFO] [stderr] 90 | fn parse_binary(data: &BinarySpec, input_str: &str) -> Result<TypeSpecLiteralVariant> {
[INFO] [stderr]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count_root_node`
[INFO] [stderr]    --> src/backend/imperative_base/deserialize.rs:101:13
[INFO] [stderr]     |
[INFO] [stderr] 101 |         let count_root_node = data.get_reference_root(self.count_handle).upgrade();
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count_root_node`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item_var`
[INFO] [stderr]    --> src/backend/imperative_base/deserialize.rs:109:13
[INFO] [stderr]     |
[INFO] [stderr] 109 |         let item_var = format!("array_{}_index", ident);
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_var`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `type_spec`
[INFO] [stderr]   --> src/backend/imperative_base/reference.rs:81:27
[INFO] [stderr]    |
[INFO] [stderr] 81 |                 ref node, ref type_spec, .. }) => {
[INFO] [stderr]    |                           ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `type_spec`
[INFO] [stderr]    --> src/backend/imperative_base/reference.rs:134:17
[INFO] [stderr]     |
[INFO] [stderr] 134 |                 ref type_spec, .. }) => {
[INFO] [stderr]     |                 ^^^^^^^^^^^^^ help: try ignoring the field: `type_spec: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/backend/imperative_base/mod.rs:199:9
[INFO] [stderr]     |
[INFO] [stderr] 199 |         _ => unimplemented!(),
[INFO] [stderr]     |         ^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `type_name`
[INFO] [stderr]    --> src/backend/javascript/ib_to_js.rs:126:54
[INFO] [stderr]     |
[INFO] [stderr] 126 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/backend/javascript/ib_to_js.rs:276:9
[INFO] [stderr]     |
[INFO] [stderr] 276 |         _ => unimplemented!(),
[INFO] [stderr]     |         ^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `default`
[INFO] [stderr]   --> src/backend/rust/ib_to_rs.rs:39:53
[INFO] [stderr]    |
[INFO] [stderr] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stderr]    |                                  ^^^^^^^^^^^ help: try ignoring the field: `default: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `enum_type`
[INFO] [stderr]   --> src/backend/rust/ib_to_rs.rs:39:66
[INFO] [stderr]    |
[INFO] [stderr] 39 | ...                   ref cases, ref default, ref enum_type } } => {
[INFO] [stderr]    |                                               ^^^^^^^^^^^^^ help: try ignoring the field: `enum_type: _`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/backend/rust/ib_to_rs.rs:40:17
[INFO] [stderr]    |
[INFO] [stderr] 40 |             let mut cases = cases.iter()
[INFO] [stderr]    |                 ----^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `typ_name_size_of`
[INFO] [stderr]   --> src/backend/rust/cu_to_rs.rs:33:13
[INFO] [stderr]    |
[INFO] [stderr] 33 |         let typ_name_size_of = format!("{}_size_of", typ_base_name);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_size_of`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `typ_name_deserialize`
[INFO] [stderr]   --> src/backend/rust/cu_to_rs.rs:35:13
[INFO] [stderr]    |
[INFO] [stderr] 35 |         let typ_name_deserialize = format!("{}_deserialize", typ_base_name);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_name_deserialize`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `length_var`
[INFO] [stderr]   --> src/backend/python/ib_to_py.rs:27:21
[INFO] [stderr]    |
[INFO] [stderr] 27 |                 let length_var = format!("{}_length", index_var);
[INFO] [stderr]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_length_var`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `type_name`
[INFO] [stderr]    --> src/backend/python/ib_to_py.rs:113:54
[INFO] [stderr]     |
[INFO] [stderr] 113 |             ib::Operation::TypeCall { ref input_var, ref type_name,
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^ help: try ignoring the field: `type_name: _`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/backend/python/ib_to_py.rs:151:17
[INFO] [stderr]     |
[INFO] [stderr] 151 |             let mut cases: Vec<(Expr, Block)> = cases.iter()
[INFO] [stderr]     |                 ----^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/backend/python/ib_to_py.rs:253:9
[INFO] [stderr]     |
[INFO] [stderr] 253 |         _ => unimplemented!(),
[INFO] [stderr]     |         ^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `native`
[INFO] [stderr]   --> src/backend/json_spec/mod.rs:34:34
[INFO] [stderr]    |
[INFO] [stderr] 34 |             TypeKind::Native(ref native) => {
[INFO] [stderr]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_native`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `typ_data`
[INFO] [stderr]   --> src/frontend/protocol_spec/from_ir.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |     let typ_data = &typ_inner.data;
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_typ_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `target`
[INFO] [stderr]    --> src/pass/resolve_reference.rs:213:23
[INFO] [stderr]     |
[INFO] [stderr] 213 | fn validate_causality(target: &mut ReferenceData) -> Result<()> {
[INFO] [stderr]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `WeakDefinedTypeSpecContainer` is never used
[INFO] [stderr]  --> src/ir/compilation_unit/defined_type_spec.rs:5:10
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub type WeakDefinedTypeSpecContainer = WeakContainer<DefinedTypeSpec>;
[INFO] [stderr]   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/ir/spec/data.rs:24:28
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub struct SpecChildHandle(usize);
[INFO] [stderr]    |            --------------- ^^^^^
[INFO] [stderr]    |            |
[INFO] [stderr]    |            field in this struct
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SpecChildHandle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub struct SpecChildHandle(());
[INFO] [stderr]    |                            ~~
[INFO] [stderr] 
[INFO] [stderr] warning: variants `HexOne` and `HexTwo` are never constructed
[INFO] [stderr]   --> src/ir/type_spec/literal.rs:86:5
[INFO] [stderr]    |
[INFO] [stderr] 81 | enum ParseBinaryState {
[INFO] [stderr]    |      ---------------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 86 |     HexOne(bool),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 87 |     HexTwo(u8, bool),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `parse` is never used
[INFO] [stderr]   --> src/ir/target_type.rs:18:8
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl TargetType {
[INFO] [stderr]    | --------------- method in this implementation
[INFO] [stderr] 17 |
[INFO] [stderr] 18 |     fn parse(&self, raw: &str) -> Option<TargetTypeValue> {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Integer`, `Bytes`, and `Enum` are never constructed
[INFO] [stderr]   --> src/ir/target_type.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub enum TargetTypeValue {
[INFO] [stderr]    |          --------------- variants in this enum
[INFO] [stderr] 38 |     Integer(u64),
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 39 |     Bytes(Vec<u8>),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 40 |     Enum(String),
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TargetTypeValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_type` is never used
[INFO] [stderr]   --> src/ir/target_type.rs:44:8
[INFO] [stderr]    |
[INFO] [stderr] 42 | impl TargetTypeValue {
[INFO] [stderr]    | -------------------- method in this implementation
[INFO] [stderr] 43 |
[INFO] [stderr] 44 |     fn get_type(&self) -> TargetType {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `block` and `result_var` are never read
[INFO] [stderr]   --> src/backend/imperative_base/mod.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct ResultBlock {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] 23 |     block: Block,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 24 |     result_var: Var,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ResultBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_compile` is never used
[INFO] [stderr]  --> src/backend/imperative_base/tests/mod.rs:2:4
[INFO] [stderr]   |
[INFO] [stderr] 2 | fn test_compile(spec: &str) {
[INFO] [stderr]   |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `AssignBlock`, `Block`, and `Module` are never constructed
[INFO] [stderr]   --> src/backend/rust/builder.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 4  | pub enum Statement {
[INFO] [stderr]    |          --------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 10 |     AssignBlock {
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 18 |     Block {
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 24 |     Module {
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `block` is never used
[INFO] [stderr]   --> src/backend/rust/builder.rs:64:12
[INFO] [stderr]    |
[INFO] [stderr] 47 | impl Block {
[INFO] [stderr]    | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 64 |     pub fn block(&mut self, block: Block) {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_error` is never used
[INFO] [stderr]   --> src/frontend/protocol_spec/ast/parser.rs:17:4
[INFO] [stderr]    |
[INFO] [stderr] 17 | fn format_error(input: &str, error: pds::ParseError) -> String {
[INFO] [stderr]    |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ir_to_spec` is never used
[INFO] [stderr]  --> src/frontend/protocol_spec/from_ir.rs:7:4
[INFO] [stderr]   |
[INFO] [stderr] 7 | fn ir_to_spec(type_name: String, typ: TypeContainer) -> Statement {
[INFO] [stderr]   |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ir_to_spec_inner` is never used
[INFO] [stderr]   --> src/frontend/protocol_spec/from_ir.rs:26:4
[INFO] [stderr]    |
[INFO] [stderr] 26 | fn ir_to_spec_inner(typ: TypeContainer) -> Statement {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/ir/compilation_unit/mod.rs:190:23
[INFO] [stderr]     |
[INFO] [stderr] 190 |             .map(|t| t.clone())
[INFO] [stderr]     |                       ^^^^^^^^
[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] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 190 -             .map(|t| t.clone())
[INFO] [stderr] 190 +             .map(|t| t)
[INFO] [stderr]     |
[INFO] [stderr] help: if you meant to clone `DefinedItem`, implement `Clone` for it
[INFO] [stderr]     |
[INFO] [stderr] 34  + #[derive(Clone)]
[INFO] [stderr] 35  | pub struct DefinedItem {
[INFO] [stderr]     |
[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 91 warnings (run `cargo fix --lib -p protodefc` to apply 37 suggestions)
[INFO] [stderr] warning: `protodefc` (lib test) generated 93 warnings (90 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` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/protodefc-11cea3c94d73cd23)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test frontend::protocol_json::test::test_from_json ... ok
[INFO] [stdout] test frontend::protocol_spec::ast::value_helpers::tests::tag_validators ... ok
[INFO] [stdout] test backend::imperative_base::tests::simple_scalar ... ok
[INFO] [stdout] test frontend::protocol_spec::ast::value_helpers::tests::tag_getters ... ok
[INFO] [stdout] test backend::imperative_base::tests::container ... ok
[INFO] [stdout] test ir::spec::reference::tests::successes ... ok
[INFO] [stdout] test frontend::protocol_spec::tests::spec_to_compilation_unit ... ok
[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:     0x5569b2631b35 - std::backtrace_rs::backtrace::libunwind::trace::h59d96bdb08384354
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
[INFO] [stdout]    1:     0x5569b2631b35 - std::backtrace_rs::backtrace::trace_unsynchronized::h9cf5becacfc93fba
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5569b2631b35 - std::sys_common::backtrace::_print_fmt::h10b76d10405dbd48
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x5569b2631b35 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6ed9e62a156d84e4
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x5569b2658c0b - core::fmt::rt::Argument::fmt::h645c680983f03c9f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/rt.rs:165:63
[INFO] [stdout]    5:     0x5569b2658c0b - core::fmt::write::h8bcd80919a02be29
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/mod.rs:1169:21
[INFO] [stdout]    6:     0x5569b262f04f - std::io::Write::write_fmt::h8d0c47c662cad79c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/io/mod.rs:1835:15
[INFO] [stdout]    7:     0x5569b263190e - std::sys_common::backtrace::_print::h6306f131a28d62b0
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x5569b263190e - std::sys_common::backtrace::print::h7079288e0a26dfcc
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x5569b2633339 - std::panicking::default_hook::{{closure}}::hb063ecec81a736ba
[INFO] [stdout]   10:     0x5569b2632ffe - std::panicking::default_hook::hd56ee406bf547b5c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:295:9
[INFO] [stdout]   11:     0x5569b25c4cba - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::he5eacdef44c8728f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   12:     0x5569b25c4cba - test::test_main::{{closure}}::h0ec9aed229e79095
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x5569b263393b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcbd0d80e1ad4e4f9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   14:     0x5569b263393b - std::panicking::rust_panic_with_hook::h624aa3ca42ebb8f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:799:13
[INFO] [stdout]   15:     0x5569b26336b4 - std::panicking::begin_panic_handler::{{closure}}::hbc4e76194a5e287c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:664:13
[INFO] [stdout]   16:     0x5569b2631ff9 - std::sys_common::backtrace::__rust_end_short_backtrace::h847fedc9d1ff7b6d
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x5569b26333e7 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:652:5
[INFO] [stdout]   18:     0x5569b2521933 - core::panicking::panic_fmt::hec11a924b87ce965
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x5569b2521ea6 - core::result::unwrap_failed::h382691b96ca8c13a
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/result.rs:1654:5
[INFO] [stdout]   20:     0x5569b258fa4e - core::result::Result<T,E>::unwrap::h17b0c6469bfed432
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/result.rs:1077:23
[INFO] [stdout]   21:     0x5569b258fa4e - protodefc::test_harness::json_spec_cases::h70e8d56a1b70c622
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test_harness.rs:17:5
[INFO] [stdout]   22:     0x5569b256bcbc - protodefc::test_harness::tests::gen_spec_test_cases::hfc6931fe4893f688
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test_harness.rs:90:9
[INFO] [stdout]   23:     0x5569b256bc97 - protodefc::test_harness::tests::gen_spec_test_cases::{{closure}}::hd919ede19cf39fbb
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test_harness.rs:89:29
[INFO] [stdout]   24:     0x5569b255ac66 - core::ops::function::FnOnce::call_once::hde3dc057c9675f9f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5569b25c969b - core::ops::function::FnOnce::call_once::h2e43a8f6f3d94b99
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5569b25c969b - test::__rust_begin_short_backtrace::h214c9f2d2d3fee90
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:625:18
[INFO] [stdout]   27:     0x5569b25c8da1 - test::run_test_in_process::{{closure}}::h510b7ba7990692a5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:60
[INFO] [stdout]   28:     0x5569b25c8da1 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4157186197a93871
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   29:     0x5569b25c8da1 - std::panicking::try::do_call::h1bf2463bccd4b28c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   30:     0x5569b25c8da1 - std::panicking::try::hd6d4808c9fab4fa5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   31:     0x5569b25c8da1 - std::panic::catch_unwind::hd5641d97d123f9f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   32:     0x5569b25c8da1 - test::run_test_in_process::hc273b71c8b878a4c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:27
[INFO] [stdout]   33:     0x5569b25c8da1 - test::run_test::{{closure}}::h6838df834eb8467e
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:569:43
[INFO] [stdout]   34:     0x5569b2591764 - test::run_test::{{closure}}::h608b98ecff5665fb
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:599:41
[INFO] [stdout]   35:     0x5569b2591764 - std::sys_common::backtrace::__rust_begin_short_backtrace::hdc4182b97d1042e9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   36:     0x5569b2596192 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h571773fd21d674c8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:542:17
[INFO] [stdout]   37:     0x5569b2596192 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hdcd384cf2fa70ba3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   38:     0x5569b2596192 - std::panicking::try::do_call::h4f1a44bd81423be1
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   39:     0x5569b2596192 - std::panicking::try::h5e02afcb81dcd361
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   40:     0x5569b2596192 - std::panic::catch_unwind::h022f75775bfd8c45
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   41:     0x5569b2596192 - std::thread::Builder::spawn_unchecked_::{{closure}}::hf5a62e9e4e6df1f8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:541:30
[INFO] [stdout]   42:     0x5569b2596192 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6d56360aeb9509a7
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5569b2637f8b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7a343dc551c06baa
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   44:     0x5569b2637f8b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h30b8111cbaa644f3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   45:     0x5569b2637f8b - std::sys::pal::unix::thread::Thread::new::thread_start::h7404e134e61e7a11
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stdout]   46:     0x7fe5247d8ac3 - <unknown>
[INFO] [stdout]   47:     0x7fe524869a04 - __clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_harness::tests::gen_spec_test_cases
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 8 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "74f9ac5de2df090316c514421db93245dc2f1606fab3935723f47ba0278898a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "74f9ac5de2df090316c514421db93245dc2f1606fab3935723f47ba0278898a5", kill_on_drop: false }`
[INFO] [stdout] 74f9ac5de2df090316c514421db93245dc2f1606fab3935723f47ba0278898a5
