[INFO] fetching crate modus-lib 0.1.15...
[INFO] testing modus-lib-0.1.15 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate modus-lib 0.1.15 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate modus-lib 0.1.15
[INFO] finished tweaking crates.io crate modus-lib 0.1.15
[INFO] tweaked toml for crates.io crate modus-lib 0.1.15 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate modus-lib 0.1.15 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 85 packages to latest compatible versions
[INFO] [stderr]       Adding codespan-reporting v0.11.1 (available: v0.13.1)
[INFO] [stderr]       Adding colored v2.2.0 (available: v3.0.0)
[INFO] [stderr]       Adding nom v7.1.3 (available: v8.0.0)
[INFO] [stderr]       Adding nom-supreme v0.6.0 (available: v0.8.0)
[INFO] [stderr]       Adding nom_locate v4.2.0 (available: v5.0.0)
[INFO] [stderr]       Adding petgraph v0.6.5 (available: v0.8.3)
[INFO] [stderr]       Adding ptree v0.4.0 (available: v0.5.2)
[INFO] [stderr]       Adding rand v0.8.5 (available: v0.9.2)
[INFO] [stderr]       Adding serial_test v0.6.0 (available: v3.2.0)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.17)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded brownstone v1.1.0
[INFO] [stderr]   Downloaded serial_test v0.6.0
[INFO] [stderr]   Downloaded joinery v2.1.0
[INFO] [stderr]   Downloaded serial_test_derive v0.6.0
[INFO] [stderr]   Downloaded fp-core v0.1.9
[INFO] [stderr]   Downloaded indent_write v2.2.0
[INFO] [stderr]   Downloaded dot v0.1.4
[INFO] [stderr]   Downloaded ptree v0.4.0
[INFO] [stderr]   Downloaded nom-supreme v0.6.0
[INFO] [stderr]   Downloaded nom_locate v4.2.0
[INFO] [stderr]   Downloaded tint v1.0.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 12a4867e2cbf0074be5f12dc799546cb42c77d460b96931a24eaa781b604d81f
[INFO] running `Command { std: "docker" "start" "-a" "12a4867e2cbf0074be5f12dc799546cb42c77d460b96931a24eaa781b604d81f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "12a4867e2cbf0074be5f12dc799546cb42c77d460b96931a24eaa781b604d81f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "12a4867e2cbf0074be5f12dc799546cb42c77d460b96931a24eaa781b604d81f", kill_on_drop: false }`
[INFO] [stdout] 12a4867e2cbf0074be5f12dc799546cb42c77d460b96931a24eaa781b604d81f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d00db6b0c8c68df1b94b04c9b5214412774733c8824f57bdbcb9bbaba137dbf8
[INFO] running `Command { std: "docker" "start" "-a" "d00db6b0c8c68df1b94b04c9b5214412774733c8824f57bdbcb9bbaba137dbf8", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling brownstone v1.1.0
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling itertools v0.8.2
[INFO] [stderr]    Compiling joinery v2.1.0
[INFO] [stderr]    Compiling indent_write v2.2.0
[INFO] [stderr]    Compiling codespan-reporting v0.11.1
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling dot v0.1.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tint v1.0.1
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling serde-value v0.7.0
[INFO] [stderr]    Compiling fp-core v0.1.9
[INFO] [stderr]    Compiling ptree v0.4.0
[INFO] [stderr]    Compiling nom-supreme v0.6.0
[INFO] [stderr]    Compiling nom_locate v4.2.0
[INFO] [stderr]    Compiling modus-lib v0.1.15 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Clause`, `IRTerm`, and `Predicate`
[INFO] [stdout]   --> src/builtin.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |     logic::{Clause, IRTerm, Literal, Predicate},
[INFO] [stdout]    |             ^^^^^^  ^^^^^^           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Op`
[INFO] [stdout]    --> src/builtin.rs:288:30
[INFO] [stdout]     |
[INFO] [stdout] 288 |     use semver::{Comparator, Op, Version};
[INFO] [stdout]     |                              ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]   --> src/imagegen.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResolutionError`
[INFO] [stdout]   --> src/imagegen.rs:24:41
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::sld::{self, ClauseId, Proof, ResolutionError};
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClauseId`, `IRTerm`, `Image`, `Literal`, `NodeId`, `Predicate`, `ResolutionError`, `Run`, `Tree`, `self`, and `self`
[INFO] [stdout]   --> src/transpiler.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 |     dockerfile::{Dockerfile, Image, Instruction, ResolvedDockerfile, ResolvedParent, Run},
[INFO] [stdout]    |                              ^^^^^                                                   ^^^
[INFO] [stdout] 23 |     imagegen::{self, BuildPlan, MergeNode, NodeId},
[INFO] [stdout]    |                                            ^^^^^^
[INFO] [stdout] 24 |     logic::{self, Clause, IRTerm, Literal, Predicate},
[INFO] [stdout]    |             ^^^^          ^^^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 25 |     modusfile::{self, Modusfile},
[INFO] [stdout] 26 |     sld::{self, ClauseId, ResolutionError, SLDResult, Tree},
[INFO] [stdout]    |           ^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Predicate`
[INFO] [stdout]   --> src/unification.rs:20:46
[INFO] [stdout]    |
[INFO] [stdout] 20 | use logic::{Clause, Ground, IRTerm, Literal, Predicate};
[INFO] [stdout]    |                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent`
[INFO] [stdout]    --> src/transpiler.rs:203:45
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 BuildNode::AppendEnvValue { parent, key, value } => {
[INFO] [stdout]     |                                             ^^^^^^ help: try ignoring the field: `parent: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/transpiler.rs:203:53
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 BuildNode::AppendEnvValue { parent, key, value } => {
[INFO] [stdout]     |                                                     ^^^ help: try ignoring the field: `key: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/transpiler.rs:203:58
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 BuildNode::AppendEnvValue { parent, key, value } => {
[INFO] [stdout]     |                                                          ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clauses`
[INFO] [stdout]   --> src/wellformed.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     clauses: &Vec<Clause<IRTerm>>,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clauses`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/wellformed.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut errors: HashSet<Signature> = HashSet::new();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signatures`
[INFO] [stdout]   --> src/wellformed.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let signatures: HashSet<Signature> = clauses.iter().map(|c| c.head.signature()).collect();
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signatures`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `GoalId` is never used
[INFO] [stdout]   --> src/sld.rs:47:6
[INFO] [stdout]    |
[INFO] [stdout] 47 | type GoalId = usize;
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/sld.rs:268:42
[INFO] [stdout]     |
[INFO] [stdout] 268 |     fn edges(&'a self) -> dot::Edges<'a, Ed> {
[INFO] [stdout]     |               --                     --  ^^ the same lifetime is hidden here
[INFO] [stdout]     |               |                      |
[INFO] [stdout]     |               |                      the same lifetime is named here
[INFO] [stdout]     |               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 268 |     fn edges(&'a self) -> dot::Edges<'a, Ed<'a>> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/sld.rs:281:43
[INFO] [stdout]     |
[INFO] [stdout] 281 |     fn source(&'a self, edge: &Ed<'a>) -> Nd {
[INFO] [stdout]     |                --                 --      ^^ the same lifetime is hidden here
[INFO] [stdout]     |                |                  |
[INFO] [stdout]     |                |                  the lifetime is named here
[INFO] [stdout]     |                the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 281 |     fn source(&'a self, edge: &Ed<'a>) -> Nd<'a> {
[INFO] [stdout]     |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/sld.rs:285:43
[INFO] [stdout]     |
[INFO] [stdout] 285 |     fn target(&'a self, edge: &Ed<'a>) -> Nd {
[INFO] [stdout]     |                --                 --      ^^ the same lifetime is hidden here
[INFO] [stdout]     |                |                  |
[INFO] [stdout]     |                |                  the lifetime is named here
[INFO] [stdout]     |                the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 285 |     fn target(&'a self, edge: &Ed<'a>) -> Nd<'a> {
[INFO] [stdout]     |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.66s
[INFO] running `Command { std: "docker" "inspect" "d00db6b0c8c68df1b94b04c9b5214412774733c8824f57bdbcb9bbaba137dbf8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d00db6b0c8c68df1b94b04c9b5214412774733c8824f57bdbcb9bbaba137dbf8", kill_on_drop: false }`
[INFO] [stdout] d00db6b0c8c68df1b94b04c9b5214412774733c8824f57bdbcb9bbaba137dbf8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] af9c68a24ae11948e5c5568caefb081dbf35d64fddb81fd0b71a941ee1f0d89e
[INFO] running `Command { std: "docker" "start" "-a" "af9c68a24ae11948e5c5568caefb081dbf35d64fddb81fd0b71a941ee1f0d89e", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stdout] warning: unused imports: `Clause`, `IRTerm`, and `Predicate`
[INFO] [stdout]   --> src/builtin.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |     logic::{Clause, IRTerm, Literal, Predicate},
[INFO] [stdout]    |             ^^^^^^  ^^^^^^           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Op`
[INFO] [stdout]    --> src/builtin.rs:288:30
[INFO] [stdout]     |
[INFO] [stdout] 288 |     use semver::{Comparator, Op, Version};
[INFO] [stdout]     |                              ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]   --> src/imagegen.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResolutionError`
[INFO] [stdout]   --> src/imagegen.rs:24:41
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::sld::{self, ClauseId, Proof, ResolutionError};
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClauseId`, `IRTerm`, `Image`, `Literal`, `NodeId`, `Predicate`, `ResolutionError`, `Run`, `Tree`, `self`, and `self`
[INFO] [stdout]   --> src/transpiler.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 |     dockerfile::{Dockerfile, Image, Instruction, ResolvedDockerfile, ResolvedParent, Run},
[INFO] [stdout]    |                              ^^^^^                                                   ^^^
[INFO] [stdout] 23 |     imagegen::{self, BuildPlan, MergeNode, NodeId},
[INFO] [stdout]    |                                            ^^^^^^
[INFO] [stdout] 24 |     logic::{self, Clause, IRTerm, Literal, Predicate},
[INFO] [stdout]    |             ^^^^          ^^^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 25 |     modusfile::{self, Modusfile},
[INFO] [stdout] 26 |     sld::{self, ClauseId, ResolutionError, SLDResult, Tree},
[INFO] [stdout]    |           ^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Predicate`
[INFO] [stdout]   --> src/unification.rs:20:46
[INFO] [stdout]    |
[INFO] [stdout] 20 | use logic::{Clause, Ground, IRTerm, Literal, Predicate};
[INFO] [stdout]    |                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent`
[INFO] [stdout]    --> src/transpiler.rs:203:45
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 BuildNode::AppendEnvValue { parent, key, value } => {
[INFO] [stdout]     |                                             ^^^^^^ help: try ignoring the field: `parent: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/transpiler.rs:203:53
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 BuildNode::AppendEnvValue { parent, key, value } => {
[INFO] [stdout]     |                                                     ^^^ help: try ignoring the field: `key: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/transpiler.rs:203:58
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 BuildNode::AppendEnvValue { parent, key, value } => {
[INFO] [stdout]     |                                                          ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clauses`
[INFO] [stdout]   --> src/wellformed.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     clauses: &Vec<Clause<IRTerm>>,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clauses`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/wellformed.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut errors: HashSet<Signature> = HashSet::new();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signatures`
[INFO] [stdout]   --> src/wellformed.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let signatures: HashSet<Signature> = clauses.iter().map(|c| c.head.signature()).collect();
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signatures`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `GoalId` is never used
[INFO] [stdout]   --> src/sld.rs:47:6
[INFO] [stdout]    |
[INFO] [stdout] 47 | type GoalId = usize;
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/sld.rs:268:42
[INFO] [stdout]     |
[INFO] [stdout] 268 |     fn edges(&'a self) -> dot::Edges<'a, Ed> {
[INFO] [stdout]     |               --                     --  ^^ the same lifetime is hidden here
[INFO] [stdout]     |               |                      |
[INFO] [stdout]     |               |                      the same lifetime is named here
[INFO] [stdout]     |               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 268 |     fn edges(&'a self) -> dot::Edges<'a, Ed<'a>> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/sld.rs:281:43
[INFO] [stdout]     |
[INFO] [stdout] 281 |     fn source(&'a self, edge: &Ed<'a>) -> Nd {
[INFO] [stdout]     |                --                 --      ^^ the same lifetime is hidden here
[INFO] [stdout]     |                |                  |
[INFO] [stdout]     |                |                  the lifetime is named here
[INFO] [stdout]     |                the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 281 |     fn source(&'a self, edge: &Ed<'a>) -> Nd<'a> {
[INFO] [stdout]     |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/sld.rs:285:43
[INFO] [stdout]     |
[INFO] [stdout] 285 |     fn target(&'a self, edge: &Ed<'a>) -> Nd {
[INFO] [stdout]     |                --                 --      ^^ the same lifetime is hidden here
[INFO] [stdout]     |                |                  |
[INFO] [stdout]     |                |                  the lifetime is named here
[INFO] [stdout]     |                the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 285 |     fn target(&'a self, edge: &Ed<'a>) -> Nd<'a> {
[INFO] [stdout]     |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serial_test_derive v0.6.0
[INFO] [stderr]    Compiling serial_test v0.6.0
[INFO] [stderr]    Compiling modus-lib v0.1.15 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Clause`, `IRTerm`, and `Predicate`
[INFO] [stdout]   --> src/builtin.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |     logic::{Clause, IRTerm, Literal, Predicate},
[INFO] [stdout]    |             ^^^^^^  ^^^^^^           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Op`
[INFO] [stdout]    --> src/builtin.rs:288:30
[INFO] [stdout]     |
[INFO] [stdout] 288 |     use semver::{Comparator, Op, Version};
[INFO] [stdout]     |                              ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]   --> src/imagegen.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResolutionError`
[INFO] [stdout]   --> src/imagegen.rs:24:41
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::sld::{self, ClauseId, Proof, ResolutionError};
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FormatStringFragment`, `ModusTerm`, and `logic::SpannedPosition`
[INFO] [stdout]     --> src/sld.rs:1224:9
[INFO] [stdout]      |
[INFO] [stdout] 1224 |         logic::SpannedPosition,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1225 |         modusfile::{Expression, FormatStringFragment, ModusTerm},
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClauseId`, `IRTerm`, `Image`, `Literal`, `NodeId`, `Predicate`, `ResolutionError`, `Run`, `Tree`, `self`, and `self`
[INFO] [stdout]   --> src/transpiler.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 |     dockerfile::{Dockerfile, Image, Instruction, ResolvedDockerfile, ResolvedParent, Run},
[INFO] [stdout]    |                              ^^^^^                                                   ^^^
[INFO] [stdout] 23 |     imagegen::{self, BuildPlan, MergeNode, NodeId},
[INFO] [stdout]    |                                            ^^^^^^
[INFO] [stdout] 24 |     logic::{self, Clause, IRTerm, Literal, Predicate},
[INFO] [stdout]    |             ^^^^          ^^^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 25 |     modusfile::{self, Modusfile},
[INFO] [stdout] 26 |     sld::{self, ClauseId, ResolutionError, SLDResult, Tree},
[INFO] [stdout]    |           ^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Predicate`
[INFO] [stdout]   --> src/unification.rs:20:46
[INFO] [stdout]    |
[INFO] [stdout] 20 | use logic::{Clause, Ground, IRTerm, Literal, Predicate};
[INFO] [stdout]    |                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent`
[INFO] [stdout]    --> src/transpiler.rs:203:45
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 BuildNode::AppendEnvValue { parent, key, value } => {
[INFO] [stdout]     |                                             ^^^^^^ help: try ignoring the field: `parent: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/transpiler.rs:203:53
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 BuildNode::AppendEnvValue { parent, key, value } => {
[INFO] [stdout]     |                                                     ^^^ help: try ignoring the field: `key: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/transpiler.rs:203:58
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 BuildNode::AppendEnvValue { parent, key, value } => {
[INFO] [stdout]     |                                                          ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clauses`
[INFO] [stdout]   --> src/wellformed.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     clauses: &Vec<Clause<IRTerm>>,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clauses`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/wellformed.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let mut errors: HashSet<Signature> = HashSet::new();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signatures`
[INFO] [stdout]   --> src/wellformed.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let signatures: HashSet<Signature> = clauses.iter().map(|c| c.head.signature()).collect();
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signatures`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `GoalId` is never used
[INFO] [stdout]   --> src/sld.rs:47:6
[INFO] [stdout]    |
[INFO] [stdout] 47 | type GoalId = usize;
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/sld.rs:268:42
[INFO] [stdout]     |
[INFO] [stdout] 268 |     fn edges(&'a self) -> dot::Edges<'a, Ed> {
[INFO] [stdout]     |               --                     --  ^^ the same lifetime is hidden here
[INFO] [stdout]     |               |                      |
[INFO] [stdout]     |               |                      the same lifetime is named here
[INFO] [stdout]     |               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 268 |     fn edges(&'a self) -> dot::Edges<'a, Ed<'a>> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/sld.rs:281:43
[INFO] [stdout]     |
[INFO] [stdout] 281 |     fn source(&'a self, edge: &Ed<'a>) -> Nd {
[INFO] [stdout]     |                --                 --      ^^ the same lifetime is hidden here
[INFO] [stdout]     |                |                  |
[INFO] [stdout]     |                |                  the lifetime is named here
[INFO] [stdout]     |                the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 281 |     fn source(&'a self, edge: &Ed<'a>) -> Nd<'a> {
[INFO] [stdout]     |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/sld.rs:285:43
[INFO] [stdout]     |
[INFO] [stdout] 285 |     fn target(&'a self, edge: &Ed<'a>) -> Nd {
[INFO] [stdout]     |                --                 --      ^^ the same lifetime is hidden here
[INFO] [stdout]     |                |                  |
[INFO] [stdout]     |                |                  the lifetime is named here
[INFO] [stdout]     |                the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 285 |     fn target(&'a self, edge: &Ed<'a>) -> Nd<'a> {
[INFO] [stdout]     |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 8.74s
[INFO] running `Command { std: "docker" "inspect" "af9c68a24ae11948e5c5568caefb081dbf35d64fddb81fd0b71a941ee1f0d89e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "af9c68a24ae11948e5c5568caefb081dbf35d64fddb81fd0b71a941ee1f0d89e", kill_on_drop: false }`
[INFO] [stdout] af9c68a24ae11948e5c5568caefb081dbf35d64fddb81fd0b71a941ee1f0d89e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7c6114aa176fb2ad35d024afbcc3bbfe1c524eeff737c1262d9b636b2955db97
[INFO] running `Command { std: "docker" "start" "-a" "7c6114aa176fb2ad35d024afbcc3bbfe1c524eeff737c1262d9b636b2955db97", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `Clause`, `IRTerm`, and `Predicate`
[INFO] [stderr]   --> src/builtin.rs:21:13
[INFO] [stderr]    |
[INFO] [stderr] 21 |     logic::{Clause, IRTerm, Literal, Predicate},
[INFO] [stderr]    |             ^^^^^^  ^^^^^^           ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Op`
[INFO] [stderr]    --> src/builtin.rs:288:30
[INFO] [stderr]     |
[INFO] [stderr] 288 |     use semver::{Comparator, Op, Version};
[INFO] [stderr]     |                              ^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PathBuf`
[INFO] [stderr]   --> src/imagegen.rs:19:23
[INFO] [stderr]    |
[INFO] [stderr] 19 | use std::path::{Path, PathBuf};
[INFO] [stderr]    |                       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ResolutionError`
[INFO] [stderr]   --> src/imagegen.rs:24:41
[INFO] [stderr]    |
[INFO] [stderr] 24 | use crate::sld::{self, ClauseId, Proof, ResolutionError};
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ClauseId`, `IRTerm`, `Image`, `Literal`, `NodeId`, `Predicate`, `ResolutionError`, `Run`, `Tree`, `self`, and `self`
[INFO] [stderr]   --> src/transpiler.rs:22:30
[INFO] [stderr]    |
[INFO] [stderr] 22 |     dockerfile::{Dockerfile, Image, Instruction, ResolvedDockerfile, ResolvedParent, Run},
[INFO] [stderr]    |                              ^^^^^                                                   ^^^
[INFO] [stderr] 23 |     imagegen::{self, BuildPlan, MergeNode, NodeId},
[INFO] [stderr]    |                                            ^^^^^^
[INFO] [stderr] 24 |     logic::{self, Clause, IRTerm, Literal, Predicate},
[INFO] [stderr]    |             ^^^^          ^^^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 25 |     modusfile::{self, Modusfile},
[INFO] [stderr] 26 |     sld::{self, ClauseId, ResolutionError, SLDResult, Tree},
[INFO] [stderr]    |           ^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^             ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Predicate`
[INFO] [stderr]   --> src/unification.rs:20:46
[INFO] [stderr]    |
[INFO] [stderr] 20 | use logic::{Clause, Ground, IRTerm, Literal, Predicate};
[INFO] [stderr]    |                                              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parent`
[INFO] [stderr]    --> src/transpiler.rs:203:45
[INFO] [stderr]     |
[INFO] [stderr] 203 |                 BuildNode::AppendEnvValue { parent, key, value } => {
[INFO] [stderr]     |                                             ^^^^^^ help: try ignoring the field: `parent: _`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/transpiler.rs:203:53
[INFO] [stderr]     |
[INFO] [stderr] 203 |                 BuildNode::AppendEnvValue { parent, key, value } => {
[INFO] [stderr]     |                                                     ^^^ help: try ignoring the field: `key: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/transpiler.rs:203:58
[INFO] [stderr]     |
[INFO] [stderr] 203 |                 BuildNode::AppendEnvValue { parent, key, value } => {
[INFO] [stderr]     |                                                          ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `clauses`
[INFO] [stderr]   --> src/wellformed.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 |     clauses: &Vec<Clause<IRTerm>>,
[INFO] [stderr]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clauses`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/wellformed.rs:48:9
[INFO] [stderr]    |
[INFO] [stderr] 48 |     let mut errors: HashSet<Signature> = HashSet::new();
[INFO] [stderr]    |         ----^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `signatures`
[INFO] [stderr]   --> src/wellformed.rs:77:9
[INFO] [stderr]    |
[INFO] [stderr] 77 |     let signatures: HashSet<Signature> = clauses.iter().map(|c| c.head.signature()).collect();
[INFO] [stderr]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signatures`
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `GoalId` is never used
[INFO] [stderr]   --> src/sld.rs:47:6
[INFO] [stderr]    |
[INFO] [stderr] 47 | type GoalId = usize;
[INFO] [stderr]    |      ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/sld.rs:268:42
[INFO] [stderr]     |
[INFO] [stderr] 268 |     fn edges(&'a self) -> dot::Edges<'a, Ed> {
[INFO] [stderr]     |               --                     --  ^^ the same lifetime is hidden here
[INFO] [stderr]     |               |                      |
[INFO] [stderr]     |               |                      the same lifetime is named here
[INFO] [stderr]     |               the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 268 |     fn edges(&'a self) -> dot::Edges<'a, Ed<'a>> {
[INFO] [stderr]     |                                            ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/sld.rs:281:43
[INFO] [stderr]     |
[INFO] [stderr] 281 |     fn source(&'a self, edge: &Ed<'a>) -> Nd {
[INFO] [stderr]     |                --                 --      ^^ the same lifetime is hidden here
[INFO] [stderr]     |                |                  |
[INFO] [stderr]     |                |                  the lifetime is named here
[INFO] [stderr]     |                the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 281 |     fn source(&'a self, edge: &Ed<'a>) -> Nd<'a> {
[INFO] [stderr]     |                                             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/sld.rs:285:43
[INFO] [stderr]     |
[INFO] [stderr] 285 |     fn target(&'a self, edge: &Ed<'a>) -> Nd {
[INFO] [stderr]     |                --                 --      ^^ the same lifetime is hidden here
[INFO] [stderr]     |                |                  |
[INFO] [stderr]     |                |                  the lifetime is named here
[INFO] [stderr]     |                the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 285 |     fn target(&'a self, edge: &Ed<'a>) -> Nd<'a> {
[INFO] [stderr]     |                                             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `FormatStringFragment`, `ModusTerm`, and `logic::SpannedPosition`
[INFO] [stderr]     --> src/sld.rs:1224:9
[INFO] [stderr]      |
[INFO] [stderr] 1224 |         logic::SpannedPosition,
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 1225 |         modusfile::{Expression, FormatStringFragment, ModusTerm},
[INFO] [stderr]      |                                 ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `modus-lib` (lib) generated 16 warnings (run `cargo fix --lib -p modus-lib` to apply 15 suggestions)
[INFO] [stderr] warning: `modus-lib` (lib test) generated 17 warnings (16 duplicates) (run `cargo fix --lib -p modus-lib --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/modus_lib-ba04dee9c1cbee8e)
[INFO] [stdout] 
[INFO] [stdout] running 109 tests
[INFO] [stdout] test analysis::tests::errors_conflicting_predicate_kind ... ok
[INFO] [stdout] test analysis::tests::acyclic_dependency ... ok
[INFO] [stdout] test analysis::tests::errors_f_string_present_in_head_array ... ok
[INFO] [stdout] test analysis::tests::cyclic_dependency ... ok
[INFO] [stdout] test analysis::tests::simple_indirect_kind ... ok
[INFO] [stdout] test analysis::tests::simple_image_predicate_kind ... ok
[INFO] [stdout] test analysis::tests::simple_logic_predicate_kind ... ok
[INFO] [stdout] test analysis::tests::layer_predicate_kind ... ok
[INFO] [stdout] test analysis::tests::handles_disjunct_recursion_through_presumptions ... ok
[INFO] [stdout] test analysis::tests::handles_indirect_recursion ... ok
[INFO] [stdout] test analysis::tests::errors_f_string_present_in_head ... ok
[INFO] [stdout] test analysis::tests::warns_indirect_recursion ... ok
[INFO] [stdout] test builtin::test::test_select ... ok
[INFO] [stdout] test analysis::tests::handles_recursion_through_presumptions ... ok
[INFO] [stdout] test analysis::tests::warns_recursion ... ok
[INFO] [stdout] test dockerfile::tests::from_line_continuation_with_comment ... ok
[INFO] [stdout] test dockerfile::tests::only_from_with_tag ... ok
[INFO] [stdout] test builtin::test::test_from_run ... ok
[INFO] [stdout] test dockerfile::tests::from_line_continuation ... ok
[INFO] [stdout] test dockerfile::tests::no_newline ... ok
[INFO] [stdout] test dockerfile::tests::only_simple_from ... ok
[INFO] [stdout] test dockerfile::tests::parse_long_namespace ... ok
[INFO] [stdout] test dockerfile::tests::run_line_continuation_beginning ... ok
[INFO] [stdout] test dockerfile::tests::run_line_continuation_middle ... ok
[INFO] [stdout] test analysis::tests::kind_errors_with_incorrect_operator_inp ... ok
[INFO] [stdout] test logic::tests::literal_with_variable ... ok
[INFO] [stdout] test analysis::tests::kind_errors_with_unknown_operator ... ok
[INFO] [stdout] test dockerfile::tests::parse_simple_image ... ok
[INFO] [stdout] test dockerfile::tests::two_instructions ... ok
[INFO] [stdout] test builtin::test::test_number_and_semver_compare ... ok
[INFO] [stdout] test analysis::tests::stratifiable_program ... ok
[INFO] [stdout] test logic::tests::literals ... ok
[INFO] [stdout] test logic::tests::negated_literal ... ok
[INFO] [stdout] test dockerfile::tests::parse_complex_image ... ok
[INFO] [stdout] test dockerfile::tests::empty_line ... ok
[INFO] [stdout] test dockerfile::tests::comment ... ok
[INFO] [stdout] test modusfile::tests::anonymous_variables ... ok
[INFO] [stdout] test modusfile::tests::f_string_escaped_interpolation ... ok
[INFO] [stdout] test modusfile::tests::fact ... ok
[INFO] [stdout] test analysis::tests::unstratifiable_program ... ok
[INFO] [stdout] test modusfile::tests::empty_format_string ... ok
[INFO] [stdout] test logic::tests::nullary_predicate ... ok
[INFO] [stdout] test logic::tests::span_of_literal ... ok
[INFO] [stdout] test modusfile::parser::test_comments_empty ... ok
[INFO] [stdout] test modusfile::parser::test_comments_oneline ... ok
[INFO] [stdout] test logic::tests::simple_rule ... ok
[INFO] [stdout] test modusfile::parser::test_comments ... ok
[INFO] [stdout] test modusfile::parser::test_token_sep0 ... ok
[INFO] [stdout] test logic::tests::simple_term ... ok
[INFO] [stdout] test modusfile::parser::test_token_sep0_empty ... ok
[INFO] [stdout] test modusfile::parser::test_comment_oneline ... ok
[INFO] [stdout] test modusfile::tests::format_string ... ok
[INFO] [stdout] test modusfile::tests::format_string_dollar_without_interpolation ... ok
[INFO] [stdout] test modusfile::tests::format_string_starts_with_variable ... ok
[INFO] [stdout] test modusfile::tests::modus_constant ... ok
[INFO] [stdout] test modusfile::tests::modusclause_to_clause ... ok
[INFO] [stdout] test modusfile::tests::modus_unification ... ok
[INFO] [stdout] test modusfile::tests::modusclause_to_clause_with_or ... ok
[INFO] [stdout] test modusfile::tests::multiple_clause_with_different_ops ... ok
[INFO] [stdout] test modusfile::tests::rule_with_or ... ok
[INFO] [stdout] test modusfile::tests::modus_expression ... ok
[INFO] [stdout] test modusfile::tests::op_application_chained_with_spaces ... ok
[INFO] [stdout] test modusfile::tests::modus_negated_unification ... ok
[INFO] [stdout] test modusfile::tests::rule ... ok
[INFO] [stdout] test modusfile::tests::reports_error_in_rule ... ok
[INFO] [stdout] test modusfile::tests::rule_with_operator ... ok
[INFO] [stdout] test modusfile::tests::modus_empty_array_term ... ok
[INFO] [stdout] test modusfile::tests::format_string_errors_with_multiple_vars ... ok
[INFO] [stdout] test modusfile::tests::modus_simple_array_term ... ok
[INFO] [stdout] test sld::tests::arrays ... ok
[INFO] [stdout] test sld::tests::arrays_error_when_ungrounded ... ok
[INFO] [stdout] test sld::tests::string_concat ... ok
[INFO] [stdout] test sld::tests::negation_and_anonymous_variable ... ok
[INFO] [stdout] test sld::tests::negation_and_builtins ... ok
[INFO] [stdout] test sld::tests::proof_minimality ... ok
[INFO] [stdout] test sld::tests::simple_negation_solving ... ok
[INFO] [stdout] test sld::tests::simple_nongrounded ... ok
[INFO] [stdout] test sld::tests::negation_errors_when_unknown ... ok
[INFO] [stdout] test modusfile::tests::test_spaces ... ok
[INFO] [stdout] test sld::tests::solving_with_binary_relations ... ok
[INFO] [stdout] test sld::tests::leaf_height_is_zero ... ok
[INFO] [stdout] test sld::tests::complex_goal ... ok
[INFO] [stdout] test sld::tests::string_concat_complex ... ok
[INFO] [stdout] test sld::tests::simple_solving ... ok
[INFO] [stdout] test translate::tests::format_string_translation_with_escape ... ok
[INFO] [stdout] test sld::tests::simple_solving_with_escape_chars ... ok
[INFO] [stdout] test translate::tests::translate_constant_term ... ok
[INFO] [stdout] test translate::tests::format_string_translation ... ok
[INFO] [stdout] test translate::tests::translated_negated_with_variable ... ok
[INFO] [stdout] test unification::tests::compex_array_unifier ... ok
[INFO] [stdout] test unification::tests::array_unifier ... ok
[INFO] [stdout] test unification::tests::complex_non_unifiable ... ok
[INFO] [stdout] test unification::tests::complex_unifier ... ok
[INFO] [stdout] test unification::tests::simple_unifier ... ok
[INFO] [stdout] test wellformed::tests::consistently_grounded ... ok
[INFO] [stdout] test wellformed::tests::groundness_after_translation ... ok
[INFO] [stdout] test sld::tests::simple_recursion ... ok
[INFO] [stdout] test translate::tests::format_string_empty ... ok
[INFO] [stdout] test sld::tests::simple_nongrounded_invalid ... ok
[INFO] [stdout] test translate::tests::translates_anonymous_variable ... ok
[INFO] [stdout] test sld::tests::tree_from_expression_query ... ok
[INFO] [stdout] test translate::tests::translates_negated_or ... ok
[INFO] [stdout] test translate::tests::translation_nested_negation ... ok
[INFO] [stdout] test unification::tests::complex_renaming ... ok
[INFO] [stdout] test unification::tests::simple_renaming ... ok
[INFO] [stdout] test translate::tests::translates_negated_and ... ok
[INFO] [stdout] test translate::tests::translation_negation_with_anonymous ... ok
[INFO] [stdout] test unification::tests::simple_non_unifiable ... ok
[INFO] [stderr]    Doc-tests modus_lib
[INFO] [stdout] test wellformed::tests::correctly_combined_grounded ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 109 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7c6114aa176fb2ad35d024afbcc3bbfe1c524eeff737c1262d9b636b2955db97", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7c6114aa176fb2ad35d024afbcc3bbfe1c524eeff737c1262d9b636b2955db97", kill_on_drop: false }`
[INFO] [stdout] 7c6114aa176fb2ad35d024afbcc3bbfe1c524eeff737c1262d9b636b2955db97
