[INFO] crate differential-formula 0.1.1 is already in cache
[INFO] checking differential-formula-0.1.1 against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] extracting crate differential-formula 0.1.1 into /workspace/builds/worker-0/source
[INFO] validating manifest of crates.io crate differential-formula 0.1.1 on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking crates.io crate differential-formula 0.1.1
[INFO] finished tweaking crates.io crate differential-formula 0.1.1
[INFO] tweaked toml for crates.io crate differential-formula 0.1.1 written to /workspace/builds/worker-0/source/Cargo.toml
[INFO] crate crates.io crate differential-formula 0.1.1 already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stdout] 09f0daf9d67453e9ac0cee248ed8f5ce3707eaf4084ad659344623dc8fcc85ad
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `"docker" "start" "-a" "09f0daf9d67453e9ac0cee248ed8f5ce3707eaf4084ad659344623dc8fcc85ad"`
[INFO] [stderr]    Compiling serde v1.0.104
[INFO] [stderr]     Checking abomonation v0.7.3
[INFO] [stderr]     Checking timely_logging v0.11.1
[INFO] [stderr]     Checking timely_bytes v0.11.0
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking timely_sort v0.1.6
[INFO] [stderr]    Compiling once_cell v1.2.0
[INFO] [stderr]    Compiling num-traits v0.2.10
[INFO] [stderr]    Compiling num-bigint v0.2.4
[INFO] [stderr]    Compiling num-rational v0.2.2
[INFO] [stderr]    Compiling num-iter v0.1.39
[INFO] [stderr]    Compiling num-complex v0.2.3
[INFO] [stderr]    Compiling nom v5.0.1
[INFO] [stderr]    Compiling im v14.1.0
[INFO] [stderr]    Compiling lexical-core v0.4.6
[INFO] [stderr]     Checking sized-chunks v0.5.1
[INFO] [stderr]     Checking petgraph v0.5.0
[INFO] [stderr]     Checking rand_xoshiro v0.4.0
[INFO] [stderr]    Compiling synstructure v0.12.3
[INFO] [stderr]    Compiling readonly v0.1.5
[INFO] [stderr]    Compiling enum_dispatch v0.2.0
[INFO] [stderr]     Checking num-integer v0.1.41
[INFO] [stderr]    Compiling abomonation_derive v0.5.0
[INFO] [stderr]     Checking bincode v1.2.1
[INFO] [stderr]     Checking timely_communication v0.11.1
[INFO] [stderr]     Checking timely v0.11.1
[INFO] [stderr]     Checking num v0.2.0
[INFO] [stderr]     Checking differential-dataflow v0.11.0
[INFO] [stderr]     Checking differential-formula v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused import: `HashMap`
[INFO] [stderr]  --> src/constraint.rs:8:24
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::TryInto`
[INFO] [stderr]  --> src/constraint.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::convert::TryInto;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Formatter`
[INFO] [stderr]   --> src/constraint.rs:11:32
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::fmt::{Debug, Display, Formatter};
[INFO] [stderr]    |                                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashMap`
[INFO] [stderr]  --> src/engine.rs:8:24
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ExchangeData`
[INFO] [stderr]   --> src/engine.rs:18:41
[INFO] [stderr]    |
[INFO] [stderr] 18 | use differential_dataflow::{Collection, ExchangeData};
[INFO] [stderr]    |                                         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Input`
[INFO] [stderr]   --> src/engine.rs:19:36
[INFO] [stderr]    |
[INFO] [stderr] 19 | use differential_dataflow::input::{Input, InputSession};
[INFO] [stderr]    |                                    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `JoinCore`
[INFO] [stderr]   --> src/engine.rs:20:52
[INFO] [stderr]    |
[INFO] [stderr] 20 | use differential_dataflow::operators::join::{Join, JoinCore};
[INFO] [stderr]    |                                                    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/engine.rs:343:27
[INFO] [stderr]     |
[INFO] [stderr] 343 |             );            ;
[INFO] [stderr]     |                           ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashMap`
[INFO] [stderr]  --> src/expression.rs:9:24
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Formatter`
[INFO] [stderr]   --> src/expression.rs:12:32
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::fmt::{Debug, Display, Formatter};
[INFO] [stderr]    |                                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::any::Any`
[INFO] [stderr]  --> src/rule.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::any::Any;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::rc::Rc`
[INFO] [stderr]  --> src/rule.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::rc::Rc;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]   --> src/rule.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::sync::Arc;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Formatter`
[INFO] [stderr]   --> src/rule.rs:15:32
[INFO] [stderr]    |
[INFO] [stderr] 15 | use std::fmt::{Debug, Display, Formatter};
[INFO] [stderr]    |                                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt`
[INFO] [stderr]  --> src/type_system.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::fmt;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Display`, `Formatter`
[INFO] [stderr]  --> src/type_system.rs:6:23
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::fmt::{Debug, Display, Formatter};
[INFO] [stderr]   |                       ^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::iter::*`
[INFO] [stderr]  --> src/util.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::iter::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::hash_map::Keys`
[INFO] [stderr]  --> src/util.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::collections::hash_map::Keys;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashMap`
[INFO] [stderr]  --> src/constraint.rs:8:24
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::TryInto`
[INFO] [stderr]  --> src/constraint.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::convert::TryInto;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Formatter`
[INFO] [stderr]   --> src/constraint.rs:11:32
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::fmt::{Debug, Display, Formatter};
[INFO] [stderr]    |                                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashMap`
[INFO] [stderr]  --> src/engine.rs:8:24
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ExchangeData`
[INFO] [stderr]   --> src/engine.rs:18:41
[INFO] [stderr]    |
[INFO] [stderr] 18 | use differential_dataflow::{Collection, ExchangeData};
[INFO] [stderr]    |                                         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Input`
[INFO] [stderr]   --> src/engine.rs:19:36
[INFO] [stderr]    |
[INFO] [stderr] 19 | use differential_dataflow::input::{Input, InputSession};
[INFO] [stderr]    |                                    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `JoinCore`
[INFO] [stderr]   --> src/engine.rs:20:52
[INFO] [stderr]    |
[INFO] [stderr] 20 | use differential_dataflow::operators::join::{Join, JoinCore};
[INFO] [stderr]    |                                                    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/engine.rs:343:27
[INFO] [stderr]     |
[INFO] [stderr] 343 |             );            ;
[INFO] [stderr]     |                           ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashMap`
[INFO] [stderr]  --> src/expression.rs:9:24
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Formatter`
[INFO] [stderr]   --> src/expression.rs:12:32
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::fmt::{Debug, Display, Formatter};
[INFO] [stderr]    |                                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::any::Any`
[INFO] [stderr]  --> src/rule.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::any::Any;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::rc::Rc`
[INFO] [stderr]  --> src/rule.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::rc::Rc;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]   --> src/rule.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::sync::Arc;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Formatter`
[INFO] [stderr]   --> src/rule.rs:15:32
[INFO] [stderr]    |
[INFO] [stderr] 15 | use std::fmt::{Debug, Display, Formatter};
[INFO] [stderr]    |                                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt`
[INFO] [stderr]  --> src/type_system.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::fmt;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Display`, `Formatter`
[INFO] [stderr]  --> src/type_system.rs:6:23
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::fmt::{Debug, Display, Formatter};
[INFO] [stderr]   |                       ^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::iter::*`
[INFO] [stderr]  --> src/util.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::iter::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::hash_map::Keys`
[INFO] [stderr]  --> src/util.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::collections::hash_map::Keys;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `timely::dataflow::operators`
[INFO] [stderr]   --> src/engine.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use timely::dataflow::operators::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `left_diff_vars_copy`
[INFO] [stderr]    --> src/engine.rs:321:17
[INFO] [stderr]     |
[INFO] [stderr] 321 |             let left_diff_vars_copy = left_diff_vars.clone();
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_diff_vars_copy`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `right_diff_vars_copy` is never read
[INFO] [stderr]    --> src/engine.rs:322:21
[INFO] [stderr]     |
[INFO] [stderr] 322 |             let mut right_diff_vars_copy = right_diff_vars.clone();
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `intersection_vars_copy`
[INFO] [stderr]    --> src/engine.rs:323:17
[INFO] [stderr]     |
[INFO] [stderr] 323 |             let intersection_vars_copy = intersection_vars.clone();
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intersection_vars_copy`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `term`
[INFO] [stderr]    --> src/engine.rs:499:30
[INFO] [stderr]     |
[INFO] [stderr] 499 |                         for (term, count) in terms {
[INFO] [stderr]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_term`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count`
[INFO] [stderr]    --> src/engine.rs:517:36
[INFO] [stderr]     |
[INFO] [stderr] 517 |                         for (term, count) in terms {
[INFO] [stderr]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count`
[INFO] [stderr]    --> src/engine.rs:528:36
[INFO] [stderr]     |
[INFO] [stderr] 528 |                         for (term, count) in terms {
[INFO] [stderr]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/engine.rs:485:27
[INFO] [stderr]     |
[INFO] [stderr] 485 |             .reduce(move |key, input, output| {
[INFO] [stderr]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `aggregation`
[INFO] [stderr]    --> src/engine.rs:541:90
[INFO] [stderr]     |
[INFO] [stderr] 541 |         let remained_binding_after_aggregation = binding_and_aggregation_stream.map(|(x, aggregation)| { x });
[INFO] [stderr]     |                                                                                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggregation`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ordered_outer_collection_plus_default`
[INFO] [stderr]    --> src/engine.rs:459:13
[INFO] [stderr]     |
[INFO] [stderr] 459 |         let ordered_outer_collection_plus_default = ordered_outer_collection.map(move |mut outer| {
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ordered_outer_collection_plus_default`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `setcompre_var` is never read
[INFO] [stderr]    --> src/engine.rs:465:9
[INFO] [stderr]     |
[INFO] [stderr] 465 |         setcompre_var = var.clone();
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `setcompre_default` is never read
[INFO] [stderr]    --> src/engine.rs:466:9
[INFO] [stderr]     |
[INFO] [stderr] 466 |         setcompre_default = setcompre.default.clone();
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]    --> src/expression.rs:161:40
[INFO] [stderr]     |
[INFO] [stderr] 161 |             BaseExpr::SetComprehension(s) => true,
[INFO] [stderr]     |                                        ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `t`
[INFO] [stderr]    --> src/parser.rs:287:13
[INFO] [stderr]     |
[INFO] [stderr] 287 |         let t = create_type(k.clone(), &ast_map, &mut type_map);
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sep`
[INFO] [stderr]    --> src/parser.rs:180:23
[INFO] [stderr]     |
[INFO] [stderr] 180 |             |(id_str, sep, t)| {
[INFO] [stderr]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_sep`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `op`
[INFO] [stderr]    --> src/parser.rs:892:9
[INFO] [stderr]     |
[INFO] [stderr] 892 |         op: delimited!(space0, alt!(tag!("is") | tag!(":")), space0) >>
[INFO] [stderr]     |         ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `type_constraint`
[INFO] [stderr]    --> src/rule.rs:167:44
[INFO] [stderr]     |
[INFO] [stderr] 167 |                 Constraint::TypeConstraint(type_constraint) => {
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_constraint`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `b`
[INFO] [stderr]    --> src/rule.rs:333:36
[INFO] [stderr]     |
[INFO] [stderr] 333 |                 Constraint::Binary(b) => true,
[INFO] [stderr]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]    --> src/term.rs:111:40
[INFO] [stderr]     |
[INFO] [stderr] 111 | ...                   Term::Atom(a) =...
[INFO] [stderr]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `t`
[INFO] [stderr]    --> src/term.rs:229:29
[INFO] [stderr]     |
[INFO] [stderr] 229 |         for (i, (label_opt, t)) in sort.arguments.iter().enumerate() {
[INFO] [stderr]     |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `reverse_map`
[INFO] [stderr]    --> src/term.rs:361:71
[INFO] [stderr]     |
[INFO] [stderr] 361 |     fn propagate_reverse_bindings<T: GenericMap<Term, String>>(&self, reverse_map: &T) -> Term {
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reverse_map`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `label`
[INFO] [stderr]    --> src/term.rs:376:36
[INFO] [stderr]     |
[INFO] [stderr] 376 |     fn get_subterm_by_label(&self, label: &String) -> Option<Term> {
[INFO] [stderr]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `labels`
[INFO] [stderr]    --> src/term.rs:380:37
[INFO] [stderr]     |
[INFO] [stderr] 380 |     fn get_subterm_by_labels(&self, labels: &Vec<String>) -> Option<Term> {
[INFO] [stderr]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_labels`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `binding`
[INFO] [stderr]    --> src/term.rs:415:40
[INFO] [stderr]     |
[INFO] [stderr] 415 |     fn get_bindings_in_place<T>(&self, binding: &mut T, term: &Term) -> bool
[INFO] [stderr]     |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binding`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `term`
[INFO] [stderr]    --> src/term.rs:415:57
[INFO] [stderr]     |
[INFO] [stderr] 415 |     fn get_bindings_in_place<T>(&self, binding: &mut T, term: &Term) -> bool
[INFO] [stderr]     |                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_term`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `term`
[INFO] [stderr]    --> src/term.rs:421:28
[INFO] [stderr]     |
[INFO] [stderr] 421 |     fn get_bindings(&self, term: &Term) -> Option<HashMap<Term, Term>> {
[INFO] [stderr]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_term`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `term`
[INFO] [stderr]    --> src/term.rs:425:36
[INFO] [stderr]     |
[INFO] [stderr] 425 |     fn get_ordered_bindings(&self, term: &Term) -> Option<OrdMap<Term, Term>> {
[INFO] [stderr]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_term`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `map`
[INFO] [stderr]    --> src/term.rs:433:61
[INFO] [stderr]     |
[INFO] [stderr] 433 |     fn propagate_bindings<T: GenericMap<Term, Term>>(&self, map: &T) -> Term {
[INFO] [stderr]     |                                                             ^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `reverse_map`
[INFO] [stderr]    --> src/term.rs:437:71
[INFO] [stderr]     |
[INFO] [stderr] 437 |     fn propagate_reverse_bindings<T: GenericMap<Term, String>>(&self, reverse_map: &T) -> Term {
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reverse_map`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `label`
[INFO] [stderr]    --> src/term.rs:448:36
[INFO] [stderr]     |
[INFO] [stderr] 448 |     fn get_subterm_by_label(&self, label: &String) -> Option<Term> {
[INFO] [stderr]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `labels`
[INFO] [stderr]    --> src/term.rs:452:37
[INFO] [stderr]     |
[INFO] [stderr] 452 |     fn get_subterm_by_labels(&self, labels: &Vec<String>) -> Option<Term> {
[INFO] [stderr]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_labels`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `var`
[INFO] [stderr]    --> src/term.rs:524:17
[INFO] [stderr]     |
[INFO] [stderr] 524 |             let var: Variable = inner_key.clone().try_into().unwrap();
[INFO] [stderr]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_var`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/engine.rs:161:14
[INFO] [stderr]     |
[INFO] [stderr] 161 |         let (mut input, probe) = self.create_dataflow(&domain.clone(), &mut worker);
[INFO] [stderr]     |              ----^^^^^
[INFO] [stderr]     |              |
[INFO] [stderr]     |              help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: cannot borrow `*self` as mutable because it is also borrowed as immutable
[INFO] [stderr]    --> src/engine.rs:161:34
[INFO] [stderr]     |
[INFO] [stderr] 160 |         let domain = self.get_domain(domain_name.to_string()).unwrap();
[INFO] [stderr]     |                      ---- immutable borrow occurs here
[INFO] [stderr] 161 |         let (mut input, probe) = self.create_dataflow(&domain.clone(), &mut worker);
[INFO] [stderr]     |                                  ^^^^                  ------ immutable borrow later used here
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  mutable borrow occurs here
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default
[INFO] [stderr]     = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stderr]     = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/engine.rs:358:55
[INFO] [stderr]     |
[INFO] [stderr] 358 |             prev_collection = prev_collection.filter(|mut binding| {
[INFO] [stderr]     |                                                       ----^^^^^^^
[INFO] [stderr]     |                                                       |
[INFO] [stderr]     |                                                       help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/engine.rs:452:13
[INFO] [stderr]     |
[INFO] [stderr] 452 |         let mut ordered_collection = self.dataflow_from_constraints(models, constraints);
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/expression.rs:75:13
[INFO] [stderr]    |
[INFO] [stderr] 75 |         let mut setcompre_str = format!("{}({{ {} | {} }})", self.op, head_str, body_str); 
[INFO] [stderr]    |             ----^^^^^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/expression.rs:253:13
[INFO] [stderr]     |
[INFO] [stderr] 253 |         let mut left_set = self.left.variables();
[INFO] [stderr]     |             ----^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/expression.rs:254:13
[INFO] [stderr]     |
[INFO] [stderr] 254 |         let mut right_set = self.right.variables();
[INFO] [stderr]     |             ----^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/parser.rs:997:17
[INFO] [stderr]     |
[INFO] [stderr] 997 |             let mut term = term_ast.to_term(domain);
[INFO] [stderr]     |                 ----^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/rule.rs:153:25
[INFO] [stderr]     |
[INFO] [stderr] 153 |                     let mut vars = predicate.variables();
[INFO] [stderr]     |                         ----^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/term.rs:76:13
[INFO] [stderr]    |
[INFO] [stderr] 76 |         let mut a = self.variables();
[INFO] [stderr]    |             ----^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/term.rs:77:13
[INFO] [stderr]    |
[INFO] [stderr] 77 |         let mut b = another.variables();
[INFO] [stderr]    |             ----^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `timely::dataflow::operators`
[INFO] [stderr]   --> src/engine.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use timely::dataflow::operators::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `left_diff_vars_copy`
[INFO] [stderr]    --> src/engine.rs:321:17
[INFO] [stderr]     |
[INFO] [stderr] 321 |             let left_diff_vars_copy = left_diff_vars.clone();
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_diff_vars_copy`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `right_diff_vars_copy` is never read
[INFO] [stderr]    --> src/engine.rs:322:21
[INFO] [stderr]     |
[INFO] [stderr] 322 |             let mut right_diff_vars_copy = right_diff_vars.clone();
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `intersection_vars_copy`
[INFO] [stderr]    --> src/engine.rs:323:17
[INFO] [stderr]     |
[INFO] [stderr] 323 |             let intersection_vars_copy = intersection_vars.clone();
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intersection_vars_copy`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `term`
[INFO] [stderr]    --> src/engine.rs:499:30
[INFO] [stderr]     |
[INFO] [stderr] 499 |                         for (term, count) in terms {
[INFO] [stderr]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_term`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count`
[INFO] [stderr]    --> src/engine.rs:517:36
[INFO] [stderr]     |
[INFO] [stderr] 517 |                         for (term, count) in terms {
[INFO] [stderr]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count`
[INFO] [stderr]    --> src/engine.rs:528:36
[INFO] [stderr]     |
[INFO] [stderr] 528 |                         for (term, count) in terms {
[INFO] [stderr]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/engine.rs:485:27
[INFO] [stderr]     |
[INFO] [stderr] 485 |             .reduce(move |key, input, output| {
[INFO] [stderr]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `aggregation`
[INFO] [stderr]    --> src/engine.rs:541:90
[INFO] [stderr]     |
[INFO] [stderr] 541 |         let remained_binding_after_aggregation = binding_and_aggregation_stream.map(|(x, aggregation)| { x });
[INFO] [stderr]     |                                                                                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggregation`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ordered_outer_collection_plus_default`
[INFO] [stderr]    --> src/engine.rs:459:13
[INFO] [stderr]     |
[INFO] [stderr] 459 |         let ordered_outer_collection_plus_default = ordered_outer_collection.map(move |mut outer| {
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ordered_outer_collection_plus_default`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `setcompre_var` is never read
[INFO] [stderr]    --> src/engine.rs:465:9
[INFO] [stderr]     |
[INFO] [stderr] 465 |         setcompre_var = var.clone();
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `setcompre_default` is never read
[INFO] [stderr]    --> src/engine.rs:466:9
[INFO] [stderr]     |
[INFO] [stderr] 466 |         setcompre_default = setcompre.default.clone();
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]    --> src/expression.rs:161:40
[INFO] [stderr]     |
[INFO] [stderr] 161 |             BaseExpr::SetComprehension(s) => true,
[INFO] [stderr]     |                                        ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `t`
[INFO] [stderr]    --> src/parser.rs:287:13
[INFO] [stderr]     |
[INFO] [stderr] 287 |         let t = create_type(k.clone(), &ast_map, &mut type_map);
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sep`
[INFO] [stderr]    --> src/parser.rs:180:23
[INFO] [stderr]     |
[INFO] [stderr] 180 |             |(id_str, sep, t)| {
[INFO] [stderr]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_sep`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `op`
[INFO] [stderr]    --> src/parser.rs:892:9
[INFO] [stderr]     |
[INFO] [stderr] 892 |         op: delimited!(space0, alt!(tag!("is") | tag!(":")), space0) >>
[INFO] [stderr]     |         ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `output`
[INFO] [stderr]     --> src/parser.rs:1279:13
[INFO] [stderr]      |
[INFO] [stderr] 1279 |         let output = program(program4_str);
[INFO] [stderr]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `type_constraint`
[INFO] [stderr]    --> src/rule.rs:167:44
[INFO] [stderr]     |
[INFO] [stderr] 167 |                 Constraint::TypeConstraint(type_constraint) => {
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_constraint`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `b`
[INFO] [stderr]    --> src/rule.rs:333:36
[INFO] [stderr]     |
[INFO] [stderr] 333 |                 Constraint::Binary(b) => true,
[INFO] [stderr]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]    --> src/term.rs:111:40
[INFO] [stderr]     |
[INFO] [stderr] 111 | ...                   Term::Atom(a) =...
[INFO] [stderr]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `t`
[INFO] [stderr]    --> src/term.rs:229:29
[INFO] [stderr]     |
[INFO] [stderr] 229 |         for (i, (label_opt, t)) in sort.arguments.iter().enumerate() {
[INFO] [stderr]     |                             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `reverse_map`
[INFO] [stderr]    --> src/term.rs:361:71
[INFO] [stderr]     |
[INFO] [stderr] 361 |     fn propagate_reverse_bindings<T: GenericMap<Term, String>>(&self, reverse_map: &T) -> Term {
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reverse_map`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `label`
[INFO] [stderr]    --> src/term.rs:376:36
[INFO] [stderr]     |
[INFO] [stderr] 376 |     fn get_subterm_by_label(&self, label: &String) -> Option<Term> {
[INFO] [stderr]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `is_alphanumeric_char`
[INFO] [stderr]     --> src/parser.rs:1068:4
[INFO] [stderr]      |
[INFO] [stderr] 1068 | fn is_alphanumeric_char(c: char) -> bool {
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `labels`
[INFO] [stderr]    --> src/term.rs:380:37
[INFO] [stderr]     |
[INFO] [stderr] 380 |     fn get_subterm_by_labels(&self, labels: &Vec<String>) -> Option<Term> {
[INFO] [stderr]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_labels`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `binding`
[INFO] [stderr]    --> src/term.rs:415:40
[INFO] [stderr]     |
[INFO] [stderr] 415 |     fn get_bindings_in_place<T>(&self, binding: &mut T, term: &Term) -> bool
[INFO] [stderr]     |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binding`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `term`
[INFO] [stderr]    --> src/term.rs:415:57
[INFO] [stderr]     |
[INFO] [stderr] 415 |     fn get_bindings_in_place<T>(&self, binding: &mut T, term: &Term) -> bool
[INFO] [stderr]     |                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_term`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `term`
[INFO] [stderr]    --> src/term.rs:421:28
[INFO] [stderr]     |
[INFO] [stderr] 421 |     fn get_bindings(&self, term: &Term) -> Option<HashMap<Term, Term>> {
[INFO] [stderr]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_term`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `term`
[INFO] [stderr]    --> src/term.rs:425:36
[INFO] [stderr]     |
[INFO] [stderr] 425 |     fn get_ordered_bindings(&self, term: &Term) -> Option<OrdMap<Term, Term>> {
[INFO] [stderr]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_term`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `map`
[INFO] [stderr]    --> src/term.rs:433:61
[INFO] [stderr]     |
[INFO] [stderr] 433 |     fn propagate_bindings<T: GenericMap<Term, Term>>(&self, map: &T) -> Term {
[INFO] [stderr]     |                                                             ^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `reverse_map`
[INFO] [stderr]    --> src/term.rs:437:71
[INFO] [stderr]     |
[INFO] [stderr] 437 |     fn propagate_reverse_bindings<T: GenericMap<Term, String>>(&self, reverse_map: &T) -> Term {
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reverse_map`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `label`
[INFO] [stderr]    --> src/term.rs:448:36
[INFO] [stderr]     |
[INFO] [stderr] 448 |     fn get_subterm_by_label(&self, label: &String) -> Option<Term> {
[INFO] [stderr]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `labels`
[INFO] [stderr]    --> src/term.rs:452:37
[INFO] [stderr]     |
[INFO] [stderr] 452 |     fn get_subterm_by_labels(&self, labels: &Vec<String>) -> Option<Term> {
[INFO] [stderr]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_labels`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `var`
[INFO] [stderr]    --> src/term.rs:524:17
[INFO] [stderr]     |
[INFO] [stderr] 524 |             let var: Variable = inner_key.clone().try_into().unwrap();
[INFO] [stderr]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_var`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `atomStr` should have a snake case name
[INFO] [stderr]    --> src/term.rs:399:13
[INFO] [stderr]     |
[INFO] [stderr] 399 |         let atomStr = match self {
[INFO] [stderr]     |             ^^^^^^^ help: convert the identifier to snake case: `atom_str`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/engine.rs:161:14
[INFO] [stderr]     |
[INFO] [stderr] 161 |         let (mut input, probe) = self.create_dataflow(&domain.clone(), &mut worker);
[INFO] [stderr]     |              ----^^^^^
[INFO] [stderr]     |              |
[INFO] [stderr]     |              help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: cannot borrow `*self` as mutable because it is also borrowed as immutable
[INFO] [stderr]    --> src/engine.rs:161:34
[INFO] [stderr]     |
[INFO] [stderr] 160 |         let domain = self.get_domain(domain_name.to_string()).unwrap();
[INFO] [stderr]     |                      ---- immutable borrow occurs here
[INFO] [stderr] 161 |         let (mut input, probe) = self.create_dataflow(&domain.clone(), &mut worker);
[INFO] [stderr]     |                                  ^^^^                  ------ immutable borrow later used here
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  mutable borrow occurs here
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default
[INFO] [stderr]     = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future
[INFO] [stderr]     = note: for more information, see issue #59159 <https://github.com/rust-lang/rust/issues/59159>
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/engine.rs:358:55
[INFO] [stderr]     |
[INFO] [stderr] 358 |             prev_collection = prev_collection.filter(|mut binding| {
[INFO] [stderr]     |                                                       ----^^^^^^^
[INFO] [stderr]     |                                                       |
[INFO] [stderr]     |                                                       help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/engine.rs:452:13
[INFO] [stderr]     |
[INFO] [stderr] 452 |         let mut ordered_collection = self.dataflow_from_constraints(models, constraints);
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/expression.rs:75:13
[INFO] [stderr]    |
[INFO] [stderr] 75 |         let mut setcompre_str = format!("{}({{ {} | {} }})", self.op, head_str, body_str); 
[INFO] [stderr]    |             ----^^^^^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/expression.rs:253:13
[INFO] [stderr]     |
[INFO] [stderr] 253 |         let mut left_set = self.left.variables();
[INFO] [stderr]     |             ----^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/expression.rs:254:13
[INFO] [stderr]     |
[INFO] [stderr] 254 |         let mut right_set = self.right.variables();
[INFO] [stderr]     |             ----^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/parser.rs:997:17
[INFO] [stderr]     |
[INFO] [stderr] 997 |             let mut term = term_ast.to_term(domain);
[INFO] [stderr]     |                 ----^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/rule.rs:153:25
[INFO] [stderr]     |
[INFO] [stderr] 153 |                     let mut vars = predicate.variables();
[INFO] [stderr]     |                         ----^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/term.rs:76:13
[INFO] [stderr]    |
[INFO] [stderr] 76 |         let mut a = self.variables();
[INFO] [stderr]    |             ----^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/term.rs:77:13
[INFO] [stderr]    |
[INFO] [stderr] 77 |         let mut b = another.variables();
[INFO] [stderr]    |             ----^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `is_alphanumeric_char`
[INFO] [stderr]     --> src/parser.rs:1068:4
[INFO] [stderr]      |
[INFO] [stderr] 1068 | fn is_alphanumeric_char(c: char) -> bool {
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]     --> src/parser.rs:1191:9
[INFO] [stderr]      |
[INFO] [stderr] 1191 |         union_typedef("X  ::= A + B + C+  D  .");
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: variable `atomStr` should have a snake case name
[INFO] [stderr]    --> src/term.rs:399:13
[INFO] [stderr]     |
[INFO] [stderr] 399 |         let atomStr = match self {
[INFO] [stderr]     |             ^^^^^^^ help: convert the identifier to snake case: `atom_str`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `differential_formula::constraint::*`
[INFO] [stderr]  --> tests/test_engine.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use differential_formula::constraint::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `differential_formula::expression::*`
[INFO] [stderr]  --> tests/test_engine.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use differential_formula::expression::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `differential_formula::term::*`
[INFO] [stderr]  --> tests/test_engine.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use differential_formula::term::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `differential_formula::rule::*`
[INFO] [stderr]  --> tests/test_engine.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use differential_formula::rule::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `differential_formula::composite`
[INFO] [stderr]   --> tests/test_engine.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use differential_formula::composite;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `differential_formula::variable`
[INFO] [stderr]   --> tests/test_engine.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use differential_formula::variable;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `differential_formula::atom`
[INFO] [stderr]   --> tests/test_engine.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use differential_formula::atom;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]   --> tests/test_engine.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use std::sync::Arc;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::rc::Rc`
[INFO] [stderr]   --> tests/test_engine.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use std::rc::Rc;
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Hash`, `Hasher`
[INFO] [stderr]   --> tests/test_engine.rs:18:17
[INFO] [stderr]    |
[INFO] [stderr] 18 | use std::hash::{Hash, Hasher};
[INFO] [stderr]    |                 ^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::hash_map::DefaultHasher`
[INFO] [stderr]   --> tests/test_engine.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | use std::collections::hash_map::DefaultHasher;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Atom`, `Composite`, `TermBehavior`, `Term`, `Variable`
[INFO] [stderr]  --> tests/test_term.rs:3:34
[INFO] [stderr]   |
[INFO] [stderr] 3 | use differential_formula::term::{Term, Composite, Variable, Atom, TermBehavior};
[INFO] [stderr]   |                                  ^^^^  ^^^^^^^^^  ^^^^^^^^  ^^^^  ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `differential_formula::composite`
[INFO] [stderr]  --> tests/test_term.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use differential_formula::composite;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `differential_formula::variable`
[INFO] [stderr]  --> tests/test_term.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use differential_formula::variable;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `differential_formula::atom`
[INFO] [stderr]  --> tests/test_term.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use differential_formula::atom;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> tests/test_term.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::rc::Rc`
[INFO] [stderr]  --> tests/test_term.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::rc::Rc;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `calculate_hash`
[INFO] [stderr]   --> tests/test_term.rs:14:4
[INFO] [stderr]    |
[INFO] [stderr] 14 | fn calculate_hash<T: Hash>(t: &T) -> u64 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `domain`
[INFO] [stderr]    --> tests/test_engine.rs:203:10
[INFO] [stderr]     |
[INFO] [stderr] 203 |     let (domain, mut session) = create_session(rules9, model1);
[INFO] [stderr]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]    --> tests/test_engine.rs:203:22
[INFO] [stderr]     |
[INFO] [stderr] 203 |     let (domain, mut session) = create_session(rules9, model1);
[INFO] [stderr]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `domain`
[INFO] [stderr]   --> tests/test_engine.rs:85:10
[INFO] [stderr]    |
[INFO] [stderr] 85 |     let (domain, mut session) = create_session(rules1, model1);
[INFO] [stderr]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]   --> tests/test_engine.rs:85:22
[INFO] [stderr]    |
[INFO] [stderr] 85 |     let (domain, mut session) = create_session(rules1, model1);
[INFO] [stderr]    |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `domain`
[INFO] [stderr]   --> tests/test_engine.rs:94:10
[INFO] [stderr]    |
[INFO] [stderr] 94 |     let (domain, mut session) = create_session(rules2, model1);
[INFO] [stderr]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `domain`
[INFO] [stderr]    --> tests/test_engine.rs:108:10
[INFO] [stderr]     |
[INFO] [stderr] 108 |     let (domain, mut session) = create_session(rules3, model1);
[INFO] [stderr]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]    --> tests/test_engine.rs:108:22
[INFO] [stderr]     |
[INFO] [stderr] 108 |     let (domain, mut session) = create_session(rules3, model1);
[INFO] [stderr]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `domain`
[INFO] [stderr]    --> tests/test_engine.rs:119:10
[INFO] [stderr]     |
[INFO] [stderr] 119 |     let (domain, mut session) = create_session(rules4, model1);
[INFO] [stderr]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `domain`
[INFO] [stderr]    --> tests/test_engine.rs:139:10
[INFO] [stderr]     |
[INFO] [stderr] 139 |     let (domain, mut session) = create_session(rules5, model1);
[INFO] [stderr]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]    --> tests/test_engine.rs:139:22
[INFO] [stderr]     |
[INFO] [stderr] 139 |     let (domain, mut session) = create_session(rules5, model1);
[INFO] [stderr]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `domain`
[INFO] [stderr]    --> tests/test_engine.rs:149:10
[INFO] [stderr]     |
[INFO] [stderr] 149 |     let (domain, mut session) = create_session(rules6, model1);
[INFO] [stderr]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]    --> tests/test_engine.rs:149:22
[INFO] [stderr]     |
[INFO] [stderr] 149 |     let (domain, mut session) = create_session(rules6, model1);
[INFO] [stderr]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `domain`
[INFO] [stderr]    --> tests/test_engine.rs:158:10
[INFO] [stderr]     |
[INFO] [stderr] 158 |     let (domain, mut session) = create_session(rules6x, model1);
[INFO] [stderr]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]    --> tests/test_engine.rs:158:22
[INFO] [stderr]     |
[INFO] [stderr] 158 |     let (domain, mut session) = create_session(rules6x, model1);
[INFO] [stderr]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `domain`
[INFO] [stderr]    --> tests/test_engine.rs:169:10
[INFO] [stderr]     |
[INFO] [stderr] 169 |     let (domain, mut session) = create_session(rules7, model1);
[INFO] [stderr]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `domain`
[INFO] [stderr]    --> tests/test_engine.rs:183:10
[INFO] [stderr]     |
[INFO] [stderr] 183 |     let (domain, mut session) = create_session(rules8, model1);
[INFO] [stderr]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]    --> tests/test_engine.rs:183:22
[INFO] [stderr]     |
[INFO] [stderr] 183 |     let (domain, mut session) = create_session(rules8, model1);
[INFO] [stderr]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `domain`
[INFO] [stderr]    --> tests/test_engine.rs:192:10
[INFO] [stderr]     |
[INFO] [stderr] 192 |     let (domain, mut session) = create_session(rules8x, model1);
[INFO] [stderr]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `session`
[INFO] [stderr]    --> tests/test_engine.rs:192:22
[INFO] [stderr]     |
[INFO] [stderr] 192 |     let (domain, mut session) = create_session(rules8x, model1);
[INFO] [stderr]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `domain`
[INFO] [stderr]    --> tests/test_engine.rs:221:9
[INFO] [stderr]     |
[INFO] [stderr] 221 |     let domain = engine.get_domain("SocialNetwork".to_string()).unwrap().clone();
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_engine.rs:85:18
[INFO] [stderr]    |
[INFO] [stderr] 85 |     let (domain, mut session) = create_session(rules1, model1);
[INFO] [stderr]    |                  ----^^^^^^^
[INFO] [stderr]    |                  |
[INFO] [stderr]    |                  help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_engine.rs:108:18
[INFO] [stderr]     |
[INFO] [stderr] 108 |     let (domain, mut session) = create_session(rules3, model1);
[INFO] [stderr]     |                  ----^^^^^^^
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_engine.rs:139:18
[INFO] [stderr]     |
[INFO] [stderr] 139 |     let (domain, mut session) = create_session(rules5, model1);
[INFO] [stderr]     |                  ----^^^^^^^
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_engine.rs:149:18
[INFO] [stderr]     |
[INFO] [stderr] 149 |     let (domain, mut session) = create_session(rules6, model1);
[INFO] [stderr]     |                  ----^^^^^^^
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_engine.rs:158:18
[INFO] [stderr]     |
[INFO] [stderr] 158 |     let (domain, mut session) = create_session(rules6x, model1);
[INFO] [stderr]     |                  ----^^^^^^^
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_engine.rs:183:18
[INFO] [stderr]     |
[INFO] [stderr] 183 |     let (domain, mut session) = create_session(rules8, model1);
[INFO] [stderr]     |                  ----^^^^^^^
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_engine.rs:192:18
[INFO] [stderr]     |
[INFO] [stderr] 192 |     let (domain, mut session) = create_session(rules8x, model1);
[INFO] [stderr]     |                  ----^^^^^^^
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_engine.rs:203:18
[INFO] [stderr]     |
[INFO] [stderr] 203 |     let (domain, mut session) = create_session(rules9, model1);
[INFO] [stderr]     |                  ----^^^^^^^
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `test_ddengine_9`
[INFO] [stderr]    --> tests/test_engine.rs:197:4
[INFO] [stderr]     |
[INFO] [stderr] 197 | fn test_ddengine_9() {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: static variable `model1` should have an upper case name
[INFO] [stderr]   --> tests/test_engine.rs:22:8
[INFO] [stderr]    |
[INFO] [stderr] 22 | static model1: &str = "
[INFO] [stderr]    |        ^^^^^^ help: convert the identifier to upper case: `MODEL1`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 46.18s
[INFO] running `"docker" "inspect" "09f0daf9d67453e9ac0cee248ed8f5ce3707eaf4084ad659344623dc8fcc85ad"`
[INFO] running `"docker" "rm" "-f" "09f0daf9d67453e9ac0cee248ed8f5ce3707eaf4084ad659344623dc8fcc85ad"`
[INFO] [stdout] 09f0daf9d67453e9ac0cee248ed8f5ce3707eaf4084ad659344623dc8fcc85ad
