[INFO] cloning repository https://github.com/ErikAndersen81/detour
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ErikAndersen81/detour" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FErikAndersen81%2Fdetour", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FErikAndersen81%2Fdetour'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6cd99e9d4ade35032b9a7770ca57e824daaba5d8
[INFO] testing ErikAndersen81/detour against 1.69.0 for beta-1.70-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FErikAndersen81%2Fdetour" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ErikAndersen81/detour on toolchain 1.69.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ErikAndersen81/detour
[INFO] finished tweaking git repo https://github.com/ErikAndersen81/detour
[INFO] tweaked toml for git repo https://github.com/ErikAndersen81/detour written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/ErikAndersen81/detour 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" "+1.69.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/ErikAndersen81/line_similarity.git`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded geographiclib-rs v0.2.0
[INFO] [stderr]   Downloaded rstar v0.8.3
[INFO] [stderr]   Downloaded geo-types v0.7.2
[INFO] [stderr]   Downloaded clap v3.0.6
[INFO] [stderr]   Downloaded geo v0.18.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e3664cba73a7b908d3068d978156ba3dcd85fe9518f8d9a44428498b6d860323
[INFO] running `Command { std: "docker" "start" "-a" "e3664cba73a7b908d3068d978156ba3dcd85fe9518f8d9a44428498b6d860323", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e3664cba73a7b908d3068d978156ba3dcd85fe9518f8d9a44428498b6d860323", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e3664cba73a7b908d3068d978156ba3dcd85fe9518f8d9a44428498b6d860323", kill_on_drop: false }`
[INFO] [stdout] e3664cba73a7b908d3068d978156ba3dcd85fe9518f8d9a44428498b6d860323
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 555d0102b334717fea5cb383877759266d2e2a9f5c194fde50c52268b5df9946
[INFO] running `Command { std: "docker" "start" "-a" "555d0102b334717fea5cb383877759266d2e2a9f5c194fde50c52268b5df9946", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling typenum v1.14.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling libc v0.2.103
[INFO] [stderr]    Compiling syn v1.0.86
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling serde_derive v1.0.136
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling heapless v0.6.1
[INFO] [stderr]    Compiling serde v1.0.136
[INFO] [stderr]    Compiling pdqselect v0.1.0
[INFO] [stderr]    Compiling smallvec v1.7.0
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling serde_json v1.0.79
[INFO] [stderr]    Compiling hash32 v0.1.1
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling robust v0.2.3
[INFO] [stderr]    Compiling ryu v1.0.9
[INFO] [stderr]    Compiling geographiclib-rs v0.2.0
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling itoa v1.0.1
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling fixedbitset v0.4.0
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling termcolor v1.1.2
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling textwrap v0.14.2
[INFO] [stderr]    Compiling itertools v0.10.1
[INFO] [stderr]    Compiling trajectory_similarity v0.1.0 (https://github.com/ErikAndersen81/line_similarity.git#0021da0a)
[INFO] [stderr]    Compiling quote v1.0.15
[INFO] [stderr]    Compiling os_str_bytes v6.0.0
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling clap v3.0.6
[INFO] [stderr]    Compiling generic-array v0.12.4
[INFO] [stderr]    Compiling generic-array v0.13.3
[INFO] [stderr]    Compiling approx v0.4.0
[INFO] [stderr]    Compiling as-slice v0.1.5
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling rstar v0.8.3
[INFO] [stderr]    Compiling geo-types v0.7.2
[INFO] [stderr]    Compiling geo v0.18.0
[INFO] [stderr]    Compiling petgraph v0.6.0
[INFO] [stderr]    Compiling detour v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::utility::trajectory::Monotone`
[INFO] [stdout]  --> src/graph/graph.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::utility::trajectory::Monotone;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CONFIG`
[INFO] [stdout]  --> src/graph/graph.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{CONFIG, OUTPUT, STATS};
[INFO] [stdout]   |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `set_edges_centroid_trjs`
[INFO] [stdout]  --> src/graph/graph_builder.rs:2:38
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::{path_builder::get_paths, set_edges_centroid_trjs, DetourGraph, PathBuilderStats};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `STATS`
[INFO] [stdout]  --> src/graph/node_clustering.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{from_epsg_3857_to_4326, STATS};
[INFO] [stdout]   |                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StableDiGraph`
[INFO] [stdout]  --> src/graph/node_clustering.rs:4:41
[INFO] [stdout]   |
[INFO] [stdout] 4 | use petgraph::stable_graph::{NodeIndex, StableDiGraph};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `petgraph::visit::EdgeRef`
[INFO] [stdout]  --> src/graph/node_clustering.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use petgraph::visit::EdgeRef;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/graph/node_clustering.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graph::get_graph`
[INFO] [stdout]   --> src/main.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 | use crate::{graph::get_graph, utility::visvalingam};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `total` is assigned to, but never used
[INFO] [stdout]    --> src/graph/edge_clustering.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let mut total = 0;
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_total` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `starttime`
[INFO] [stdout]   --> src/graph/node_clustering.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let starttime = format!("{:02}:{:02}:{:02}", start_h, start_m, start_s);
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_starttime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `endtime`
[INFO] [stdout]   --> src/graph/node_clustering.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let endtime = format!("{:02}:{:02}:{:02}", end_h, end_m, end_s);
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_endtime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dimensions`
[INFO] [stdout]   --> src/graph/node_clustering.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let dimensions = format!("{:.2}m x {:.2}m", bbox.x2 - bbox.x1, bbox.y2 - bbox.y1);
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dimensions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `coord`
[INFO] [stdout]   --> src/graph/node_clustering.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let coord = format!("{:.7},{:.7}", coord[0], coord[1]);
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_coord`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `graph` and `roots` are never read
[INFO] [stdout]   --> src/graph/graph.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct DetourGraph {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 25 |     graph: Graph,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 26 |     roots: Vec<NodeIndex>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DetourGraph` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/graph/graph.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn new() -> DetourGraph {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_graph` is never used
[INFO] [stdout]   --> src/graph/graph.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn set_graph(&mut self, new_graph: Graph, root_nodes: Vec<NodeIndex>) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_mut_graph` is never used
[INFO] [stdout]    --> src/graph/graph.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn get_mut_graph(&mut self) -> &mut Graph {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_graph` is never used
[INFO] [stdout]    --> src/graph/graph.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn get_graph(&self) -> &Graph {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_csv` is never used
[INFO] [stdout]    --> src/graph/graph.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn to_csv(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove_node` is never used
[INFO] [stdout]    --> src/graph/graph.rs:182:12
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn remove_node(&mut self, nx: NodeIndex) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_root_index` is never used
[INFO] [stdout]    --> src/graph/graph.rs:194:8
[INFO] [stdout]     |
[INFO] [stdout] 194 |     fn get_root_index(&self, nx: NodeIndex) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `node_indices` is never used
[INFO] [stdout]    --> src/graph/graph.rs:199:12
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn node_indices(&self) -> petgraph::stable_graph::NodeIndices<(u32, Bbox)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `edge_weights` is never used
[INFO] [stdout]    --> src/graph/graph.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn edge_weights(&self) -> Vec<&(u32, Vec<[f64; 3]>)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_node_bbox` is never used
[INFO] [stdout]    --> src/graph/graph.rs:210:12
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn get_node_bbox(&self, nx: NodeIndex) -> Bbox {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_node_weight` is never used
[INFO] [stdout]    --> src/graph/graph.rs:214:12
[INFO] [stdout]     |
[INFO] [stdout] 214 |     pub fn get_node_weight(&self, nx: NodeIndex) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_node_bbox` is never used
[INFO] [stdout]    --> src/graph/graph.rs:218:12
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn set_node_bbox(&mut self, nx: NodeIndex, bbox: Bbox) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_node_weight` is never used
[INFO] [stdout]    --> src/graph/graph.rs:222:12
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn set_node_weight(&mut self, nx: NodeIndex, weight: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `edges_directed` is never used
[INFO] [stdout]    --> src/graph/graph.rs:226:12
[INFO] [stdout]     |
[INFO] [stdout] 226 |     pub fn edges_directed(&self, nx: NodeIndex, dir: EdgeDirection) -> Vec<EdgeIndex> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `edge_trj_mut` is never used
[INFO] [stdout]    --> src/graph/graph.rs:233:12
[INFO] [stdout]     |
[INFO] [stdout] 233 |     pub fn edge_trj_mut(&mut self, ex: EdgeIndex) -> &mut Vec<[f64; 3]> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_edge_weight` is never used
[INFO] [stdout]    --> src/graph/graph.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 237 |     pub fn set_edge_weight(&mut self, ex: EdgeIndex, weight: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `verify_constraints` is never used
[INFO] [stdout]    --> src/graph/graph.rs:241:8
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn verify_constraints(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `verify_node` is never used
[INFO] [stdout]    --> src/graph/graph.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 279 |     fn verify_node(&self, nx: NodeIndex) -> (bool, bool, bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `verify_temporal_monotonicity` is never used
[INFO] [stdout]    --> src/graph/graph.rs:291:8
[INFO] [stdout]     |
[INFO] [stdout] 291 |     fn verify_temporal_monotonicity(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `root_reachable` is never used
[INFO] [stdout]    --> src/graph/graph.rs:317:8
[INFO] [stdout]     |
[INFO] [stdout] 317 |     fn root_reachable(&self, target: NodeIndex) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_path` is never used
[INFO] [stdout]    --> src/graph/graph.rs:340:12
[INFO] [stdout]     |
[INFO] [stdout] 340 |     pub fn add_path(&mut self, mut path: Path) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Graph` is never used
[INFO] [stdout]   --> src/graph/graph_builder.rs:12:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | type Graph = StableDiGraph<(u32, Bbox), (u32, Vec<[f64; 3]>)>;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_graph` is never used
[INFO] [stdout]   --> src/graph/graph_builder.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn get_graph(streams: Vec<Vec<[f64; 3]>>) -> DetourGraph {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `merge_nodes` is never used
[INFO] [stdout]   --> src/graph/graph_builder.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn merge_nodes(graph: &mut DetourGraph) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reassign_edges` is never used
[INFO] [stdout]    --> src/graph/graph_builder.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn reassign_edges(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_bbox` is never used
[INFO] [stdout]    --> src/graph/graph_builder.rs:227:4
[INFO] [stdout]     |
[INFO] [stdout] 227 | fn split_bbox(bbox: Bbox, splits: &[f64]) -> Vec<Bbox> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_temporal_splits` is never used
[INFO] [stdout]    --> src/graph/graph_builder.rs:240:4
[INFO] [stdout]     |
[INFO] [stdout] 240 | fn get_temporal_splits(trjs: Vec<(u32, Vec<[f64; 3]>)>) -> Vec<f64> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spatially_cluster_nodes` is never used
[INFO] [stdout]   --> src/graph/node_clustering.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn spatially_cluster_nodes(graph: &mut DetourGraph) -> Vec<Vec<NodeIndex>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_minimal_bbox` is never used
[INFO] [stdout]   --> src/graph/node_clustering.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn get_minimal_bbox(graph: &mut DetourGraph, cluster: &[NodeIndex]) -> Bbox {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resize_bboxs` is never used
[INFO] [stdout]    --> src/graph/node_clustering.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn resize_bboxs(graph: &mut DetourGraph, bbox: Bbox, cluster: &[NodeIndex]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_spatial_clustering` is never used
[INFO] [stdout]    --> src/graph/node_clustering.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn get_spatial_clustering(graph: &DetourGraph) -> Vec<Vec<NodeIndex>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/graph/path.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `verify` is never used
[INFO] [stdout]   --> src/graph/path.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn verify(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `expand_stops` is never used
[INFO] [stdout]   --> src/graph/path.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn expand_stops(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `merge_nodes` is never used
[INFO] [stdout]    --> src/graph/path.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn merge_nodes(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rm_single_points` is never used
[INFO] [stdout]    --> src/graph/path.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn rm_single_points(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `push` is never used
[INFO] [stdout]    --> src/graph/path.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub fn push(&mut self, path_element: PathElement) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_empty` is never used
[INFO] [stdout]    --> src/graph/path.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `last_element` is never used
[INFO] [stdout]    --> src/graph/path.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn last_element(&self) -> Option<PathElement> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]    --> src/graph/path.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove_first` is never used
[INFO] [stdout]    --> src/graph/path.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn remove_first(&mut self) -> PathElement {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove_last` is never used
[INFO] [stdout]    --> src/graph/path.rs:177:12
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn remove_last(&mut self) -> PathElement {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `next_trj_stop` is never used
[INFO] [stdout]    --> src/graph/path.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn next_trj_stop(&mut self) -> Option<(Trajectory, Bbox)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_trjs` is never used
[INFO] [stdout]    --> src/graph/path.rs:191:12
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub fn get_trjs(&self) -> Vec<Trajectory> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_paths` is never used
[INFO] [stdout]   --> src/graph/path_builder.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn get_paths(stream: Vec<[f64; 3]>, stats: &mut PathBuilderStats) -> Vec<Path> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_path` is never used
[INFO] [stdout]   --> src/graph/path_builder.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn build_path(stream: Vec<[f64; 3]>) -> Path {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PathBuilder` is never constructed
[INFO] [stdout]   --> src/graph/path_builder.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct PathBuilder {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/graph/path_builder.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn new() -> PathBuilder {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_pt` is never used
[INFO] [stdout]   --> src/graph/path_builder.rs:99:8
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn add_pt(&mut self, point: [f64; 3], is_stopped: IsStopped) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `finalize_path` is never used
[INFO] [stdout]    --> src/graph/path_builder.rs:176:8
[INFO] [stdout]     |
[INFO] [stdout] 176 |     fn finalize_path(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_path` is never used
[INFO] [stdout]    --> src/graph/path_builder.rs:216:8
[INFO] [stdout]     |
[INFO] [stdout] 216 |     fn get_path(&mut self) -> Path {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Stop` and `Route` are never constructed
[INFO] [stdout]  --> src/graph/path_element.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum PathElement {
[INFO] [stdout]   |          ----------- variants in this enum
[INFO] [stdout] 7 |     Stop(Bbox),
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 8 |     Route(Vec<[f64; 3]>),
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `PathElement` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_stop` is never used
[INFO] [stdout]   --> src/graph/path_element.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn is_stop(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `copy_bbox` is never used
[INFO] [stdout]   --> src/graph/path_element.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn copy_bbox(&self) -> Option<Bbox> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `copy_trj` is never used
[INFO] [stdout]   --> src/graph/path_element.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn copy_trj(&self) -> Option<Vec<[f64; 3]>> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `overlaps_spatially_by` is never used
[INFO] [stdout]   --> src/utility/bounding_box.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn overlaps_spatially_by(&self, other: &Self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `interval_overlap` is never used
[INFO] [stdout]   --> src/utility/bounding_box.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn interval_overlap(a1: f64, a2: f64, b1: f64, b2: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `area` is never used
[INFO] [stdout]    --> src/utility/bounding_box.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn area(&self) -> f64 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_before` is never used
[INFO] [stdout]    --> src/utility/bounding_box.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn is_before(&self, other: &Self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `longest_side` is never used
[INFO] [stdout]    --> src/utility/bounding_box.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn longest_side(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `union` is never used
[INFO] [stdout]    --> src/utility/bounding_box.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub fn union(&self, other: &Self) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_single_point` is never used
[INFO] [stdout]    --> src/utility/bounding_box.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn is_single_point(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `can_contain_trj` is never used
[INFO] [stdout]    --> src/utility/bounding_box.rs:208:12
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn can_contain_trj(&self, trj: &[[f64; 3]]) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `expand_along_trjs` is never used
[INFO] [stdout]    --> src/utility/bounding_box.rs:222:12
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn expand_along_trjs(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MotionDetector` is never constructed
[INFO] [stdout]  --> src/utility/motion_detector.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MotionDetector {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/utility/motion_detector.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new() -> MotionDetector {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_avg_velocity` is never used
[INFO] [stdout]   --> src/utility/motion_detector.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn get_avg_velocity(&self) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_stopped` is never used
[INFO] [stdout]   --> src/utility/motion_detector.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn is_stopped(&mut self, point: &[f64; 3]) -> IsStopped {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `min_duration_ms` and `max_diagonal_meters` are never read
[INFO] [stdout]   --> src/utility/stop_detector.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct StopDetector {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 20 |     min_duration_ms: f64,     // Minimum time a stop must last
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     max_diagonal_meters: f64, // Maximum width/length of a stop.
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StopDetector` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 83 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 15.31s
[INFO] running `Command { std: "docker" "inspect" "555d0102b334717fea5cb383877759266d2e2a9f5c194fde50c52268b5df9946", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "555d0102b334717fea5cb383877759266d2e2a9f5c194fde50c52268b5df9946", kill_on_drop: false }`
[INFO] [stdout] 555d0102b334717fea5cb383877759266d2e2a9f5c194fde50c52268b5df9946
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 75e9b722a9f0020e74b90fd758fbb1d64a353cf32a55a21502da9a7d4eb01614
[INFO] running `Command { std: "docker" "start" "-a" "75e9b722a9f0020e74b90fd758fbb1d64a353cf32a55a21502da9a7d4eb01614", kill_on_drop: false }`
[INFO] [stderr]    Compiling detour v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Config`
[INFO] [stdout]   --> src/utility/stop_detector.rs:73:22
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let config = Config::default();
[INFO] [stdout]    |                      ^^^^^^ use of undeclared type `Config`
[INFO] [stdout]    |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let config = CONFIG::default();
[INFO] [stdout]    |                      ~~~~~~
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 70 |     use crate::Config;
[INFO] [stdout]    |
[INFO] [stdout] 70 |     use petgraph::dot::Config;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Config`
[INFO] [stdout]   --> src/utility/stop_detector.rs:84:22
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let config = Config::default();
[INFO] [stdout]    |                      ^^^^^^ use of undeclared type `Config`
[INFO] [stdout]    |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let config = CONFIG::default();
[INFO] [stdout]    |                      ~~~~~~
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 70 |     use crate::Config;
[INFO] [stdout]    |
[INFO] [stdout] 70 |     use petgraph::dot::Config;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Config`
[INFO] [stdout]   --> src/utility/stop_detector.rs:94:22
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let config = Config::default();
[INFO] [stdout]    |                      ^^^^^^ use of undeclared type `Config`
[INFO] [stdout]    |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let config = CONFIG::default();
[INFO] [stdout]    |                      ~~~~~~
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 70 |     use crate::Config;
[INFO] [stdout]    |
[INFO] [stdout] 70 |     use petgraph::dot::Config;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Config`
[INFO] [stdout]    --> src/utility/stop_detector.rs:115:22
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let config = Config::default();
[INFO] [stdout]     |                      ^^^^^^ use of undeclared type `Config`
[INFO] [stdout]     |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let config = CONFIG::default();
[INFO] [stdout]     |                      ~~~~~~
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 70  |     use crate::Config;
[INFO] [stdout]     |
[INFO] [stdout] 70  |     use petgraph::dot::Config;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: enum import `PathElement` is private
[INFO] [stdout]    --> src/graph/graph.rs:356:54
[INFO] [stdout]     |
[INFO] [stdout] 356 |     use crate::{config::Config, graph::path_builder::PathElement};
[INFO] [stdout]     |                                                      ^^^^^^^^^^^ private enum import
[INFO] [stdout]     |
[INFO] [stdout] note: the enum import `PathElement` is defined here...
[INFO] [stdout]    --> src/graph/path_builder.rs:1:44
[INFO] [stdout]     |
[INFO] [stdout] 1   | use crate::graph::{Path, PathBuilderStats, PathElement};
[INFO] [stdout]     |                                            ^^^^^^^^^^^
[INFO] [stdout] note: ...and refers to the enum import `PathElement` which is defined here...
[INFO] [stdout]    --> src/graph/mod.rs:20:9
[INFO] [stdout]     |
[INFO] [stdout] 20  | pub use path_element::PathElement;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ consider importing it directly
[INFO] [stdout] note: ...and refers to the enum `PathElement` which is defined here
[INFO] [stdout]    --> src/graph/path_element.rs:6:1
[INFO] [stdout]     |
[INFO] [stdout] 6   | pub enum PathElement {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ consider importing it directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utility::trajectory::Monotone`
[INFO] [stdout]  --> src/graph/graph.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::utility::trajectory::Monotone;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CONFIG`
[INFO] [stdout]  --> src/graph/graph.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{CONFIG, OUTPUT, STATS};
[INFO] [stdout]   |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `set_edges_centroid_trjs`
[INFO] [stdout]  --> src/graph/graph_builder.rs:2:38
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::{path_builder::get_paths, set_edges_centroid_trjs, DetourGraph, PathBuilderStats};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `STATS`
[INFO] [stdout]  --> src/graph/node_clustering.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{from_epsg_3857_to_4326, STATS};
[INFO] [stdout]   |                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StableDiGraph`
[INFO] [stdout]  --> src/graph/node_clustering.rs:4:41
[INFO] [stdout]   |
[INFO] [stdout] 4 | use petgraph::stable_graph::{NodeIndex, StableDiGraph};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `petgraph::visit::EdgeRef`
[INFO] [stdout]  --> src/graph/node_clustering.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use petgraph::visit::EdgeRef;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/graph/node_clustering.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graph::get_graph`
[INFO] [stdout]   --> src/main.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 | use crate::{graph::get_graph, utility::visvalingam};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/graph/graph.rs:360:25
[INFO] [stdout]     |
[INFO] [stdout] 360 |         let mut graph = DetourGraph::new(&config);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^ -------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          unexpected argument of type `&config::Config`
[INFO] [stdout]     |                                          help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/graph/graph.rs:90:12
[INFO] [stdout]     |
[INFO] [stdout] 90  |     pub fn new() -> DetourGraph {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/graph/graph.rs:366:26
[INFO] [stdout]     |
[INFO] [stdout] 366 |           let path: Path = vec![
[INFO] [stdout]     |  ___________________----___^
[INFO] [stdout]     | |                   |
[INFO] [stdout]     | |                   expected due to this
[INFO] [stdout] 367 | |             PathElement::Stop(bbox1),
[INFO] [stdout] 368 | |             PathElement::Route(trj),
[INFO] [stdout] 369 | |             PathElement::Stop(bbox2),
[INFO] [stdout] 370 | |             PathElement::Route(trj2),
[INFO] [stdout] 371 | |             PathElement::Stop(bbox3),
[INFO] [stdout] 372 | |         ];
[INFO] [stdout]     | |_________^ expected `Path`, found `Vec<_, _>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `graph::path::Path`
[INFO] [stdout]                found struct `Vec<_, _>`
[INFO] [stdout]     = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `merge_node_pair` found for struct `graph::graph::DetourGraph` in the current scope
[INFO] [stdout]    --> src/graph/graph.rs:377:15
[INFO] [stdout]     |
[INFO] [stdout] 24  | pub struct DetourGraph {
[INFO] [stdout]     | ---------------------- method `merge_node_pair` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 377 |         graph.merge_node_pair(a, b);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^ method not found in `DetourGraph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/graph/graph.rs:384:25
[INFO] [stdout]     |
[INFO] [stdout] 384 |         let mut graph = DetourGraph::new(&config);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^ -------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          unexpected argument of type `&config::Config`
[INFO] [stdout]     |                                          help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/graph/graph.rs:90:12
[INFO] [stdout]     |
[INFO] [stdout] 90  |     pub fn new() -> DetourGraph {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/graph/graph.rs:390:27
[INFO] [stdout]     |
[INFO] [stdout] 390 |           let path1: Path = vec![
[INFO] [stdout]     |  ____________________----___^
[INFO] [stdout]     | |                    |
[INFO] [stdout]     | |                    expected due to this
[INFO] [stdout] 391 | |             PathElement::Stop(bbox1),
[INFO] [stdout] 392 | |             PathElement::Route(trj),
[INFO] [stdout] 393 | |             PathElement::Stop(bbox2),
[INFO] [stdout] 394 | |             PathElement::Route(trj2),
[INFO] [stdout] 395 | |             PathElement::Stop(bbox3),
[INFO] [stdout] 396 | |         ];
[INFO] [stdout]     | |_________^ expected `Path`, found `Vec<_, _>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `graph::path::Path`
[INFO] [stdout]                found struct `Vec<_, _>`
[INFO] [stdout]     = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/graph/graph.rs:407:25
[INFO] [stdout]     |
[INFO] [stdout] 407 |         let mut graph = DetourGraph::new(&config);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^ -------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          unexpected argument of type `&config::Config`
[INFO] [stdout]     |                                          help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/graph/graph.rs:90:12
[INFO] [stdout]     |
[INFO] [stdout] 90  |     pub fn new() -> DetourGraph {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/graph/graph.rs:415:27
[INFO] [stdout]     |
[INFO] [stdout] 415 |           let path1: Path = vec![
[INFO] [stdout]     |  ____________________----___^
[INFO] [stdout]     | |                    |
[INFO] [stdout]     | |                    expected due to this
[INFO] [stdout] 416 | |             PathElement::Stop(bbox1),
[INFO] [stdout] 417 | |             PathElement::Route(trj),
[INFO] [stdout] 418 | |             PathElement::Stop(bbox2),
[INFO] [stdout] 419 | |             PathElement::Route(trj2.clone()),
[INFO] [stdout] 420 | |             PathElement::Stop(bbox3),
[INFO] [stdout] 421 | |         ];
[INFO] [stdout]     | |_________^ expected `Path`, found `Vec<_, _>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `graph::path::Path`
[INFO] [stdout]                found struct `Vec<_, _>`
[INFO] [stdout]     = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/graph/graph.rs:422:27
[INFO] [stdout]     |
[INFO] [stdout] 422 |           let path2: Path = vec![
[INFO] [stdout]     |  ____________________----___^
[INFO] [stdout]     | |                    |
[INFO] [stdout]     | |                    expected due to this
[INFO] [stdout] 423 | |             PathElement::Stop(bbox4),
[INFO] [stdout] 424 | |             PathElement::Route(trj3),
[INFO] [stdout] 425 | |             PathElement::Stop(bbox2),
[INFO] [stdout] 426 | |             PathElement::Route(trj2),
[INFO] [stdout] 427 | |             PathElement::Stop(bbox3),
[INFO] [stdout] 428 | |         ];
[INFO] [stdout]     | |_________^ expected `Path`, found `Vec<_, _>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `graph::path::Path`
[INFO] [stdout]                found struct `Vec<_, _>`
[INFO] [stdout]     = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/graph/graph.rs:437:25
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let mut graph = DetourGraph::new(&config);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^ -------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          unexpected argument of type `&config::Config`
[INFO] [stdout]     |                                          help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/graph/graph.rs:90:12
[INFO] [stdout]     |
[INFO] [stdout] 90  |     pub fn new() -> DetourGraph {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/graph/graph.rs:444:27
[INFO] [stdout]     |
[INFO] [stdout] 444 |           let path1: Path = vec![
[INFO] [stdout]     |  ____________________----___^
[INFO] [stdout]     | |                    |
[INFO] [stdout]     | |                    expected due to this
[INFO] [stdout] 445 | |             PathElement::Stop(bbox1),
[INFO] [stdout] 446 | |             PathElement::Route(trj),
[INFO] [stdout] 447 | |             PathElement::Stop(bbox2),
[INFO] [stdout] 448 | |             PathElement::Route(trj2),
[INFO] [stdout] 449 | |             PathElement::Stop(bbox3),
[INFO] [stdout] 450 | |         ];
[INFO] [stdout]     | |_________^ expected `Path`, found `Vec<_, _>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `graph::path::Path`
[INFO] [stdout]                found struct `Vec<_, _>`
[INFO] [stdout]     = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/graph/graph.rs:451:27
[INFO] [stdout]     |
[INFO] [stdout] 451 |           let path2: Path = vec![
[INFO] [stdout]     |  ____________________----___^
[INFO] [stdout]     | |                    |
[INFO] [stdout]     | |                    expected due to this
[INFO] [stdout] 452 | |             PathElement::Stop(bbox1),
[INFO] [stdout] 453 | |             PathElement::Route(trj3),
[INFO] [stdout] 454 | |             PathElement::Stop(bbox3),
[INFO] [stdout] 455 | |         ];
[INFO] [stdout]     | |_________^ expected `Path`, found `Vec<_, _>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `graph::path::Path`
[INFO] [stdout]                found struct `Vec<_, _>`
[INFO] [stdout]     = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_to_cluster` found for struct `clustering::Clustering` in the current scope
[INFO] [stdout]   --> src/utility/clustering.rs:96:11
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub struct Clustering {
[INFO] [stdout]    | --------------------- method `add_to_cluster` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 96 |         c.add_to_cluster(&[1usize, 2usize], None);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^ method not found in `Clustering`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_to_cluster` found for struct `clustering::Clustering` in the current scope
[INFO] [stdout]    --> src/utility/clustering.rs:110:11
[INFO] [stdout]     |
[INFO] [stdout] 6   | pub struct Clustering {
[INFO] [stdout]     | --------------------- method `add_to_cluster` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 110 |         c.add_to_cluster(&[1usize, 2usize], Some(0usize));
[INFO] [stdout]     |           ^^^^^^^^^^^^^^ method not found in `Clustering`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/utility/stop_detector.rs:75:22
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let mut sd = StopDetector::new(&config);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^ -------
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        unexpected argument
[INFO] [stdout]    |                                        help: remove the extra argument
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> src/utility/stop_detector.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new() -> StopDetector {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/utility/stop_detector.rs:86:22
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let mut sd = StopDetector::new(&config);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^ -------
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        unexpected argument
[INFO] [stdout]    |                                        help: remove the extra argument
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> src/utility/stop_detector.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new() -> StopDetector {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/utility/stop_detector.rs:97:22
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut sd = StopDetector::new(&config);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^ -------
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        unexpected argument
[INFO] [stdout]    |                                        help: remove the extra argument
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> src/utility/stop_detector.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new() -> StopDetector {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/utility/stop_detector.rs:118:22
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let mut sd = StopDetector::new(&config);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^ -------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        unexpected argument
[INFO] [stdout]     |                                        help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/utility/stop_detector.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout] 26  |     pub fn new() -> StopDetector {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 22 previous errors; 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308, E0433, E0599, E0603.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `detour` due to 23 previous errors; 8 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "75e9b722a9f0020e74b90fd758fbb1d64a353cf32a55a21502da9a7d4eb01614", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "75e9b722a9f0020e74b90fd758fbb1d64a353cf32a55a21502da9a7d4eb01614", kill_on_drop: false }`
[INFO] [stdout] 75e9b722a9f0020e74b90fd758fbb1d64a353cf32a55a21502da9a7d4eb01614
