[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] checking ProtoDef-io/protodefc against try#0611f7de057c584b8771102fde7aed6c70c71d3b for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FProtoDef-io%2Fprotodefc" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ProtoDef-io/protodefc
[INFO] finished tweaking git repo https://github.com/ProtoDef-io/protodefc
[INFO] tweaked toml for git repo https://github.com/ProtoDef-io/protodefc written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ProtoDef-io/protodefc on toolchain 0611f7de057c584b8771102fde7aed6c70c71d3b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f1a154fa356ad6afb33239cc1862a7a3fbe70e9117c24750bcefb94ceee63f80
[INFO] running `Command { std: "docker" "start" "-a" "f1a154fa356ad6afb33239cc1862a7a3fbe70e9117c24750bcefb94ceee63f80", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f1a154fa356ad6afb33239cc1862a7a3fbe70e9117c24750bcefb94ceee63f80", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f1a154fa356ad6afb33239cc1862a7a3fbe70e9117c24750bcefb94ceee63f80", kill_on_drop: false }`
[INFO] [stdout] f1a154fa356ad6afb33239cc1862a7a3fbe70e9117c24750bcefb94ceee63f80
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dffef118c5b6a2e26a8ac83e3a2322531cd2c0dc016737d9900aed60fb464ea7
[INFO] running `Command { std: "docker" "start" "-a" "dffef118c5b6a2e26a8ac83e3a2322531cd2c0dc016737d9900aed60fb464ea7", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling num-traits v0.2.4
[INFO] [stderr]    Compiling num-integer v0.1.38
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking serde v1.0.2
[INFO] [stderr]    Compiling num-bigint v0.2.0
[INFO] [stderr]     Checking dtoa v0.4.1
[INFO] [stderr]     Checking either v1.1.0
[INFO] [stderr]     Checking itoa v0.3.1
[INFO] [stderr]     Checking num-traits v0.1.37
[INFO] [stderr]     Checking json v0.11.6
[INFO] [stderr]     Checking lazy_static v0.2.8
[INFO] [stderr]     Checking error-chain v0.10.0
[INFO] [stderr]     Checking nom v2.2.1
[INFO] [stderr]     Checking matches v0.1.4
[INFO] [stderr]     Checking Inflector v0.10.0
[INFO] [stderr]     Checking itertools v0.5.10
[INFO] [stderr]    Compiling peg v0.5.2
[INFO] [stderr]    Compiling protodefc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking toml v0.4.0
[INFO] [stderr]     Checking serde_json v1.0.1
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use] extern crate lazy_static;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) 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` and `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`, and `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` and `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`, and `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)]` (part of `#[warn(unused)]`) 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` and `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` and `cli`
[INFO] [stdout]   = help: consider adding `js_tests` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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` and `cli`
[INFO] [stdout]     = help: consider adding `js_tests` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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` and `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-5bdba556fa3f869e/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-5bdba556fa3f869e/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-5bdba556fa3f869e/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-5bdba556fa3f869e/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-5bdba556fa3f869e/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-5bdba556fa3f869e/out/pds.rs:117:529
[INFO] [stdout]     |
[INFO] [stdout] 117 | ..._at ( __input , __pos ) ; match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state ...
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-5bdba556fa3f869e/out/pds.rs:117:543
[INFO] [stdout]     |
[INFO] [stdout] 117 | ..., __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/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-5bdba556fa3f869e/out/pds.rs:117:557
[INFO] [stdout]     |
[INFO] [stdout] 117 | ...tch __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0...
[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/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-5bdba556fa3f869e/out/pds.rs:135:361
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...f}' | '\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/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` and `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: 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)]` (part of `#[warn(unused)]`) 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` and `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`, and `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` and `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`, and `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)]` (part of `#[warn(unused)]`) 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` and `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` and `cli`
[INFO] [stdout]   = help: consider adding `js_tests` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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` and `cli`
[INFO] [stdout]     = help: consider adding `js_tests` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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` and `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-5bdba556fa3f869e/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-5bdba556fa3f869e/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-5bdba556fa3f869e/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-5bdba556fa3f869e/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-5bdba556fa3f869e/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-5bdba556fa3f869e/out/pds.rs:117:529
[INFO] [stdout]     |
[INFO] [stdout] 117 | ..._at ( __input , __pos ) ; match __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state ...
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/protodefc-5bdba556fa3f869e/out/pds.rs:117:543
[INFO] [stdout]     |
[INFO] [stdout] 117 | ..., __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/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-5bdba556fa3f869e/out/pds.rs:117:557
[INFO] [stdout]     |
[INFO] [stdout] 117 | ...tch __ch { '0' ... '9' | 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0...
[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/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-5bdba556fa3f869e/out/pds.rs:135:361
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...f}' | '\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/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` and `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] ...  |
[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: 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] ...  |
[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/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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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: 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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: 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible 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: 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]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[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]    = note: `#[warn(unstable_name_collisions)]` (part of `#[warn(future_incompatible)]`) 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]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[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: 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:32:51
[INFO] [stdout]    |
[INFO] [stdout] 32 |         for is_up in (0..(self.up)).map(|_| true).intersperse(false) {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[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]    = note: `#[warn(unstable_name_collisions)]` (part of `#[warn(future_incompatible)]`) 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]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[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: 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] ...  |
[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] 45 |             &DefinedItemType::Spec(ref inner) => Some(inner),
[INFO] [stdout]    |             --------------------------------- matches all the relevant values
[INFO] [stdout] 46 |             _ => None,
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) 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] 117 |                 DefinedItemType::Spec(ref inner) => {
[INFO] [stdout]     |                 -------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 126 |                 _ => (),
[INFO] [stdout]     |                 ^ no value can reach this
[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] ...  |
[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:179:17
[INFO] [stdout]     |
[INFO] [stdout] 178 |                 DefinedItemType::Spec(ref i) => i.borrow().type_id,
[INFO] [stdout]     |                 ---------------------------- matches all the relevant values
[INFO] [stdout] 179 |                 _ => panic!(),
[INFO] [stdout]     |                 ^ no value can reach this
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:56:49
[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: unreachable pattern
[INFO] [stdout]   --> src/ir/compilation_unit/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             &DefinedItemType::Spec(ref inner) => Some(inner),
[INFO] [stdout]    |             --------------------------------- matches all the relevant values
[INFO] [stdout] 46 |             _ => None,
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) 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] 117 |                 DefinedItemType::Spec(ref inner) => {
[INFO] [stdout]     |                 -------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 126 |                 _ => (),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ir/compilation_unit/mod.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 178 |                 DefinedItemType::Spec(ref i) => i.borrow().type_id,
[INFO] [stdout]     |                 ---------------------------- matches all the relevant values
[INFO] [stdout] 179 |                 _ => panic!(),
[INFO] [stdout]     |                 ^ no value can reach this
[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)]` (part of `#[warn(unused)]`) on by default
[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: `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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/ir/spec/variant/simple_scalar.rs:56:49
[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]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/backend/imperative_base/mod.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |         Variant::SimpleScalar(ref inner) => inner,
[INFO] [stdout]     |         -------------------------------- matches some of the same values
[INFO] [stdout] 196 |         Variant::Container(ref inner) => inner,
[INFO] [stdout]     |         ----------------------------- matches some of the same values
[INFO] [stdout] 197 |         Variant::Array(ref inner) => inner,
[INFO] [stdout]     |         ------------------------- matches some of the same values
[INFO] [stdout] 198 |         Variant::Union(ref inner) => inner,
[INFO] [stdout]     |         ------------------------- matches some of the same values
[INFO] [stdout] 199 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^ collectively making this unreachable
[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_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: 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]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/backend/imperative_base/mod.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |         Variant::SimpleScalar(ref inner) => inner,
[INFO] [stdout]     |         -------------------------------- matches some of the same values
[INFO] [stdout] 196 |         Variant::Container(ref inner) => inner,
[INFO] [stdout]     |         ----------------------------- matches some of the same values
[INFO] [stdout] 197 |         Variant::Array(ref inner) => inner,
[INFO] [stdout]     |         ------------------------- matches some of the same values
[INFO] [stdout] 198 |         Variant::Union(ref inner) => inner,
[INFO] [stdout]     |         ------------------------- matches some of the same values
[INFO] [stdout] 199 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^ collectively making this unreachable
[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]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 269 |         TypeSpecLiteralVariant::Integer { ref data } => format!("{}", data).into(),
[INFO] [stdout]     |         -------------------------------------------- matches some of the same values
[INFO] [stdout] 270 |         TypeSpecLiteralVariant::EnumTag { ref enum_variant } =>
[INFO] [stdout]     |         ---------------------------------------------------- matches some of the same values
[INFO] [stdout] 271 |             format!("\"{}\"", enum_variant.name.snake()).into(),
[INFO] [stdout] 272 |         TypeSpecLiteralVariant::Boolean { ref data } => format!("{}", data).into(),
[INFO] [stdout]     |         -------------------------------------------- matches some of the same values
[INFO] [stdout] 273 |         // TODO
[INFO] [stdout] 274 |         TypeSpecLiteralVariant::Binary { ref data } =>
[INFO] [stdout]     |         ------------------------------------------- matches some of the same values
[INFO] [stdout] 275 |             format!("\"{}\"", ::std::str::from_utf8(data).unwrap()).into(),
[INFO] [stdout] 276 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^ collectively making this unreachable
[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: `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: 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: 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: unreachable pattern
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/backend/javascript/ib_to_js.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 269 |         TypeSpecLiteralVariant::Integer { ref data } => format!("{}", data).into(),
[INFO] [stdout]     |         -------------------------------------------- matches some of the same values
[INFO] [stdout] 270 |         TypeSpecLiteralVariant::EnumTag { ref enum_variant } =>
[INFO] [stdout]     |         ---------------------------------------------------- matches some of the same values
[INFO] [stdout] 271 |             format!("\"{}\"", enum_variant.name.snake()).into(),
[INFO] [stdout] 272 |         TypeSpecLiteralVariant::Boolean { ref data } => format!("{}", data).into(),
[INFO] [stdout]     |         -------------------------------------------- matches some of the same values
[INFO] [stdout] 273 |         // TODO
[INFO] [stdout] 274 |         TypeSpecLiteralVariant::Binary { ref data } =>
[INFO] [stdout]     |         ------------------------------------------- matches some of the same values
[INFO] [stdout] 275 |             format!("\"{}\"", ::std::str::from_utf8(data).unwrap()).into(),
[INFO] [stdout] 276 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^ collectively making this unreachable
[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]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         TypeSpecLiteralVariant::Integer { ref data } => format!("{}", data).into(),
[INFO] [stdout]     |         -------------------------------------------- matches some of the same values
[INFO] [stdout] 247 |         TypeSpecLiteralVariant::EnumTag { ref enum_variant } =>
[INFO] [stdout]     |         ---------------------------------------------------- matches some of the same values
[INFO] [stdout] 248 |             format!("\"{}\"", enum_variant.name.snake()).into(),
[INFO] [stdout] 249 |         TypeSpecLiteralVariant::Boolean { ref data } => format!("{}", data).into(),
[INFO] [stdout]     |         -------------------------------------------- matches some of the same values
[INFO] [stdout] 250 |         // TODO
[INFO] [stdout] 251 |         TypeSpecLiteralVariant::Binary { ref data } =>
[INFO] [stdout]     |         ------------------------------------------- matches some of the same values
[INFO] [stdout] 252 |             format!("\"{}\"", ::std::str::from_utf8(data).unwrap()).into(),
[INFO] [stdout] 253 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^ collectively making this unreachable
[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: `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: 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: `native`
[INFO] [stdout]   --> src/backend/json_spec/mod.rs:34:30
[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: `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]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/backend/python/ib_to_py.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         TypeSpecLiteralVariant::Integer { ref data } => format!("{}", data).into(),
[INFO] [stdout]     |         -------------------------------------------- matches some of the same values
[INFO] [stdout] 247 |         TypeSpecLiteralVariant::EnumTag { ref enum_variant } =>
[INFO] [stdout]     |         ---------------------------------------------------- matches some of the same values
[INFO] [stdout] 248 |             format!("\"{}\"", enum_variant.name.snake()).into(),
[INFO] [stdout] 249 |         TypeSpecLiteralVariant::Boolean { ref data } => format!("{}", data).into(),
[INFO] [stdout]     |         -------------------------------------------- matches some of the same values
[INFO] [stdout] 250 |         // TODO
[INFO] [stdout] 251 |         TypeSpecLiteralVariant::Binary { ref data } =>
[INFO] [stdout]     |         ------------------------------------------- matches some of the same values
[INFO] [stdout] 252 |             format!("\"{}\"", ::std::str::from_utf8(data).unwrap()).into(),
[INFO] [stdout] 253 |         _ => unimplemented!(),
[INFO] [stdout]     |         ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `native`
[INFO] [stdout]   --> src/backend/json_spec/mod.rs:34:30
[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: 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: 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)]` (part of `#[warn(unused)]`) 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]    = help: consider removing this field
[INFO] [stdout]    = note: `SpecChildHandle` 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: 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: enum `TargetTypeValue` is never used
[INFO] [stdout]   --> src/ir/target_type.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum TargetTypeValue {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[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] error: struct `ResultBlock` is never constructed
[INFO] [stdout]   --> src/backend/imperative_base/mod.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ResultBlock {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]    = note: `#[deny(unused_unconstructable_pub_struct)]` (part of `#[deny(unused)]`) on by default
[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: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/rc_container.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn borrow(&self) -> Ref<T> {
[INFO] [stdout]    |                   ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn borrow(&self) -> Ref<'_, T> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/rc_container.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn borrow_mut(&self) -> RefMut<T> {
[INFO] [stdout]    |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn borrow_mut(&self) -> RefMut<'_, T> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/rc_container.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn try_borrow(&self) -> Result<Ref<T>, BorrowError> {
[INFO] [stdout]    |                       ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn try_borrow(&self) -> Result<Ref<'_, T>, BorrowError> {
[INFO] [stdout]    |                                            +++
[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] [stderr] error: could not compile `protodefc` (lib) due to 1 previous error; 94 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[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)]` (part of `#[warn(unused)]`) 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]    = help: consider removing this field
[INFO] [stdout]    = note: `SpecChildHandle` 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: 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: enum `TargetTypeValue` is never used
[INFO] [stdout]   --> src/ir/target_type.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub enum TargetTypeValue {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[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] error: struct `ResultBlock` is never constructed
[INFO] [stdout]   --> src/backend/imperative_base/mod.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ResultBlock {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]    = note: `#[deny(unused_unconstructable_pub_struct)]` (part of `#[deny(unused)]`) on by default
[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: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/rc_container.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn borrow(&self) -> Ref<T> {
[INFO] [stdout]    |                   ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn borrow(&self) -> Ref<'_, T> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/rc_container.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn borrow_mut(&self) -> RefMut<T> {
[INFO] [stdout]    |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn borrow_mut(&self) -> RefMut<'_, T> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/rc_container.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn try_borrow(&self) -> Result<Ref<T>, BorrowError> {
[INFO] [stdout]    |                       ^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn try_borrow(&self) -> Result<Ref<'_, T>, BorrowError> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `protodefc` (lib test) due to 1 previous error; 96 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "dffef118c5b6a2e26a8ac83e3a2322531cd2c0dc016737d9900aed60fb464ea7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dffef118c5b6a2e26a8ac83e3a2322531cd2c0dc016737d9900aed60fb464ea7", kill_on_drop: false }`
[INFO] [stdout] dffef118c5b6a2e26a8ac83e3a2322531cd2c0dc016737d9900aed60fb464ea7
