[INFO] fetching crate modus-lib 0.1.15... [INFO] testing modus-lib-0.1.15 against try#b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b for pr-145330-1 [INFO] extracting crate modus-lib 0.1.15 into /workspace/builds/worker-5-tc2/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-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate modus-lib 0.1.15 on toolchain b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "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" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "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.12.0) [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" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 34a10ec9cfa1b297c3e62b939b5650e68e9f00d9aea1ff066d42d422ea03fea0 [INFO] running `Command { std: "docker" "start" "-a" "34a10ec9cfa1b297c3e62b939b5650e68e9f00d9aea1ff066d42d422ea03fea0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "34a10ec9cfa1b297c3e62b939b5650e68e9f00d9aea1ff066d42d422ea03fea0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "34a10ec9cfa1b297c3e62b939b5650e68e9f00d9aea1ff066d42d422ea03fea0", kill_on_drop: false }` [INFO] [stdout] 34a10ec9cfa1b297c3e62b939b5650e68e9f00d9aea1ff066d42d422ea03fea0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 501f0a4c5496fde5627859460dd78fa46ffc258669b82dc7ac722898e34e58aa [INFO] running `Command { std: "docker" "start" "-a" "501f0a4c5496fde5627859460dd78fa46ffc258669b82dc7ac722898e34e58aa", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling lazy_static v0.2.11 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Compiling bytecount v0.6.9 [INFO] [stderr] Compiling itertools v0.8.2 [INFO] [stderr] Compiling brownstone v1.1.0 [INFO] [stderr] Compiling indent_write v2.2.0 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling joinery v2.1.0 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling dot v0.1.4 [INFO] [stderr] Compiling tint v1.0.1 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling fp-core v0.1.9 [INFO] [stderr] Compiling nom-supreme v0.6.0 [INFO] [stderr] Compiling nom_locate v4.2.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling serde-value v0.7.0 [INFO] [stderr] Compiling ptree v0.4.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)]` 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)]` 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>, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clauses` [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 = 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: variable does not need to be mutable [INFO] [stdout] --> src/wellformed.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | let mut errors: HashSet = HashSet::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 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)]` 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:15 [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:16 [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:16 [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 15.87s [INFO] running `Command { std: "docker" "inspect" "501f0a4c5496fde5627859460dd78fa46ffc258669b82dc7ac722898e34e58aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "501f0a4c5496fde5627859460dd78fa46ffc258669b82dc7ac722898e34e58aa", kill_on_drop: false }` [INFO] [stdout] 501f0a4c5496fde5627859460dd78fa46ffc258669b82dc7ac722898e34e58aa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 79de818224ff92d5b5f3789898e760b2e25e9d1be83810a238dde18dc1d73a08 [INFO] running `Command { std: "docker" "start" "-a" "79de818224ff92d5b5f3789898e760b2e25e9d1be83810a238dde18dc1d73a08", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling proc-macro-error 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)]` 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)]` 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>, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clauses` [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 = 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: variable does not need to be mutable [INFO] [stdout] --> src/wellformed.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | let mut errors: HashSet = HashSet::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 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)]` 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:15 [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:16 [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:16 [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)]` 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)]` 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>, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clauses` [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 = 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: variable does not need to be mutable [INFO] [stdout] --> src/wellformed.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | let mut errors: HashSet = HashSet::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 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)]` 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:15 [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:16 [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:16 [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 6.99s [INFO] running `Command { std: "docker" "inspect" "79de818224ff92d5b5f3789898e760b2e25e9d1be83810a238dde18dc1d73a08", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "79de818224ff92d5b5f3789898e760b2e25e9d1be83810a238dde18dc1d73a08", kill_on_drop: false }` [INFO] [stdout] 79de818224ff92d5b5f3789898e760b2e25e9d1be83810a238dde18dc1d73a08 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 1d37f7b6768aa93510468622440edcef0160c9b2b1f1ad7c8a21b0ced19fa1c0 [INFO] running `Command { std: "docker" "start" "-a" "1d37f7b6768aa93510468622440edcef0160c9b2b1f1ad7c8a21b0ced19fa1c0", 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)]` 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)]` 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>, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clauses` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `signatures` [INFO] [stderr] --> src/wellformed.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | let signatures: HashSet = 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: variable does not need to be mutable [INFO] [stderr] --> src/wellformed.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | let mut errors: HashSet = HashSet::new(); [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: 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)]` on by default [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> src/sld.rs:268:15 [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:16 [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:16 [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 10 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.09s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/modus_lib-3840175f3535b3fc) [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::cyclic_dependency ... ok [INFO] [stdout] test analysis::tests::errors_f_string_present_in_head_array ... ok [INFO] [stdout] test analysis::tests::errors_f_string_present_in_head ... ok [INFO] [stdout] test analysis::tests::handles_indirect_recursion ... ok [INFO] [stdout] test analysis::tests::handles_disjunct_recursion_through_presumptions ... ok [INFO] [stdout] test analysis::tests::handles_recursion_through_presumptions ... ok [INFO] [stdout] test analysis::tests::layer_predicate_kind ... ok [INFO] [stdout] test analysis::tests::simple_indirect_kind ... ok [INFO] [stdout] test analysis::tests::kind_errors_with_unknown_operator ... ok [INFO] [stdout] test analysis::tests::stratifiable_program ... ok [INFO] [stdout] test analysis::tests::kind_errors_with_incorrect_operator_inp ... ok [INFO] [stdout] test analysis::tests::unstratifiable_program ... ok [INFO] [stdout] test analysis::tests::simple_logic_predicate_kind ... ok [INFO] [stdout] test analysis::tests::warns_indirect_recursion ... ok [INFO] [stdout] test analysis::tests::warns_recursion ... ok [INFO] [stdout] test builtin::test::test_from_run ... ok [INFO] [stdout] test builtin::test::test_number_and_semver_compare ... ok [INFO] [stdout] test dockerfile::tests::comment ... ok [INFO] [stdout] test builtin::test::test_select ... ok [INFO] [stdout] test dockerfile::tests::empty_line ... ok [INFO] [stdout] test dockerfile::tests::from_line_continuation ... ok [INFO] [stdout] test dockerfile::tests::no_newline ... 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 dockerfile::tests::only_simple_from ... ok [INFO] [stdout] test dockerfile::tests::parse_complex_image ... ok [INFO] [stdout] test dockerfile::tests::parse_long_namespace ... ok [INFO] [stdout] test dockerfile::tests::parse_simple_image ... ok [INFO] [stdout] test dockerfile::tests::run_line_continuation_middle ... ok [INFO] [stdout] test dockerfile::tests::run_line_continuation_beginning ... ok [INFO] [stdout] test dockerfile::tests::two_instructions ... ok [INFO] [stdout] test logic::tests::literals ... ok [INFO] [stdout] test analysis::tests::simple_image_predicate_kind ... ok [INFO] [stdout] test logic::tests::literal_with_variable ... ok [INFO] [stdout] test logic::tests::negated_literal ... ok [INFO] [stdout] test logic::tests::nullary_predicate ... ok [INFO] [stdout] test logic::tests::simple_term ... ok [INFO] [stdout] test logic::tests::simple_rule ... ok [INFO] [stdout] test modusfile::parser::test_comment_oneline ... ok [INFO] [stdout] test logic::tests::span_of_literal ... ok [INFO] [stdout] test modusfile::parser::test_comments ... ok [INFO] [stdout] test modusfile::parser::test_comments_empty ... ok [INFO] [stdout] test modusfile::parser::test_comments_oneline ... ok [INFO] [stdout] test modusfile::parser::test_token_sep0 ... ok [INFO] [stdout] test modusfile::parser::test_token_sep0_empty ... ok [INFO] [stdout] test modusfile::tests::anonymous_variables ... ok [INFO] [stdout] test modusfile::tests::empty_format_string ... ok [INFO] [stdout] test modusfile::tests::f_string_escaped_interpolation ... ok [INFO] [stdout] test modusfile::tests::fact ... 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_errors_with_multiple_vars ... 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::modus_empty_array_term ... ok [INFO] [stdout] test modusfile::tests::modus_expression ... ok [INFO] [stdout] test modusfile::tests::modus_simple_array_term ... ok [INFO] [stdout] test modusfile::tests::modus_negated_unification ... ok [INFO] [stdout] test modusfile::tests::modusclause_to_clause_with_or ... ok [INFO] [stdout] test modusfile::tests::modus_unification ... ok [INFO] [stdout] test modusfile::tests::modusclause_to_clause ... ok [INFO] [stdout] test modusfile::tests::multiple_clause_with_different_ops ... ok [INFO] [stdout] test modusfile::tests::reports_error_in_rule ... ok [INFO] [stdout] test modusfile::tests::rule ... ok [INFO] [stdout] test modusfile::tests::op_application_chained_with_spaces ... ok [INFO] [stdout] test modusfile::tests::rule_with_operator ... ok [INFO] [stdout] test modusfile::tests::rule_with_or ... ok [INFO] [stdout] test sld::tests::arrays ... ok [INFO] [stdout] test sld::tests::arrays_error_when_ungrounded ... ok [INFO] [stdout] test sld::tests::leaf_height_is_zero ... ok [INFO] [stdout] test sld::tests::complex_goal ... 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::negation_errors_when_unknown ... 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::simple_nongrounded_invalid ... ok [INFO] [stdout] test translate::tests::translate_constant_term ... ok [INFO] [stdout] test modusfile::tests::test_spaces ... ok [INFO] [stdout] test sld::tests::simple_recursion ... ok [INFO] [stdout] test unification::tests::array_unifier ... ok [INFO] [stdout] test sld::tests::simple_solving_with_escape_chars ... ok [INFO] [stdout] test unification::tests::compex_array_unifier ... ok [INFO] [stdout] test sld::tests::solving_with_binary_relations ... ok [INFO] [stdout] test sld::tests::string_concat ... ok [INFO] [stdout] test unification::tests::complex_unifier ... ok [INFO] [stdout] test unification::tests::complex_non_unifiable ... ok [INFO] [stdout] test unification::tests::simple_non_unifiable ... ok [INFO] [stdout] test unification::tests::simple_unifier ... ok [INFO] [stdout] test wellformed::tests::consistently_grounded ... ok [INFO] [stdout] test sld::tests::string_concat_complex ... ok [INFO] [stdout] test wellformed::tests::correctly_combined_grounded ... ok [INFO] [stdout] test sld::tests::tree_from_expression_query ... ok [INFO] [stdout] test sld::tests::simple_solving ... ok [INFO] [stdout] test translate::tests::format_string_empty ... ok [INFO] [stdout] test translate::tests::format_string_translation ... ok [INFO] [stdout] test translate::tests::format_string_translation_with_escape ... ok [INFO] [stdout] test wellformed::tests::groundness_after_translation ... ok [INFO] [stdout] test translate::tests::translated_negated_with_variable ... ok [INFO] [stdout] test translate::tests::translates_anonymous_variable ... ok [INFO] [stdout] test translate::tests::translates_negated_and ... ok [INFO] [stdout] test translate::tests::translation_negation_with_anonymous ... ok [INFO] [stdout] test translate::tests::translates_negated_or ... ok [INFO] [stdout] test translate::tests::translation_nested_negation ... ok [INFO] [stderr] Doc-tests modus_lib [INFO] [stdout] test unification::tests::complex_renaming ... ok [INFO] [stdout] test unification::tests::simple_renaming ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 109 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [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" "1d37f7b6768aa93510468622440edcef0160c9b2b1f1ad7c8a21b0ced19fa1c0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d37f7b6768aa93510468622440edcef0160c9b2b1f1ad7c8a21b0ced19fa1c0", kill_on_drop: false }` [INFO] [stdout] 1d37f7b6768aa93510468622440edcef0160c9b2b1f1ad7c8a21b0ced19fa1c0