[INFO] cloning repository https://github.com/christheblog/graph-commands [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/christheblog/graph-commands" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchristheblog%2Fgraph-commands", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchristheblog%2Fgraph-commands'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8861930c516adaa8c85ca1628309ded80f9d7d79 [INFO] testing christheblog/graph-commands against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_getrandom_patch_2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchristheblog%2Fgraph-commands" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/christheblog/graph-commands [INFO] finished tweaking git repo https://github.com/christheblog/graph-commands [INFO] tweaked toml for git repo https://github.com/christheblog/graph-commands written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/christheblog/graph-commands on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/christheblog/graph-commands already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded hermit-abi v0.1.8 [INFO] [stderr] Downloaded unicode-width v0.1.7 [INFO] [stderr] Downloaded regex v1.3.5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 91bc3d136612e9013638fc8c40b37345b3f9bd1870efbb929f030f3d8467d437 [INFO] running `Command { std: "docker" "start" "-a" "91bc3d136612e9013638fc8c40b37345b3f9bd1870efbb929f030f3d8467d437", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "91bc3d136612e9013638fc8c40b37345b3f9bd1870efbb929f030f3d8467d437", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "91bc3d136612e9013638fc8c40b37345b3f9bd1870efbb929f030f3d8467d437", kill_on_drop: false }` [INFO] [stdout] 91bc3d136612e9013638fc8c40b37345b3f9bd1870efbb929f030f3d8467d437 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] a61a6ad717c7f193d7235b298c517a6a5501c55f056ae01f1a6ade033be1b4a0 [INFO] running `Command { std: "docker" "start" "-a" "a61a6ad717c7f193d7235b298c517a6a5501c55f056ae01f1a6ade033be1b4a0", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.68 [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stderr] Compiling unicode-width v0.1.7 [INFO] [stderr] Compiling either v1.5.3 [INFO] [stderr] Compiling regex-syntax v0.6.17 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling itertools v0.9.0 [INFO] [stderr] Compiling aho-corasick v0.7.10 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling clap v2.33.0 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling regex v1.3.5 [INFO] [stderr] Compiling gc-core v0.1.0 (/opt/rustwide/workdir/core) [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/algorithm/topo_sort.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn try_dag(graph: &DirectedGraph) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ --- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 25 | pub fn try_dag(graph: &DirectedGraph) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_best.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 54 | graph: &DirectedGraph, [INFO] [stdout] | ^^^^^^^^^^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 57 | ) -> BestFirstIter [INFO] [stdout] | ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 57 | ) -> BestFirstIter<'_, F> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_best.rs:70:30 [INFO] [stdout] | [INFO] [stdout] 70 | fn empty_best_iter(graph: &DirectedGraph, scorefn: F) -> BestFirstIter [INFO] [stdout] | ^^^^^^^^^^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 70 | fn empty_best_iter(graph: &DirectedGraph, scorefn: F) -> BestFirstIter<'_, F> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_best_constraint.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | graph: &DirectedGraph, [INFO] [stdout] | ^^^^^^^^^^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 64 | ) -> ConstrainedBestFirstIter [INFO] [stdout] | --------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 64 | ) -> ConstrainedBestFirstIter<'_, F> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_best_constraint.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 77 | graph: &DirectedGraph, [INFO] [stdout] | ^^^^^^^^^^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 80 | ) -> ConstrainedBestFirstIter [INFO] [stdout] | --------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 80 | ) -> ConstrainedBestFirstIter<'_, F> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_breadth.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn bfs_iter(graph: &DirectedGraph) -> BreadthFirstIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 38 | pub fn bfs_iter(graph: &DirectedGraph) -> BreadthFirstIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_breadth.rs:46:29 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn bfs_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> BreadthFirstIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 46 | pub fn bfs_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> BreadthFirstIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_breadth.rs:54:26 [INFO] [stdout] | [INFO] [stdout] 54 | fn empty_bfs_iter(graph: &DirectedGraph) -> BreadthFirstIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 54 | fn empty_bfs_iter(graph: &DirectedGraph) -> BreadthFirstIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_breadth.rs:93:34 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn bfs_path_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> BreadthFirstPathIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ -------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 93 | pub fn bfs_path_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> BreadthFirstPathIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_breadth.rs:100:31 [INFO] [stdout] | [INFO] [stdout] 100 | fn empty_bfs_path_iter(graph: &DirectedGraph) -> BreadthFirstPathIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ -------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 100 | fn empty_bfs_path_iter(graph: &DirectedGraph) -> BreadthFirstPathIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_cycle.rs:113:26 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn cycle_iter(graph: &DirectedGraph) -> CycleIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 113 | pub fn cycle_iter(graph: &DirectedGraph) -> CycleIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_cycle.rs:124:28 [INFO] [stdout] | [INFO] [stdout] 124 | fn empty_cycle_iter(graph: &DirectedGraph) -> CycleIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 124 | fn empty_cycle_iter(graph: &DirectedGraph) -> CycleIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_depth.rs:43:24 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn dfs_iter(graph: &DirectedGraph) -> DepthFirstIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 43 | pub fn dfs_iter(graph: &DirectedGraph) -> DepthFirstIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_depth.rs:51:29 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn dfs_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> DepthFirstIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 51 | pub fn dfs_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> DepthFirstIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_depth.rs:59:26 [INFO] [stdout] | [INFO] [stdout] 59 | fn empty_dfs_iter(graph: &DirectedGraph) -> DepthFirstIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 59 | fn empty_dfs_iter(graph: &DirectedGraph) -> DepthFirstIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_depth.rs:102:34 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn dfs_iter_path_from(graph: &DirectedGraph, start_vertex: VertexId) -> DepthFirstPathIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 102 | pub fn dfs_iter_path_from(graph: &DirectedGraph, start_vertex: VertexId) -> DepthFirstPathIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_depth.rs:109:31 [INFO] [stdout] | [INFO] [stdout] 109 | fn empty_dfs_path_iter(graph: &DirectedGraph) -> DepthFirstPathIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 109 | fn empty_dfs_path_iter(graph: &DirectedGraph) -> DepthFirstPathIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling gc-command v0.1.0 (/opt/rustwide/workdir/command) [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> command/src/graph_utils.rs:60:35 [INFO] [stdout] | [INFO] [stdout] 60 | Err(io_err) => Err(io_err.description().to_string()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OVERALL_SCORE` is never used [INFO] [stdout] --> command/src/path_formatter.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const OVERALL_SCORE: &str = "{score}"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OVERALL_SCORE_SHORT` is never used [INFO] [stdout] --> command/src/path_formatter.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const OVERALL_SCORE_SHORT: &str = "%S"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_ID` is never used [INFO] [stdout] --> command/src/path_formatter.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const NODE_ID: &str = "{id}"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_ID_SHORT` is never used [INFO] [stdout] --> command/src/path_formatter.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const NODE_ID_SHORT: &str = "%i"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REPEAT` is never used [INFO] [stdout] --> command/src/path_formatter.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const REPEAT: &str = "..."; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> command/src/bin/gc-csp.rs:242:33 [INFO] [stdout] | [INFO] [stdout] 242 | use gc_core::search::a_star;; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> command/src/bin/gc-random.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-csp.rs:282:14 [INFO] [stdout] | [INFO] [stdout] 282 | for c in constraint_ordered { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 282 - for c in constraint_ordered { [INFO] [stdout] 282 + while let Some(c) = constraint_ordered { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 282 - for c in constraint_ordered { [INFO] [stdout] 282 + if let Some(c) = constraint_ordered { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-csp.rs:285:14 [INFO] [stdout] | [INFO] [stdout] 285 | for c in constraint_include_cycle { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 285 - for c in constraint_include_cycle { [INFO] [stdout] 285 + while let Some(c) = constraint_include_cycle { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 285 - for c in constraint_include_cycle { [INFO] [stdout] 285 + if let Some(c) = constraint_include_cycle { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-csp.rs:288:14 [INFO] [stdout] | [INFO] [stdout] 288 | for c in constraint_no_cycle { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 288 - for c in constraint_no_cycle { [INFO] [stdout] 288 + while let Some(c) = constraint_no_cycle { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 288 - for c in constraint_no_cycle { [INFO] [stdout] 288 + if let Some(c) = constraint_no_cycle { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-csp.rs:291:14 [INFO] [stdout] | [INFO] [stdout] 291 | for c in constraint_min_length { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 291 - for c in constraint_min_length { [INFO] [stdout] 291 + while let Some(c) = constraint_min_length { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 291 - for c in constraint_min_length { [INFO] [stdout] 291 + if let Some(c) = constraint_min_length { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-csp.rs:294:14 [INFO] [stdout] | [INFO] [stdout] 294 | for c in constraint_max_length { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 294 - for c in constraint_max_length { [INFO] [stdout] 294 + while let Some(c) = constraint_max_length { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 294 - for c in constraint_max_length { [INFO] [stdout] 294 + if let Some(c) = constraint_max_length { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-csp.rs:300:14 [INFO] [stdout] | [INFO] [stdout] 300 | for c in constraint_min_score { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 300 - for c in constraint_min_score { [INFO] [stdout] 300 + while let Some(c) = constraint_min_score { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 300 - for c in constraint_min_score { [INFO] [stdout] 300 + if let Some(c) = constraint_min_score { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-csp.rs:303:14 [INFO] [stdout] | [INFO] [stdout] 303 | for c in constraint_max_score { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 303 - for c in constraint_max_score { [INFO] [stdout] 303 + while let Some(c) = constraint_max_score { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 303 - for c in constraint_max_score { [INFO] [stdout] 303 + if let Some(c) = constraint_max_score { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-cycle.rs:303:14 [INFO] [stdout] | [INFO] [stdout] 303 | for c in constraint_min_length { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 303 - for c in constraint_min_length { [INFO] [stdout] 303 + while let Some(c) = constraint_min_length { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 303 - for c in constraint_min_length { [INFO] [stdout] 303 + if let Some(c) = constraint_min_length { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-cycle.rs:306:14 [INFO] [stdout] | [INFO] [stdout] 306 | for c in constraint_max_length { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 306 - for c in constraint_max_length { [INFO] [stdout] 306 + while let Some(c) = constraint_max_length { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 306 - for c in constraint_max_length { [INFO] [stdout] 306 + if let Some(c) = constraint_max_length { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-cycle.rs:312:14 [INFO] [stdout] | [INFO] [stdout] 312 | for c in constraint_min_score { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 312 - for c in constraint_min_score { [INFO] [stdout] 312 + while let Some(c) = constraint_min_score { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 312 - for c in constraint_min_score { [INFO] [stdout] 312 + if let Some(c) = constraint_min_score { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-cycle.rs:315:14 [INFO] [stdout] | [INFO] [stdout] 315 | for c in constraint_max_score { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 315 - for c in constraint_max_score { [INFO] [stdout] 315 + while let Some(c) = constraint_max_score { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 315 - for c in constraint_max_score { [INFO] [stdout] 315 + if let Some(c) = constraint_max_score { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.23s [INFO] running `Command { std: "docker" "inspect" "a61a6ad717c7f193d7235b298c517a6a5501c55f056ae01f1a6ade033be1b4a0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a61a6ad717c7f193d7235b298c517a6a5501c55f056ae01f1a6ade033be1b4a0", kill_on_drop: false }` [INFO] [stdout] a61a6ad717c7f193d7235b298c517a6a5501c55f056ae01f1a6ade033be1b4a0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 5719580485ffe786faaed14165319ab85351bc8a839cdea4b332635dfa1c00f7 [INFO] running `Command { std: "docker" "start" "-a" "5719580485ffe786faaed14165319ab85351bc8a839cdea4b332635dfa1c00f7", kill_on_drop: false }` [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/algorithm/topo_sort.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn try_dag(graph: &DirectedGraph) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ --- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 25 | pub fn try_dag(graph: &DirectedGraph) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_best.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 54 | graph: &DirectedGraph, [INFO] [stdout] | ^^^^^^^^^^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 57 | ) -> BestFirstIter [INFO] [stdout] | ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 57 | ) -> BestFirstIter<'_, F> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_best.rs:70:30 [INFO] [stdout] | [INFO] [stdout] 70 | fn empty_best_iter(graph: &DirectedGraph, scorefn: F) -> BestFirstIter [INFO] [stdout] | ^^^^^^^^^^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 70 | fn empty_best_iter(graph: &DirectedGraph, scorefn: F) -> BestFirstIter<'_, F> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_best_constraint.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | graph: &DirectedGraph, [INFO] [stdout] | ^^^^^^^^^^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 64 | ) -> ConstrainedBestFirstIter [INFO] [stdout] | --------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 64 | ) -> ConstrainedBestFirstIter<'_, F> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_best_constraint.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 77 | graph: &DirectedGraph, [INFO] [stdout] | ^^^^^^^^^^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 80 | ) -> ConstrainedBestFirstIter [INFO] [stdout] | --------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 80 | ) -> ConstrainedBestFirstIter<'_, F> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_breadth.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn bfs_iter(graph: &DirectedGraph) -> BreadthFirstIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 38 | pub fn bfs_iter(graph: &DirectedGraph) -> BreadthFirstIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_breadth.rs:46:29 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn bfs_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> BreadthFirstIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 46 | pub fn bfs_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> BreadthFirstIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_breadth.rs:54:26 [INFO] [stdout] | [INFO] [stdout] 54 | fn empty_bfs_iter(graph: &DirectedGraph) -> BreadthFirstIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 54 | fn empty_bfs_iter(graph: &DirectedGraph) -> BreadthFirstIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_breadth.rs:93:34 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn bfs_path_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> BreadthFirstPathIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ -------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 93 | pub fn bfs_path_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> BreadthFirstPathIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_breadth.rs:100:31 [INFO] [stdout] | [INFO] [stdout] 100 | fn empty_bfs_path_iter(graph: &DirectedGraph) -> BreadthFirstPathIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ -------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 100 | fn empty_bfs_path_iter(graph: &DirectedGraph) -> BreadthFirstPathIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_cycle.rs:113:26 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn cycle_iter(graph: &DirectedGraph) -> CycleIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 113 | pub fn cycle_iter(graph: &DirectedGraph) -> CycleIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_cycle.rs:124:28 [INFO] [stdout] | [INFO] [stdout] 124 | fn empty_cycle_iter(graph: &DirectedGraph) -> CycleIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 124 | fn empty_cycle_iter(graph: &DirectedGraph) -> CycleIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_depth.rs:43:24 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn dfs_iter(graph: &DirectedGraph) -> DepthFirstIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 43 | pub fn dfs_iter(graph: &DirectedGraph) -> DepthFirstIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_depth.rs:51:29 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn dfs_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> DepthFirstIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 51 | pub fn dfs_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> DepthFirstIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_depth.rs:59:26 [INFO] [stdout] | [INFO] [stdout] 59 | fn empty_dfs_iter(graph: &DirectedGraph) -> DepthFirstIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 59 | fn empty_dfs_iter(graph: &DirectedGraph) -> DepthFirstIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_depth.rs:102:34 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn dfs_iter_path_from(graph: &DirectedGraph, start_vertex: VertexId) -> DepthFirstPathIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 102 | pub fn dfs_iter_path_from(graph: &DirectedGraph, start_vertex: VertexId) -> DepthFirstPathIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_depth.rs:109:31 [INFO] [stdout] | [INFO] [stdout] 109 | fn empty_dfs_path_iter(graph: &DirectedGraph) -> DepthFirstPathIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 109 | fn empty_dfs_path_iter(graph: &DirectedGraph) -> DepthFirstPathIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling gc-core v0.1.0 (/opt/rustwide/workdir/core) [INFO] [stderr] Compiling gc-command v0.1.0 (/opt/rustwide/workdir/command) [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> command/src/graph_utils.rs:60:35 [INFO] [stdout] | [INFO] [stdout] 60 | Err(io_err) => Err(io_err.description().to_string()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OVERALL_SCORE` is never used [INFO] [stdout] --> command/src/path_formatter.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const OVERALL_SCORE: &str = "{score}"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OVERALL_SCORE_SHORT` is never used [INFO] [stdout] --> command/src/path_formatter.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const OVERALL_SCORE_SHORT: &str = "%S"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_ID` is never used [INFO] [stdout] --> command/src/path_formatter.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const NODE_ID: &str = "{id}"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_ID_SHORT` is never used [INFO] [stdout] --> command/src/path_formatter.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const NODE_ID_SHORT: &str = "%i"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REPEAT` is never used [INFO] [stdout] --> command/src/path_formatter.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const REPEAT: &str = "..."; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> command/src/bin/gc-csp.rs:242:33 [INFO] [stdout] | [INFO] [stdout] 242 | use gc_core::search::a_star;; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> command/src/bin/gc-random.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> command/src/graph_utils.rs:60:35 [INFO] [stdout] | [INFO] [stdout] 60 | Err(io_err) => Err(io_err.description().to_string()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-csp.rs:282:14 [INFO] [stdout] | [INFO] [stdout] 282 | for c in constraint_ordered { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 282 - for c in constraint_ordered { [INFO] [stdout] 282 + while let Some(c) = constraint_ordered { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 282 - for c in constraint_ordered { [INFO] [stdout] 282 + if let Some(c) = constraint_ordered { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-csp.rs:285:14 [INFO] [stdout] | [INFO] [stdout] 285 | for c in constraint_include_cycle { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 285 - for c in constraint_include_cycle { [INFO] [stdout] 285 + while let Some(c) = constraint_include_cycle { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 285 - for c in constraint_include_cycle { [INFO] [stdout] 285 + if let Some(c) = constraint_include_cycle { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-csp.rs:288:14 [INFO] [stdout] | [INFO] [stdout] 288 | for c in constraint_no_cycle { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 288 - for c in constraint_no_cycle { [INFO] [stdout] 288 + while let Some(c) = constraint_no_cycle { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 288 - for c in constraint_no_cycle { [INFO] [stdout] 288 + if let Some(c) = constraint_no_cycle { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-csp.rs:291:14 [INFO] [stdout] | [INFO] [stdout] 291 | for c in constraint_min_length { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 291 - for c in constraint_min_length { [INFO] [stdout] 291 + while let Some(c) = constraint_min_length { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 291 - for c in constraint_min_length { [INFO] [stdout] 291 + if let Some(c) = constraint_min_length { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-csp.rs:294:14 [INFO] [stdout] | [INFO] [stdout] 294 | for c in constraint_max_length { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 294 - for c in constraint_max_length { [INFO] [stdout] 294 + while let Some(c) = constraint_max_length { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 294 - for c in constraint_max_length { [INFO] [stdout] 294 + if let Some(c) = constraint_max_length { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-csp.rs:300:14 [INFO] [stdout] | [INFO] [stdout] 300 | for c in constraint_min_score { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 300 - for c in constraint_min_score { [INFO] [stdout] 300 + while let Some(c) = constraint_min_score { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 300 - for c in constraint_min_score { [INFO] [stdout] 300 + if let Some(c) = constraint_min_score { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-csp.rs:303:14 [INFO] [stdout] | [INFO] [stdout] 303 | for c in constraint_max_score { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 303 - for c in constraint_max_score { [INFO] [stdout] 303 + while let Some(c) = constraint_max_score { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 303 - for c in constraint_max_score { [INFO] [stdout] 303 + if let Some(c) = constraint_max_score { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OVERALL_SCORE` is never used [INFO] [stdout] --> command/src/path_formatter.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const OVERALL_SCORE: &str = "{score}"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OVERALL_SCORE_SHORT` is never used [INFO] [stdout] --> command/src/path_formatter.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const OVERALL_SCORE_SHORT: &str = "%S"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_ID` is never used [INFO] [stdout] --> command/src/path_formatter.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const NODE_ID: &str = "{id}"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_ID_SHORT` is never used [INFO] [stdout] --> command/src/path_formatter.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const NODE_ID_SHORT: &str = "%i"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REPEAT` is never used [INFO] [stdout] --> command/src/path_formatter.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const REPEAT: &str = "..."; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-cycle.rs:303:14 [INFO] [stdout] | [INFO] [stdout] 303 | for c in constraint_min_length { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 303 - for c in constraint_min_length { [INFO] [stdout] 303 + while let Some(c) = constraint_min_length { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 303 - for c in constraint_min_length { [INFO] [stdout] 303 + if let Some(c) = constraint_min_length { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-cycle.rs:306:14 [INFO] [stdout] | [INFO] [stdout] 306 | for c in constraint_max_length { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 306 - for c in constraint_max_length { [INFO] [stdout] 306 + while let Some(c) = constraint_max_length { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 306 - for c in constraint_max_length { [INFO] [stdout] 306 + if let Some(c) = constraint_max_length { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-cycle.rs:312:14 [INFO] [stdout] | [INFO] [stdout] 312 | for c in constraint_min_score { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 312 - for c in constraint_min_score { [INFO] [stdout] 312 + while let Some(c) = constraint_min_score { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 312 - for c in constraint_min_score { [INFO] [stdout] 312 + if let Some(c) = constraint_min_score { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> command/src/bin/gc-cycle.rs:315:14 [INFO] [stdout] | [INFO] [stdout] 315 | for c in constraint_max_score { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 315 - for c in constraint_max_score { [INFO] [stdout] 315 + while let Some(c) = constraint_max_score { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 315 - for c in constraint_max_score { [INFO] [stdout] 315 + if let Some(c) = constraint_max_score { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/algorithm/topo_sort.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn try_dag(graph: &DirectedGraph) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ --- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 25 | pub fn try_dag(graph: &DirectedGraph) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_best.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 54 | graph: &DirectedGraph, [INFO] [stdout] | ^^^^^^^^^^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 57 | ) -> BestFirstIter [INFO] [stdout] | ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 57 | ) -> BestFirstIter<'_, F> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_best.rs:70:30 [INFO] [stdout] | [INFO] [stdout] 70 | fn empty_best_iter(graph: &DirectedGraph, scorefn: F) -> BestFirstIter [INFO] [stdout] | ^^^^^^^^^^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 70 | fn empty_best_iter(graph: &DirectedGraph, scorefn: F) -> BestFirstIter<'_, F> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_best_constraint.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | graph: &DirectedGraph, [INFO] [stdout] | ^^^^^^^^^^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 64 | ) -> ConstrainedBestFirstIter [INFO] [stdout] | --------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 64 | ) -> ConstrainedBestFirstIter<'_, F> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_best_constraint.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 77 | graph: &DirectedGraph, [INFO] [stdout] | ^^^^^^^^^^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 80 | ) -> ConstrainedBestFirstIter [INFO] [stdout] | --------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 80 | ) -> ConstrainedBestFirstIter<'_, F> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_breadth.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn bfs_iter(graph: &DirectedGraph) -> BreadthFirstIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 38 | pub fn bfs_iter(graph: &DirectedGraph) -> BreadthFirstIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_breadth.rs:46:29 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn bfs_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> BreadthFirstIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 46 | pub fn bfs_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> BreadthFirstIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_breadth.rs:54:26 [INFO] [stdout] | [INFO] [stdout] 54 | fn empty_bfs_iter(graph: &DirectedGraph) -> BreadthFirstIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 54 | fn empty_bfs_iter(graph: &DirectedGraph) -> BreadthFirstIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_breadth.rs:93:34 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn bfs_path_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> BreadthFirstPathIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ -------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 93 | pub fn bfs_path_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> BreadthFirstPathIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_breadth.rs:100:31 [INFO] [stdout] | [INFO] [stdout] 100 | fn empty_bfs_path_iter(graph: &DirectedGraph) -> BreadthFirstPathIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ -------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 100 | fn empty_bfs_path_iter(graph: &DirectedGraph) -> BreadthFirstPathIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_cycle.rs:113:26 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn cycle_iter(graph: &DirectedGraph) -> CycleIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 113 | pub fn cycle_iter(graph: &DirectedGraph) -> CycleIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_cycle.rs:124:28 [INFO] [stdout] | [INFO] [stdout] 124 | fn empty_cycle_iter(graph: &DirectedGraph) -> CycleIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 124 | fn empty_cycle_iter(graph: &DirectedGraph) -> CycleIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_depth.rs:43:24 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn dfs_iter(graph: &DirectedGraph) -> DepthFirstIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 43 | pub fn dfs_iter(graph: &DirectedGraph) -> DepthFirstIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_depth.rs:51:29 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn dfs_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> DepthFirstIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 51 | pub fn dfs_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> DepthFirstIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_depth.rs:59:26 [INFO] [stdout] | [INFO] [stdout] 59 | fn empty_dfs_iter(graph: &DirectedGraph) -> DepthFirstIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 59 | fn empty_dfs_iter(graph: &DirectedGraph) -> DepthFirstIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_depth.rs:102:34 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn dfs_iter_path_from(graph: &DirectedGraph, start_vertex: VertexId) -> DepthFirstPathIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 102 | pub fn dfs_iter_path_from(graph: &DirectedGraph, start_vertex: VertexId) -> DepthFirstPathIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> core/src/iter/iter_depth.rs:109:31 [INFO] [stdout] | [INFO] [stdout] 109 | fn empty_dfs_path_iter(graph: &DirectedGraph) -> DepthFirstPathIter { [INFO] [stdout] | ^^^^^^^^^^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 109 | fn empty_dfs_path_iter(graph: &DirectedGraph) -> DepthFirstPathIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 6.41s [INFO] running `Command { std: "docker" "inspect" "5719580485ffe786faaed14165319ab85351bc8a839cdea4b332635dfa1c00f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5719580485ffe786faaed14165319ab85351bc8a839cdea4b332635dfa1c00f7", kill_on_drop: false }` [INFO] [stdout] 5719580485ffe786faaed14165319ab85351bc8a839cdea4b332635dfa1c00f7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 4e33f832d4ff5d4af95f87c98edff826ebcb2b29b4039d367170c86793c67e2e [INFO] running `Command { std: "docker" "start" "-a" "4e33f832d4ff5d4af95f87c98edff826ebcb2b29b4039d367170c86793c67e2e", kill_on_drop: false }` [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> core/src/algorithm/topo_sort.rs:25:23 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn try_dag(graph: &DirectedGraph) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^ --- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 25 | pub fn try_dag(graph: &DirectedGraph) -> Option> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> core/src/iter/iter_best.rs:54:12 [INFO] [stderr] | [INFO] [stderr] 54 | graph: &DirectedGraph, [INFO] [stderr] | ^^^^^^^^^^^^^^ this lifetime flows to the output [INFO] [stderr] ... [INFO] [stderr] 57 | ) -> BestFirstIter [INFO] [stderr] | ---------------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 57 | ) -> BestFirstIter<'_, F> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> core/src/iter/iter_best.rs:70:30 [INFO] [stderr] | [INFO] [stderr] 70 | fn empty_best_iter(graph: &DirectedGraph, scorefn: F) -> BestFirstIter [INFO] [stderr] | ^^^^^^^^^^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 70 | fn empty_best_iter(graph: &DirectedGraph, scorefn: F) -> BestFirstIter<'_, F> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> core/src/iter/iter_best_constraint.rs:60:12 [INFO] [stderr] | [INFO] [stderr] 60 | graph: &DirectedGraph, [INFO] [stderr] | ^^^^^^^^^^^^^^ this lifetime flows to the output [INFO] [stderr] ... [INFO] [stderr] 64 | ) -> ConstrainedBestFirstIter [INFO] [stderr] | --------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 64 | ) -> ConstrainedBestFirstIter<'_, F> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> core/src/iter/iter_best_constraint.rs:77:12 [INFO] [stderr] | [INFO] [stderr] 77 | graph: &DirectedGraph, [INFO] [stderr] | ^^^^^^^^^^^^^^ this lifetime flows to the output [INFO] [stderr] ... [INFO] [stderr] 80 | ) -> ConstrainedBestFirstIter [INFO] [stderr] | --------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 80 | ) -> ConstrainedBestFirstIter<'_, F> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> core/src/iter/iter_breadth.rs:38:24 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn bfs_iter(graph: &DirectedGraph) -> BreadthFirstIter { [INFO] [stderr] | ^^^^^^^^^^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 38 | pub fn bfs_iter(graph: &DirectedGraph) -> BreadthFirstIter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> core/src/iter/iter_breadth.rs:46:29 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn bfs_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> BreadthFirstIter { [INFO] [stderr] | ^^^^^^^^^^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 46 | pub fn bfs_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> BreadthFirstIter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> core/src/iter/iter_breadth.rs:54:26 [INFO] [stderr] | [INFO] [stderr] 54 | fn empty_bfs_iter(graph: &DirectedGraph) -> BreadthFirstIter { [INFO] [stderr] | ^^^^^^^^^^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 54 | fn empty_bfs_iter(graph: &DirectedGraph) -> BreadthFirstIter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> core/src/iter/iter_breadth.rs:93:34 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn bfs_path_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> BreadthFirstPathIter { [INFO] [stderr] | ^^^^^^^^^^^^^^ -------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 93 | pub fn bfs_path_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> BreadthFirstPathIter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> core/src/iter/iter_breadth.rs:100:31 [INFO] [stderr] | [INFO] [stderr] 100 | fn empty_bfs_path_iter(graph: &DirectedGraph) -> BreadthFirstPathIter { [INFO] [stderr] | ^^^^^^^^^^^^^^ -------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 100 | fn empty_bfs_path_iter(graph: &DirectedGraph) -> BreadthFirstPathIter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> core/src/iter/iter_cycle.rs:113:26 [INFO] [stderr] | [INFO] [stderr] 113 | pub fn cycle_iter(graph: &DirectedGraph) -> CycleIter { [INFO] [stderr] | ^^^^^^^^^^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 113 | pub fn cycle_iter(graph: &DirectedGraph) -> CycleIter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> core/src/iter/iter_cycle.rs:124:28 [INFO] [stderr] | [INFO] [stderr] 124 | fn empty_cycle_iter(graph: &DirectedGraph) -> CycleIter { [INFO] [stderr] | ^^^^^^^^^^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 124 | fn empty_cycle_iter(graph: &DirectedGraph) -> CycleIter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> core/src/iter/iter_depth.rs:43:24 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn dfs_iter(graph: &DirectedGraph) -> DepthFirstIter { [INFO] [stderr] | ^^^^^^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 43 | pub fn dfs_iter(graph: &DirectedGraph) -> DepthFirstIter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> core/src/iter/iter_depth.rs:51:29 [INFO] [stderr] | [INFO] [stderr] 51 | pub fn dfs_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> DepthFirstIter { [INFO] [stderr] | ^^^^^^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 51 | pub fn dfs_iter_from(graph: &DirectedGraph, start_vertex: VertexId) -> DepthFirstIter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> core/src/iter/iter_depth.rs:59:26 [INFO] [stderr] | [INFO] [stderr] 59 | fn empty_dfs_iter(graph: &DirectedGraph) -> DepthFirstIter { [INFO] [stderr] | ^^^^^^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 59 | fn empty_dfs_iter(graph: &DirectedGraph) -> DepthFirstIter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> core/src/iter/iter_depth.rs:102:34 [INFO] [stderr] | [INFO] [stderr] 102 | pub fn dfs_iter_path_from(graph: &DirectedGraph, start_vertex: VertexId) -> DepthFirstPathIter { [INFO] [stderr] | ^^^^^^^^^^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 102 | pub fn dfs_iter_path_from(graph: &DirectedGraph, start_vertex: VertexId) -> DepthFirstPathIter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> core/src/iter/iter_depth.rs:109:31 [INFO] [stderr] | [INFO] [stderr] 109 | fn empty_dfs_path_iter(graph: &DirectedGraph) -> DepthFirstPathIter { [INFO] [stderr] | ^^^^^^^^^^^^^^ ------------------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 109 | fn empty_dfs_path_iter(graph: &DirectedGraph) -> DepthFirstPathIter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `gc-core` (lib) generated 17 warnings (run `cargo fix --lib -p gc-core` to apply 17 suggestions) [INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> command/src/graph_utils.rs:60:35 [INFO] [stderr] | [INFO] [stderr] 60 | Err(io_err) => Err(io_err.description().to_string()), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant `OVERALL_SCORE` is never used [INFO] [stderr] --> command/src/path_formatter.rs:4:7 [INFO] [stderr] | [INFO] [stderr] 4 | const OVERALL_SCORE: &str = "{score}"; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant `OVERALL_SCORE_SHORT` is never used [INFO] [stderr] --> command/src/path_formatter.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | const OVERALL_SCORE_SHORT: &str = "%S"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `NODE_ID` is never used [INFO] [stderr] --> command/src/path_formatter.rs:6:7 [INFO] [stderr] | [INFO] [stderr] 6 | const NODE_ID: &str = "{id}"; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `NODE_ID_SHORT` is never used [INFO] [stderr] --> command/src/path_formatter.rs:7:7 [INFO] [stderr] | [INFO] [stderr] 7 | const NODE_ID_SHORT: &str = "%i"; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `REPEAT` is never used [INFO] [stderr] --> command/src/path_formatter.rs:8:7 [INFO] [stderr] | [INFO] [stderr] 8 | const REPEAT: &str = "..."; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `gc-command` (lib) generated 6 warnings [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> command/src/bin/gc-csp.rs:242:33 [INFO] [stderr] | [INFO] [stderr] 242 | use gc_core::search::a_star;; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> command/src/bin/gc-csp.rs:282:14 [INFO] [stderr] | [INFO] [stderr] 282 | for c in constraint_ordered { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 282 - for c in constraint_ordered { [INFO] [stderr] 282 + while let Some(c) = constraint_ordered { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 282 - for c in constraint_ordered { [INFO] [stderr] 282 + if let Some(c) = constraint_ordered { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> command/src/bin/gc-csp.rs:285:14 [INFO] [stderr] | [INFO] [stderr] 285 | for c in constraint_include_cycle { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 285 - for c in constraint_include_cycle { [INFO] [stderr] 285 + while let Some(c) = constraint_include_cycle { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 285 - for c in constraint_include_cycle { [INFO] [stderr] 285 + if let Some(c) = constraint_include_cycle { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> command/src/bin/gc-csp.rs:288:14 [INFO] [stderr] | [INFO] [stderr] 288 | for c in constraint_no_cycle { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 288 - for c in constraint_no_cycle { [INFO] [stderr] 288 + while let Some(c) = constraint_no_cycle { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 288 - for c in constraint_no_cycle { [INFO] [stderr] 288 + if let Some(c) = constraint_no_cycle { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> command/src/bin/gc-csp.rs:291:14 [INFO] [stderr] | [INFO] [stderr] 291 | for c in constraint_min_length { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 291 - for c in constraint_min_length { [INFO] [stderr] 291 + while let Some(c) = constraint_min_length { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 291 - for c in constraint_min_length { [INFO] [stderr] 291 + if let Some(c) = constraint_min_length { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> command/src/bin/gc-csp.rs:294:14 [INFO] [stderr] | [INFO] [stderr] 294 | for c in constraint_max_length { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 294 - for c in constraint_max_length { [INFO] [stderr] 294 + while let Some(c) = constraint_max_length { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 294 - for c in constraint_max_length { [INFO] [stderr] 294 + if let Some(c) = constraint_max_length { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> command/src/bin/gc-csp.rs:300:14 [INFO] [stderr] | [INFO] [stderr] 300 | for c in constraint_min_score { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 300 - for c in constraint_min_score { [INFO] [stderr] 300 + while let Some(c) = constraint_min_score { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 300 - for c in constraint_min_score { [INFO] [stderr] 300 + if let Some(c) = constraint_min_score { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> command/src/bin/gc-csp.rs:303:14 [INFO] [stderr] | [INFO] [stderr] 303 | for c in constraint_max_score { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 303 - for c in constraint_max_score { [INFO] [stderr] 303 + while let Some(c) = constraint_max_score { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 303 - for c in constraint_max_score { [INFO] [stderr] 303 + if let Some(c) = constraint_max_score { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `gc-command` (bin "gc-csp" test) generated 8 warnings [INFO] [stderr] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> command/src/bin/gc-cycle.rs:303:14 [INFO] [stderr] | [INFO] [stderr] 303 | for c in constraint_min_length { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 303 - for c in constraint_min_length { [INFO] [stderr] 303 + while let Some(c) = constraint_min_length { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 303 - for c in constraint_min_length { [INFO] [stderr] 303 + if let Some(c) = constraint_min_length { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> command/src/bin/gc-cycle.rs:306:14 [INFO] [stderr] | [INFO] [stderr] 306 | for c in constraint_max_length { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 306 - for c in constraint_max_length { [INFO] [stderr] 306 + while let Some(c) = constraint_max_length { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 306 - for c in constraint_max_length { [INFO] [stderr] 306 + if let Some(c) = constraint_max_length { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> command/src/bin/gc-cycle.rs:312:14 [INFO] [stderr] | [INFO] [stderr] 312 | for c in constraint_min_score { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 312 - for c in constraint_min_score { [INFO] [stderr] 312 + while let Some(c) = constraint_min_score { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 312 - for c in constraint_min_score { [INFO] [stderr] 312 + if let Some(c) = constraint_min_score { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> command/src/bin/gc-cycle.rs:315:14 [INFO] [stderr] | [INFO] [stderr] 315 | for c in constraint_max_score { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 315 - for c in constraint_max_score { [INFO] [stderr] 315 + while let Some(c) = constraint_max_score { [INFO] [stderr] | [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 315 - for c in constraint_max_score { [INFO] [stderr] 315 + if let Some(c) = constraint_max_score { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `gc-command` (bin "gc-cycle" test) generated 4 warnings [INFO] [stderr] warning: unused import: `itertools::Itertools` [INFO] [stderr] --> command/src/bin/gc-random.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use itertools::Itertools; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `gc-command` (bin "gc-random" test) generated 1 warning (run `cargo fix --bin "gc-random" --tests` to apply 1 suggestion) [INFO] [stderr] warning: `gc-command` (lib test) generated 6 warnings (6 duplicates) [INFO] [stderr] warning: `gc-core` (lib test) generated 17 warnings (17 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/gc_command-eba1b87ed0c7b9f1) [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] [stderr] Running unittests src/bin/gc-add.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/gc_add-6df2c91e3450b342) [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/gc-build.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/gc_build-9d6048c2094a2af0) [INFO] [stdout] running 0 tests [INFO] [stderr] Running unittests src/bin/gc-clean.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/gc_clean-75a38c8593dcd7f4) [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] [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] [stderr] Running unittests src/bin/gc-csp.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/gc_csp-e88172ed392dc25b) [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/gc-cycle.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/gc_cycle-a0521cc3b5fd7e76) [INFO] [stdout] running 0 tests [INFO] [stderr] Running unittests src/bin/gc-delete.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/gc_delete-6f114c93ca1a99b4) [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/gc-desc.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/gc_desc-eec27a08a10eeae2) [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [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] [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] [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] [stdout] [INFO] [stderr] Running unittests src/bin/gc-init.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/gc_init-b69cd50bf0460331) [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] [stderr] Running unittests src/bin/gc-random.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/gc_random-4f58601e8a6db3e2) [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] [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] [stderr] Running unittests src/bin/gc-short-path.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/gc_short_path-2dafbe9a1ff213af) [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] [stderr] Running unittests src/bin/gc-topo-sort.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/gc_topo_sort-e184b158685d3edf) [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] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/gc_core-5186596d17180c44) [INFO] [stdout] [INFO] [stdout] running 144 tests [INFO] [stdout] test algorithm::hamiltonian::tests::is_hamiltonian_should_return_true_for_an_empty_graph_by_convention ... ok [INFO] [stdout] test algorithm::hamiltonian::tests::first_path_should_return_a_path_if_graph_has_one_hamiltonian_cycle ... ok [INFO] [stdout] test algorithm::hamiltonian::tests::iter_hamiltonian_paths_should_return_all_distinct_hamiltonian_path_3 ... ok [INFO] [stdout] test algorithm::hamiltonian::tests::iter_hamiltonian_paths_should_return_all_distinct_hamiltonian_path_2 ... ok [INFO] [stdout] test algorithm::hamiltonian::tests::iter_hamiltonian_paths_should_return_all_distinct_hamiltonian_path_4 ... ok [INFO] [stdout] test algorithm::longest_path::tests::dag_longest_path_should_find_the_longest_path_in_a_dag ... ok [INFO] [stdout] test algorithm::max_flow::tests::max_flow_should_compute_maximum_flow_in_a_simple_graph_1 ... ok [INFO] [stdout] test algorithm::shortest_path::tests::bfm_shortest_paths_should_find_all_shortest_paths_from_source_vertex_in_a_dag ... ok [INFO] [stdout] test algorithm::shortest_path::tests::dag_shortest_paths_should_find_all_shortest_paths_from_source_vertex_in_a_dag ... ok [INFO] [stdout] test algorithm::topo_sort::tests::topological_order_on_a_dag_returns_correct_order_1 ... ok [INFO] [stdout] test algorithm::shortest_path::tests::spfa_shortest_paths_should_find_all_shortest_paths_from_source_vertex_in_a_dag ... ok [INFO] [stdout] test algorithm::max_flow::tests::max_flow_should_compute_maximum_flow_in_a_simple_graph_3 ... ok [INFO] [stdout] test algorithm::hamiltonian::tests::first_path_should_return_none_if_there_is_no_hamiltonian_path ... ok [INFO] [stdout] test algorithm::shortest_path::tests::dag_shortest_path_should_find_the_shortest_path_in_a_dag ... ok [INFO] [stdout] test algorithm::topo_sort::tests::topological_order_on_a_dag_returns_correct_order_2 ... ok [INFO] [stdout] test algorithm::topo_sort::tests::topological_order_on_a_graph_with_a_cycle_is_empty_2 ... ok [INFO] [stdout] test algorithm::hamiltonian::tests::iter_hamiltonian_paths_should_return_all_distinct_hamiltonian_path_1 ... ok [INFO] [stdout] test algorithm::topo_sort::tests::topological_order_on_a_graph_with_a_cycle_is_empty_3 ... ok [INFO] [stdout] test constraint::checker::tests::check_min_max_length_should_accept_compatible_min_and_max_length_constraint ... ok [INFO] [stdout] test algorithm::topo_sort::tests::topological_order_on_an_empty_graph_is_empty ... ok [INFO] [stdout] test constraint::checker::tests::check_min_max_length_should_reject_incompatible_max_length_constraint ... ok [INFO] [stdout] test constraint::checker::tests::check_min_max_length_should_reject_incompatible_min_and_max_score_constraint ... ok [INFO] [stdout] test constraint::checker::tests::check_min_max_length_should_accept_compatible_min_and_max_score_constraint ... ok [INFO] [stdout] test constraint::checker::tests::check_min_max_length_should_reject_incompatible_min_and_max_length_constraint ... ok [INFO] [stdout] test constraint::checker::tests::check_min_max_length_should_reject_incompatible_min_length_constraint ... ok [INFO] [stdout] test constraint::checker::tests::check_vertex_inclusion_exclusion_should_reject_when_a_vertex_is_included_and_excluded_at_the_same_time_1 ... ok [INFO] [stdout] test constraint::constraint::tests::complete_and_should_be_false_if_at_least_one_constraint_is_not_met ... ok [INFO] [stdout] test constraint::checker::tests::check_min_max_length_should_reject_incompatible_max_score_constraint ... ok [INFO] [stdout] test constraint::checker::tests::check_min_max_length_should_reject_incompatible_min_score_constraint ... ok [INFO] [stdout] test constraint::constraint::tests::complete_and_should_be_true_if_both_constraints_are_met ... ok [INFO] [stdout] test constraint::checker::tests::check_vertex_inclusion_exclusion_should_accept_when_vertices_inclusion_and_exclusion_are_compatible ... ok [INFO] [stdout] test constraint::constraint::tests::complete_contains_vertex_should_ensure_path_has_a_given_vertex ... ok [INFO] [stdout] test constraint::constraint::tests::complete_contains_edge_should_ensure_path_has_a_given_edge ... ok [INFO] [stdout] test constraint::constraint::tests::complete_min_length_should_allow_only_path_with_a_minimum_length ... ok [INFO] [stdout] test constraint::constraint::tests::complete_not_should_false_when_wrapped_constraint_is_true ... ok [INFO] [stdout] test constraint::constraint::tests::complete_min_score_should_allow_only_path_with_a_minimum_score ... ok [INFO] [stdout] test constraint::constraint::tests::complete_not_should_true_when_wrapped_constraint_is_false ... ok [INFO] [stdout] test constraint::constraint::tests::complete_or_should_be_false_if_none_of_the_constraints_can_be_met ... ok [INFO] [stdout] test constraint::constraint::tests::complete_or_should_be_true_if_any_of_the_constraints_is_met ... ok [INFO] [stdout] test constraint::constraint::tests::complete_xor_should_be_true_if_only_one_out_of_two_constraint_is_met ... ok [INFO] [stdout] test constraint::constraint::tests::complete_ordered_vertices_should_detect_invalid_path ... ok [INFO] [stdout] test constraint::constraint::tests::contains_cycle_should_always_be_true_on_partial_path ... ok [INFO] [stdout] test constraint::constraint::tests::complete_max_length_should_allow_only_path_up_to_max_length ... ok [INFO] [stdout] test constraint::constraint::tests::complete_max_score_should_allow_only_path_up_to_max_score ... ok [INFO] [stdout] test constraint::constraint::tests::contains_cycle_should_be_true_on_complete_path_with_one_cycle ... ok [INFO] [stdout] test constraint::constraint::tests::contains_cycle_should_be_true_on_partial_path_with_an_actual_cycle ... ok [INFO] [stdout] test constraint::constraint::tests::partial_and_should_be_false_if_any_of_the_constraint_cannot_be_met ... ok [INFO] [stdout] test constraint::constraint::tests::partial_and_should_be_true_if_both_constraints_can_still_be_met ... ok [INFO] [stdout] test constraint::constraint::tests::partial_contains_edge_should_always_be_true ... ok [INFO] [stdout] test constraint::constraint::tests::partial_contains_vertex_should_always_be_true ... ok [INFO] [stdout] test constraint::constraint::tests::partial_max_length_should_allow_a_shorter_path ... ok [INFO] [stdout] test constraint::constraint::tests::partial_max_length_should_allow_a_smaller_score ... ok [INFO] [stdout] test constraint::constraint::tests::partial_max_score_should_reject_a_too_high_score ... ok [INFO] [stdout] test constraint::constraint::tests::partial_max_score_should_reject_a_too_long_path ... ok [INFO] [stdout] test constraint::constraint::tests::partial_min_length_should_allow_any_path ... ok [INFO] [stdout] test constraint::constraint::tests::partial_min_score_should_allow_any_path ... ok [INFO] [stdout] test constraint::constraint::tests::partial_not_should_always_be_true ... ok [INFO] [stdout] test constraint::constraint::tests::partial_or_should_be_false_if_none_of_the_constraints_can_be_met ... ok [INFO] [stdout] test constraint::constraint::tests::contains_cycle_should_be_false_on_complete_path_without_cycle ... ok [INFO] [stdout] test constraint::constraint::tests::contains_cycle_should_be_true_on_complete_path_with_more_than_one_cycle ... ok [INFO] [stdout] test constraint::constraint::tests::partial_or_should_be_true_if_any_of_the_constraints_can_still_be_met ... ok [INFO] [stdout] test constraint::constraint::tests::partial_ordered_vertices_should_detect_invalid_path ... ok [INFO] [stdout] test constraint::constraint::tests::partial_xor_should_be_true_if_both_constraints_can_still_be_met ... ok [INFO] [stdout] test constraint::constraint::tests::partial_ordered_vertices_should_allow_correct_partial_path ... ok [INFO] [stdout] test constraint::constraint::tests::partial_xor_should_be_false_if_both_the_constraints_are_met_or_not_met ... ok [INFO] [stdout] test constraint::constraint::tests::partial_xor_should_be_true_if_one_of_the_constraints_can_still_be_met ... ok [INFO] [stdout] test constraint::constraint::tests::partial_xor_should_be_false_if_both_the_constraints_cannot_be_met ... ok [INFO] [stdout] test directed_graph::test::test_add_edge_with_existing_vertices_works ... ok [INFO] [stdout] test directed_graph::test::test_add_vertex ... ok [INFO] [stdout] test directed_graph::test::test_adding_a_vertex_several_times_has_no_effect ... ok [INFO] [stdout] test directed_graph::test::test_add_edge_with_non_existing_vertices_works ... ok [INFO] [stdout] test directed_graph::test::test_adding_an_edge_does_not_add_the_reverted_edge ... ok [INFO] [stdout] test directed_graph::test::test_remove_existing_vertex_removes_all_related_edges_too ... ok [INFO] [stdout] test directed_graph::test::test_adding_an_edge_several_times_has_no_effect ... ok [INFO] [stdout] test directed_graph::test::test_remove_existing_vertex_work ... ok [INFO] [stdout] test directed_graph::test::test_remove_non_existing_edge_has_no_effect ... ok [INFO] [stdout] test directed_graph::test::test_removing_a_vertex_several_times_has_no_effect ... ok [INFO] [stdout] test directed_graph::test::test_removing_an_edge_removes_all_occurences_of_this_edge ... ok [INFO] [stdout] test algorithm::max_flow::tests::max_flow_should_compute_maximum_flow_in_a_simple_graph_2 ... ok [INFO] [stdout] test algorithm::longest_path::tests::dag_longest_paths_should_find_all_longest_paths_from_source_vertex_in_a_dag ... ok [INFO] [stdout] test directed_graph::test::test_remove_non_existing_vertex_has_no_effect ... ok [INFO] [stdout] test directed_graph::test::test_removing_an_edge_removes_only_that_edge ... ok [INFO] [stdout] test directed_graph::test::test_removing_an_edge_several_times_has_no_effect ... ok [INFO] [stdout] test directed_graph::test::test_removing_non_existing_vertex_has_no_effect ... ok [INFO] [stdout] test format::gcmd::tests::command_into_line_translate_add_edge ... ok [INFO] [stdout] test format::gcmd::tests::command_into_line_translate_remove_vertex ... ok [INFO] [stdout] test format::gcmd::tests::command_into_line_translate_add_vertex ... ok [INFO] [stdout] test format::gcmd::tests::command_into_line_translate_remove_edge ... ok [INFO] [stdout] test format::gcmd::tests::parse_add_edge_line_should_work ... ok [INFO] [stdout] test format::tgf::tests::parse_edge_line_with_label_should_work ... ok [INFO] [stdout] test format::tgf::tests::parse_edge_line_without_label_should_work ... ok [INFO] [stdout] test format::gcmd::tests::parse_add_vertex_line_should_work ... ok [INFO] [stdout] test format::gcmd::tests::parse_remove_edge_line_should_work ... ok [INFO] [stdout] test iter::iter_best::tests::best_iterator_does_not_loop_when_encountering_a_cycle ... ok [INFO] [stdout] test iter::iter_best::tests::best_iterator_from_on_a_one_node_graph_should_return_a_one_node_path ... ok [INFO] [stdout] test iter::iter_best::tests::best_iterator_return_reachable_nodes_in_a_best_first_search_order ... ok [INFO] [stdout] test iter::iter_breadth::tests::bfs_iterator_does_not_loop_when_encountering_a_cycle ... ok [INFO] [stdout] test format::tgf::tests::parse_vertex_line_with_label_should_work ... ok [INFO] [stdout] test format::tgf::tests::parse_ill_formatted_line_should_fail ... ok [INFO] [stdout] test iter::iter_breadth::tests::bfs_iterator_from_on_a_one_node_graph_should_return_the_only_node ... ok [INFO] [stdout] test iter::iter_breadth::tests::bfs_iterator_on_an_empty_graph_should_be_empty ... ok [INFO] [stdout] test iter::iter_breadth::tests::bfs_iterator_on_a_one_node_graph_should_return_one_node ... ok [INFO] [stdout] test format::tgf::tests::parse_vertex_line_without_label_should_work ... ok [INFO] [stdout] test format::gcmd::tests::parse_remove_vertex_line_should_work ... ok [INFO] [stdout] test iter::iter_breadth::tests::bfs_iterator_return_reachable_nodes_in_a_breadth_first_search_order ... ok [INFO] [stdout] test format::gcmd::tests::parse_ill_formatted_line_should_fail ... ok [INFO] [stdout] test iter::iter_cycle::tests::canonical_cycle_should_always_start_with_smallest_vertex ... ok [INFO] [stdout] test iter::iter_breadth::tests::bfs_path_iterator_return_path_for_all_reachable_nodes_in_a_breadth_first_search_order ... ok [INFO] [stdout] test iter::iter_cycle::tests::cycle_iterator_does_not_work_on_a_all_disconnected_graph ... ok [INFO] [stdout] test iter::iter_cycle::tests::extract_canonical_cycle_from_last_should_return_a_cycle_involving_the_last_element_if_it_exists ... ok [INFO] [stdout] test iter::iter_cycle::tests::cycle_iterator_should_return_all_cycles_in_graph_3 ... ok [INFO] [stdout] test iter::iter_cycle::tests::cycle_iterator_should_return_all_cycles_in_graph_2 ... ok [INFO] [stdout] test iter::iter_cycle::tests::extract_canonical_cycle_from_last_should_return_none_if_there_is_no_cycle_involving_the_last_element ... ok [INFO] [stdout] test iter::iter_cycle::tests::length_of_cycle_is_number_of_vertices ... ok [INFO] [stdout] test iter::iter_cycle::tests::extract_canonical_cycle_from_last_should_return_none_if_there_is_no_cycle_at_all ... ok [INFO] [stdout] test iter::iter_cycle::tests::cycle_iterator_should_return_all_cycles_in_graph_1 ... ok [INFO] [stdout] test iter::iter_datastructure::tests::max_priority_queue_should_have_len_zero_when_empty ... ok [INFO] [stdout] test iter::iter_datastructure::tests::max_priority_queue_pop_should_return_none_when_empty ... ok [INFO] [stdout] test iter::iter_datastructure::tests::max_priority_queue_should_pop_entries_in_decreasing_order ... ok [INFO] [stdout] test iter::iter_datastructure::tests::max_priority_queue_should_store_all_enqueued_entries ... ok [INFO] [stdout] test iter::iter_datastructure::tests::min_priority_queue_pop_should_return_none_when_empty ... ok [INFO] [stdout] test iter::iter_datastructure::tests::min_priority_queue_should_have_len_zero_when_empty ... ok [INFO] [stdout] test iter::iter_datastructure::tests::min_priority_queue_should_store_all_enqueued_entries ... ok [INFO] [stdout] test iter::iter_datastructure::tests::min_priority_queue_should_pop_entries_in_increasing_order ... ok [INFO] [stdout] test iter::iter_datastructure::tests::queue_should_have_len_zero_when_empty ... ok [INFO] [stdout] test iter::iter_datastructure::tests::queue_pop_should_return_none_when_empty ... ok [INFO] [stdout] test iter::iter_datastructure::tests::queue_should_pop_entries_in_fifo_order ... ok [INFO] [stdout] test iter::iter_datastructure::tests::queue_should_store_all_enqueued_entries ... ok [INFO] [stdout] test iter::iter_datastructure::tests::stack_should_have_len_zero_when_empty ... ok [INFO] [stdout] test iter::iter_datastructure::tests::stack_pop_should_return_none_when_empty ... ok [INFO] [stdout] test iter::iter_datastructure::tests::stack_should_pop_entries_in_lifo_order ... ok [INFO] [stdout] test iter::iter_datastructure::tests::stack_should_store_all_pushed_entries ... ok [INFO] [stdout] test iter::iter_depth::tests::dfs_iterator_from_on_a_one_node_graph_should_return_the_only_node ... ok [INFO] [stdout] test iter::iter_depth::tests::dfs_iterator_does_not_loop_when_encountering_a_cycle ... ok [INFO] [stdout] test iter::iter_depth::tests::dfs_iterator_on_a_one_node_graph_should_return_one_node ... ok [INFO] [stdout] test iter::iter_depth::tests::dfs_iterator_on_an_empty_graph_should_be_empty ... ok [INFO] [stdout] test iter::iter_depth::tests::dfs_iterator_return_reachable_nodes_in_a_depth_first_search_order ... ok [INFO] [stdout] test iter::iter_depth::tests::dfs_path_iterator_return_path_for_all_reachable_nodes_in_a_depth_first_search_order ... ok [INFO] [stdout] test search::a_star::tests::shortest_path_should_find_the_shortest_path_when_it_exists ... ok [INFO] [stdout] test search::a_star::tests::shortest_path_should_find_the_shortest_path_satisfying_constraints_when_it_exists ... ok [INFO] [stdout] test search::a_star::tests::shortest_path_should_return_none_when_no_path_exists ... ok [INFO] [stdout] test search::a_star::tests::shortest_path_should_return_none_when_no_shortest_path_satisfying_constraints_exists ... ok [INFO] [stdout] test algorithm::topo_sort::tests::topological_order_on_a_graph_with_a_cycle_is_empty_1 ... ok [INFO] [stdout] test algorithm::topo_sort::tests::topological_sort_should_work_on_a_big_number_of_chained_vertices ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 144 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s [INFO] [stdout] [INFO] [stderr] Doc-tests gc_command [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] [stderr] Doc-tests gc_core [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" "4e33f832d4ff5d4af95f87c98edff826ebcb2b29b4039d367170c86793c67e2e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4e33f832d4ff5d4af95f87c98edff826ebcb2b29b4039d367170c86793c67e2e", kill_on_drop: false }` [INFO] [stdout] 4e33f832d4ff5d4af95f87c98edff826ebcb2b29b4039d367170c86793c67e2e