[INFO] fetching crate gchemol-geometry 0.1.1...
[INFO] testing gchemol-geometry-0.1.1 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate gchemol-geometry 0.1.1 into /workspace/builds/worker-5-tc2/source
[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-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate gchemol-geometry 0.1.1 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 121 packages to latest compatible versions
[INFO] [stderr]       Adding rand v0.8.5 (available: v0.9.2)
[INFO] [stderr]       Adding rand_distr v0.4.3 (available: v0.5.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bb44dd1d02067e37d3250a0e62f9ed25f2fbcc163e3960e5eeee45f87dc5ace8
[INFO] running `Command { std: "docker" "start" "-a" "bb44dd1d02067e37d3250a0e62f9ed25f2fbcc163e3960e5eeee45f87dc5ace8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bb44dd1d02067e37d3250a0e62f9ed25f2fbcc163e3960e5eeee45f87dc5ace8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bb44dd1d02067e37d3250a0e62f9ed25f2fbcc163e3960e5eeee45f87dc5ace8", kill_on_drop: false }`
[INFO] [stdout] bb44dd1d02067e37d3250a0e62f9ed25f2fbcc163e3960e5eeee45f87dc5ace8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f593ac89b9322d0d1063a48d601c1d97d3ba1a4704b44ab73a6822f2bfcf5849
[INFO] running `Command { std: "docker" "start" "-a" "f593ac89b9322d0d1063a48d601c1d97d3ba1a4704b44ab73a6822f2bfcf5849", kill_on_drop: false }`
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling bytemuck v1.24.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling os_pipe v1.2.3
[INFO] [stderr]    Compiling safe_arch v0.7.4
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling sigchld v0.2.4
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling shared_child v1.1.1
[INFO] [stderr]    Compiling wide v0.7.33
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling clap_builder v4.5.51
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling simba v0.7.3
[INFO] [stderr]    Compiling nalgebra-macros v0.1.0
[INFO] [stderr]    Compiling humantime v2.3.0
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling clap v4.5.51
[INFO] [stderr]    Compiling ordered-float v3.9.2
[INFO] [stderr]    Compiling duct v0.13.7
[INFO] [stderr]    Compiling shell-escape v0.1.5
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling env_logger v0.10.2
[INFO] [stderr]    Compiling toml v0.7.8
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 50.01s
[INFO] running `Command { std: "docker" "inspect" "f593ac89b9322d0d1063a48d601c1d97d3ba1a4704b44ab73a6822f2bfcf5849", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f593ac89b9322d0d1063a48d601c1d97d3ba1a4704b44ab73a6822f2bfcf5849", kill_on_drop: false }`
[INFO] [stdout] f593ac89b9322d0d1063a48d601c1d97d3ba1a4704b44ab73a6822f2bfcf5849
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 496a8ed769b10fca49f396db12e6ceeaffc8c2654fdd01afb2f14c732df693a2
[INFO] running `Command { std: "docker" "start" "-a" "496a8ed769b10fca49f396db12e6ceeaffc8c2654fdd01afb2f14c732df693a2", 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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: 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default
[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)]` (part of `#[warn(unused)]`) 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: 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: 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)]` (part of `#[warn(unused)]`) 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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.18s
[INFO] running `Command { std: "docker" "inspect" "496a8ed769b10fca49f396db12e6ceeaffc8c2654fdd01afb2f14c732df693a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "496a8ed769b10fca49f396db12e6ceeaffc8c2654fdd01afb2f14c732df693a2", kill_on_drop: false }`
[INFO] [stdout] 496a8ed769b10fca49f396db12e6ceeaffc8c2654fdd01afb2f14c732df693a2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c7a3946b2b52a8c93f59df3a0956f57deac01e37e7b511e6923d203b317e06f7
[INFO] running `Command { std: "docker" "start" "-a" "c7a3946b2b52a8c93f59df3a0956f57deac01e37e7b511e6923d203b317e06f7", 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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` profile [unoptimized + debuginfo] target(s) in 0.20s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gchemol_geometry-ae9223cd8cb51f21)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test alignment::qcprot::test_qcprot ... ok
[INFO] [stdout] test alignment::test_alignment ... ok
[INFO] [stdout] test alignment::test_alignment_hcn ... ok
[INFO] [stdout] test random::test_rand_rotate ... ok
[INFO] [stdout] test base::test_weighted_center_of_geometry ... ok
[INFO] [stderr]    Doc-tests gchemol_geometry
[INFO] [stdout] test traits::test_point3_math ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s
[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" "c7a3946b2b52a8c93f59df3a0956f57deac01e37e7b511e6923d203b317e06f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c7a3946b2b52a8c93f59df3a0956f57deac01e37e7b511e6923d203b317e06f7", kill_on_drop: false }`
[INFO] [stdout] c7a3946b2b52a8c93f59df3a0956f57deac01e37e7b511e6923d203b317e06f7
