[INFO] cloning repository https://github.com/Gadersd/ic
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Gadersd/ic" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGadersd%2Fic", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGadersd%2Fic'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 56916fdce6b6931b72e0d5d9a28d9001cb9949ea
[INFO] checking Gadersd/ic against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGadersd%2Fic" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Gadersd/ic
[INFO] finished tweaking git repo https://github.com/Gadersd/ic
[INFO] tweaked toml for git repo https://github.com/Gadersd/ic written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Gadersd/ic on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Gadersd/ic already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 238ab7873d0fdeb63e169914bdb4c38a3e0aa9ff3c2153fa3fcfc00cac94dbc3
[INFO] running `Command { std: "docker" "start" "-a" "238ab7873d0fdeb63e169914bdb4c38a3e0aa9ff3c2153fa3fcfc00cac94dbc3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "238ab7873d0fdeb63e169914bdb4c38a3e0aa9ff3c2153fa3fcfc00cac94dbc3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "238ab7873d0fdeb63e169914bdb4c38a3e0aa9ff3c2153fa3fcfc00cac94dbc3", kill_on_drop: false }`
[INFO] [stdout] 238ab7873d0fdeb63e169914bdb4c38a3e0aa9ff3c2153fa3fcfc00cac94dbc3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c183b2b5fadcba229aa1bbe7945e58ac9064d91e8a2679ece948c7edcabc2a71
[INFO] running `Command { std: "docker" "start" "-a" "c183b2b5fadcba229aa1bbe7945e58ac9064d91e8a2679ece948c7edcabc2a71", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.158
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking ic v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]  --> src/lib.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_into_inner)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `inherent_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(inherent_associated_types)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #8995 <https://github.com/rust-lang/rust/issues/8995> for more information
[INFO] [stdout]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/parser.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::lexical::{self, Token};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]    --> src/parser.rs:784:5
[INFO] [stdout]     |
[INFO] [stdout] 784 | use std::str::FromStr;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alphanumeric` and `Duplicator`
[INFO] [stdout]  --> src/unrust/affine.rs:2:46
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::parser::{self, Node, Constructor, Duplicator, Alphanumeric, Redex, Book};
[INFO] [stdout]   |                                              ^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Operator`
[INFO] [stdout]  --> src/unrust/affine.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::numeric::{self, Operator};
[INFO] [stdout]   |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter`
[INFO] [stdout]  --> src/unrust/core.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/unrust/global.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::numeric::{self, Operator};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/unrust/parse.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::numeric::{self, Operator};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Book`, `Constructor`, `Duplicator`, `Node`, `Redex`, and `self`
[INFO] [stdout]  --> src/unrust/parse.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::parser::{self, Node, Constructor, Duplicator, Alphanumeric, Redex, Book};
[INFO] [stdout]   |                     ^^^^  ^^^^  ^^^^^^^^^^^  ^^^^^^^^^^                ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::unrust::lexical::*`
[INFO] [stdout]  --> src/unrust/test.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use crate::unrust::lexical::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]  --> src/lib.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_into_inner)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `inherent_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(inherent_associated_types)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #8995 <https://github.com/rust-lang/rust/issues/8995> for more information
[INFO] [stdout]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/parser.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::lexical::{self, Token};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]    --> src/parser.rs:784:5
[INFO] [stdout]     |
[INFO] [stdout] 784 | use std::str::FromStr;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alphanumeric` and `Duplicator`
[INFO] [stdout]  --> src/unrust/affine.rs:2:46
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::parser::{self, Node, Constructor, Duplicator, Alphanumeric, Redex, Book};
[INFO] [stdout]   |                                              ^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Operator`
[INFO] [stdout]  --> src/unrust/affine.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::numeric::{self, Operator};
[INFO] [stdout]   |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter`
[INFO] [stdout]  --> src/unrust/core.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/unrust/global.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::numeric::{self, Operator};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/unrust/parse.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::numeric::{self, Operator};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Book`, `Constructor`, `Duplicator`, `Node`, `Redex`, and `self`
[INFO] [stdout]  --> src/unrust/parse.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::parser::{self, Node, Constructor, Duplicator, Alphanumeric, Redex, Book};
[INFO] [stdout]   |                     ^^^^  ^^^^  ^^^^^^^^^^^  ^^^^^^^^^^                ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/allocator.rs:283:9
[INFO] [stdout]     |
[INFO] [stdout] 273 | /         loop {
[INFO] [stdout] 274 | |             let id_range = self.allocator.read().unwrap().allocate_u64s_from_iter(xs.clone());
[INFO] [stdout] 275 | |             if let Some( (start_id, end_id) ) = id_range {
[INFO] [stdout] 276 | |                 return (EntityId(start_id), EntityId(end_id))
[INFO] [stdout] ...   |
[INFO] [stdout] 281 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 282 |
[INFO] [stdout] 283 |           panic!();
[INFO] [stdout]     |           ^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/allocator.rs:283:9
[INFO] [stdout]     |
[INFO] [stdout] 273 | /         loop {
[INFO] [stdout] 274 | |             let id_range = self.allocator.read().unwrap().allocate_u64s_from_iter(xs.clone());
[INFO] [stdout] 275 | |             if let Some( (start_id, end_id) ) = id_range {
[INFO] [stdout] 276 | |                 return (EntityId(start_id), EntityId(end_id))
[INFO] [stdout] ...   |
[INFO] [stdout] 281 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 282 |
[INFO] [stdout] 283 |           panic!();
[INFO] [stdout]     |           ^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_1`
[INFO] [stdout]    --> src/runtime.rs:491:14
[INFO] [stdout]     |
[INFO] [stdout] 491 |         let (tag_1, tag_2) = (port_1.get_tag(), port_2.get_tag());
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_1`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_2`
[INFO] [stdout]    --> src/runtime.rs:491:21
[INFO] [stdout]     |
[INFO] [stdout] 491 |         let (tag_1, tag_2) = (port_1.get_tag(), port_2.get_tag());
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `redex`
[INFO] [stdout]    --> src/runtime.rs:517:31
[INFO] [stdout]     |
[INFO] [stdout] 517 |     fn reduce_void(&mut self, redex: Pair) -> Option<()> {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_redex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_binary`
[INFO] [stdout]    --> src/runtime.rs:529:13
[INFO] [stdout]     |
[INFO] [stdout] 529 |         let tag_binary = port_binary.get_tag();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_binary`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag`
[INFO] [stdout]    --> src/runtime.rs:603:13
[INFO] [stdout]     |
[INFO] [stdout] 603 |         let tag = port_1.get_tag(); // tags should be the same
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_1`
[INFO] [stdout]    --> src/runtime.rs:640:14
[INFO] [stdout]     |
[INFO] [stdout] 640 |         let (tag_1, tag_2) = (port_1.get_tag(), port_2.get_tag());
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_2`
[INFO] [stdout]    --> src/runtime.rs:640:21
[INFO] [stdout]     |
[INFO] [stdout] 640 |         let (tag_1, tag_2) = (port_1.get_tag(), port_2.get_tag());
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address_1`
[INFO] [stdout]    --> src/runtime.rs:642:14
[INFO] [stdout]     |
[INFO] [stdout] 642 |         let (address_1, address_2) = (port_1.get_value(), port_2.get_value());
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address_2`
[INFO] [stdout]    --> src/runtime.rs:642:25
[INFO] [stdout]     |
[INFO] [stdout] 642 |         let (address_1, address_2) = (port_1.get_value(), port_2.get_value());
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_1`
[INFO] [stdout]    --> src/runtime.rs:687:14
[INFO] [stdout]     |
[INFO] [stdout] 687 |         let (tag_1, tag_2) = (port_1.get_tag(), port_2.get_tag());
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_2`
[INFO] [stdout]    --> src/runtime.rs:687:21
[INFO] [stdout]     |
[INFO] [stdout] 687 |         let (tag_1, tag_2) = (port_1.get_tag(), port_2.get_tag());
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address_1`
[INFO] [stdout]    --> src/runtime.rs:689:14
[INFO] [stdout]     |
[INFO] [stdout] 689 |         let (address_1, address_2) = (port_1.get_value(), port_2.get_value());
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address_2`
[INFO] [stdout]    --> src/runtime.rs:689:25
[INFO] [stdout]     |
[INFO] [stdout] 689 |         let (address_1, address_2) = (port_1.get_value(), port_2.get_value());
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_id`
[INFO] [stdout]    --> src/allocator.rs:151:27
[INFO] [stdout]     |
[INFO] [stdout] 151 |             if let Some( (start_id, end_id) ) = id_range {
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_id`
[INFO] [stdout]    --> src/allocator.rs:196:27
[INFO] [stdout]     |
[INFO] [stdout] 196 |             if let Some( (start_id, end_id) ) = id_range {
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end_id`
[INFO] [stdout]    --> src/allocator.rs:196:37
[INFO] [stdout]     |
[INFO] [stdout] 196 |             if let Some( (start_id, end_id) ) = id_range {
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_1`
[INFO] [stdout]    --> src/runtime.rs:491:14
[INFO] [stdout]     |
[INFO] [stdout] 491 |         let (tag_1, tag_2) = (port_1.get_tag(), port_2.get_tag());
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_1`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_2`
[INFO] [stdout]    --> src/runtime.rs:491:21
[INFO] [stdout]     |
[INFO] [stdout] 491 |         let (tag_1, tag_2) = (port_1.get_tag(), port_2.get_tag());
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `redex`
[INFO] [stdout]    --> src/runtime.rs:517:31
[INFO] [stdout]     |
[INFO] [stdout] 517 |     fn reduce_void(&mut self, redex: Pair) -> Option<()> {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_redex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_binary`
[INFO] [stdout]    --> src/runtime.rs:529:13
[INFO] [stdout]     |
[INFO] [stdout] 529 |         let tag_binary = port_binary.get_tag();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_binary`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag`
[INFO] [stdout]    --> src/runtime.rs:603:13
[INFO] [stdout]     |
[INFO] [stdout] 603 |         let tag = port_1.get_tag(); // tags should be the same
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_1`
[INFO] [stdout]    --> src/runtime.rs:640:14
[INFO] [stdout]     |
[INFO] [stdout] 640 |         let (tag_1, tag_2) = (port_1.get_tag(), port_2.get_tag());
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_2`
[INFO] [stdout]    --> src/runtime.rs:640:21
[INFO] [stdout]     |
[INFO] [stdout] 640 |         let (tag_1, tag_2) = (port_1.get_tag(), port_2.get_tag());
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address_1`
[INFO] [stdout]    --> src/runtime.rs:642:14
[INFO] [stdout]     |
[INFO] [stdout] 642 |         let (address_1, address_2) = (port_1.get_value(), port_2.get_value());
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address_2`
[INFO] [stdout]    --> src/runtime.rs:642:25
[INFO] [stdout]     |
[INFO] [stdout] 642 |         let (address_1, address_2) = (port_1.get_value(), port_2.get_value());
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_1`
[INFO] [stdout]    --> src/runtime.rs:687:14
[INFO] [stdout]     |
[INFO] [stdout] 687 |         let (tag_1, tag_2) = (port_1.get_tag(), port_2.get_tag());
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_2`
[INFO] [stdout]    --> src/runtime.rs:687:21
[INFO] [stdout]     |
[INFO] [stdout] 687 |         let (tag_1, tag_2) = (port_1.get_tag(), port_2.get_tag());
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address_1`
[INFO] [stdout]    --> src/runtime.rs:689:14
[INFO] [stdout]     |
[INFO] [stdout] 689 |         let (address_1, address_2) = (port_1.get_value(), port_2.get_value());
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address_2`
[INFO] [stdout]    --> src/runtime.rs:689:25
[INFO] [stdout]     |
[INFO] [stdout] 689 |         let (address_1, address_2) = (port_1.get_value(), port_2.get_value());
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lexical.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let mut k = 0;
[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: `s`
[INFO] [stdout]    --> src/lexical.rs:142:66
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 parse_fixed_token(&s[i..], token.as_str()).map(|(s, e)| (token, e))
[INFO] [stdout]     |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/lexical.rs:146:66
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 parse_fixed_token(&s[i..], token.as_str()).map(|(s, e)| (token, e))
[INFO] [stdout]     |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/lexical.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let mut k = 0;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_2`
[INFO] [stdout]   --> src/numeric.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let (tag_1, tag_2) = (port_1.get_tag(), port_2.get_tag());
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/numeric.rs:219:80
[INFO] [stdout]     |
[INFO] [stdout] 219 |             Numeric::Sym(op) => 22u32 | (( Operator::iter().enumerate().find(|(i, o)| op == o).unwrap().0 as u32) << 5 ), 
[INFO] [stdout]     |                                                                                ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_id`
[INFO] [stdout]    --> src/allocator.rs:151:27
[INFO] [stdout]     |
[INFO] [stdout] 151 |             if let Some( (start_id, end_id) ) = id_range {
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_id`
[INFO] [stdout]    --> src/allocator.rs:196:27
[INFO] [stdout]     |
[INFO] [stdout] 196 |             if let Some( (start_id, end_id) ) = id_range {
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end_id`
[INFO] [stdout]    --> src/allocator.rs:196:37
[INFO] [stdout]     |
[INFO] [stdout] 196 |             if let Some( (start_id, end_id) ) = id_range {
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/unrust/affine.rs:67:100
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn make_function_affine(function: Function<CoreExpression>, function_names: &BTreeSet<String>, mut namer: &mut UniqueNamer) -> (...
[INFO] [stdout]    |                                                                                                    ----^^^^^
[INFO] [stdout]    |                                                                                                    |
[INFO] [stdout]    |                                                                                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/unrust/core.rs:203:59
[INFO] [stdout]     |
[INFO] [stdout] 203 | ...   let elements = elements.into_iter().map(|(name, expr)| CoreExpression::from_expression(expr, namer, add_functions, functions,...
[INFO] [stdout]     |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/unrust/core.rs:199:77
[INFO] [stdout]     |
[INFO] [stdout] 199 | ...ents.iter().enumerate().find(|(i, (name, _))| name == &enum_.struct_.name).map(|(i, _)| i).unwrap();
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/unrust/core.rs:156:67
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 let elements: Vec<_> = elements.into_iter().map(|(name, expr)| 
[INFO] [stdout]     |                                                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/unrust/core.rs:379:28
[INFO] [stdout]     |
[INFO] [stdout] 379 |     elems.sort_by_key(|(n, t)| order.iter().enumerate().find(|(_, no)| no == &n).map(|(i, _)| i).unwrap());
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/unrust/global.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let mut namer = UniqueNamer {
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/unrust/global.rs:92:20
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn to_core(mut self) -> GlobalProgram<CoreExpression> {
[INFO] [stdout]    |                    ----^^^^
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `undefined_vars`
[INFO] [stdout]   --> src/unrust/check.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let (program, _, undefined_vars) = program.map_vars(
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_undefined_vars`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lexical.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let mut k = 0;
[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: `s`
[INFO] [stdout]    --> src/lexical.rs:142:66
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 parse_fixed_token(&s[i..], token.as_str()).map(|(s, e)| (token, e))
[INFO] [stdout]     |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/lexical.rs:146:66
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 parse_fixed_token(&s[i..], token.as_str()).map(|(s, e)| (token, e))
[INFO] [stdout]     |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/lexical.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let mut k = 0;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_2`
[INFO] [stdout]   --> src/numeric.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let (tag_1, tag_2) = (port_1.get_tag(), port_2.get_tag());
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/unrust/check.rs:189:27
[INFO] [stdout]     |
[INFO] [stdout] 189 |         NativeNumber::F24(x) => Ok(())
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/numeric.rs:219:80
[INFO] [stdout]     |
[INFO] [stdout] 219 |             Numeric::Sym(op) => 22u32 | (( Operator::iter().enumerate().find(|(i, o)| op == o).unwrap().0 as u32) << 5 ), 
[INFO] [stdout]     |                                                                                ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/unrust/affine.rs:67:100
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn make_function_affine(function: Function<CoreExpression>, function_names: &BTreeSet<String>, mut namer: &mut UniqueNamer) -> (...
[INFO] [stdout]    |                                                                                                    ----^^^^^
[INFO] [stdout]    |                                                                                                    |
[INFO] [stdout]    |                                                                                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/unrust/parse.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let mut functions = HashMap::new();
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/unrust/parse.rs:79:23
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let (program, s) = Self::parse(text_cursor)?;
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/unrust/parse.rs:162:13
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let mut parameters = Vec::with_capacity(self.parameters.len());
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/unrust/core.rs:203:59
[INFO] [stdout]     |
[INFO] [stdout] 203 | ...   let elements = elements.into_iter().map(|(name, expr)| CoreExpression::from_expression(expr, namer, add_functions, functions,...
[INFO] [stdout]     |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/unrust/core.rs:199:77
[INFO] [stdout]     |
[INFO] [stdout] 199 | ...ents.iter().enumerate().find(|(i, (name, _))| name == &enum_.struct_.name).map(|(i, _)| i).unwrap();
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/unrust/core.rs:156:67
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 let elements: Vec<_> = elements.into_iter().map(|(name, expr)| 
[INFO] [stdout]     |                                                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/unrust/core.rs:379:28
[INFO] [stdout]     |
[INFO] [stdout] 379 |     elems.sort_by_key(|(n, t)| order.iter().enumerate().find(|(_, no)| no == &n).map(|(i, _)| i).unwrap());
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/unrust/global.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let mut namer = UniqueNamer {
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/unrust/global.rs:92:20
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn to_core(mut self) -> GlobalProgram<CoreExpression> {
[INFO] [stdout]    |                    ----^^^^
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/unrust/parse.rs:620:74
[INFO] [stdout]     |
[INFO] [stdout] 620 | ..._from(num.s.as_str()).map_err(|e| ParseError::new(s.index, "Unable to parse number".into()))?;
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/unrust/parse.rs:776:13
[INFO] [stdout]     |
[INFO] [stdout] 776 |         let mut statements = Vec::with_capacity(self.statements.len());
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `undefined_vars`
[INFO] [stdout]   --> src/unrust/check.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let (program, _, undefined_vars) = program.map_vars(
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_undefined_vars`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/unrust/parse.rs:853:13
[INFO] [stdout]     |
[INFO] [stdout] 853 |         let mut elements = Vec::with_capacity(self.elements.len());
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/unrust/parse.rs:945:13
[INFO] [stdout]     |
[INFO] [stdout] 945 |         let mut parameters = Vec::with_capacity(self.parameters.len());
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/unrust/check.rs:189:27
[INFO] [stdout]     |
[INFO] [stdout] 189 |         NativeNumber::F24(x) => Ok(())
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/unrust/parse.rs:1033:13
[INFO] [stdout]      |
[INFO] [stdout] 1033 |         let mut elements = Vec::with_capacity(self.elements.len());
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]     --> src/unrust/parse.rs:1191:58
[INFO] [stdout]      |
[INFO] [stdout] 1191 |     pub fn get_variant_field_index(&self, variant: &str, field: &str) -> Option<usize> {
[INFO] [stdout]      |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/unrust/parse.rs:1226:13
[INFO] [stdout]      |
[INFO] [stdout] 1226 |         let mut else_ifs = Vec::with_capacity(self.else_ifs.len());
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/unrust/parse.rs:1330:13
[INFO] [stdout]      |
[INFO] [stdout] 1330 |         let mut arguments = Vec::with_capacity(self.arguments.len());
[INFO] [stdout]      |             ----^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/unrust/parse.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let mut functions = HashMap::new();
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/unrust/parse.rs:79:23
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let (program, s) = Self::parse(text_cursor)?;
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/unrust/parse.rs:1468:53
[INFO] [stdout]      |
[INFO] [stdout] 1468 |                     let val = text.parse().map_err(|e| ParseError::new(s.index, "Unable to parse alphanumeric".into()))?;
[INFO] [stdout]      |                                                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/unrust/parse.rs:1489:13
[INFO] [stdout]      |
[INFO] [stdout] 1489 |         let mut cases = Vec::with_capacity(self.cases.len());
[INFO] [stdout]      |             ----^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/unrust/parse.rs:162:13
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let mut parameters = Vec::with_capacity(self.parameters.len());
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/unrust/parse.rs:1579:13
[INFO] [stdout]      |
[INFO] [stdout] 1579 |         let mut cases = Vec::with_capacity(self.cases.len());
[INFO] [stdout]      |             ----^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/unrust/lexical.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |     let mut k = 0;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/unrust/lexical.rs:238:66
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 parse_fixed_token(&s[i..], token.as_str()).map(|(s, e)| (token, e))
[INFO] [stdout]     |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `last_token` is assigned to, but never used
[INFO] [stdout]    --> src/unrust/lexical.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let mut last_token = None;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_last_token` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/unrust/lexical.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |     let mut k = 0;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_token` is never read
[INFO] [stdout]    --> src/unrust/lexical.rs:260:9
[INFO] [stdout]     |
[INFO] [stdout] 260 |         last_token = Some(token.clone());
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/unrust/parse.rs:620:74
[INFO] [stdout]     |
[INFO] [stdout] 620 | ..._from(num.s.as_str()).map_err(|e| ParseError::new(s.index, "Unable to parse number".into()))?;
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/unrust/parse.rs:776:13
[INFO] [stdout]     |
[INFO] [stdout] 776 |         let mut statements = Vec::with_capacity(self.statements.len());
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/unrust/parse.rs:853:13
[INFO] [stdout]     |
[INFO] [stdout] 853 |         let mut elements = Vec::with_capacity(self.elements.len());
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/unrust/parse.rs:945:13
[INFO] [stdout]     |
[INFO] [stdout] 945 |         let mut parameters = Vec::with_capacity(self.parameters.len());
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ic` (lib test) due to 1 previous error; 61 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/unrust/parse.rs:1033:13
[INFO] [stdout]      |
[INFO] [stdout] 1033 |         let mut elements = Vec::with_capacity(self.elements.len());
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]     --> src/unrust/parse.rs:1191:58
[INFO] [stdout]      |
[INFO] [stdout] 1191 |     pub fn get_variant_field_index(&self, variant: &str, field: &str) -> Option<usize> {
[INFO] [stdout]      |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/unrust/parse.rs:1226:13
[INFO] [stdout]      |
[INFO] [stdout] 1226 |         let mut else_ifs = Vec::with_capacity(self.else_ifs.len());
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/unrust/parse.rs:1330:13
[INFO] [stdout]      |
[INFO] [stdout] 1330 |         let mut arguments = Vec::with_capacity(self.arguments.len());
[INFO] [stdout]      |             ----^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/unrust/parse.rs:1468:53
[INFO] [stdout]      |
[INFO] [stdout] 1468 |                     let val = text.parse().map_err(|e| ParseError::new(s.index, "Unable to parse alphanumeric".into()))?;
[INFO] [stdout]      |                                                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/unrust/parse.rs:1489:13
[INFO] [stdout]      |
[INFO] [stdout] 1489 |         let mut cases = Vec::with_capacity(self.cases.len());
[INFO] [stdout]      |             ----^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/unrust/parse.rs:1579:13
[INFO] [stdout]      |
[INFO] [stdout] 1579 |         let mut cases = Vec::with_capacity(self.cases.len());
[INFO] [stdout]      |             ----^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/unrust/lexical.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |     let mut k = 0;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/unrust/lexical.rs:238:66
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 parse_fixed_token(&s[i..], token.as_str()).map(|(s, e)| (token, e))
[INFO] [stdout]     |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `last_token` is assigned to, but never used
[INFO] [stdout]    --> src/unrust/lexical.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let mut last_token = None;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_last_token` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/unrust/lexical.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |     let mut k = 0;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_token` is never read
[INFO] [stdout]    --> src/unrust/lexical.rs:260:9
[INFO] [stdout]     |
[INFO] [stdout] 260 |         last_token = Some(token.clone());
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ic` (lib) due to 1 previous error; 60 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "c183b2b5fadcba229aa1bbe7945e58ac9064d91e8a2679ece948c7edcabc2a71", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c183b2b5fadcba229aa1bbe7945e58ac9064d91e8a2679ece948c7edcabc2a71", kill_on_drop: false }`
[INFO] [stdout] c183b2b5fadcba229aa1bbe7945e58ac9064d91e8a2679ece948c7edcabc2a71
