[INFO] fetching crate gchemol-geometry 0.1.1...
[INFO] testing gchemol-geometry-0.1.1 against 1.69.0 for beta-1.70-1
[INFO] extracting crate gchemol-geometry 0.1.1 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate gchemol-geometry 0.1.1 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 crates.io crate gchemol-geometry 0.1.1
[INFO] finished tweaking crates.io crate gchemol-geometry 0.1.1
[INFO] tweaked toml for crates.io crate gchemol-geometry 0.1.1 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly" "/workspace/cargo-home/bin/cargo" "+1.69.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[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]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ordered-float v3.7.0
[INFO] [stderr]   Downloaded gchemol-gut v0.4.4
[INFO] [stderr]   Downloaded os_pipe v1.1.4
[INFO] [stderr]   Downloaded vecfx v0.1.6
[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] c1f9845b32e6f3df884baaaef155ce516586031d8f2f369a5cb30f6b8531e2d4
[INFO] running `Command { std: "docker" "start" "-a" "c1f9845b32e6f3df884baaaef155ce516586031d8f2f369a5cb30f6b8531e2d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c1f9845b32e6f3df884baaaef155ce516586031d8f2f369a5cb30f6b8531e2d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c1f9845b32e6f3df884baaaef155ce516586031d8f2f369a5cb30f6b8531e2d4", kill_on_drop: false }`
[INFO] [stdout] c1f9845b32e6f3df884baaaef155ce516586031d8f2f369a5cb30f6b8531e2d4
[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] 223a5df8a8ae36b04767a007edd57655be4974c10293394a5f98cb64694b5419
[INFO] running `Command { std: "docker" "start" "-a" "223a5df8a8ae36b04767a007edd57655be4974c10293394a5f98cb64694b5419", kill_on_drop: false }`
[INFO] [stderr]    Compiling libm v0.2.6
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling io-lifetimes v1.0.10
[INFO] [stderr]    Compiling rustix v0.37.18
[INFO] [stderr]    Compiling linux-raw-sys v0.3.6
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling utf8parse v0.2.1
[INFO] [stderr]    Compiling bytemuck v1.13.1
[INFO] [stderr]    Compiling getrandom v0.2.9
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling matrixmultiply v0.3.4
[INFO] [stderr]    Compiling anstyle-query v1.0.0
[INFO] [stderr]    Compiling rayon-core v1.11.0
[INFO] [stderr]    Compiling colorchoice v1.0.0
[INFO] [stderr]    Compiling anstyle-parse v0.2.0
[INFO] [stderr]    Compiling anstyle v1.0.0
[INFO] [stderr]    Compiling toml_datetime v0.6.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling safe_arch v0.6.0
[INFO] [stderr]    Compiling serde_spanned v0.6.1
[INFO] [stderr]    Compiling crossbeam-deque v0.8.3
[INFO] [stderr]    Compiling either v1.8.1
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling anyhow v1.0.71
[INFO] [stderr]    Compiling regex-syntax v0.7.1
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling winnow v0.4.4
[INFO] [stderr]    Compiling clap_lex v0.4.1
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling clap_derive v4.2.0
[INFO] [stderr]    Compiling wide v0.7.8
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling shared_child v1.0.0
[INFO] [stderr]    Compiling os_pipe v1.1.4
[INFO] [stderr]    Compiling time-core v0.1.0
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling time v0.3.20
[INFO] [stderr]    Compiling duct v0.13.6
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling shell-escape v0.1.5
[INFO] [stderr]    Compiling rayon v1.7.0
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling num-complex v0.4.3
[INFO] [stderr]    Compiling regex v1.8.1
[INFO] [stderr]    Compiling ordered-float v3.7.0
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling simba v0.7.3
[INFO] [stderr]    Compiling toml_edit v0.19.8
[INFO] [stderr]    Compiling is-terminal v0.4.7
[INFO] [stderr]    Compiling tempfile v3.5.0
[INFO] [stderr]    Compiling anstream v0.3.1
[INFO] [stderr]    Compiling env_logger v0.10.0
[INFO] [stderr]    Compiling clap_builder v4.2.5
[INFO] [stderr]    Compiling nalgebra-macros v0.1.0
[INFO] [stderr]    Compiling toml v0.7.3
[INFO] [stderr]    Compiling clap v4.2.5
[INFO] [stderr]    Compiling gchemol-gut v0.4.4
[INFO] [stderr]    Compiling nalgebra v0.31.4
[INFO] [stderr]    Compiling vecfx v0.1.6
[INFO] [stderr]    Compiling gchemol-geometry v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `vecfx::*`
[INFO] [stdout]  --> src/alignment/quaternion.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use vecfx::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::base::euclidean_distance`
[INFO] [stdout]   --> src/random.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::base::euclidean_distance;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `alignment::Alignment`: use Superpose instead
[INFO] [stdout]   --> src/alignment.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 | impl<'a> Alignment<'a> {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `alignment::Alignment`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         Alignment {
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |             positions,
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::algorithm`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |             algorithm: SuperpositionAlgo::default(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:114:20
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let npts = self.positions.len();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 |             let dx = wi * (self.positions[i][0] - reference[i][0]);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:128:28
[INFO] [stdout]     |
[INFO] [stdout] 128 |             let dy = wi * (self.positions[i][1] - reference[i][1]);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:129:28
[INFO] [stdout]     |
[INFO] [stdout] 129 |             let dz = wi * (self.positions[i][2] - reference[i][2]);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::algorithm`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:147:40
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let (rmsd, trans, rot) = match self.algorithm {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:148:94
[INFO] [stdout]     |
[INFO] [stdout] 148 |             SuperpositionAlgo::QCP => self::qcprot::calc_rmsd_rotational_matrix(&reference, &self.positions, weights),
[INFO] [stdout]     |                                                                                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:149:105
[INFO] [stdout]     |
[INFO] [stdout] 149 |             SuperpositionAlgo::Quaternion => self::quaternion::calc_rmsd_rotational_matrix(&reference, &self.positions, weights),
[INFO] [stdout]     |                                                                                                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/alignment/quaternion.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     for mut v in vectors_ref.iter_mut() {
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/alignment/quaternion.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     for mut v in vectors_can.iter_mut() {
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prepare_test_data` is never used
[INFO] [stdout]    --> src/alignment/qcprot.rs:456:15
[INFO] [stdout]     |
[INFO] [stdout] 456 | pub(crate) fn prepare_test_data() -> (Vec<[f64; 3]>, Vec<[f64; 3]>, Vec<f64>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate` is never used
[INFO] [stdout]   --> src/transform.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn translate(points: &mut Points, loc: Coord3) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_distance_matrix` is never used
[INFO] [stdout]   --> src/transform.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn get_distance_matrix(points: &[Coord3]) -> Vec<Vec<f64>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mirror_invert` is never used
[INFO] [stdout]   --> src/transform.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn mirror_invert(positions: &[[f64; 3]]) -> Vector3fVec {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `point_invert` is never used
[INFO] [stdout]   --> src/transform.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn point_invert(positions: &[[f64; 3]]) -> Vector3fVec {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 20 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 23.52s
[INFO] running `Command { std: "docker" "inspect" "223a5df8a8ae36b04767a007edd57655be4974c10293394a5f98cb64694b5419", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "223a5df8a8ae36b04767a007edd57655be4974c10293394a5f98cb64694b5419", kill_on_drop: false }`
[INFO] [stdout] 223a5df8a8ae36b04767a007edd57655be4974c10293394a5f98cb64694b5419
[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] 7a7055c8dc46ec564a1552666f79079acbce8dd4a28ff6c60e6b7ba48bd7169a
[INFO] running `Command { std: "docker" "start" "-a" "7a7055c8dc46ec564a1552666f79079acbce8dd4a28ff6c60e6b7ba48bd7169a", kill_on_drop: false }`
[INFO] [stderr]    Compiling gchemol-geometry v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `vecfx::*`
[INFO] [stdout]  --> src/alignment/quaternion.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use vecfx::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::base::euclidean_distance`
[INFO] [stdout]   --> src/random.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::base::euclidean_distance;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `alignment::Alignment`: use Superpose instead
[INFO] [stdout]   --> src/alignment.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 | impl<'a> Alignment<'a> {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `alignment::Alignment`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         Alignment {
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |             positions,
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::algorithm`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |             algorithm: SuperpositionAlgo::default(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:114:20
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let npts = self.positions.len();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 |             let dx = wi * (self.positions[i][0] - reference[i][0]);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:128:28
[INFO] [stdout]     |
[INFO] [stdout] 128 |             let dy = wi * (self.positions[i][1] - reference[i][1]);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:129:28
[INFO] [stdout]     |
[INFO] [stdout] 129 |             let dz = wi * (self.positions[i][2] - reference[i][2]);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::algorithm`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:147:40
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let (rmsd, trans, rot) = match self.algorithm {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:148:94
[INFO] [stdout]     |
[INFO] [stdout] 148 |             SuperpositionAlgo::QCP => self::qcprot::calc_rmsd_rotational_matrix(&reference, &self.positions, weights),
[INFO] [stdout]     |                                                                                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:149:105
[INFO] [stdout]     |
[INFO] [stdout] 149 |             SuperpositionAlgo::Quaternion => self::quaternion::calc_rmsd_rotational_matrix(&reference, &self.positions, weights),
[INFO] [stdout]     |                                                                                                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/alignment/quaternion.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     for mut v in vectors_ref.iter_mut() {
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/alignment/quaternion.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     for mut v in vectors_can.iter_mut() {
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prepare_test_data` is never used
[INFO] [stdout]    --> src/alignment/qcprot.rs:456:15
[INFO] [stdout]     |
[INFO] [stdout] 456 | pub(crate) fn prepare_test_data() -> (Vec<[f64; 3]>, Vec<[f64; 3]>, Vec<f64>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate` is never used
[INFO] [stdout]   --> src/transform.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn translate(points: &mut Points, loc: Coord3) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_distance_matrix` is never used
[INFO] [stdout]   --> src/transform.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn get_distance_matrix(points: &[Coord3]) -> Vec<Vec<f64>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mirror_invert` is never used
[INFO] [stdout]   --> src/transform.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn mirror_invert(positions: &[[f64; 3]]) -> Vector3fVec {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `point_invert` is never used
[INFO] [stdout]   --> src/transform.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn point_invert(positions: &[[f64; 3]]) -> Vector3fVec {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 20 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vecfx::*`
[INFO] [stdout]  --> src/alignment/quaternion.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use vecfx::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::consts::PI`
[INFO] [stdout]    --> src/traits.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     use std::f64::consts::PI;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `alignment::Alignment`: use Superpose instead
[INFO] [stdout]   --> src/alignment.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 | impl<'a> Alignment<'a> {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `alignment::Alignment`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         Alignment {
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |             positions,
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::algorithm`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |             algorithm: SuperpositionAlgo::default(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:114:20
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let npts = self.positions.len();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 |             let dx = wi * (self.positions[i][0] - reference[i][0]);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:128:28
[INFO] [stdout]     |
[INFO] [stdout] 128 |             let dy = wi * (self.positions[i][1] - reference[i][1]);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:129:28
[INFO] [stdout]     |
[INFO] [stdout] 129 |             let dz = wi * (self.positions[i][2] - reference[i][2]);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::algorithm`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:147:40
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let (rmsd, trans, rot) = match self.algorithm {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:148:94
[INFO] [stdout]     |
[INFO] [stdout] 148 |             SuperpositionAlgo::QCP => self::qcprot::calc_rmsd_rotational_matrix(&reference, &self.positions, weights),
[INFO] [stdout]     |                                                                                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stdout]    --> src/alignment.rs:149:105
[INFO] [stdout]     |
[INFO] [stdout] 149 |             SuperpositionAlgo::Quaternion => self::quaternion::calc_rmsd_rotational_matrix(&reference, &self.positions, weights),
[INFO] [stdout]     |                                                                                                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trans`
[INFO] [stdout]    --> src/alignment/qcprot.rs:487:16
[INFO] [stdout]     |
[INFO] [stdout] 487 |     let (rmsd, trans, rot) = calc_rmsd_rotational_matrix(&mut frag_a, &mut frag_b, Some(&weights));
[INFO] [stdout]     |                ^^^^^ help: if this is intentional, prefix it with an underscore: `_trans`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/alignment.rs:302:9
[INFO] [stdout]     |
[INFO] [stdout] 302 |     let t = Vector3f::from([0.423160235, 0.2715202, 0.0]);
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/alignment/quaternion.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     for mut v in vectors_ref.iter_mut() {
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/alignment/quaternion.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     for mut v in vectors_can.iter_mut() {
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate` is never used
[INFO] [stdout]   --> src/transform.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn translate(points: &mut Points, loc: Coord3) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_distance_matrix` is never used
[INFO] [stdout]   --> src/transform.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn get_distance_matrix(points: &[Coord3]) -> Vec<Vec<f64>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mirror_invert` is never used
[INFO] [stdout]   --> src/transform.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn mirror_invert(positions: &[[f64; 3]]) -> Vector3fVec {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `point_invert` is never used
[INFO] [stdout]   --> src/transform.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn point_invert(positions: &[[f64; 3]]) -> Vector3fVec {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 21 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 3.88s
[INFO] running `Command { std: "docker" "inspect" "7a7055c8dc46ec564a1552666f79079acbce8dd4a28ff6c60e6b7ba48bd7169a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7a7055c8dc46ec564a1552666f79079acbce8dd4a28ff6c60e6b7ba48bd7169a", kill_on_drop: false }`
[INFO] [stdout] 7a7055c8dc46ec564a1552666f79079acbce8dd4a28ff6c60e6b7ba48bd7169a
[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", kill_on_drop: false }`
[INFO] [stdout] 54bb581e1d388943f49dfb146e5c5106b6524dfe16cbf2495fb345b3413506c7
[INFO] running `Command { std: "docker" "start" "-a" "54bb581e1d388943f49dfb146e5c5106b6524dfe16cbf2495fb345b3413506c7", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `vecfx::*`
[INFO] [stderr]  --> src/alignment/quaternion.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use vecfx::*;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::base::euclidean_distance`
[INFO] [stderr]   --> src/random.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::base::euclidean_distance;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated struct `alignment::Alignment`: use Superpose instead
[INFO] [stderr]   --> src/alignment.rs:97:10
[INFO] [stderr]    |
[INFO] [stderr] 97 | impl<'a> Alignment<'a> {
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated struct `alignment::Alignment`: use Superpose instead
[INFO] [stderr]    --> src/alignment.rs:100:9
[INFO] [stderr]     |
[INFO] [stderr] 100 |         Alignment {
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stderr]    --> src/alignment.rs:101:13
[INFO] [stderr]     |
[INFO] [stderr] 101 |             positions,
[INFO] [stderr]     |             ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated field `alignment::Alignment::algorithm`: use Superpose instead
[INFO] [stderr]    --> src/alignment.rs:102:13
[INFO] [stderr]     |
[INFO] [stderr] 102 |             algorithm: SuperpositionAlgo::default(),
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stderr]    --> src/alignment.rs:114:20
[INFO] [stderr]     |
[INFO] [stderr] 114 |         let npts = self.positions.len();
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stderr]    --> src/alignment.rs:127:28
[INFO] [stderr]     |
[INFO] [stderr] 127 |             let dx = wi * (self.positions[i][0] - reference[i][0]);
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stderr]    --> src/alignment.rs:128:28
[INFO] [stderr]     |
[INFO] [stderr] 128 |             let dy = wi * (self.positions[i][1] - reference[i][1]);
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stderr]    --> src/alignment.rs:129:28
[INFO] [stderr]     |
[INFO] [stderr] 129 |             let dz = wi * (self.positions[i][2] - reference[i][2]);
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated field `alignment::Alignment::algorithm`: use Superpose instead
[INFO] [stderr]    --> src/alignment.rs:147:40
[INFO] [stderr]     |
[INFO] [stderr] 147 |         let (rmsd, trans, rot) = match self.algorithm {
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stderr]    --> src/alignment.rs:148:94
[INFO] [stderr]     |
[INFO] [stderr] 148 |             SuperpositionAlgo::QCP => self::qcprot::calc_rmsd_rotational_matrix(&reference, &self.positions, weights),
[INFO] [stderr]     |                                                                                              ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated field `alignment::Alignment::positions`: use Superpose instead
[INFO] [stderr]    --> src/alignment.rs:149:105
[INFO] [stderr]     |
[INFO] [stderr] 149 |             SuperpositionAlgo::Quaternion => self::quaternion::calc_rmsd_rotational_matrix(&reference, &self.positions, weights),
[INFO] [stderr]     |                                                                                                         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/alignment/quaternion.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |     for mut v in vectors_ref.iter_mut() {
[INFO] [stderr]    |         ----^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/alignment/quaternion.rs:33:9
[INFO] [stderr]    |
[INFO] [stderr] 33 |     for mut v in vectors_can.iter_mut() {
[INFO] [stderr]    |         ----^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: function `prepare_test_data` is never used
[INFO] [stderr]    --> src/alignment/qcprot.rs:456:15
[INFO] [stderr]     |
[INFO] [stderr] 456 | pub(crate) fn prepare_test_data() -> (Vec<[f64; 3]>, Vec<[f64; 3]>, Vec<f64>) {
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `translate` is never used
[INFO] [stderr]   --> src/transform.rs:14:8
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub fn translate(points: &mut Points, loc: Coord3) {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_distance_matrix` is never used
[INFO] [stderr]   --> src/transform.rs:23:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn get_distance_matrix(points: &[Coord3]) -> Vec<Vec<f64>> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `mirror_invert` is never used
[INFO] [stderr]   --> src/transform.rs:57:8
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub fn mirror_invert(positions: &[[f64; 3]]) -> Vector3fVec {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `point_invert` is never used
[INFO] [stderr]   --> src/transform.rs:64:8
[INFO] [stderr]    |
[INFO] [stderr] 64 | pub fn point_invert(positions: &[[f64; 3]]) -> Vector3fVec {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::f64::consts::PI`
[INFO] [stderr]    --> src/traits.rs:133:9
[INFO] [stderr]     |
[INFO] [stderr] 133 |     use std::f64::consts::PI;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `trans`
[INFO] [stderr]    --> src/alignment/qcprot.rs:487:16
[INFO] [stderr]     |
[INFO] [stderr] 487 |     let (rmsd, trans, rot) = calc_rmsd_rotational_matrix(&mut frag_a, &mut frag_b, Some(&weights));
[INFO] [stderr]     |                ^^^^^ help: if this is intentional, prefix it with an underscore: `_trans`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `t`
[INFO] [stderr]    --> src/alignment.rs:302:9
[INFO] [stderr]     |
[INFO] [stderr] 302 |     let t = Vector3f::from([0.423160235, 0.2715202, 0.0]);
[INFO] [stderr]     |         ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stderr] 
[INFO] [stderr] warning: function `translate` is never used
[INFO] [stderr]   --> src/transform.rs:14:8
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub fn translate(points: &mut Points, loc: Coord3) {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `gchemol-geometry` (lib) generated 20 warnings (run `cargo fix --lib -p gchemol-geometry` to apply 4 suggestions)
[INFO] [stderr] warning: `gchemol-geometry` (lib test) generated 21 warnings (17 duplicates) (run `cargo fix --lib -p gchemol-geometry --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gchemol_geometry-d36d24e1d9a575e5)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test base::test_weighted_center_of_geometry ... ok
[INFO] [stdout] test alignment::qcprot::test_qcprot ... ok
[INFO] [stdout] test alignment::test_alignment ... ok
[INFO] [stdout] test alignment::test_alignment_hcn ... ok
[INFO] [stderr]    Doc-tests gchemol-geometry
[INFO] [stdout] test traits::test_point3_math ... ok
[INFO] [stdout] test random::test_rand_rotate ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/lib.rs - (line 4) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "54bb581e1d388943f49dfb146e5c5106b6524dfe16cbf2495fb345b3413506c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "54bb581e1d388943f49dfb146e5c5106b6524dfe16cbf2495fb345b3413506c7", kill_on_drop: false }`
[INFO] [stdout] 54bb581e1d388943f49dfb146e5c5106b6524dfe16cbf2495fb345b3413506c7
