[INFO] cloning repository https://github.com/rickmugridge/prolog-interpreter
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rickmugridge/prolog-interpreter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frickmugridge%2Fprolog-interpreter", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frickmugridge%2Fprolog-interpreter'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2bb03d172debe15bdffb2c51b2972f0e0b860e04
[INFO] checking rickmugridge/prolog-interpreter against try#943e2200e35c3825486c4671b6cab0107a07f8c1 for pr-148952
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frickmugridge%2Fprolog-interpreter" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/rickmugridge/prolog-interpreter
[INFO] finished tweaking git repo https://github.com/rickmugridge/prolog-interpreter
[INFO] tweaked toml for git repo https://github.com/rickmugridge/prolog-interpreter written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rickmugridge/prolog-interpreter on toolchain 943e2200e35c3825486c4671b6cab0107a07f8c1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rickmugridge/prolog-interpreter 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" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking rickmugridge/prolog-interpreter against try#943e2200e35c3825486c4671b6cab0107a07f8c1 for pr-148952
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frickmugridge%2Fprolog-interpreter" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/rickmugridge/prolog-interpreter
[INFO] finished tweaking git repo https://github.com/rickmugridge/prolog-interpreter
[INFO] tweaked toml for git repo https://github.com/rickmugridge/prolog-interpreter written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rickmugridge/prolog-interpreter on toolchain 943e2200e35c3825486c4671b6cab0107a07f8c1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rickmugridge/prolog-interpreter 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" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d9d850b65bfc50d714856c9eec4615f5ac44d7b2df1f48b10eb151e9f273b3e2
[INFO] running `Command { std: "docker" "start" "-a" "d9d850b65bfc50d714856c9eec4615f5ac44d7b2df1f48b10eb151e9f273b3e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d9d850b65bfc50d714856c9eec4615f5ac44d7b2df1f48b10eb151e9f273b3e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d9d850b65bfc50d714856c9eec4615f5ac44d7b2df1f48b10eb151e9f273b3e2", kill_on_drop: false }`
[INFO] [stdout] d9d850b65bfc50d714856c9eec4615f5ac44d7b2df1f48b10eb151e9f273b3e2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0ffc457dfc9ccd612348255f7c862ba029e97a4bb4b97987684cfe134307e5f8
[INFO] running `Command { std: "docker" "start" "-a" "0ffc457dfc9ccd612348255f7c862ba029e97a4bb4b97987684cfe134307e5f8", kill_on_drop: false }`
[INFO] [stderr]     Checking prolog-interpreter v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: constant `LIST_COMPOUND` is never used
[INFO] [stdout]  --> src/term.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const LIST_COMPOUND: &str = "_list";
[INFO] [stdout]   |       ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMPTY_LIST_COMPOUND` is never used
[INFO] [stdout]  --> src/term.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const EMPTY_LIST_COMPOUND: &str = "_emptyList";
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Term` is never used
[INFO] [stdout]   --> src/term.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum Term {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/term.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Term {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 19 |     pub fn int(i: isize) -> Rc<Term> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn atom(s: &str) -> Rc<Term> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn compound1(functor: &str, argument: Rc<Term>) -> Rc<Term> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn compound(functor: &str, arguments: Vec<Rc<Term>>) -> Rc<Term> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn var(name: &str, bindings: Rc<Bindings>) -> Rc<Term> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn var_unnamed(bindings: Rc<Bindings>) -> Rc<Term> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn var_full(name: &str, i: isize) -> Rc<Term> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn empty_list() -> Rc<Term> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn list(head: Rc<Term>, tail: Rc<Term>) -> Rc<Term> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn make_list(list: Vec<Rc<Term>>) -> Rc<Term> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn contains_variables(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn find_distinct_variables(terms: Vec<Rc<Term>>) -> HashSet<Rc<Term>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     fn find_variables_set(term: Rc<Term>, set: &mut HashSet<Rc<Term>>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     fn fmt_list(args: &[Rc<Term>], f: &mut Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Substitution` is never constructed
[INFO] [stdout]  --> src/substitution.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Substitution {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `substitute_new_vars`, `map`, and `map_clause` are never used
[INFO] [stdout]   --> src/substitution.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Substitution {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(variables_source: Rc<Bindings>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     fn substitute_new_vars(&self, term: Rc<Term>) -> Rc<Term> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn map(&self, term: Rc<Term>) -> Rc<Term> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn map_clause(&self, clause: Rc<Clause>) -> Rc<Clause> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TermBuilder` is never constructed
[INFO] [stdout]  --> src/term_builder.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct TermBuilder {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/term_builder.rs:36:12
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl TermBuilder {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  36 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub fn bindings(&self) -> Rc<Bindings> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub fn bound_to(&self, term: Rc<Term>, bound_to: Rc<Term>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn database(&self, clauses: Vec<Rc<Clause>>) -> Database {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn no_bindings(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub fn a(&self) -> Rc<Term> {
[INFO] [stdout]     |            ^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn b(&self) -> Rc<Term> {
[INFO] [stdout]     |            ^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn one(&self) -> Rc<Term> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn two(&self) -> Rc<Term> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn x(&self) -> Rc<Term> {
[INFO] [stdout]     |            ^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn y(&self) -> Rc<Term> {
[INFO] [stdout]     |            ^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn z(&self) -> Rc<Term> {
[INFO] [stdout]     |            ^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn u(&self) -> Rc<Term> {
[INFO] [stdout]     |            ^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn v(&self) -> Rc<Term> {
[INFO] [stdout]     |            ^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn fa(&self) -> Rc<Term> {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn fb(&self) -> Rc<Term> {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn faa(&self) -> Rc<Term> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn fab(&self) -> Rc<Term> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn fxy(&self) -> Rc<Term> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn fxx(&self) -> Rc<Term> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn fxa(&self) -> Rc<Term> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn ga(&self) -> Rc<Term> {
[INFO] [stdout]     |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Variable` is never constructed
[INFO] [stdout]  --> src/variable.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Variable(pub isize, pub Option<String>);
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new_named` and `new` are never used
[INFO] [stdout]   --> src/variable.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Variable {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout]  9 |     pub fn new_named(bindings: Rc<Bindings>, name: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn new(bindings: Rc<Bindings>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Clause` is never constructed
[INFO] [stdout]  --> src/clause.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Clause {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `rule` and `fact` are never used
[INFO] [stdout]   --> src/clause.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Clause {
[INFO] [stdout]    | ----------- associated functions in this implementation
[INFO] [stdout] 15 |     pub fn rule(head: Rc<Term>,
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn fact(head: Rc<Term>) -> Rc<Self> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bindings` is never constructed
[INFO] [stdout]  --> src/bindings.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Bindings {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/bindings.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Bindings {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn instantiate(&self, term: Rc<Term>) -> Rc<Term> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn bound_directly_to(&self, variable: &Variable) -> Option<Rc<Term>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn term_bound_directly_to(&self, variable: Rc<Term>) -> Option<Rc<Term>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn add(&self, v: isize, term: Rc<Term>) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn add_variable(&self, variable: Rc<Term>, term: Rc<Term>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn stack(current: Rc<Bindings>) -> Rc<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `next` are never used
[INFO] [stdout]   --> src/bindings.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl Bindings {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 80 |     pub fn new() -> Rc<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn next(&self) -> isize {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StaticContext` is never constructed
[INFO] [stdout]  --> src/static_context.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct StaticContext {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_all`, and `var` are never used
[INFO] [stdout]   --> src/static_context.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl StaticContext {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(bindings: Rc<Bindings>) -> Rc<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn new_all() -> Rc<Self> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn var(&self, name: &str) -> Rc<Term> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unify` is never used
[INFO] [stdout]  --> src/unify.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn unify(term1: Rc<Term>, term2: Rc<Term>, bindings: Rc<Bindings>) -> bool {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unify_variable` is never used
[INFO] [stdout]   --> src/unify.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn unify_variable(term1: Rc<Term>, term2: Rc<Term>, bindings: Rc<Bindings>) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Instantiation` is never constructed
[INFO] [stdout]   --> src/run.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Instantiation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/run.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn run(query: Vec<Rc<Term>>, database: &Database, bindings: Rc<Bindings>) -> impl Iterator<Item=Instantiation> + '_ {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_query` is never used
[INFO] [stdout]   --> src/run.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn run_query(query: Rc<Term>,
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_body` is never used
[INFO] [stdout]   --> src/run.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn run_body<'a>(body: Vec<Rc<Term>>, database: &'a Database, bindings: Rc<Bindings>) -> Box<dyn Iterator<Item=Rc<Bindings>> + 'a> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substitute` is never used
[INFO] [stdout]   --> src/run.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn substitute(clause: &Rc<Clause>, outer_bindings: Rc<Bindings>) -> Rc<Clause> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_instantiations` is never used
[INFO] [stdout]   --> src/run.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn resolve_instantiations(query_variables: &HashSet<Rc<Term>>, bindings: Rc<Bindings>) -> Instantiation {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Runner` is never constructed
[INFO] [stdout]  --> src/runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Runner {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `query` are never used
[INFO] [stdout]   --> src/runner.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Runner {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 14 |     pub fn new(src: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn query<'a>(&'a self, query_src: &'a str) -> impl Iterator<Item=Instantiation> + Sized + 'a {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Database` is never constructed
[INFO] [stdout]  --> src/database.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Database {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `matches`, and `matches_substituted` are never used
[INFO] [stdout]   --> src/database.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Database {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 12 |     // todo Organise terms around f/2, etc for faster lookup
[INFO] [stdout] 13 |     pub fn new(clauses: Vec<Rc<Clause>>, variables_source: Rc<Bindings>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn matches(&self) -> impl Iterator<Item=&Rc<Clause>> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn matches_substituted(&self) -> impl Iterator<Item=Rc<Clause>> + '_ {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Lex` is never used
[INFO] [stdout]  --> src/lex.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Lex {
[INFO] [stdout]   |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lex` is never used
[INFO] [stdout]   --> src/lex.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn lex(src: String) -> Result<Vec<Lex>, String> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_number` is never used
[INFO] [stdout]    --> src/lex.rs:179:4
[INFO] [stdout]     |
[INFO] [stdout] 179 | fn parse_number(digit_string: String) -> Result<Lex, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `term_parser` is never used
[INFO] [stdout]  --> src/parse_term.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn term_parser(src: &str, static_context: Rc<StaticContext>) -> Result<Rc<Term>, String> {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_term` is never used
[INFO] [stdout]   --> src/parse_term.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn parse_term(tokens: &mut Peekable<Iter<Lex>>, src: &str, static_context: Rc<StaticContext>) -> Result<Rc<Term>, String> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_list` is never used
[INFO] [stdout]   --> src/parse_term.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn parse_list(tokens: &mut Peekable<Iter<Lex>>,
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_non_empty_list` is never used
[INFO] [stdout]   --> src/parse_term.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn parse_non_empty_list(tokens: &mut Peekable<Iter<Lex>>, src: &str, static_context: Rc<StaticContext>) -> Result<Rc<Term>, String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_atom_or_compound` is never used
[INFO] [stdout]   --> src/parse_term.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn parse_atom_or_compound(name: &String,
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_arguments` is never used
[INFO] [stdout]   --> src/parse_term.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn parse_arguments(tokens: &mut Peekable<Iter<Lex>>, src: &str, static_context: Rc<StaticContext>) -> Result<Vec<Rc<Term>>, String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remaining` is never used
[INFO] [stdout]    --> src/parse_term.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn remaining(remainder: Vec<&Lex>) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clauses_parser` is never used
[INFO] [stdout]   --> src/parse_clauses.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn clauses_parser(src: &str, static_context: Rc<StaticContext>) -> Result<Vec<Rc<Clause>>, String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_clauses` is never used
[INFO] [stdout]   --> src/parse_clauses.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn parse_clauses(tokens: &mut Peekable<Iter<Lex>>, src: &str, static_context: Rc<StaticContext>) -> Result<Vec<Rc<Clause>>, String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_body` is never used
[INFO] [stdout]   --> src/parse_clauses.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn parse_body(tokens: &mut Peekable<Iter<Lex>>, src: &str, static_context: Rc<StaticContext>) -> Result<Vec<Rc<Term>>, String> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `query_parser` is never used
[INFO] [stdout]   --> src/parse_clauses.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn query_parser(src: &str, static_context: Rc<StaticContext>) -> Result<Vec<Rc<Term>>, String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_query` is never used
[INFO] [stdout]   --> src/parse_clauses.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn parse_query(tokens: &mut Peekable<Iter<Lex>>, src: &str, static_context: Rc<StaticContext>) -> Result<Vec<Rc<Term>>, String> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `substitution` is never read
[INFO] [stdout]  --> src/database.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Database {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 7 |     clauses: Vec<Rc<Clause>>,
[INFO] [stdout] 8 |     substitution: Rc<Substitution>,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `matches_substituted` is never used
[INFO] [stdout]   --> src/database.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Database {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn matches_substituted(&self) -> impl Iterator<Item=Rc<Clause>> + '_ {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Boolean` is never constructed
[INFO] [stdout]   --> src/lex.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Lex {
[INFO] [stdout]    |          --- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |     Boolean(bool),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Lex` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_append__list_to_empty_list` should have a snake case name
[INFO] [stdout]    --> src/runner.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn list_append__list_to_empty_list() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `list_append_list_to_empty_list`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.26s
[INFO] running `Command { std: "docker" "inspect" "0ffc457dfc9ccd612348255f7c862ba029e97a4bb4b97987684cfe134307e5f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0ffc457dfc9ccd612348255f7c862ba029e97a4bb4b97987684cfe134307e5f8", kill_on_drop: false }`
[INFO] [stdout] 0ffc457dfc9ccd612348255f7c862ba029e97a4bb4b97987684cfe134307e5f8
