[INFO] cloning repository https://github.com/hatellezp/foxidation
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hatellezp/foxidation" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhatellezp%2Ffoxidation", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhatellezp%2Ffoxidation'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e43df1c33a2067b082292122e00040709c90536c
[INFO] checking hatellezp/foxidation against try#5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db for pr-143717
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhatellezp%2Ffoxidation" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hatellezp/foxidation
[INFO] finished tweaking git repo https://github.com/hatellezp/foxidation
[INFO] tweaked toml for git repo https://github.com/hatellezp/foxidation written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hatellezp/foxidation on toolchain 5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hatellezp/foxidation 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" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking hatellezp/foxidation against try#5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db for pr-143717
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhatellezp%2Ffoxidation" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hatellezp/foxidation
[INFO] finished tweaking git repo https://github.com/hatellezp/foxidation
[INFO] tweaked toml for git repo https://github.com/hatellezp/foxidation written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hatellezp/foxidation on toolchain 5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hatellezp/foxidation 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" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded paw-attributes v1.0.2
[INFO] [stderr]   Downloaded paw-raw v1.0.0
[INFO] [stderr]   Downloaded paw v1.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 78887485e6658b765181c9a668b9ee4e50333999c8d9bf1505c3c73fede7b2a3
[INFO] running `Command { std: "docker" "start" "-a" "78887485e6658b765181c9a668b9ee4e50333999c8d9bf1505c3c73fede7b2a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "78887485e6658b765181c9a668b9ee4e50333999c8d9bf1505c3c73fede7b2a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "78887485e6658b765181c9a668b9ee4e50333999c8d9bf1505c3c73fede7b2a3", kill_on_drop: false }`
[INFO] [stdout] 78887485e6658b765181c9a668b9ee4e50333999c8d9bf1505c3c73fede7b2a3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4e54093b035b4ac7180a762455e5972150fd297f8aa0d168ec6aee414c028ffb
[INFO] running `Command { std: "docker" "start" "-a" "4e54093b035b4ac7180a762455e5972150fd297f8aa0d168ec6aee414c028ffb", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.28
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.74
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling libc v0.2.99
[INFO] [stderr]    Compiling ucd-trie v0.1.3
[INFO] [stderr]     Checking unicode-width v0.1.8
[INFO] [stderr]    Compiling unicode-segmentation v1.8.0
[INFO] [stderr]    Compiling maplit v1.0.2
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]    Compiling pest v2.1.3
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking paw-raw v1.0.0
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking pad v0.1.6
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking colored v2.0.0
[INFO] [stderr]    Compiling pest_meta v2.1.3
[INFO] [stderr]    Compiling pest_generator v2.1.3
[INFO] [stderr]    Compiling paw-attributes v1.0.2
[INFO] [stderr]    Compiling structopt-derive v0.4.15
[INFO] [stderr]    Compiling pest_derive v2.1.0
[INFO] [stderr]     Checking paw v1.0.0
[INFO] [stderr]     Checking structopt v0.3.22
[INFO] [stderr]     Checking parser_learning v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `max`
[INFO] [stdout]  --> src/core/expression.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::{max, Ordering};
[INFO] [stdout]   |                ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::FromIterator`
[INFO] [stdout]  --> src/core/expression.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::iter::FromIterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ColoredString`
[INFO] [stdout]   --> src/core/expression.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use colored::{ColoredString, Colorize};
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::types::Type::Equivalence`
[INFO] [stdout]   --> src/core/expression.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::core::types::Type::Equivalence;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExpressionEval` and `LiteralEval`
[INFO] [stdout]   --> src/core/expression.rs:19:26
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::core::types::{ExpressionEval, Grounded, LiteralEval, Type};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/core/expression.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Literal::*`
[INFO] [stdout]    --> src/core/expression.rs:827:13
[INFO] [stdout]     |
[INFO] [stdout] 827 |         use Literal::*;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ColoredString`
[INFO] [stdout]  --> src/core/literal.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use colored::{ColoredString, Colorize};
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::types::Result::*`
[INFO] [stdout]   --> src/parser/parser.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     use crate::core::types::Result::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::filter::Filter`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::core::filter::Filter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `max`
[INFO] [stdout]  --> src/core/expression.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::{max, Ordering};
[INFO] [stdout]   |                ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::FromIterator`
[INFO] [stdout]  --> src/core/expression.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::iter::FromIterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ColoredString`
[INFO] [stdout]   --> src/core/expression.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use colored::{ColoredString, Colorize};
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::types::Type::Equivalence`
[INFO] [stdout]   --> src/core/expression.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::core::types::Type::Equivalence;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExpressionEval` and `LiteralEval`
[INFO] [stdout]   --> src/core/expression.rs:19:26
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::core::types::{ExpressionEval, Grounded, LiteralEval, Type};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/core/expression.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Literal::*`
[INFO] [stdout]    --> src/core/expression.rs:827:13
[INFO] [stdout]     |
[INFO] [stdout] 827 |         use Literal::*;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ColoredString`
[INFO] [stdout]  --> src/core/literal.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use colored::{ColoredString, Colorize};
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::types::Result::*`
[INFO] [stdout]   --> src/parser/parser.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     use crate::core::types::Result::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::filter::Filter`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::core::filter::Filter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_b`
[INFO] [stdout]    --> src/core/expression.rs:774:29
[INFO] [stdout]     |
[INFO] [stdout] 774 |                         let new_b = Expression::nnot(expr2.deref().clone());
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_new_b`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core/expression.rs:939:27
[INFO] [stdout]     |
[INFO] [stdout] 939 |                     (Some(mut atoms1), Some(atoms2)) => {
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `print_true_table`
[INFO] [stdout]    --> src/core/expression.rs:990:9
[INFO] [stdout]     |
[INFO] [stdout] 990 |         print_true_table: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_print_true_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/core/expression.rs:1013:25
[INFO] [stdout]      |
[INFO] [stdout] 1013 |                     let mut create_valuation = {
[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/core/expression.rs:1014:29
[INFO] [stdout]      |
[INFO] [stdout] 1014 |                         let mut valuation = |expr: &Expression, bools: &[bool]| {
[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/core/expression.rs:1039:29
[INFO] [stdout]      |
[INFO] [stdout] 1039 |                         let mut inner_valuation = create_valuation;
[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/core/expression.rs:1040:29
[INFO] [stdout]      |
[INFO] [stdout] 1040 |                         let mut partial =
[INFO] [stdout]      |                             ----^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_expr_len`
[INFO] [stdout]     --> src/core/expression.rs:1178:21
[INFO] [stdout]      |
[INFO] [stdout] 1178 |                 let sub_expr_len = sub_exprs_length[i];
[INFO] [stdout]      |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_expr_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/core/expression.rs:1107:13
[INFO] [stdout]      |
[INFO] [stdout] 1107 |         let mut create_valuation = {
[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/core/expression.rs:1108:17
[INFO] [stdout]      |
[INFO] [stdout] 1108 |             let mut valuation = |expr: &Expression, bools: &[bool]| {
[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/core/expression.rs:1170:17
[INFO] [stdout]      |
[INFO] [stdout] 1170 |             let mut inner_valuation = create_valuation;
[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/core/expression.rs:1171:17
[INFO] [stdout]      |
[INFO] [stdout] 1171 |             let mut partial = |expr: &Expression| inner_valuation(expr, global_filter.filter());
[INFO] [stdout]      |                 ----^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/core/literal.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |             _ => 5,
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/core/literal.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |             RelName(_, _) | FuncName(_, _) | FormName(_, _) => 23,
[INFO] [stdout]     |             ----------------------------------------------- matches some of the same values
[INFO] [stdout] 250 |             Var(_) | Integer(_) | Constant(_) => 23, // TODO: verify that blue counts this
[INFO] [stdout]     |             --------------------------------- matches some of the same values
[INFO] [stdout] 251 |             Function(li, lis) => {
[INFO] [stdout]     |             ----------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 257 |             _ => 5,
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_b`
[INFO] [stdout]    --> src/core/expression.rs:774:29
[INFO] [stdout]     |
[INFO] [stdout] 774 |                         let new_b = Expression::nnot(expr2.deref().clone());
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_new_b`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core/expression.rs:939:27
[INFO] [stdout]     |
[INFO] [stdout] 939 |                     (Some(mut atoms1), Some(atoms2)) => {
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `print_true_table`
[INFO] [stdout]    --> src/core/expression.rs:990:9
[INFO] [stdout]     |
[INFO] [stdout] 990 |         print_true_table: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_print_true_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/core/expression.rs:1013:25
[INFO] [stdout]      |
[INFO] [stdout] 1013 |                     let mut create_valuation = {
[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/core/expression.rs:1014:29
[INFO] [stdout]      |
[INFO] [stdout] 1014 |                         let mut valuation = |expr: &Expression, bools: &[bool]| {
[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/core/expression.rs:1039:29
[INFO] [stdout]      |
[INFO] [stdout] 1039 |                         let mut inner_valuation = create_valuation;
[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/core/expression.rs:1040:29
[INFO] [stdout]      |
[INFO] [stdout] 1040 |                         let mut partial =
[INFO] [stdout]      |                             ----^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sub_expr_len`
[INFO] [stdout]     --> src/core/expression.rs:1178:21
[INFO] [stdout]      |
[INFO] [stdout] 1178 |                 let sub_expr_len = sub_exprs_length[i];
[INFO] [stdout]      |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_expr_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/core/expression.rs:1107:13
[INFO] [stdout]      |
[INFO] [stdout] 1107 |         let mut create_valuation = {
[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/core/expression.rs:1108:17
[INFO] [stdout]      |
[INFO] [stdout] 1108 |             let mut valuation = |expr: &Expression, bools: &[bool]| {
[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/core/expression.rs:1170:17
[INFO] [stdout]      |
[INFO] [stdout] 1170 |             let mut inner_valuation = create_valuation;
[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/core/expression.rs:1171:17
[INFO] [stdout]      |
[INFO] [stdout] 1171 |             let mut partial = |expr: &Expression| inner_valuation(expr, global_filter.filter());
[INFO] [stdout]      |                 ----^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/core/literal.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |             _ => 5,
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/core/literal.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |             RelName(_, _) | FuncName(_, _) | FormName(_, _) => 23,
[INFO] [stdout]     |             ----------------------------------------------- matches some of the same values
[INFO] [stdout] 250 |             Var(_) | Integer(_) | Constant(_) => 23, // TODO: verify that blue counts this
[INFO] [stdout]     |             --------------------------------- matches some of the same values
[INFO] [stdout] 251 |             Function(li, lis) => {
[INFO] [stdout]     |             ----------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 257 |             _ => 5,
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/main.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let (context, expressions) = parser::parser::parse_file(&unparsed_file);
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `PartialEquality` and `GeneralEquality` are never constructed
[INFO] [stdout]   --> src/core/expression.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum Expression {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 30 |     PartialEquality(Literal, Box<Expression>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     GeneralEquality(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/core/expression.rs:638:12
[INFO] [stdout]      |
[INFO] [stdout] 307  | impl Expression {
[INFO] [stdout]      | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 638  |     pub fn npartialequality(a: &Literal, b: Expression) -> Expression {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 642  |     pub fn ngeneralequality(a: Expression, b: Expression) -> Expression {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 874  |     pub fn is_atomic(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1278 |     pub fn is_guarded(&self) -> bool {false}
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] 1279 |     pub fn variables(&self) -> Vec<Literal> {vec![]}
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] 1280 |     pub fn bound_variables(&self) -> Vec<Literal> {vec![]}
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 1281 |     pub fn free_variables(&self) -> Vec<Literal> {vec![]}
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] 1282 |     pub fn reduce(&mut self) {}
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/core/filter.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Filter {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn noo(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn lo(&self) -> usize {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn uo(&self) -> usize {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn filter_index(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn filter_mut(&mut self) -> &mut Vec<bool> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn cc(&self) -> (usize, usize, usize, usize) {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `LiteralEval` is never used
[INFO] [stdout]   --> src/core/types.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub type LiteralEval = dyn Fn(&Literal) -> Grounded;
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ExpressionEval` is never used
[INFO] [stdout]   --> src/core/types.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub type ExpressionEval = dyn Fn(&Expression) -> Option<bool>;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IN_CHAR` is never used
[INFO] [stdout]  --> src/mathsymbols.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const IN_CHAR: char = '\u{2208}';
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOTIN_CHAR` is never used
[INFO] [stdout]  --> src/mathsymbols.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const NOTIN_CHAR: char = '\u{2209}';
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROVE_CHAR` is never used
[INFO] [stdout]  --> src/mathsymbols.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const PROVE_CHAR: char = '\u{22A2}';
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOTPROVE_CHAR` is never used
[INFO] [stdout]   --> src/mathsymbols.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const NOTPROVE_CHAR: char = '\u{22AC}';
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODEL_CHAR` is never used
[INFO] [stdout]   --> src/mathsymbols.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const MODEL_CHAR: char = '\u{22A8}';
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOTMODEL_CHAR` is never used
[INFO] [stdout]   --> src/mathsymbols.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const NOTMODEL_CHAR: char = '\u{22AD}';
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMPLIES_LEFT_CHAR` is never used
[INFO] [stdout]   --> src/mathsymbols.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const IMPLIES_LEFT_CHAR: char = '\u{21D0}';
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_number` is never used
[INFO] [stdout]    --> src/parser/parser.rs:562:8
[INFO] [stdout]     |
[INFO] [stdout] 562 | pub fn parse_number(p: &Pair<Rule>) -> isize {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_word` is never used
[INFO] [stdout]    --> src/parser/parser.rs:569:8
[INFO] [stdout]     |
[INFO] [stdout] 569 | pub fn parse_word<'a>(p: &'a Pair<Rule>) -> &'a str {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_word_periods` is never used
[INFO] [stdout]    --> src/parser/parser.rs:581:8
[INFO] [stdout]     |
[INFO] [stdout] 581 | pub fn parse_word_periods(p: &Pair<Rule>) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/core/literal.rs:222:65
[INFO] [stdout]     |
[INFO] [stdout] 222 |         let there_are_higher_symbols = literals.iter().any(|x| x.deref().is_higher_symbol());
[INFO] [stdout]     |                                                                 ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Literal` does not implement `Deref`, so calling `deref` on `&Literal` 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] 222 -         let there_are_higher_symbols = literals.iter().any(|x| x.deref().is_higher_symbol());
[INFO] [stdout] 222 +         let there_are_higher_symbols = literals.iter().any(|x| x.is_higher_symbol());
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Literal`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout] 12  + #[derive(Clone)]
[INFO] [stdout] 13  | pub enum Literal {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/main.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let (context, expressions) = parser::parser::parse_file(&unparsed_file);
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `PartialEquality` and `GeneralEquality` are never constructed
[INFO] [stdout]   --> src/core/expression.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum Expression {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 30 |     PartialEquality(Literal, Box<Expression>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     GeneralEquality(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/core/expression.rs:638:12
[INFO] [stdout]      |
[INFO] [stdout] 307  | impl Expression {
[INFO] [stdout]      | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 638  |     pub fn npartialequality(a: &Literal, b: Expression) -> Expression {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 642  |     pub fn ngeneralequality(a: Expression, b: Expression) -> Expression {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 874  |     pub fn is_atomic(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1278 |     pub fn is_guarded(&self) -> bool {false}
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] 1279 |     pub fn variables(&self) -> Vec<Literal> {vec![]}
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] 1280 |     pub fn bound_variables(&self) -> Vec<Literal> {vec![]}
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 1281 |     pub fn free_variables(&self) -> Vec<Literal> {vec![]}
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] 1282 |     pub fn reduce(&mut self) {}
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/core/filter.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Filter {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn noo(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn lo(&self) -> usize {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn uo(&self) -> usize {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn filter_index(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn filter_mut(&mut self) -> &mut Vec<bool> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn cc(&self) -> (usize, usize, usize, usize) {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `LiteralEval` is never used
[INFO] [stdout]   --> src/core/types.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub type LiteralEval = dyn Fn(&Literal) -> Grounded;
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ExpressionEval` is never used
[INFO] [stdout]   --> src/core/types.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub type ExpressionEval = dyn Fn(&Expression) -> Option<bool>;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IN_CHAR` is never used
[INFO] [stdout]  --> src/mathsymbols.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const IN_CHAR: char = '\u{2208}';
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOTIN_CHAR` is never used
[INFO] [stdout]  --> src/mathsymbols.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const NOTIN_CHAR: char = '\u{2209}';
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROVE_CHAR` is never used
[INFO] [stdout]  --> src/mathsymbols.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const PROVE_CHAR: char = '\u{22A2}';
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOTPROVE_CHAR` is never used
[INFO] [stdout]   --> src/mathsymbols.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const NOTPROVE_CHAR: char = '\u{22AC}';
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODEL_CHAR` is never used
[INFO] [stdout]   --> src/mathsymbols.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const MODEL_CHAR: char = '\u{22A8}';
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOTMODEL_CHAR` is never used
[INFO] [stdout]   --> src/mathsymbols.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const NOTMODEL_CHAR: char = '\u{22AD}';
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMPLIES_LEFT_CHAR` is never used
[INFO] [stdout]   --> src/mathsymbols.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const IMPLIES_LEFT_CHAR: char = '\u{21D0}';
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_number` is never used
[INFO] [stdout]    --> src/parser/parser.rs:562:8
[INFO] [stdout]     |
[INFO] [stdout] 562 | pub fn parse_number(p: &Pair<Rule>) -> isize {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_word` is never used
[INFO] [stdout]    --> src/parser/parser.rs:569:8
[INFO] [stdout]     |
[INFO] [stdout] 569 | pub fn parse_word<'a>(p: &'a Pair<Rule>) -> &'a str {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_word_periods` is never used
[INFO] [stdout]    --> src/parser/parser.rs:581:8
[INFO] [stdout]     |
[INFO] [stdout] 581 | pub fn parse_word_periods(p: &Pair<Rule>) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/core/literal.rs:222:65
[INFO] [stdout]     |
[INFO] [stdout] 222 |         let there_are_higher_symbols = literals.iter().any(|x| x.deref().is_higher_symbol());
[INFO] [stdout]     |                                                                 ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Literal` does not implement `Deref`, so calling `deref` on `&Literal` 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] 222 -         let there_are_higher_symbols = literals.iter().any(|x| x.deref().is_higher_symbol());
[INFO] [stdout] 222 +         let there_are_higher_symbols = literals.iter().any(|x| x.is_higher_symbol());
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Literal`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout] 12  + #[derive(Clone)]
[INFO] [stdout] 13  | pub enum Literal {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.73s
[INFO] running `Command { std: "docker" "inspect" "4e54093b035b4ac7180a762455e5972150fd297f8aa0d168ec6aee414c028ffb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4e54093b035b4ac7180a762455e5972150fd297f8aa0d168ec6aee414c028ffb", kill_on_drop: false }`
[INFO] [stdout] 4e54093b035b4ac7180a762455e5972150fd297f8aa0d168ec6aee414c028ffb
