[INFO] fetching crate py_pathfinding 0.1.5...
[INFO] building py_pathfinding-0.1.5 against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1
[INFO] extracting crate py_pathfinding 0.1.5 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate py_pathfinding 0.1.5
[INFO] finished tweaking crates.io crate py_pathfinding 0.1.5
[INFO] tweaked toml for crates.io crate py_pathfinding 0.1.5 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate py_pathfinding 0.1.5 on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate py_pathfinding 0.1.5 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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded matrixmultiply v0.2.3
[INFO] [stderr]   Downloaded num-traits v0.2.11
[INFO] [stderr]   Downloaded num-integer v0.1.42
[INFO] [stderr]   Downloaded ndarray v0.13.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a94534040c4c7460311fc0309aeb9d12fe6c8c876f46ced5ac8b2445deea594d
[INFO] running `Command { std: "docker" "start" "-a" "a94534040c4c7460311fc0309aeb9d12fe6c8c876f46ced5ac8b2445deea594d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a94534040c4c7460311fc0309aeb9d12fe6c8c876f46ced5ac8b2445deea594d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a94534040c4c7460311fc0309aeb9d12fe6c8c876f46ced5ac8b2445deea594d", kill_on_drop: false }`
[INFO] [stdout] a94534040c4c7460311fc0309aeb9d12fe6c8c876f46ced5ac8b2445deea594d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7dee8ad8dd0012efc14efe8790bc8e527be0b9e1239efa23ad3e229c9585a2c2
[INFO] running `Command { std: "docker" "start" "-a" "7dee8ad8dd0012efc14efe8790bc8e527be0b9e1239efa23ad3e229c9585a2c2", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling either v1.5.3
[INFO] [stderr]    Compiling ndarray v0.13.0
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling fnv v1.0.6
[INFO] [stderr]    Compiling matrixmultiply v0.2.3
[INFO] [stderr]    Compiling itertools v0.8.2
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]    Compiling py_pathfinding v0.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/algorithms/astar.rs:126:36
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn no_heuristic(_source: &Point2d, target: &Point2d) -> f32 {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_neighbor`, `distance`, and `successors` are never used
[INFO] [stdout]   --> src/algorithms/astar.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Point2d {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 37 |     fn add_neighbor(&self, other: (i32, i32)) -> Point2d {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn distance(&self, other: &Self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn successors(&self) -> Vec<(Point2d, u32)> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]   --> src/algorithms/astar.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct Node {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `manhattan_heuristic` is never used
[INFO] [stdout]    --> src/algorithms/astar.rs:104:4
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn manhattan_heuristic(source: &Point2d, target: &Point2d) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `SQRT_2_MINUS_2` is never used
[INFO] [stdout]    --> src/algorithms/astar.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | static SQRT_2_MINUS_2: f32 = SQRT_2 - 2.0;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `octal_heuristic` is never used
[INFO] [stdout]    --> src/algorithms/astar.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn octal_heuristic(source: &Point2d, target: &Point2d) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `euclidean_heuristic` is never used
[INFO] [stdout]    --> src/algorithms/astar.rs:117:4
[INFO] [stdout]     |
[INFO] [stdout] 117 | fn euclidean_heuristic(source: &Point2d, target: &Point2d) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `no_heuristic` is never used
[INFO] [stdout]    --> src/algorithms/astar.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn no_heuristic(_source: &Point2d, target: &Point2d) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `construct_path` is never used
[INFO] [stdout]    --> src/algorithms/astar.rs:130:4
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn construct_path(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PathFinder` is never constructed
[INFO] [stdout]    --> src/algorithms/astar.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | struct PathFinder {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_grid` and `find_path` are never used
[INFO] [stdout]    --> src/algorithms/astar.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl PathFinder {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 158 |     fn update_grid(&mut self, grid: Array2<u8>) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn find_path(&self, source: &Point2d, target: &Point2d) -> Option<Vec<Point2d>> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_point_in_grid` is never used
[INFO] [stdout]    --> src/algorithms/jps.rs:285:8
[INFO] [stdout]     |
[INFO] [stdout] 261 | impl PathFinder {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 285 |     fn new_point_in_grid(&self, point: &Point2d, direction: Direction) -> Option<Point2d> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `cell_update` has been stable since 1.88.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(cell_update)]
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/algorithms/astar.rs:126:36
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn no_heuristic(_source: &Point2d, target: &Point2d) -> f32 {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_neighbor`, `distance`, and `successors` are never used
[INFO] [stdout]   --> src/algorithms/astar.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Point2d {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 37 |     fn add_neighbor(&self, other: (i32, i32)) -> Point2d {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn distance(&self, other: &Self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn successors(&self) -> Vec<(Point2d, u32)> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]   --> src/algorithms/astar.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct Node {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `manhattan_heuristic` is never used
[INFO] [stdout]    --> src/algorithms/astar.rs:104:4
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn manhattan_heuristic(source: &Point2d, target: &Point2d) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `SQRT_2_MINUS_2` is never used
[INFO] [stdout]    --> src/algorithms/astar.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | static SQRT_2_MINUS_2: f32 = SQRT_2 - 2.0;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `octal_heuristic` is never used
[INFO] [stdout]    --> src/algorithms/astar.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn octal_heuristic(source: &Point2d, target: &Point2d) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `euclidean_heuristic` is never used
[INFO] [stdout]    --> src/algorithms/astar.rs:117:4
[INFO] [stdout]     |
[INFO] [stdout] 117 | fn euclidean_heuristic(source: &Point2d, target: &Point2d) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `no_heuristic` is never used
[INFO] [stdout]    --> src/algorithms/astar.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn no_heuristic(_source: &Point2d, target: &Point2d) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `construct_path` is never used
[INFO] [stdout]    --> src/algorithms/astar.rs:130:4
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn construct_path(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PathFinder` is never constructed
[INFO] [stdout]    --> src/algorithms/astar.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | struct PathFinder {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_grid` and `find_path` are never used
[INFO] [stdout]    --> src/algorithms/astar.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl PathFinder {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 158 |     fn update_grid(&mut self, grid: Array2<u8>) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn find_path(&self, source: &Point2d, target: &Point2d) -> Option<Vec<Point2d>> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_point_in_grid` is never used
[INFO] [stdout]    --> src/algorithms/jps.rs:285:8
[INFO] [stdout]     |
[INFO] [stdout] 261 | impl PathFinder {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 285 |     fn new_point_in_grid(&self, point: &Point2d, direction: Direction) -> Option<Point2d> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         file.write_fmt(format_args!("{},{}\n", x, y));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let _ = file.write_fmt(format_args!("{},{}\n", x, y));
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.06s
[INFO] running `Command { std: "docker" "inspect" "7dee8ad8dd0012efc14efe8790bc8e527be0b9e1239efa23ad3e229c9585a2c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7dee8ad8dd0012efc14efe8790bc8e527be0b9e1239efa23ad3e229c9585a2c2", kill_on_drop: false }`
[INFO] [stdout] 7dee8ad8dd0012efc14efe8790bc8e527be0b9e1239efa23ad3e229c9585a2c2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0ba83264db449cf724b42e9e79c8c2315636b134bdb9232b91dc056dbe4a9fc6
[INFO] running `Command { std: "docker" "start" "-a" "0ba83264db449cf724b42e9e79c8c2315636b134bdb9232b91dc056dbe4a9fc6", kill_on_drop: false }`
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/algorithms/astar.rs:126:36
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn no_heuristic(_source: &Point2d, target: &Point2d) -> f32 {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_neighbor`, `distance`, and `successors` are never used
[INFO] [stdout]   --> src/algorithms/astar.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Point2d {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 37 |     fn add_neighbor(&self, other: (i32, i32)) -> Point2d {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn distance(&self, other: &Self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn successors(&self) -> Vec<(Point2d, u32)> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]   --> src/algorithms/astar.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct Node {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `manhattan_heuristic` is never used
[INFO] [stdout]    --> src/algorithms/astar.rs:104:4
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn manhattan_heuristic(source: &Point2d, target: &Point2d) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `SQRT_2_MINUS_2` is never used
[INFO] [stdout]    --> src/algorithms/astar.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | static SQRT_2_MINUS_2: f32 = SQRT_2 - 2.0;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `octal_heuristic` is never used
[INFO] [stdout]    --> src/algorithms/astar.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn octal_heuristic(source: &Point2d, target: &Point2d) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling py_pathfinding v0.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `euclidean_heuristic` is never used
[INFO] [stdout]    --> src/algorithms/astar.rs:117:4
[INFO] [stdout]     |
[INFO] [stdout] 117 | fn euclidean_heuristic(source: &Point2d, target: &Point2d) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `no_heuristic` is never used
[INFO] [stdout]    --> src/algorithms/astar.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn no_heuristic(_source: &Point2d, target: &Point2d) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `construct_path` is never used
[INFO] [stdout]    --> src/algorithms/astar.rs:130:4
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn construct_path(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PathFinder` is never constructed
[INFO] [stdout]    --> src/algorithms/astar.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | struct PathFinder {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_grid` and `find_path` are never used
[INFO] [stdout]    --> src/algorithms/astar.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl PathFinder {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 158 |     fn update_grid(&mut self, grid: Array2<u8>) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn find_path(&self, source: &Point2d, target: &Point2d) -> Option<Vec<Point2d>> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_point_in_grid` is never used
[INFO] [stdout]    --> src/algorithms/jps.rs:285:8
[INFO] [stdout]     |
[INFO] [stdout] 261 | impl PathFinder {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 285 |     fn new_point_in_grid(&self, point: &Point2d, direction: Direction) -> Option<Point2d> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `cell_update` has been stable since 1.88.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(cell_update)]
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/algorithms/astar.rs:126:36
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn no_heuristic(_source: &Point2d, target: &Point2d) -> f32 {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/algorithms/astar.rs:126:36
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn no_heuristic(_source: &Point2d, target: &Point2d) -> f32 {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `distance` and `successors` are never used
[INFO] [stdout]   --> src/algorithms/astar.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Point2d {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn distance(&self, other: &Self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn successors(&self) -> Vec<(Point2d, u32)> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `grid` and `came_from_grid` are never read
[INFO] [stdout]    --> src/algorithms/astar.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | struct PathFinder {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 152 |     grid: Array2<u8>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 153 |     came_from_grid: Array2<u8>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_grid` is never used
[INFO] [stdout]    --> src/algorithms/astar.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl PathFinder {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 158 |     fn update_grid(&mut self, grid: Array2<u8>) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_point_in_grid` is never used
[INFO] [stdout]    --> src/algorithms/jps.rs:285:8
[INFO] [stdout]     |
[INFO] [stdout] 261 | impl PathFinder {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 285 |     fn new_point_in_grid(&self, point: &Point2d, direction: Direction) -> Option<Point2d> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `distance` and `successors` are never used
[INFO] [stdout]   --> src/algorithms/astar.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Point2d {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn distance(&self, other: &Self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn successors(&self) -> Vec<(Point2d, u32)> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `grid` and `came_from_grid` are never read
[INFO] [stdout]    --> src/algorithms/astar.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | struct PathFinder {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 152 |     grid: Array2<u8>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 153 |     came_from_grid: Array2<u8>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_grid` is never used
[INFO] [stdout]    --> src/algorithms/astar.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl PathFinder {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 158 |     fn update_grid(&mut self, grid: Array2<u8>) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `new_point_in_grid` is never used
[INFO] [stdout]    --> src/algorithms/jps.rs:285:8
[INFO] [stdout]     |
[INFO] [stdout] 261 | impl PathFinder {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 285 |     fn new_point_in_grid(&self, point: &Point2d, direction: Direction) -> Option<Point2d> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         file.write_fmt(format_args!("{},{}\n", x, y));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let _ = file.write_fmt(format_args!("{},{}\n", x, y));
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.36s
[INFO] running `Command { std: "docker" "inspect" "0ba83264db449cf724b42e9e79c8c2315636b134bdb9232b91dc056dbe4a9fc6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0ba83264db449cf724b42e9e79c8c2315636b134bdb9232b91dc056dbe4a9fc6", kill_on_drop: false }`
[INFO] [stdout] 0ba83264db449cf724b42e9e79c8c2315636b134bdb9232b91dc056dbe4a9fc6
