[INFO] fetching crate cosmolkit-forcefields 0.5.1-rc.3...
[INFO] testing cosmolkit-forcefields-0.5.1-rc.3 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate cosmolkit-forcefields 0.5.1-rc.3 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate cosmolkit-forcefields 0.5.1-rc.3
[INFO] finished tweaking crates.io crate cosmolkit-forcefields 0.5.1-rc.3
[INFO] tweaked toml for crates.io crate cosmolkit-forcefields 0.5.1-rc.3 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate cosmolkit-forcefields 0.5.1-rc.3 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate cosmolkit-forcefields 0.5.1-rc.3 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "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/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 988376c4fc4213e6054789f535ce16a46936fd4795076eca7ac9e30c0381e4d0
[INFO] running `Command { std: "docker" "start" "988376c4fc4213e6054789f535ce16a46936fd4795076eca7ac9e30c0381e4d0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "988376c4fc4213e6054789f535ce16a46936fd4795076eca7ac9e30c0381e4d0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "988376c4fc4213e6054789f535ce16a46936fd4795076eca7ac9e30c0381e4d0" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "988376c4fc4213e6054789f535ce16a46936fd4795076eca7ac9e30c0381e4d0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "988376c4fc4213e6054789f535ce16a46936fd4795076eca7ac9e30c0381e4d0" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling libc v0.2.190
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling web-time v1.1.0
[INFO] [stderr]    Compiling syn v3.0.9
[INFO] [stderr]    Compiling thiserror-impl v2.0.21
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling hashify v0.3.1
[INFO] [stderr]    Compiling serde_json v1.0.154
[INFO] [stderr]    Compiling thiserror v2.0.21
[INFO] [stderr]    Compiling cosmolkit-ringdecomposer v0.5.1-rc.3
[INFO] [stderr]    Compiling cosmolkit-types v0.5.1-rc.3
[INFO] [stderr]    Compiling cosmolkit-model v0.5.1-rc.3
[INFO] [stderr]    Compiling cosmolkit-core v0.5.1-rc.3
[INFO] [stderr]    Compiling cosmolkit-cx v0.5.1-rc.3
[INFO] [stderr]    Compiling cosmolkit-search v0.5.1-rc.3
[INFO] [stderr]    Compiling cosmolkit-forcefields v0.5.1-rc.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `AromaticityModel` and `AromaticityParams`
[INFO] [stdout]  --> src/mmff/mol_properties.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 |     AromaticityError, AromaticityModel, AromaticityParams, KekulizeError, KekulizeParams,
[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: `NonbondedContrib`
[INFO] [stdout]   --> src/mmff/mod.rs:25:48
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) use nonbonded_contrib::{EleContrib, NonbondedContrib};
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BondOrder`
[INFO] [stdout]  --> src/crystalff/torsion_preferences.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 |     BondId, BondOrder, BondQueryPredicate, CoordinateBlock, Hybridization, QueryGraph, QueryNode,
[INFO] [stdout]   |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pre_factor` is never read
[INFO] [stdout]    --> src/constraints/distance.rs:309:30
[INFO] [stdout]     |
[INFO] [stdout] 309 |         let mut pre_factor = 0.0;
[INFO] [stdout]     |                              ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 313 |             pre_factor = dist - self.max_len;
[INFO] [stdout]     |             -------------------------------- `pre_factor` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `difference` is never read
[INFO] [stdout]    --> src/constraints/distances.rs:260:34
[INFO] [stdout]     |
[INFO] [stdout] 260 |             let mut difference = 0.0;
[INFO] [stdout]     |                                  ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 264 |                 difference = distance2.sqrt() - contrib.max_len;
[INFO] [stdout]     |                 ----------------------------------------------- `difference` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pre_factor` is never read
[INFO] [stdout]    --> src/constraints/distances.rs:343:34
[INFO] [stdout]     |
[INFO] [stdout] 343 |             let mut pre_factor = 0.0;
[INFO] [stdout]     |                                  ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 351 |                 pre_factor = distance - contrib.max_len;
[INFO] [stdout]     |                 --------------------------------------- `pre_factor` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `distance` is never read
[INFO] [stdout]    --> src/constraints/distances.rs:344:32
[INFO] [stdout]     |
[INFO] [stdout] 344 |             let mut distance = 0.0;
[INFO] [stdout]     |                                ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 350 |                 distance = distance2.sqrt();
[INFO] [stdout]     |                 --------------------------- `distance` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pre_factor` is never read
[INFO] [stdout]    --> src/constraints/position.rs:133:30
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let mut pre_factor = 0.0;
[INFO] [stdout]     |                              ^^^ this value is reassigned later and never used
[INFO] [stdout] 134 |         if dist > self.max_displ {
[INFO] [stdout] 135 |             pre_factor = dist - self.max_displ;
[INFO] [stdout]     |             ---------------------------------- `pre_factor` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `res` is never read
[INFO] [stdout]   --> src/mmff/bonded.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut res = 0.0;
[INFO] [stdout]    |                   ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 69 |         res = 0.5 * c2 * ka * angle * angle * (1.0 + cb * angle);
[INFO] [stdout]    |         -------------------------------------------------------- `res` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `res` is never read
[INFO] [stdout]    --> src/uff/angle.rs:302:23
[INFO] [stdout]     |
[INFO] [stdout] 302 |           let mut res = 0.0;
[INFO] [stdout]     |                         ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 306 | /             res = match self.order {
[INFO] [stdout] 307 | |                 1 => -cos_theta,
[INFO] [stdout] 308 | |                 2 => cos2_theta,
[INFO] [stdout] 309 | |                 3 => cos_theta * (cos_theta * cos_theta - 3.0 * sin_theta_sq),
[INFO] [stdout] ...   |
[INFO] [stdout] 316 | |                 _ => unreachable!("order was validated above"),
[INFO] [stdout] 317 | |             };
[INFO] [stdout]     | |_____________- `res` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `de_dtheta` is never read
[INFO] [stdout]    --> src/uff/angle.rs:375:29
[INFO] [stdout]     |
[INFO] [stdout] 375 |           let mut de_dtheta = 0.0;
[INFO] [stdout]     |                               ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 381 | /             de_dtheta = match self.order {
[INFO] [stdout] 382 | |                 1 => -sin_theta,
[INFO] [stdout] 383 | |                 2 => sin2_theta,
[INFO] [stdout] 384 | |                 3 => sin_theta * (3.0 - 4.0 * sin_theta * sin_theta),
[INFO] [stdout] 385 | |                 4 => cos_theta * sin_theta * (4.0 - 8.0 * sin_theta * sin_theta),
[INFO] [stdout] 386 | |                 _ => unreachable!("order was validated above"),
[INFO] [stdout] 387 | |             };
[INFO] [stdout]     | |_____________- `de_dtheta` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lane_index`
[INFO] [stdout]     --> src/uff/convenience.rs:1033:14
[INFO] [stdout]      |
[INFO] [stdout] 1033 |         for (lane_index, lane) in lanes.into_iter().enumerate() {
[INFO] [stdout]      |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lane_index`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_position_buffer_address`
[INFO] [stdout]     --> src/uff/convenience.rs:1337:9
[INFO] [stdout]      |
[INFO] [stdout] 1337 |     let initial_position_buffer_address = field.positions().as_ptr() as usize;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_position_buffer_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_position_buffer_capacity`
[INFO] [stdout]     --> src/uff/convenience.rs:1338:9
[INFO] [stdout]      |
[INFO] [stdout] 1338 |     let initial_position_buffer_capacity = field.positions_mut().capacity();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_position_buffer_capacity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `res` is never read
[INFO] [stdout]    --> src/uff/utils.rs:116:19
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let mut res = 0.0;
[INFO] [stdout]     |                   ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 173 |         res = 22.0 / (c0 + c1 + c2);
[INFO] [stdout]     |         --------------------------- `res` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> src/crystalff/torsion.rs:335:13
[INFO] [stdout]     |
[INFO] [stdout] 335 |         let d = [t[0].length(), t[1].length()];
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/crystalff/torsion_preferences.rs:687:13
[INFO] [stdout]     |
[INFO] [stdout] 687 |         let mut done_atoms = vec![false; na];
[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: unused variable: `bond_idx`
[INFO] [stdout]    --> src/crystalff/torsion_preferences.rs:968:16
[INFO] [stdout]     |
[INFO] [stdout] 968 |         .map(|(bond_idx, bond)| {
[INFO] [stdout]     |                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bond_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MmffParamParseError` is more private than the item `MmffParamError::Table::0`
[INFO] [stdout]    --> src/mmff/mol_properties.rs:18:19
[INFO] [stdout]     |
[INFO] [stdout]  18 |     Table(#[from] MmffParamParseError),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ field `MmffParamError::Table::0` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `MmffParamParseError` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]    --> src/mmff/params_text.rs:633:1
[INFO] [stdout]     |
[INFO] [stdout] 633 | pub(super) struct MmffParamParseError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffVdwParseError` is more private than the item `MmffParamError::Vdw::0`
[INFO] [stdout]     --> src/mmff/mol_properties.rs:20:17
[INFO] [stdout]      |
[INFO] [stdout]   20 |     Vdw(#[from] MmffVdwParseError),
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^ field `MmffParamError::Vdw::0` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `mmff::params::MmffVdwParseError` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]     --> src/mmff/params.rs:4264:1
[INFO] [stdout]      |
[INFO] [stdout] 4264 | pub(super) enum MmffVdwParseError {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffAngleLookupError` is more private than the item `MmffParamError::Angle::0`
[INFO] [stdout]    --> src/mmff/mol_properties.rs:22:19
[INFO] [stdout]     |
[INFO] [stdout]  22 |     Angle(#[from] MmffAngleLookupError),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^ field `MmffParamError::Angle::0` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `mmff::params::MmffAngleLookupError` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]    --> src/mmff/params.rs:264:1
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub(super) enum MmffAngleLookupError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffTorLookupError` is more private than the item `MmffParamError::Torsion::0`
[INFO] [stdout]     --> src/mmff/mol_properties.rs:24:21
[INFO] [stdout]      |
[INFO] [stdout]   24 |     Torsion(#[from] MmffTorLookupError),
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^ field `MmffParamError::Torsion::0` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `mmff::params::MmffTorLookupError` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]     --> src/mmff/params.rs:1072:1
[INFO] [stdout]      |
[INFO] [stdout] 1072 | pub(super) enum MmffTorLookupError {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffOopLookupError` is more private than the item `MmffParamError::Oop::0`
[INFO] [stdout]    --> src/mmff/mol_properties.rs:26:17
[INFO] [stdout]     |
[INFO] [stdout]  26 |     Oop(#[from] MmffOopLookupError),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ field `MmffParamError::Oop::0` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `mmff::params::MmffOopLookupError` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]    --> src/mmff/params.rs:675:1
[INFO] [stdout]     |
[INFO] [stdout] 675 | pub(super) enum MmffOopLookupError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffProp` is more private than the item `MmffMolProperties::get_mmff_central_atom_prop`
[INFO] [stdout]     --> src/mmff/mol_properties.rs:1109:5
[INFO] [stdout]      |
[INFO] [stdout] 1109 | /     pub fn get_mmff_central_atom_prop(
[INFO] [stdout] 1110 | |         &self,
[INFO] [stdout] 1111 | |         idx: usize,
[INFO] [stdout] 1112 | |     ) -> Result<MmffProp, MmffMolPropertiesError> {
[INFO] [stdout]      | |_________________________________________________^ method `MmffMolProperties::get_mmff_central_atom_prop` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `mmff::params::MmffProp` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]     --> src/mmff/params.rs:3441:1
[INFO] [stdout]      |
[INFO] [stdout] 3441 | pub(super) struct MmffProp {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffBond` is more private than the item `MmffMolProperties::get_mmff_bond_stretch_params`
[INFO] [stdout]     --> src/mmff/mol_properties.rs:1286:5
[INFO] [stdout]      |
[INFO] [stdout] 1286 | /     pub fn get_mmff_bond_stretch_params(
[INFO] [stdout] 1287 | |         &self,
[INFO] [stdout] 1288 | |         idx1: usize,
[INFO] [stdout] 1289 | |         idx2: usize,
[INFO] [stdout] 1290 | |     ) -> Result<Option<(u32, MmffBond)>, MmffMolPropertiesError> {
[INFO] [stdout]      | |________________________________________________________________^ method `MmffMolProperties::get_mmff_bond_stretch_params` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `mmff::params::MmffBond` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]     --> src/mmff/params.rs:3669:1
[INFO] [stdout]      |
[INFO] [stdout] 3669 | pub(super) struct MmffBond {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffAngle` is more private than the item `MmffMolProperties::get_mmff_angle_bend_params`
[INFO] [stdout]     --> src/mmff/mol_properties.rs:1823:5
[INFO] [stdout]      |
[INFO] [stdout] 1823 | /     pub fn get_mmff_angle_bend_params(
[INFO] [stdout] 1824 | |         &self,
[INFO] [stdout] 1825 | |         idx1: usize,
[INFO] [stdout] 1826 | |         idx2: usize,
[INFO] [stdout] 1827 | |         idx3: usize,
[INFO] [stdout] 1828 | |     ) -> Result<Option<(u32, MmffAngle)>, MmffMolPropertiesError> {
[INFO] [stdout]      | |_________________________________________________________________^ method `MmffMolProperties::get_mmff_angle_bend_params` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `mmff::params::MmffAngle` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]     --> src/mmff/params.rs:249:1
[INFO] [stdout]      |
[INFO] [stdout]  249 | pub(super) struct MmffAngle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffStbn` is more private than the item `MmffMolProperties::get_mmff_stretch_bend_params`
[INFO] [stdout]     --> src/mmff/mol_properties.rs:1933:5
[INFO] [stdout]      |
[INFO] [stdout] 1933 | /     pub fn get_mmff_stretch_bend_params(
[INFO] [stdout] 1934 | |         &self,
[INFO] [stdout] 1935 | |         idx1: usize,
[INFO] [stdout] 1936 | |         idx2: usize,
[INFO] [stdout] 1937 | |         idx3: usize,
[INFO] [stdout] 1938 | |     ) -> Result<Option<(u32, MmffStbn, [MmffBond; 2], MmffAngle)>, MmffMolPropertiesError> {
[INFO] [stdout]      | |__________________________________________________________________________________________^ method `MmffMolProperties::get_mmff_stretch_bend_params` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `mmff::params::MmffStbn` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]     --> src/mmff/params.rs:2545:1
[INFO] [stdout]      |
[INFO] [stdout] 2545 | pub(super) struct MmffStbn {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffBond` is more private than the item `MmffMolProperties::get_mmff_stretch_bend_params`
[INFO] [stdout]     --> src/mmff/mol_properties.rs:1933:5
[INFO] [stdout]      |
[INFO] [stdout] 1933 | /     pub fn get_mmff_stretch_bend_params(
[INFO] [stdout] 1934 | |         &self,
[INFO] [stdout] 1935 | |         idx1: usize,
[INFO] [stdout] 1936 | |         idx2: usize,
[INFO] [stdout] 1937 | |         idx3: usize,
[INFO] [stdout] 1938 | |     ) -> Result<Option<(u32, MmffStbn, [MmffBond; 2], MmffAngle)>, MmffMolPropertiesError> {
[INFO] [stdout]      | |__________________________________________________________________________________________^ method `MmffMolProperties::get_mmff_stretch_bend_params` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `mmff::params::MmffBond` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]     --> src/mmff/params.rs:3669:1
[INFO] [stdout]      |
[INFO] [stdout] 3669 | pub(super) struct MmffBond {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffAngle` is more private than the item `MmffMolProperties::get_mmff_stretch_bend_params`
[INFO] [stdout]     --> src/mmff/mol_properties.rs:1933:5
[INFO] [stdout]      |
[INFO] [stdout] 1933 | /     pub fn get_mmff_stretch_bend_params(
[INFO] [stdout] 1934 | |         &self,
[INFO] [stdout] 1935 | |         idx1: usize,
[INFO] [stdout] 1936 | |         idx2: usize,
[INFO] [stdout] 1937 | |         idx3: usize,
[INFO] [stdout] 1938 | |     ) -> Result<Option<(u32, MmffStbn, [MmffBond; 2], MmffAngle)>, MmffMolPropertiesError> {
[INFO] [stdout]      | |__________________________________________________________________________________________^ method `MmffMolProperties::get_mmff_stretch_bend_params` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `mmff::params::MmffAngle` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]     --> src/mmff/params.rs:249:1
[INFO] [stdout]      |
[INFO] [stdout]  249 | pub(super) struct MmffAngle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffTor` is more private than the item `MmffMolProperties::get_mmff_torsion_params`
[INFO] [stdout]     --> src/mmff/mol_properties.rs:2568:5
[INFO] [stdout]      |
[INFO] [stdout] 2568 | /     pub fn get_mmff_torsion_params(
[INFO] [stdout] 2569 | |         &self,
[INFO] [stdout] 2570 | |         idx1: usize,
[INFO] [stdout] 2571 | |         idx2: usize,
[INFO] [stdout] 2572 | |         idx3: usize,
[INFO] [stdout] 2573 | |         idx4: usize,
[INFO] [stdout] 2574 | |     ) -> Result<Option<(u32, MmffTor)>, MmffMolPropertiesError> {
[INFO] [stdout]      | |_______________________________________________________________^ method `MmffMolProperties::get_mmff_torsion_params` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `mmff::params::MmffTor` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]     --> src/mmff/params.rs:1055:1
[INFO] [stdout]      |
[INFO] [stdout] 1055 | pub(super) struct MmffTor {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffOop` is more private than the item `MmffMolProperties::get_mmff_oop_bend_params`
[INFO] [stdout]     --> src/mmff/mol_properties.rs:2672:5
[INFO] [stdout]      |
[INFO] [stdout] 2672 | /     pub fn get_mmff_oop_bend_params(
[INFO] [stdout] 2673 | |         &self,
[INFO] [stdout] 2674 | |         idx1: usize,
[INFO] [stdout] 2675 | |         idx2: usize,
[INFO] [stdout] 2676 | |         idx3: usize,
[INFO] [stdout] 2677 | |         idx4: usize,
[INFO] [stdout] 2678 | |     ) -> Result<Option<MmffOop>, MmffMolPropertiesError> {
[INFO] [stdout]      | |________________________________________________________^ method `MmffMolProperties::get_mmff_oop_bend_params` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `mmff::params::MmffOop` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]     --> src/mmff/params.rs:661:1
[INFO] [stdout]      |
[INFO] [stdout]  661 | pub(super) struct MmffOop {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `UffBuilderError` is more private than the item `ForceFieldConstructionError::Builder::0`
[INFO] [stdout]    --> src/uff/builder.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |     Builder(UffBuilderError),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ field `ForceFieldConstructionError::Builder::0` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `UffBuilderError` is only usable at visibility `pub(in crate::uff)`
[INFO] [stdout]    --> src/uff/builder.rs:38:1
[INFO] [stdout]     |
[INFO] [stdout]  38 | pub(super) enum UffBuilderError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `NonbondedAssemblyError` is more private than the item `ForceFieldConstructionError::Nonbonded::0`
[INFO] [stdout]    --> src/uff/builder.rs:299:15
[INFO] [stdout]     |
[INFO] [stdout] 299 |     Nonbonded(NonbondedAssemblyError),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^ field `ForceFieldConstructionError::Nonbonded::0` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `NonbondedAssemblyError` is only usable at visibility `pub(in crate::uff)`
[INFO] [stdout]    --> src/uff/builder.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub(super) enum NonbondedAssemblyError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `UffTypingError` is more private than the item `AutomaticForceFieldConstructionError::Typing::0`
[INFO] [stdout]    --> src/uff/builder.rs:305:12
[INFO] [stdout]     |
[INFO] [stdout] 305 |     Typing(UffTypingError),
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ field `AutomaticForceFieldConstructionError::Typing::0` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `UffTypingError` is only usable at visibility `pub(in crate::uff)`
[INFO] [stdout]    --> src/uff/atom_typer.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout]  22 | pub(super) enum UffTypingError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize_angle_deg` is never used
[INFO] [stdout]   --> src/geometry.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(super) fn normalize_angle_deg(angle_deg: &mut 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: associated function `sum` is never used
[INFO] [stdout]    --> src/geometry.rs:153:19
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl Point3 {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub(super) fn sum(p1: &Self, p2: &Self) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_dihedral_from_position_vec` is never used
[INFO] [stdout]    --> src/geometry.rs:332:4
[INFO] [stdout]     |
[INFO] [stdout] 332 | fn compute_dihedral_from_position_vec(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_dihedral_from_flat_radians` is never used
[INFO] [stdout]    --> src/geometry.rs:409:15
[INFO] [stdout]     |
[INFO] [stdout] 409 | pub(super) fn compute_dihedral_from_flat_radians(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_dihedral_from_flat_with_vectors` is never used
[INFO] [stdout]    --> src/geometry.rs:435:15
[INFO] [stdout]     |
[INFO] [stdout] 435 | pub(super) fn compute_dihedral_from_flat_with_vectors(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_dihedral_from_position_slices_radians` is never used
[INFO] [stdout]    --> src/geometry.rs:459:15
[INFO] [stdout]     |
[INFO] [stdout] 459 | pub(super) fn compute_dihedral_from_position_slices_radians(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AngleBoundsOrder` and `TorsionBoundsOrder` are never constructed
[INFO] [stdout]    --> src/kernel.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub(super) enum ForceFieldKernelError {
[INFO] [stdout]     |                 --------------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 224 |     AngleBoundsOrder,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 225 |     PackedAngleBoundsOrder,
[INFO] [stdout] 226 |     TorsionBoundsOrder,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ForceFieldKernelError` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `source_category`, `source_message`, and `source_expression` are never used
[INFO] [stdout]    --> src/kernel.rs:253:14
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl ForceFieldKernelError {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] 253 |     const fn source_category(self) -> &'static str {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     const fn source_message(self) -> &'static str {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 372 |     fn source_expression(self) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `distance_const` is never used
[INFO] [stdout]    --> src/kernel.rs:789:8
[INFO] [stdout]     |
[INFO] [stdout] 695 | impl<'a> EvaluationContext<'a> {
[INFO] [stdout]     | ------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 789 |     fn distance_const(&self, i: u32, j: u32) -> Result<f64, ForceFieldKernelError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `num_points`, `rebind_positions`, `distance`, `distance2`, and `distance_const` are never used
[INFO] [stdout]     --> src/kernel.rs:852:8
[INFO] [stdout]      |
[INFO] [stdout]  794 | impl<'a> ForceField<'a> {
[INFO] [stdout]      | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  852 |     fn num_points(&self) -> u32 {
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  867 |     pub(super) fn rebind_positions<'next>(
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1565 |     fn distance(
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1619 |     fn distance2(&self, i: u32, j: u32, pos: Option<&[f64]>) -> Result<f64, ForceFieldKernelError> {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1661 |     fn distance_const(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AngleConstraintContrib` is never constructed
[INFO] [stdout]   --> src/constraints/angle.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(super) struct AngleConstraintContrib {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_absolute`, `new_relative`, `compute_angle_term`, `get_energy`, and `get_grad` are never used
[INFO] [stdout]    --> src/constraints/angle.rs:24:19
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl AngleConstraintContrib {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout]  24 |     pub(super) fn new_absolute(
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub(super) fn new_relative(
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub(super) fn compute_angle_term(&self, angle: f64) -> f64 {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub(super) fn get_energy(&self, pos: &[f64]) -> f64 {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub(super) fn get_grad(&self, pos: &[f64], grad: &mut [f64]) {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_contrib_relative` and `size` are never used
[INFO] [stdout]    --> src/constraints/angles.rs:128:19
[INFO] [stdout]     |
[INFO] [stdout]  68 | impl AngleConstraintContribs {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub(crate) fn add_contrib_relative(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub(crate) fn size(&self) -> usize {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DistanceConstraintContrib` is never constructed
[INFO] [stdout]  --> src/constraints/distance.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(super) struct DistanceConstraintContrib {
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_absolute`, `new_relative`, `min_len`, `max_len`, `get_energy`, and `get_grad` are never used
[INFO] [stdout]    --> src/constraints/distance.rs:14:19
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DistanceConstraintContrib {
[INFO] [stdout]     | ------------------------------ associated items in this implementation
[INFO] [stdout]  14 |     pub(super) fn new_absolute(
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub(super) fn new_relative(
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub(super) fn min_len(&self) -> f64 {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub(super) fn max_len(&self) -> f64 {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub(super) fn get_energy(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub(super) fn get_grad(
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_contrib_relative` and `size` are never used
[INFO] [stdout]    --> src/constraints/distances.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl DistanceConstraintContribs {
[INFO] [stdout]     | ------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub(crate) fn add_contrib_relative(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub(crate) fn size(&self) -> usize {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PositionConstraintContrib` is never constructed
[INFO] [stdout]  --> src/constraints/position.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(super) struct PositionConstraintContrib {
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `energy`, and `gradient` are never used
[INFO] [stdout]   --> src/constraints/position.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl PositionConstraintContrib {
[INFO] [stdout]    | ------------------------------ associated items in this implementation
[INFO] [stdout] 16 |     pub(super) fn new(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn energy(&self, coordinates: &[f64]) -> f64 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     fn gradient(&self, coordinates: &[f64], gradient: &mut [f64]) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TorsionConstraintContrib` is never constructed
[INFO] [stdout]   --> src/constraints/torsion.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(super) struct TorsionConstraintContrib {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_absolute`, `new_relative`, `set_parameters`, `compute_dihedral_term`, `get_energy`, and `get_grad` are never used
[INFO] [stdout]    --> src/constraints/torsion.rs:31:19
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl TorsionConstraintContrib {
[INFO] [stdout]     | ----------------------------- associated items in this implementation
[INFO] [stdout]  31 |     pub(super) fn new_absolute(
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub(super) fn new_relative(
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     fn set_parameters(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     fn compute_dihedral_term(&self, dihedral: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     pub(super) fn get_energy(&self, context: &EvaluationContext<'_>) -> f64 {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     fn get_grad(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_torsion_precondition` is never used
[INFO] [stdout]    --> src/constraints/torsion.rs:366:4
[INFO] [stdout]     |
[INFO] [stdout] 366 | fn validate_torsion_precondition(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_torsion_index` is never used
[INFO] [stdout]    --> src/constraints/torsion.rs:401:4
[INFO] [stdout]     |
[INFO] [stdout] 401 | fn validate_torsion_index(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_bond_force_constant` is never used
[INFO] [stdout]   --> src/mmff/numerical.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(super) fn calc_bond_force_constant(params: &MmffBond) -> f64 {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_angle_force_constant` is never used
[INFO] [stdout]   --> src/mmff/numerical.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub(super) fn calc_angle_force_constant(params: &MmffAngle) -> f64 {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_MMFF_AROMATIC_TYPES` is never used
[INFO] [stdout]   --> src/mmff/params.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 | const DEFAULT_MMFF_AROMATIC_TYPES: [u8; 17] = [
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MMFFAromCollection` is never constructed
[INFO] [stdout]   --> src/mmff/params.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct MMFFAromCollection {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `is_mmff_aromatic` are never used
[INFO] [stdout]   --> src/mmff/params.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl MMFFAromCollection {
[INFO] [stdout]    | ----------------------- associated items in this implementation
[INFO] [stdout] 49 |     fn new(mmff_arom: Option<&[u8]>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     fn is_mmff_aromatic(&self, atom_type: u32) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MMFF_SANITIZED_PROP` is never used
[INFO] [stdout]   --> src/mmff/mol_properties.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const MMFF_SANITIZED_PROP: &str = "_MMFFSanitized";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MMFF_DIELECTRIC_DISTANCE` is never used
[INFO] [stdout]   --> src/mmff/mol_properties.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const MMFF_DIELECTRIC_DISTANCE: u8 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MMFF_VERBOSITY_NONE` is never used
[INFO] [stdout]   --> src/mmff/mol_properties.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const MMFF_VERBOSITY_NONE: u8 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MMFF_VERBOSITY_LOW` is never used
[INFO] [stdout]   --> src/mmff/mol_properties.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const MMFF_VERBOSITY_LOW: u8 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MMFF_VERBOSITY_HIGH` is never used
[INFO] [stdout]   --> src/mmff/mol_properties.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const MMFF_VERBOSITY_HIGH: u8 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `mmff_variant`, and `get_mmff_formal_charge` are never used
[INFO] [stdout]     --> src/mmff/mol_properties.rs:186:12
[INFO] [stdout]      |
[INFO] [stdout]  185 | impl MmffMolProperties {
[INFO] [stdout]      | ---------------------- associated items in this implementation
[INFO] [stdout]  186 |     pub fn new(
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1087 |     pub const fn mmff_variant(&self) -> MmffVariant {
[INFO] [stdout]      |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1121 |     pub fn get_mmff_formal_charge(&self, idx: usize) -> Result<f64, MmffMolPropertiesError> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/mmff/nonbonded_contrib.rs:232:19
[INFO] [stdout]     |
[INFO] [stdout] 209 | impl NonbondedContrib {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub(crate) fn len(&self) -> usize {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub(crate) fn is_empty(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     pub(crate) fn atom1_indices(&self) -> &[i16] {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     pub(crate) fn atom2_indices(&self) -> &[i16] {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub(crate) fn contrib_types(&self) -> &[u8] {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     pub(crate) fn r_ij_stars(&self) -> &[f64] {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub(crate) fn well_depths(&self) -> &[f64] {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     pub(crate) fn charge_terms(&self) -> &[f64] {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     pub(crate) fn is_1_4s(&self) -> &[u8] {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |     pub(crate) fn diel_models(&self) -> &[u8] {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidConformerId` is never constructed
[INFO] [stdout]   --> src/mmff/builder.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub(crate) enum MmffBuilderError {
[INFO] [stdout]    |                 ---------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 49 |     InvalidConformerId { conf_id: isize },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MmffBuilderError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/mmff/builder.rs:56:16
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub(crate) struct MmffConformerContext<'a> {
[INFO] [stdout]    |                   -------------------- fields in this struct
[INFO] [stdout] 56 |     pub(crate) two_d: &'a [Conformer2D],
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 57 |     pub(crate) before: &'a [Conformer3D],
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 58 |     pub(crate) selected_id: usize,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 59 |     pub(crate) selected_is_3d: bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 60 |     pub(crate) selected_props: &'a std::collections::BTreeMap<
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub(crate) after: &'a [Conformer3D],
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 65 |     pub(crate) source_dimension: Option<CoordinateDimension>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 66 |     pub(crate) source_order: Option<&'a [CoordinateDimension]>,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAXITS` is never used
[INFO] [stdout]   --> src/optimizer.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const MAXITS: u32 = 200;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `source_category` is never used
[INFO] [stdout]   --> src/uff/angle.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl AngleBendError {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] 31 |     const fn source_category(self) -> &'static str {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `BondMath`, `AtomIdOutOfBounds`, `AtomIndexOutOfBounds`, `BondIdOutOfBounds`, `CenterBondMissingAfterSourceSuccess`, and `CentralParameterSlotMissingAfterSourceSuccess` are never constructed
[INFO] [stdout]   --> src/uff/atom_typer.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(super) enum UffTypingError {
[INFO] [stdout]    |                 -------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 25 |     BondMath(BondMathError),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     AtomIdOutOfBounds {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     AtomIndexOutOfBounds {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     BondIdOutOfBounds {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     CenterBondMissingAfterSourceSuccess {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     CentralParameterSlotMissingAfterSourceSuccess {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UffTypingError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_atom_types` is never used
[INFO] [stdout]     --> src/uff/atom_typer.rs:1390:15
[INFO] [stdout]      |
[INFO] [stdout] 1390 | pub(super) fn get_atom_types<'params>(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `uff_has_all_molecule_parameters` is never used
[INFO] [stdout]     --> src/uff/atom_typer.rs:1486:15
[INFO] [stdout]      |
[INFO] [stdout] 1486 | pub(super) fn uff_has_all_molecule_parameters(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uff_vdw_params` is never used
[INFO] [stdout]     --> src/uff/atom_typer.rs:1515:4
[INFO] [stdout]      |
[INFO] [stdout] 1515 | fn get_uff_vdw_params(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uff_bond_stretch_params` is never used
[INFO] [stdout]     --> src/uff/atom_typer.rs:1610:4
[INFO] [stdout]      |
[INFO] [stdout] 1610 | fn get_uff_bond_stretch_params(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uff_angle_bend_params` is never used
[INFO] [stdout]     --> src/uff/atom_typer.rs:1724:4
[INFO] [stdout]      |
[INFO] [stdout] 1724 | fn get_uff_angle_bend_params(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `torsion_sp3_amplitude` is never used
[INFO] [stdout]     --> src/uff/atom_typer.rs:1862:4
[INFO] [stdout]      |
[INFO] [stdout] 1862 | fn torsion_sp3_amplitude(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `torsion_mixed_amplitude` is never used
[INFO] [stdout]     --> src/uff/atom_typer.rs:1907:4
[INFO] [stdout]      |
[INFO] [stdout] 1907 | fn torsion_mixed_amplitude(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uff_torsion_params` is never used
[INFO] [stdout]     --> src/uff/atom_typer.rs:1961:4
[INFO] [stdout]      |
[INFO] [stdout] 1961 | fn get_uff_torsion_params(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uff_inversion_params` is never used
[INFO] [stdout]     --> src/uff/atom_typer.rs:2255:4
[INFO] [stdout]      |
[INFO] [stdout] 2255 | fn get_uff_inversion_params(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TopologyValidation` is never constructed
[INFO] [stdout]    --> src/uff/builder.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout]  38 | pub(super) enum UffBuilderError {
[INFO] [stdout]     |                 --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 126 |     TopologyValidation(TopologyValidationError),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UffBuilderError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `component_index`, `atom_index`, and `atom_count` are never read
[INFO] [stdout]    --> src/uff/builder.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |     AtomOutOfRange {
[INFO] [stdout]     |     -------------- fields in this variant
[INFO] [stdout] 236 |         component_index: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 237 |         atom_index: usize,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 238 |         atom_count: usize,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NonbondedFragmentMappingError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `atom_index`, `first_component`, and `second_component` are never read
[INFO] [stdout]    --> src/uff/builder.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |     DuplicateAtom {
[INFO] [stdout]     |     ------------- fields in this variant
[INFO] [stdout] 241 |         atom_index: usize,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 242 |         first_component: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 243 |         second_component: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NonbondedFragmentMappingError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `atom_index` is never read
[INFO] [stdout]    --> src/uff/builder.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |     MissingAtom {
[INFO] [stdout]     |     ----------- field in this variant
[INFO] [stdout] 246 |         atom_index: usize,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NonbondedFragmentMappingError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nonbonded_pair_is_eligible` is never used
[INFO] [stdout]    --> src/uff/builder.rs:417:4
[INFO] [stdout]     |
[INFO] [stdout] 417 | fn nonbonded_pair_is_eligible(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prepare_force_field_preamble` is never used
[INFO] [stdout]     --> src/uff/builder.rs:3033:4
[INFO] [stdout]      |
[INFO] [stdout] 3033 | fn prepare_force_field_preamble<'a>(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `construct_force_field_with_automatic_typing_from_rows` is never used
[INFO] [stdout]     --> src/uff/builder.rs:3510:15
[INFO] [stdout]      |
[INFO] [stdout] 3510 | pub(super) fn construct_force_field_with_automatic_typing_from_rows<'a>(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `for_conformer` is never used
[INFO] [stdout]   --> src/uff/convenience.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl SingleConformerOptions {
[INFO] [stdout]    | --------------------------- associated function in this implementation
[INFO] [stdout] 22 |     pub(super) const fn for_conformer(conformer_id: usize) -> Self {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Dense` is never constructed
[INFO] [stdout]    --> src/uff/convenience.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 201 | enum WorkerResultSlotView<'results> {
[INFO] [stdout]     |      -------------------- variant in this enum
[INFO] [stdout] 202 |     Dense(&'results mut [OptimizationOutcome]),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `selects_current` is never used
[INFO] [stdout]    --> src/uff/convenience.rs:250:8
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl WorkerConformerAssignment {
[INFO] [stdout]     | ------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 250 |     fn selects_current(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_worker_conformers` is never used
[INFO] [stdout]     --> src/uff/convenience.rs:1391:4
[INFO] [stdout]      |
[INFO] [stdout] 1391 | fn optimize_worker_conformers<'field, 'rows>(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_serial_uff` is never used
[INFO] [stdout]     --> src/uff/convenience.rs:1608:15
[INFO] [stdout]      |
[INFO] [stdout] 1608 | pub(super) fn optimize_serial_uff(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_dispatched_uff` is never used
[INFO] [stdout]     --> src/uff/convenience.rs:1734:4
[INFO] [stdout]      |
[INFO] [stdout] 1734 | fn optimize_dispatched_uff<'field, 'rows, 'positions>(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_dispatched_uff_coordinate_block` is never used
[INFO] [stdout]     --> src/uff/convenience.rs:1805:15
[INFO] [stdout]      |
[INFO] [stdout] 1805 | pub(super) fn optimize_dispatched_uff_coordinate_block<'rows>(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `source_category`, `source_message`, and `range_detail` are never used
[INFO] [stdout]   --> src/uff/inversion.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl InversionContributionError {
[INFO] [stdout]    | ------------------------------- methods in this implementation
[INFO] [stdout] 30 |     pub(crate) const fn source_category(self) -> &'static str {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub(crate) const fn source_message(self) -> &'static str {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub(crate) const fn range_detail(self) -> (u32, usize) {
[INFO] [stdout]    |                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_prepared_uff_dispatch` is never used
[INFO] [stdout]    --> src/uff/optimization.rs:190:15
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub(super) fn optimize_prepared_uff_dispatch(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PARAMS_AMIDE_BOND_ORDER` is never used
[INFO] [stdout]   --> src/uff/params.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) const PARAMS_AMIDE_BOND_ORDER: f64 = 1.41;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UffBond` is never constructed
[INFO] [stdout]   --> src/uff/params.rs:44:19
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub(crate) struct UffBond {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UffAngle` is never constructed
[INFO] [stdout]   --> src/uff/params.rs:52:19
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub(crate) struct UffAngle {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UffTor` is never constructed
[INFO] [stdout]   --> src/uff/params.rs:60:19
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub(crate) struct UffTor {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UffInv` is never constructed
[INFO] [stdout]   --> src/uff/params.rs:66:19
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub(crate) struct UffInv {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UffVdw` is never constructed
[INFO] [stdout]   --> src/uff/params.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub(crate) struct UffVdw {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fields` is never used
[INFO] [stdout]    --> src/uff/params.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl AtomicParams {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 106 |     fn fields(self) -> [f64; 11] {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len` and `is_empty` are never used
[INFO] [stdout]    --> src/uff/params.rs:227:19
[INFO] [stdout]     |
[INFO] [stdout] 171 | impl ParamCollection {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 227 |     pub(crate) fn len(&self) -> usize {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     pub(crate) fn is_empty(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `source_category` and `source_message` are never used
[INFO] [stdout]    --> src/uff/torsion.rs:123:14
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl TorsionParamsError {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] 123 |     const fn source_category(self) -> &'static str {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     const fn source_message(self) -> &'static str {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `source_category`, `source_message`, and `range_detail` are never used
[INFO] [stdout]    --> src/uff/torsion.rs:151:14
[INFO] [stdout]     |
[INFO] [stdout] 150 | impl TorsionContributionError {
[INFO] [stdout]     | ----------------------------- methods in this implementation
[INFO] [stdout] 151 |     const fn source_category(self) -> &'static str {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     const fn source_message(self) -> &'static str {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     const fn range_detail(self) -> Option<(u32, usize)> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `VectChiralSet` is never used
[INFO] [stdout]    --> src/distgeom.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub type VectChiralSet = Vec<ChiralSetPtr>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `size` and `contribs` are never used
[INFO] [stdout]    --> src/distgeom.rs:331:12
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl ChiralViolationContribs {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn size(&self) -> usize {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn contribs(&self) -> &[ChiralViolationContribsParams] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `size` and `contribs` are never used
[INFO] [stdout]    --> src/distgeom.rs:635:12
[INFO] [stdout]     |
[INFO] [stdout] 601 | impl DistViolationContribs {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 635 |     pub fn size(&self) -> usize {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 641 |     pub fn contribs(&self) -> &[DistViolationContribsParams] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `size` and `contribs` are never used
[INFO] [stdout]    --> src/distgeom.rs:856:12
[INFO] [stdout]     |
[INFO] [stdout] 821 | impl FourthDimContribs {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 856 |     pub fn size(&self) -> usize {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 862 |     pub fn contribs(&self) -> &[FourthDimContribsParams] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_torsion_energy` is never used
[INFO] [stdout]    --> src/crystalff/torsion.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub fn calc_torsion_energy(force_constants: &[f64], signs: &[i32], cos_phi: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]    --> src/crystalff/torsion.rs:222:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl TorsionAngleContribs {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `atom_indices`, `force_constants`, and `signs` are never used
[INFO] [stdout]    --> src/crystalff/torsion.rs:634:8
[INFO] [stdout]     |
[INFO] [stdout] 592 | impl TorsionAngleContribM6 {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 634 |     fn atom_indices(&self) -> [usize; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 638 |     fn force_constants(&self) -> &[f64] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 641 |     fn signs(&self) -> &[i32] {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `param_data` is never read
[INFO] [stdout]    --> src/crystalff/torsion_preferences.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub(crate) struct ExpTorsionAngleCollection {
[INFO] [stdout]     |                   ------------------------- field in this struct
[INFO] [stdout] 169 |     param_data: String,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExpTorsionAngleCollection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `param_data` is never used
[INFO] [stdout]    --> src/crystalff/torsion_preferences.rs:175:19
[INFO] [stdout]     |
[INFO] [stdout] 173 | impl ExpTorsionAngleCollection {
[INFO] [stdout]     | ------------------------------ method in this implementation
[INFO] [stdout] 174 |     #[must_use]
[INFO] [stdout] 175 |     pub(crate) fn param_data(&self) -> &str {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CrystalffTemplateBond` is never constructed
[INFO] [stdout]    --> src/crystalff/torsion_preferences.rs:952:8
[INFO] [stdout]     |
[INFO] [stdout] 952 | struct CrystalffTemplateBond {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expand_crystalff_smarts_bonds` is never used
[INFO] [stdout]    --> src/crystalff/torsion_preferences.rs:958:4
[INFO] [stdout]     |
[INFO] [stdout] 958 | fn expand_crystalff_smarts_bonds(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 11s
[INFO] running `Command { std: "docker" "inspect" "988376c4fc4213e6054789f535ce16a46936fd4795076eca7ac9e30c0381e4d0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "988376c4fc4213e6054789f535ce16a46936fd4795076eca7ac9e30c0381e4d0" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling simd-adler32 v0.3.10
[INFO] [stderr]    Compiling syn v3.0.9
[INFO] [stderr]    Compiling arrayvec v0.7.8
[INFO] [stderr]    Compiling crc32fast v1.5.2
[INFO] [stderr]    Compiling slotmap v1.1.1
[INFO] [stderr]    Compiling log v0.4.34
[INFO] [stderr]    Compiling smallvec v1.16.3
[INFO] [stderr]    Compiling float-cmp v0.9.0
[INFO] [stderr]    Compiling bitflags v2.13.2
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling polycool v0.4.0
[INFO] [stderr]    Compiling strict-num v0.1.1
[INFO] [stderr]    Compiling miniz_oxide v0.9.1
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling kurbo v0.13.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling siphasher v1.0.4
[INFO] [stderr]    Compiling tinyvec v1.13.3
[INFO] [stderr]    Compiling flate2 v1.1.10
[INFO] [stderr]    Compiling fontdb v0.24.0
[INFO] [stderr]    Compiling simplecss v0.2.2
[INFO] [stderr]    Compiling svgtypes v0.16.1
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling roxmltree v0.21.1
[INFO] [stderr]    Compiling data-url v0.3.2
[INFO] [stderr]    Compiling imagesize v0.15.0
[INFO] [stderr]    Compiling serde_json v1.0.154
[INFO] [stderr]    Compiling xmlwriter v0.1.0
[INFO] [stderr]    Compiling unicode-script v0.5.8
[INFO] [stderr]    Compiling unicode-vo v0.1.0
[INFO] [stderr]    Compiling pico-args v0.5.0
[INFO] [stderr]    Compiling glam v0.34.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.21
[INFO] [stderr]    Compiling bytemuck_derive v1.12.1
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling hashify v0.3.1
[INFO] [stderr]    Compiling musli-macros v0.1.9
[INFO] [stderr]    Compiling thiserror v2.0.21
[INFO] [stderr]    Compiling cosmolkit-ringdecomposer v0.5.1-rc.3
[INFO] [stderr]    Compiling cobs v0.3.0
[INFO] [stderr]    Compiling bytemuck v1.25.2
[INFO] [stderr]    Compiling font-types v0.12.6
[INFO] [stderr]    Compiling tiny-skia-path v0.12.0
[INFO] [stderr]    Compiling rgb v0.8.53
[INFO] [stderr]    Compiling read-fonts v0.41.0
[INFO] [stderr]    Compiling tiny-skia v0.12.0
[INFO] [stderr]    Compiling musli-core v0.1.9
[INFO] [stderr]    Compiling cosmolkit-types v0.5.1-rc.3
[INFO] [stderr]    Compiling musli v0.1.9
[INFO] [stderr]    Compiling postcard v1.1.3
[INFO] [stderr]    Compiling cosmolkit-model v0.5.1-rc.3
[INFO] [stderr]    Compiling cosmolkit-core v0.5.1-rc.3
[INFO] [stderr]    Compiling harfrust v0.12.0
[INFO] [stderr]    Compiling skrifa v0.44.0
[INFO] [stderr]    Compiling cosmolkit-cx v0.5.1-rc.3
[INFO] [stderr]    Compiling cosmolkit-search v0.5.1-rc.3
[INFO] [stderr]    Compiling usvg v0.48.1
[INFO] [stderr]    Compiling cosmolkit-smiles v0.5.1-rc.3
[INFO] [stderr]    Compiling resvg v0.48.1
[INFO] [stderr]    Compiling cosmolkit-depict v0.5.1-rc.3
[INFO] [stderr]    Compiling cosmolkit-forcefields v0.5.1-rc.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `AromaticityModel` and `AromaticityParams`
[INFO] [stdout]  --> src/mmff/mol_properties.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 |     AromaticityError, AromaticityModel, AromaticityParams, KekulizeError, KekulizeParams,
[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: `NonbondedContrib`
[INFO] [stdout]   --> src/mmff/mod.rs:25:48
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) use nonbonded_contrib::{EleContrib, NonbondedContrib};
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BondOrder`
[INFO] [stdout]  --> src/crystalff/torsion_preferences.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 |     BondId, BondOrder, BondQueryPredicate, CoordinateBlock, Hybridization, QueryGraph, QueryNode,
[INFO] [stdout]   |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pre_factor` is never read
[INFO] [stdout]    --> src/constraints/distance.rs:309:30
[INFO] [stdout]     |
[INFO] [stdout] 309 |         let mut pre_factor = 0.0;
[INFO] [stdout]     |                              ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 313 |             pre_factor = dist - self.max_len;
[INFO] [stdout]     |             -------------------------------- `pre_factor` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `difference` is never read
[INFO] [stdout]    --> src/constraints/distances.rs:260:34
[INFO] [stdout]     |
[INFO] [stdout] 260 |             let mut difference = 0.0;
[INFO] [stdout]     |                                  ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 264 |                 difference = distance2.sqrt() - contrib.max_len;
[INFO] [stdout]     |                 ----------------------------------------------- `difference` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pre_factor` is never read
[INFO] [stdout]    --> src/constraints/distances.rs:343:34
[INFO] [stdout]     |
[INFO] [stdout] 343 |             let mut pre_factor = 0.0;
[INFO] [stdout]     |                                  ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 351 |                 pre_factor = distance - contrib.max_len;
[INFO] [stdout]     |                 --------------------------------------- `pre_factor` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `distance` is never read
[INFO] [stdout]    --> src/constraints/distances.rs:344:32
[INFO] [stdout]     |
[INFO] [stdout] 344 |             let mut distance = 0.0;
[INFO] [stdout]     |                                ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 350 |                 distance = distance2.sqrt();
[INFO] [stdout]     |                 --------------------------- `distance` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pre_factor` is never read
[INFO] [stdout]    --> src/constraints/position.rs:133:30
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let mut pre_factor = 0.0;
[INFO] [stdout]     |                              ^^^ this value is reassigned later and never used
[INFO] [stdout] 134 |         if dist > self.max_displ {
[INFO] [stdout] 135 |             pre_factor = dist - self.max_displ;
[INFO] [stdout]     |             ---------------------------------- `pre_factor` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `res` is never read
[INFO] [stdout]   --> src/mmff/bonded.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut res = 0.0;
[INFO] [stdout]    |                   ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 69 |         res = 0.5 * c2 * ka * angle * angle * (1.0 + cb * angle);
[INFO] [stdout]    |         -------------------------------------------------------- `res` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `res` is never read
[INFO] [stdout]    --> src/uff/angle.rs:302:23
[INFO] [stdout]     |
[INFO] [stdout] 302 |           let mut res = 0.0;
[INFO] [stdout]     |                         ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 306 | /             res = match self.order {
[INFO] [stdout] 307 | |                 1 => -cos_theta,
[INFO] [stdout] 308 | |                 2 => cos2_theta,
[INFO] [stdout] 309 | |                 3 => cos_theta * (cos_theta * cos_theta - 3.0 * sin_theta_sq),
[INFO] [stdout] ...   |
[INFO] [stdout] 316 | |                 _ => unreachable!("order was validated above"),
[INFO] [stdout] 317 | |             };
[INFO] [stdout]     | |_____________- `res` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `de_dtheta` is never read
[INFO] [stdout]    --> src/uff/angle.rs:375:29
[INFO] [stdout]     |
[INFO] [stdout] 375 |           let mut de_dtheta = 0.0;
[INFO] [stdout]     |                               ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 381 | /             de_dtheta = match self.order {
[INFO] [stdout] 382 | |                 1 => -sin_theta,
[INFO] [stdout] 383 | |                 2 => sin2_theta,
[INFO] [stdout] 384 | |                 3 => sin_theta * (3.0 - 4.0 * sin_theta * sin_theta),
[INFO] [stdout] 385 | |                 4 => cos_theta * sin_theta * (4.0 - 8.0 * sin_theta * sin_theta),
[INFO] [stdout] 386 | |                 _ => unreachable!("order was validated above"),
[INFO] [stdout] 387 | |             };
[INFO] [stdout]     | |_____________- `de_dtheta` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lane_index`
[INFO] [stdout]     --> src/uff/convenience.rs:1033:14
[INFO] [stdout]      |
[INFO] [stdout] 1033 |         for (lane_index, lane) in lanes.into_iter().enumerate() {
[INFO] [stdout]      |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lane_index`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_position_buffer_address`
[INFO] [stdout]     --> src/uff/convenience.rs:1337:9
[INFO] [stdout]      |
[INFO] [stdout] 1337 |     let initial_position_buffer_address = field.positions().as_ptr() as usize;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_position_buffer_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_position_buffer_capacity`
[INFO] [stdout]     --> src/uff/convenience.rs:1338:9
[INFO] [stdout]      |
[INFO] [stdout] 1338 |     let initial_position_buffer_capacity = field.positions_mut().capacity();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_position_buffer_capacity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `res` is never read
[INFO] [stdout]    --> src/uff/utils.rs:116:19
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let mut res = 0.0;
[INFO] [stdout]     |                   ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 173 |         res = 22.0 / (c0 + c1 + c2);
[INFO] [stdout]     |         --------------------------- `res` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> src/crystalff/torsion.rs:335:13
[INFO] [stdout]     |
[INFO] [stdout] 335 |         let d = [t[0].length(), t[1].length()];
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/crystalff/torsion_preferences.rs:687:13
[INFO] [stdout]     |
[INFO] [stdout] 687 |         let mut done_atoms = vec![false; na];
[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: unused variable: `bond_idx`
[INFO] [stdout]    --> src/crystalff/torsion_preferences.rs:968:16
[INFO] [stdout]     |
[INFO] [stdout] 968 |         .map(|(bond_idx, bond)| {
[INFO] [stdout]     |                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bond_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MmffParamParseError` is more private than the item `MmffParamError::Table::0`
[INFO] [stdout]    --> src/mmff/mol_properties.rs:18:19
[INFO] [stdout]     |
[INFO] [stdout]  18 |     Table(#[from] MmffParamParseError),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ field `MmffParamError::Table::0` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `MmffParamParseError` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]    --> src/mmff/params_text.rs:633:1
[INFO] [stdout]     |
[INFO] [stdout] 633 | pub(super) struct MmffParamParseError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffVdwParseError` is more private than the item `MmffParamError::Vdw::0`
[INFO] [stdout]     --> src/mmff/mol_properties.rs:20:17
[INFO] [stdout]      |
[INFO] [stdout]   20 |     Vdw(#[from] MmffVdwParseError),
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^ field `MmffParamError::Vdw::0` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `mmff::params::MmffVdwParseError` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]     --> src/mmff/params.rs:4264:1
[INFO] [stdout]      |
[INFO] [stdout] 4264 | pub(super) enum MmffVdwParseError {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffAngleLookupError` is more private than the item `MmffParamError::Angle::0`
[INFO] [stdout]    --> src/mmff/mol_properties.rs:22:19
[INFO] [stdout]     |
[INFO] [stdout]  22 |     Angle(#[from] MmffAngleLookupError),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^ field `MmffParamError::Angle::0` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `mmff::params::MmffAngleLookupError` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]    --> src/mmff/params.rs:264:1
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub(super) enum MmffAngleLookupError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffTorLookupError` is more private than the item `MmffParamError::Torsion::0`
[INFO] [stdout]     --> src/mmff/mol_properties.rs:24:21
[INFO] [stdout]      |
[INFO] [stdout]   24 |     Torsion(#[from] MmffTorLookupError),
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^ field `MmffParamError::Torsion::0` is reachable at visibility `pub`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `mmff::params::MmffTorLookupError` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]     --> src/mmff/params.rs:1072:1
[INFO] [stdout]      |
[INFO] [stdout] 1072 | pub(super) enum MmffTorLookupError {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffOopLookupError` is more private than the item `MmffParamError::Oop::0`
[INFO] [stdout]    --> src/mmff/mol_properties.rs:26:17
[INFO] [stdout]     |
[INFO] [stdout]  26 |     Oop(#[from] MmffOopLookupError),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ field `MmffParamError::Oop::0` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `mmff::params::MmffOopLookupError` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]    --> src/mmff/params.rs:675:1
[INFO] [stdout]     |
[INFO] [stdout] 675 | pub(super) enum MmffOopLookupError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffProp` is more private than the item `MmffMolProperties::get_mmff_central_atom_prop`
[INFO] [stdout]     --> src/mmff/mol_properties.rs:1109:5
[INFO] [stdout]      |
[INFO] [stdout] 1109 | /     pub fn get_mmff_central_atom_prop(
[INFO] [stdout] 1110 | |         &self,
[INFO] [stdout] 1111 | |         idx: usize,
[INFO] [stdout] 1112 | |     ) -> Result<MmffProp, MmffMolPropertiesError> {
[INFO] [stdout]      | |_________________________________________________^ method `MmffMolProperties::get_mmff_central_atom_prop` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `mmff::params::MmffProp` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]     --> src/mmff/params.rs:3441:1
[INFO] [stdout]      |
[INFO] [stdout] 3441 | pub(super) struct MmffProp {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffBond` is more private than the item `MmffMolProperties::get_mmff_bond_stretch_params`
[INFO] [stdout]     --> src/mmff/mol_properties.rs:1286:5
[INFO] [stdout]      |
[INFO] [stdout] 1286 | /     pub fn get_mmff_bond_stretch_params(
[INFO] [stdout] 1287 | |         &self,
[INFO] [stdout] 1288 | |         idx1: usize,
[INFO] [stdout] 1289 | |         idx2: usize,
[INFO] [stdout] 1290 | |     ) -> Result<Option<(u32, MmffBond)>, MmffMolPropertiesError> {
[INFO] [stdout]      | |________________________________________________________________^ method `MmffMolProperties::get_mmff_bond_stretch_params` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `mmff::params::MmffBond` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]     --> src/mmff/params.rs:3669:1
[INFO] [stdout]      |
[INFO] [stdout] 3669 | pub(super) struct MmffBond {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffAngle` is more private than the item `MmffMolProperties::get_mmff_angle_bend_params`
[INFO] [stdout]     --> src/mmff/mol_properties.rs:1823:5
[INFO] [stdout]      |
[INFO] [stdout] 1823 | /     pub fn get_mmff_angle_bend_params(
[INFO] [stdout] 1824 | |         &self,
[INFO] [stdout] 1825 | |         idx1: usize,
[INFO] [stdout] 1826 | |         idx2: usize,
[INFO] [stdout] 1827 | |         idx3: usize,
[INFO] [stdout] 1828 | |     ) -> Result<Option<(u32, MmffAngle)>, MmffMolPropertiesError> {
[INFO] [stdout]      | |_________________________________________________________________^ method `MmffMolProperties::get_mmff_angle_bend_params` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `mmff::params::MmffAngle` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]     --> src/mmff/params.rs:249:1
[INFO] [stdout]      |
[INFO] [stdout]  249 | pub(super) struct MmffAngle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffStbn` is more private than the item `MmffMolProperties::get_mmff_stretch_bend_params`
[INFO] [stdout]     --> src/mmff/mol_properties.rs:1933:5
[INFO] [stdout]      |
[INFO] [stdout] 1933 | /     pub fn get_mmff_stretch_bend_params(
[INFO] [stdout] 1934 | |         &self,
[INFO] [stdout] 1935 | |         idx1: usize,
[INFO] [stdout] 1936 | |         idx2: usize,
[INFO] [stdout] 1937 | |         idx3: usize,
[INFO] [stdout] 1938 | |     ) -> Result<Option<(u32, MmffStbn, [MmffBond; 2], MmffAngle)>, MmffMolPropertiesError> {
[INFO] [stdout]      | |__________________________________________________________________________________________^ method `MmffMolProperties::get_mmff_stretch_bend_params` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `mmff::params::MmffStbn` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]     --> src/mmff/params.rs:2545:1
[INFO] [stdout]      |
[INFO] [stdout] 2545 | pub(super) struct MmffStbn {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffBond` is more private than the item `MmffMolProperties::get_mmff_stretch_bend_params`
[INFO] [stdout]     --> src/mmff/mol_properties.rs:1933:5
[INFO] [stdout]      |
[INFO] [stdout] 1933 | /     pub fn get_mmff_stretch_bend_params(
[INFO] [stdout] 1934 | |         &self,
[INFO] [stdout] 1935 | |         idx1: usize,
[INFO] [stdout] 1936 | |         idx2: usize,
[INFO] [stdout] 1937 | |         idx3: usize,
[INFO] [stdout] 1938 | |     ) -> Result<Option<(u32, MmffStbn, [MmffBond; 2], MmffAngle)>, MmffMolPropertiesError> {
[INFO] [stdout]      | |__________________________________________________________________________________________^ method `MmffMolProperties::get_mmff_stretch_bend_params` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `mmff::params::MmffBond` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]     --> src/mmff/params.rs:3669:1
[INFO] [stdout]      |
[INFO] [stdout] 3669 | pub(super) struct MmffBond {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffAngle` is more private than the item `MmffMolProperties::get_mmff_stretch_bend_params`
[INFO] [stdout]     --> src/mmff/mol_properties.rs:1933:5
[INFO] [stdout]      |
[INFO] [stdout] 1933 | /     pub fn get_mmff_stretch_bend_params(
[INFO] [stdout] 1934 | |         &self,
[INFO] [stdout] 1935 | |         idx1: usize,
[INFO] [stdout] 1936 | |         idx2: usize,
[INFO] [stdout] 1937 | |         idx3: usize,
[INFO] [stdout] 1938 | |     ) -> Result<Option<(u32, MmffStbn, [MmffBond; 2], MmffAngle)>, MmffMolPropertiesError> {
[INFO] [stdout]      | |__________________________________________________________________________________________^ method `MmffMolProperties::get_mmff_stretch_bend_params` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `mmff::params::MmffAngle` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]     --> src/mmff/params.rs:249:1
[INFO] [stdout]      |
[INFO] [stdout]  249 | pub(super) struct MmffAngle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffTor` is more private than the item `MmffMolProperties::get_mmff_torsion_params`
[INFO] [stdout]     --> src/mmff/mol_properties.rs:2568:5
[INFO] [stdout]      |
[INFO] [stdout] 2568 | /     pub fn get_mmff_torsion_params(
[INFO] [stdout] 2569 | |         &self,
[INFO] [stdout] 2570 | |         idx1: usize,
[INFO] [stdout] 2571 | |         idx2: usize,
[INFO] [stdout] 2572 | |         idx3: usize,
[INFO] [stdout] 2573 | |         idx4: usize,
[INFO] [stdout] 2574 | |     ) -> Result<Option<(u32, MmffTor)>, MmffMolPropertiesError> {
[INFO] [stdout]      | |_______________________________________________________________^ method `MmffMolProperties::get_mmff_torsion_params` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `mmff::params::MmffTor` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]     --> src/mmff/params.rs:1055:1
[INFO] [stdout]      |
[INFO] [stdout] 1055 | pub(super) struct MmffTor {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `mmff::params::MmffOop` is more private than the item `MmffMolProperties::get_mmff_oop_bend_params`
[INFO] [stdout]     --> src/mmff/mol_properties.rs:2672:5
[INFO] [stdout]      |
[INFO] [stdout] 2672 | /     pub fn get_mmff_oop_bend_params(
[INFO] [stdout] 2673 | |         &self,
[INFO] [stdout] 2674 | |         idx1: usize,
[INFO] [stdout] 2675 | |         idx2: usize,
[INFO] [stdout] 2676 | |         idx3: usize,
[INFO] [stdout] 2677 | |         idx4: usize,
[INFO] [stdout] 2678 | |     ) -> Result<Option<MmffOop>, MmffMolPropertiesError> {
[INFO] [stdout]      | |________________________________________________________^ method `MmffMolProperties::get_mmff_oop_bend_params` is reachable at visibility `pub(crate)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `mmff::params::MmffOop` is only usable at visibility `pub(in crate::mmff)`
[INFO] [stdout]     --> src/mmff/params.rs:661:1
[INFO] [stdout]      |
[INFO] [stdout]  661 | pub(super) struct MmffOop {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `UffBuilderError` is more private than the item `ForceFieldConstructionError::Builder::0`
[INFO] [stdout]    --> src/uff/builder.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |     Builder(UffBuilderError),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ field `ForceFieldConstructionError::Builder::0` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `UffBuilderError` is only usable at visibility `pub(in crate::uff)`
[INFO] [stdout]    --> src/uff/builder.rs:38:1
[INFO] [stdout]     |
[INFO] [stdout]  38 | pub(super) enum UffBuilderError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `NonbondedAssemblyError` is more private than the item `ForceFieldConstructionError::Nonbonded::0`
[INFO] [stdout]    --> src/uff/builder.rs:299:15
[INFO] [stdout]     |
[INFO] [stdout] 299 |     Nonbonded(NonbondedAssemblyError),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^ field `ForceFieldConstructionError::Nonbonded::0` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `NonbondedAssemblyError` is only usable at visibility `pub(in crate::uff)`
[INFO] [stdout]    --> src/uff/builder.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub(super) enum NonbondedAssemblyError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `UffTypingError` is more private than the item `AutomaticForceFieldConstructionError::Typing::0`
[INFO] [stdout]    --> src/uff/builder.rs:305:12
[INFO] [stdout]     |
[INFO] [stdout] 305 |     Typing(UffTypingError),
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ field `AutomaticForceFieldConstructionError::Typing::0` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `UffTypingError` is only usable at visibility `pub(in crate::uff)`
[INFO] [stdout]    --> src/uff/atom_typer.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout]  22 | pub(super) enum UffTypingError {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize_angle_deg` is never used
[INFO] [stdout]   --> src/geometry.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(super) fn normalize_angle_deg(angle_deg: &mut 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: associated function `sum` is never used
[INFO] [stdout]    --> src/geometry.rs:153:19
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl Point3 {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub(super) fn sum(p1: &Self, p2: &Self) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_dihedral_from_position_vec` is never used
[INFO] [stdout]    --> src/geometry.rs:332:4
[INFO] [stdout]     |
[INFO] [stdout] 332 | fn compute_dihedral_from_position_vec(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_dihedral_from_flat_radians` is never used
[INFO] [stdout]    --> src/geometry.rs:409:15
[INFO] [stdout]     |
[INFO] [stdout] 409 | pub(super) fn compute_dihedral_from_flat_radians(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_dihedral_from_flat_with_vectors` is never used
[INFO] [stdout]    --> src/geometry.rs:435:15
[INFO] [stdout]     |
[INFO] [stdout] 435 | pub(super) fn compute_dihedral_from_flat_with_vectors(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_dihedral_from_position_slices_radians` is never used
[INFO] [stdout]    --> src/geometry.rs:459:15
[INFO] [stdout]     |
[INFO] [stdout] 459 | pub(super) fn compute_dihedral_from_position_slices_radians(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AngleBoundsOrder` and `TorsionBoundsOrder` are never constructed
[INFO] [stdout]    --> src/kernel.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub(super) enum ForceFieldKernelError {
[INFO] [stdout]     |                 --------------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 224 |     AngleBoundsOrder,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 225 |     PackedAngleBoundsOrder,
[INFO] [stdout] 226 |     TorsionBoundsOrder,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ForceFieldKernelError` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `source_category`, `source_message`, and `source_expression` are never used
[INFO] [stdout]    --> src/kernel.rs:253:14
[INFO] [stdout]     |
[INFO] [stdout] 252 | impl ForceFieldKernelError {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] 253 |     const fn source_category(self) -> &'static str {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     const fn source_message(self) -> &'static str {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 372 |     fn source_expression(self) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `distance_const` is never used
[INFO] [stdout]    --> src/kernel.rs:789:8
[INFO] [stdout]     |
[INFO] [stdout] 695 | impl<'a> EvaluationContext<'a> {
[INFO] [stdout]     | ------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 789 |     fn distance_const(&self, i: u32, j: u32) -> Result<f64, ForceFieldKernelError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `num_points`, `rebind_positions`, `distance`, `distance2`, and `distance_const` are never used
[INFO] [stdout]     --> src/kernel.rs:852:8
[INFO] [stdout]      |
[INFO] [stdout]  794 | impl<'a> ForceField<'a> {
[INFO] [stdout]      | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  852 |     fn num_points(&self) -> u32 {
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  867 |     pub(super) fn rebind_positions<'next>(
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1565 |     fn distance(
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1619 |     fn distance2(&self, i: u32, j: u32, pos: Option<&[f64]>) -> Result<f64, ForceFieldKernelError> {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1661 |     fn distance_const(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AngleConstraintContrib` is never constructed
[INFO] [stdout]   --> src/constraints/angle.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(super) struct AngleConstraintContrib {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_absolute`, `new_relative`, `compute_angle_term`, `get_energy`, and `get_grad` are never used
[INFO] [stdout]    --> src/constraints/angle.rs:24:19
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl AngleConstraintContrib {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout]  24 |     pub(super) fn new_absolute(
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub(super) fn new_relative(
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub(super) fn compute_angle_term(&self, angle: f64) -> f64 {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub(super) fn get_energy(&self, pos: &[f64]) -> f64 {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub(super) fn get_grad(&self, pos: &[f64], grad: &mut [f64]) {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_contrib_relative` and `size` are never used
[INFO] [stdout]    --> src/constraints/angles.rs:128:19
[INFO] [stdout]     |
[INFO] [stdout]  68 | impl AngleConstraintContribs {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub(crate) fn add_contrib_relative(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub(crate) fn size(&self) -> usize {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DistanceConstraintContrib` is never constructed
[INFO] [stdout]  --> src/constraints/distance.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(super) struct DistanceConstraintContrib {
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_absolute`, `new_relative`, `min_len`, `max_len`, `get_energy`, and `get_grad` are never used
[INFO] [stdout]    --> src/constraints/distance.rs:14:19
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl DistanceConstraintContrib {
[INFO] [stdout]     | ------------------------------ associated items in this implementation
[INFO] [stdout]  14 |     pub(super) fn new_absolute(
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub(super) fn new_relative(
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub(super) fn min_len(&self) -> f64 {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub(super) fn max_len(&self) -> f64 {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub(super) fn get_energy(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub(super) fn get_grad(
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_contrib_relative` and `size` are never used
[INFO] [stdout]    --> src/constraints/distances.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl DistanceConstraintContribs {
[INFO] [stdout]     | ------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub(crate) fn add_contrib_relative(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub(crate) fn size(&self) -> usize {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PositionConstraintContrib` is never constructed
[INFO] [stdout]  --> src/constraints/position.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(super) struct PositionConstraintContrib {
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `energy`, and `gradient` are never used
[INFO] [stdout]   --> src/constraints/position.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl PositionConstraintContrib {
[INFO] [stdout]    | ------------------------------ associated items in this implementation
[INFO] [stdout] 16 |     pub(super) fn new(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn energy(&self, coordinates: &[f64]) -> f64 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     fn gradient(&self, coordinates: &[f64], gradient: &mut [f64]) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TorsionConstraintContrib` is never constructed
[INFO] [stdout]   --> src/constraints/torsion.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(super) struct TorsionConstraintContrib {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_absolute`, `new_relative`, `set_parameters`, `compute_dihedral_term`, `get_energy`, and `get_grad` are never used
[INFO] [stdout]    --> src/constraints/torsion.rs:31:19
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl TorsionConstraintContrib {
[INFO] [stdout]     | ----------------------------- associated items in this implementation
[INFO] [stdout]  31 |     pub(super) fn new_absolute(
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub(super) fn new_relative(
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     fn set_parameters(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     fn compute_dihedral_term(&self, dihedral: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     pub(super) fn get_energy(&self, context: &EvaluationContext<'_>) -> f64 {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     fn get_grad(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_torsion_precondition` is never used
[INFO] [stdout]    --> src/constraints/torsion.rs:366:4
[INFO] [stdout]     |
[INFO] [stdout] 366 | fn validate_torsion_precondition(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_torsion_index` is never used
[INFO] [stdout]    --> src/constraints/torsion.rs:401:4
[INFO] [stdout]     |
[INFO] [stdout] 401 | fn validate_torsion_index(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_bond_force_constant` is never used
[INFO] [stdout]   --> src/mmff/numerical.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(super) fn calc_bond_force_constant(params: &MmffBond) -> f64 {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_angle_force_constant` is never used
[INFO] [stdout]   --> src/mmff/numerical.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub(super) fn calc_angle_force_constant(params: &MmffAngle) -> f64 {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_MMFF_AROMATIC_TYPES` is never used
[INFO] [stdout]   --> src/mmff/params.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 | const DEFAULT_MMFF_AROMATIC_TYPES: [u8; 17] = [
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MMFFAromCollection` is never constructed
[INFO] [stdout]   --> src/mmff/params.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct MMFFAromCollection {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `is_mmff_aromatic` are never used
[INFO] [stdout]   --> src/mmff/params.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl MMFFAromCollection {
[INFO] [stdout]    | ----------------------- associated items in this implementation
[INFO] [stdout] 49 |     fn new(mmff_arom: Option<&[u8]>) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     fn is_mmff_aromatic(&self, atom_type: u32) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MMFF_SANITIZED_PROP` is never used
[INFO] [stdout]   --> src/mmff/mol_properties.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const MMFF_SANITIZED_PROP: &str = "_MMFFSanitized";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MMFF_DIELECTRIC_DISTANCE` is never used
[INFO] [stdout]   --> src/mmff/mol_properties.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const MMFF_DIELECTRIC_DISTANCE: u8 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MMFF_VERBOSITY_NONE` is never used
[INFO] [stdout]   --> src/mmff/mol_properties.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const MMFF_VERBOSITY_NONE: u8 = 0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MMFF_VERBOSITY_LOW` is never used
[INFO] [stdout]   --> src/mmff/mol_properties.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const MMFF_VERBOSITY_LOW: u8 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MMFF_VERBOSITY_HIGH` is never used
[INFO] [stdout]   --> src/mmff/mol_properties.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const MMFF_VERBOSITY_HIGH: u8 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `mmff_variant`, and `get_mmff_formal_charge` are never used
[INFO] [stdout]     --> src/mmff/mol_properties.rs:186:12
[INFO] [stdout]      |
[INFO] [stdout]  185 | impl MmffMolProperties {
[INFO] [stdout]      | ---------------------- associated items in this implementation
[INFO] [stdout]  186 |     pub fn new(
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1087 |     pub const fn mmff_variant(&self) -> MmffVariant {
[INFO] [stdout]      |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1121 |     pub fn get_mmff_formal_charge(&self, idx: usize) -> Result<f64, MmffMolPropertiesError> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/mmff/nonbonded_contrib.rs:232:19
[INFO] [stdout]     |
[INFO] [stdout] 209 | impl NonbondedContrib {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub(crate) fn len(&self) -> usize {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub(crate) fn is_empty(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     pub(crate) fn atom1_indices(&self) -> &[i16] {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     pub(crate) fn atom2_indices(&self) -> &[i16] {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub(crate) fn contrib_types(&self) -> &[u8] {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     pub(crate) fn r_ij_stars(&self) -> &[f64] {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub(crate) fn well_depths(&self) -> &[f64] {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     pub(crate) fn charge_terms(&self) -> &[f64] {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     pub(crate) fn is_1_4s(&self) -> &[u8] {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |     pub(crate) fn diel_models(&self) -> &[u8] {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidConformerId` is never constructed
[INFO] [stdout]   --> src/mmff/builder.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub(crate) enum MmffBuilderError {
[INFO] [stdout]    |                 ---------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 49 |     InvalidConformerId { conf_id: isize },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MmffBuilderError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/mmff/builder.rs:56:16
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub(crate) struct MmffConformerContext<'a> {
[INFO] [stdout]    |                   -------------------- fields in this struct
[INFO] [stdout] 56 |     pub(crate) two_d: &'a [Conformer2D],
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 57 |     pub(crate) before: &'a [Conformer3D],
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 58 |     pub(crate) selected_id: usize,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 59 |     pub(crate) selected_is_3d: bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 60 |     pub(crate) selected_props: &'a std::collections::BTreeMap<
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub(crate) after: &'a [Conformer3D],
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 65 |     pub(crate) source_dimension: Option<CoordinateDimension>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 66 |     pub(crate) source_order: Option<&'a [CoordinateDimension]>,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAXITS` is never used
[INFO] [stdout]   --> src/optimizer.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const MAXITS: u32 = 200;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `source_category` is never used
[INFO] [stdout]   --> src/uff/angle.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl AngleBendError {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] 31 |     const fn source_category(self) -> &'static str {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `BondMath`, `AtomIdOutOfBounds`, `AtomIndexOutOfBounds`, `BondIdOutOfBounds`, `CenterBondMissingAfterSourceSuccess`, and `CentralParameterSlotMissingAfterSourceSuccess` are never constructed
[INFO] [stdout]   --> src/uff/atom_typer.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(super) enum UffTypingError {
[INFO] [stdout]    |                 -------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 25 |     BondMath(BondMathError),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     AtomIdOutOfBounds {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     AtomIndexOutOfBounds {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     BondIdOutOfBounds {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     CenterBondMissingAfterSourceSuccess {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     CentralParameterSlotMissingAfterSourceSuccess {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UffTypingError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_atom_types` is never used
[INFO] [stdout]     --> src/uff/atom_typer.rs:1390:15
[INFO] [stdout]      |
[INFO] [stdout] 1390 | pub(super) fn get_atom_types<'params>(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `uff_has_all_molecule_parameters` is never used
[INFO] [stdout]     --> src/uff/atom_typer.rs:1486:15
[INFO] [stdout]      |
[INFO] [stdout] 1486 | pub(super) fn uff_has_all_molecule_parameters(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uff_vdw_params` is never used
[INFO] [stdout]     --> src/uff/atom_typer.rs:1515:4
[INFO] [stdout]      |
[INFO] [stdout] 1515 | fn get_uff_vdw_params(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uff_bond_stretch_params` is never used
[INFO] [stdout]     --> src/uff/atom_typer.rs:1610:4
[INFO] [stdout]      |
[INFO] [stdout] 1610 | fn get_uff_bond_stretch_params(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uff_angle_bend_params` is never used
[INFO] [stdout]     --> src/uff/atom_typer.rs:1724:4
[INFO] [stdout]      |
[INFO] [stdout] 1724 | fn get_uff_angle_bend_params(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `torsion_sp3_amplitude` is never used
[INFO] [stdout]     --> src/uff/atom_typer.rs:1862:4
[INFO] [stdout]      |
[INFO] [stdout] 1862 | fn torsion_sp3_amplitude(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `torsion_mixed_amplitude` is never used
[INFO] [stdout]     --> src/uff/atom_typer.rs:1907:4
[INFO] [stdout]      |
[INFO] [stdout] 1907 | fn torsion_mixed_amplitude(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uff_torsion_params` is never used
[INFO] [stdout]     --> src/uff/atom_typer.rs:1961:4
[INFO] [stdout]      |
[INFO] [stdout] 1961 | fn get_uff_torsion_params(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_uff_inversion_params` is never used
[INFO] [stdout]     --> src/uff/atom_typer.rs:2255:4
[INFO] [stdout]      |
[INFO] [stdout] 2255 | fn get_uff_inversion_params(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TopologyValidation` is never constructed
[INFO] [stdout]    --> src/uff/builder.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout]  38 | pub(super) enum UffBuilderError {
[INFO] [stdout]     |                 --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 126 |     TopologyValidation(TopologyValidationError),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UffBuilderError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `component_index`, `atom_index`, and `atom_count` are never read
[INFO] [stdout]    --> src/uff/builder.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |     AtomOutOfRange {
[INFO] [stdout]     |     -------------- fields in this variant
[INFO] [stdout] 236 |         component_index: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 237 |         atom_index: usize,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 238 |         atom_count: usize,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NonbondedFragmentMappingError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `atom_index`, `first_component`, and `second_component` are never read
[INFO] [stdout]    --> src/uff/builder.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |     DuplicateAtom {
[INFO] [stdout]     |     ------------- fields in this variant
[INFO] [stdout] 241 |         atom_index: usize,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 242 |         first_component: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 243 |         second_component: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NonbondedFragmentMappingError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `atom_index` is never read
[INFO] [stdout]    --> src/uff/builder.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |     MissingAtom {
[INFO] [stdout]     |     ----------- field in this variant
[INFO] [stdout] 246 |         atom_index: usize,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NonbondedFragmentMappingError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nonbonded_pair_is_eligible` is never used
[INFO] [stdout]    --> src/uff/builder.rs:417:4
[INFO] [stdout]     |
[INFO] [stdout] 417 | fn nonbonded_pair_is_eligible(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prepare_force_field_preamble` is never used
[INFO] [stdout]     --> src/uff/builder.rs:3033:4
[INFO] [stdout]      |
[INFO] [stdout] 3033 | fn prepare_force_field_preamble<'a>(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `construct_force_field_with_automatic_typing_from_rows` is never used
[INFO] [stdout]     --> src/uff/builder.rs:3510:15
[INFO] [stdout]      |
[INFO] [stdout] 3510 | pub(super) fn construct_force_field_with_automatic_typing_from_rows<'a>(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `for_conformer` is never used
[INFO] [stdout]   --> src/uff/convenience.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl SingleConformerOptions {
[INFO] [stdout]    | --------------------------- associated function in this implementation
[INFO] [stdout] 22 |     pub(super) const fn for_conformer(conformer_id: usize) -> Self {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Dense` is never constructed
[INFO] [stdout]    --> src/uff/convenience.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 201 | enum WorkerResultSlotView<'results> {
[INFO] [stdout]     |      -------------------- variant in this enum
[INFO] [stdout] 202 |     Dense(&'results mut [OptimizationOutcome]),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `selects_current` is never used
[INFO] [stdout]    --> src/uff/convenience.rs:250:8
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl WorkerConformerAssignment {
[INFO] [stdout]     | ------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 250 |     fn selects_current(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_worker_conformers` is never used
[INFO] [stdout]     --> src/uff/convenience.rs:1391:4
[INFO] [stdout]      |
[INFO] [stdout] 1391 | fn optimize_worker_conformers<'field, 'rows>(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_serial_uff` is never used
[INFO] [stdout]     --> src/uff/convenience.rs:1608:15
[INFO] [stdout]      |
[INFO] [stdout] 1608 | pub(super) fn optimize_serial_uff(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_dispatched_uff` is never used
[INFO] [stdout]     --> src/uff/convenience.rs:1734:4
[INFO] [stdout]      |
[INFO] [stdout] 1734 | fn optimize_dispatched_uff<'field, 'rows, 'positions>(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_dispatched_uff_coordinate_block` is never used
[INFO] [stdout]     --> src/uff/convenience.rs:1805:15
[INFO] [stdout]      |
[INFO] [stdout] 1805 | pub(super) fn optimize_dispatched_uff_coordinate_block<'rows>(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `source_category`, `source_message`, and `range_detail` are never used
[INFO] [stdout]   --> src/uff/inversion.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl InversionContributionError {
[INFO] [stdout]    | ------------------------------- methods in this implementation
[INFO] [stdout] 30 |     pub(crate) const fn source_category(self) -> &'static str {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub(crate) const fn source_message(self) -> &'static str {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub(crate) const fn range_detail(self) -> (u32, usize) {
[INFO] [stdout]    |                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_prepared_uff_dispatch` is never used
[INFO] [stdout]    --> src/uff/optimization.rs:190:15
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub(super) fn optimize_prepared_uff_dispatch(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PARAMS_AMIDE_BOND_ORDER` is never used
[INFO] [stdout]   --> src/uff/params.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) const PARAMS_AMIDE_BOND_ORDER: f64 = 1.41;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UffBond` is never constructed
[INFO] [stdout]   --> src/uff/params.rs:44:19
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub(crate) struct UffBond {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UffAngle` is never constructed
[INFO] [stdout]   --> src/uff/params.rs:52:19
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub(crate) struct UffAngle {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UffTor` is never constructed
[INFO] [stdout]   --> src/uff/params.rs:60:19
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub(crate) struct UffTor {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UffInv` is never constructed
[INFO] [stdout]   --> src/uff/params.rs:66:19
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub(crate) struct UffInv {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UffVdw` is never constructed
[INFO] [stdout]   --> src/uff/params.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub(crate) struct UffVdw {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fields` is never used
[INFO] [stdout]    --> src/uff/params.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl AtomicParams {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 106 |     fn fields(self) -> [f64; 11] {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len` and `is_empty` are never used
[INFO] [stdout]    --> src/uff/params.rs:227:19
[INFO] [stdout]     |
[INFO] [stdout] 171 | impl ParamCollection {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 227 |     pub(crate) fn len(&self) -> usize {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     pub(crate) fn is_empty(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `source_category` and `source_message` are never used
[INFO] [stdout]    --> src/uff/torsion.rs:123:14
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl TorsionParamsError {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] 123 |     const fn source_category(self) -> &'static str {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     const fn source_message(self) -> &'static str {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `source_category`, `source_message`, and `range_detail` are never used
[INFO] [stdout]    --> src/uff/torsion.rs:151:14
[INFO] [stdout]     |
[INFO] [stdout] 150 | impl TorsionContributionError {
[INFO] [stdout]     | ----------------------------- methods in this implementation
[INFO] [stdout] 151 |     const fn source_category(self) -> &'static str {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     const fn source_message(self) -> &'static str {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     const fn range_detail(self) -> Option<(u32, usize)> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `VectChiralSet` is never used
[INFO] [stdout]    --> src/distgeom.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub type VectChiralSet = Vec<ChiralSetPtr>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `size` and `contribs` are never used
[INFO] [stdout]    --> src/distgeom.rs:331:12
[INFO] [stdout]     |
[INFO] [stdout] 275 | impl ChiralViolationContribs {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn size(&self) -> usize {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn contribs(&self) -> &[ChiralViolationContribsParams] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `size` and `contribs` are never used
[INFO] [stdout]    --> src/distgeom.rs:635:12
[INFO] [stdout]     |
[INFO] [stdout] 601 | impl DistViolationContribs {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 635 |     pub fn size(&self) -> usize {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 641 |     pub fn contribs(&self) -> &[DistViolationContribsParams] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `size` and `contribs` are never used
[INFO] [stdout]    --> src/distgeom.rs:856:12
[INFO] [stdout]     |
[INFO] [stdout] 821 | impl FourthDimContribs {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 856 |     pub fn size(&self) -> usize {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 862 |     pub fn contribs(&self) -> &[FourthDimContribsParams] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calc_torsion_energy` is never used
[INFO] [stdout]    --> src/crystalff/torsion.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub fn calc_torsion_energy(force_constants: &[f64], signs: &[i32], cos_phi: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]    --> src/crystalff/torsion.rs:222:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl TorsionAngleContribs {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `atom_indices`, `force_constants`, and `signs` are never used
[INFO] [stdout]    --> src/crystalff/torsion.rs:634:8
[INFO] [stdout]     |
[INFO] [stdout] 592 | impl TorsionAngleContribM6 {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 634 |     fn atom_indices(&self) -> [usize; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 638 |     fn force_constants(&self) -> &[f64] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 641 |     fn signs(&self) -> &[i32] {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `param_data` is never read
[INFO] [stdout]    --> src/crystalff/torsion_preferences.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub(crate) struct ExpTorsionAngleCollection {
[INFO] [stdout]     |                   ------------------------- field in this struct
[INFO] [stdout] 169 |     param_data: String,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExpTorsionAngleCollection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `param_data` is never used
[INFO] [stdout]    --> src/crystalff/torsion_preferences.rs:175:19
[INFO] [stdout]     |
[INFO] [stdout] 173 | impl ExpTorsionAngleCollection {
[INFO] [stdout]     | ------------------------------ method in this implementation
[INFO] [stdout] 174 |     #[must_use]
[INFO] [stdout] 175 |     pub(crate) fn param_data(&self) -> &str {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CrystalffTemplateBond` is never constructed
[INFO] [stdout]    --> src/crystalff/torsion_preferences.rs:952:8
[INFO] [stdout]     |
[INFO] [stdout] 952 | struct CrystalffTemplateBond {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expand_crystalff_smarts_bonds` is never used
[INFO] [stdout]    --> src/crystalff/torsion_preferences.rs:958:4
[INFO] [stdout]     |
[INFO] [stdout] 958 | fn expand_crystalff_smarts_bonds(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cosmolkit-io v0.5.1-rc.3
[INFO] [stdout] error: couldn't read `src/mmff/../../../../testdata/forcefields/expected/rdkit/mmff_numerical/source_literals.tsv`: No such file or directory (os error 2)
[INFO] [stdout]    --> src/mmff/numerical.rs:573:26
[INFO] [stdout]     |
[INFO] [stdout] 573 |       const SOURCE: &str = include_str!(
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 574 | |         "../../../../testdata/forcefields/expected/rdkit/mmff_numerical/source_literals.tsv"
[INFO] [stdout] 575 | |     );
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AromaticityModel` and `AromaticityParams`
[INFO] [stdout]  --> src/mmff/mol_properties.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 |     AromaticityError, AromaticityModel, AromaticityParams, KekulizeError, KekulizeParams,
[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::error::Error as _`
[INFO] [stdout]    --> src/uff/public.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |     use std::error::Error as _;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]    --> src/uff/inversion.rs:840:9
[INFO] [stdout]     |
[INFO] [stdout] 840 |     use std::error::Error as _;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]    --> src/uff/bond.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |     use std::error::Error as _;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pre_factor` is never read
[INFO] [stdout]    --> src/constraints/distance.rs:309:30
[INFO] [stdout]     |
[INFO] [stdout] 309 |         let mut pre_factor = 0.0;
[INFO] [stdout]     |                              ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 313 |             pre_factor = dist - self.max_len;
[INFO] [stdout]     |             -------------------------------- `pre_factor` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `difference` is never read
[INFO] [stdout]    --> src/constraints/distances.rs:260:34
[INFO] [stdout]     |
[INFO] [stdout] 260 |             let mut difference = 0.0;
[INFO] [stdout]     |                                  ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 264 |                 difference = distance2.sqrt() - contrib.max_len;
[INFO] [stdout]     |                 ----------------------------------------------- `difference` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pre_factor` is never read
[INFO] [stdout]    --> src/constraints/distances.rs:343:34
[INFO] [stdout]     |
[INFO] [stdout] 343 |             let mut pre_factor = 0.0;
[INFO] [stdout]     |                                  ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 351 |                 pre_factor = distance - contrib.max_len;
[INFO] [stdout]     |                 --------------------------------------- `pre_factor` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `distance` is never read
[INFO] [stdout]    --> src/constraints/distances.rs:344:32
[INFO] [stdout]     |
[INFO] [stdout] 344 |             let mut distance = 0.0;
[INFO] [stdout]     |                                ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 350 |                 distance = distance2.sqrt();
[INFO] [stdout]     |                 --------------------------- `distance` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pre_factor` is never read
[INFO] [stdout]    --> src/constraints/position.rs:133:30
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let mut pre_factor = 0.0;
[INFO] [stdout]     |                              ^^^ this value is reassigned later and never used
[INFO] [stdout] 134 |         if dist > self.max_displ {
[INFO] [stdout] 135 |             pre_factor = dist - self.max_displ;
[INFO] [stdout]     |             ---------------------------------- `pre_factor` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `res` is never read
[INFO] [stdout]   --> src/mmff/bonded.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut res = 0.0;
[INFO] [stdout]    |                   ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 69 |         res = 0.5 * c2 * ka * angle * angle * (1.0 + cb * angle);
[INFO] [stdout]    |         -------------------------------------------------------- `res` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `repeat`
[INFO] [stdout]      --> src/mmff/params.rs:12408:17
[INFO] [stdout]       |
[INFO] [stdout] 12408 |             for repeat in 0..2 {
[INFO] [stdout]       |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_repeat`
[INFO] [stdout]       |
[INFO] [stdout]       = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `repeat`
[INFO] [stdout]      --> src/mmff/params.rs:12428:17
[INFO] [stdout]       |
[INFO] [stdout] 12428 |             for repeat in 0..2 {
[INFO] [stdout]       |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_repeat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `coords` is never read
[INFO] [stdout]     --> src/mmff/torsion_angle.rs:1662:13
[INFO] [stdout]      |
[INFO] [stdout] 1662 |             coords[11] += 0.0;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_bonds`
[INFO] [stdout]    --> src/mmff/properties_tests.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let num_bonds = molecule.num_bonds();
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_bonds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_bonds`
[INFO] [stdout]     --> src/mmff/builder.rs:1722:13
[INFO] [stdout]      |
[INFO] [stdout] 1722 |         let num_bonds = molecule.num_bonds();
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_bonds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/mmff/builder.rs:2085:13
[INFO] [stdout]      |
[INFO] [stdout] 2085 |         let mut ff = construct_test_field(&mol, &props, 100.0, -1, false, &mut construction_rows)
[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/mmff/builder.rs:2100:13
[INFO] [stdout]      |
[INFO] [stdout] 2100 |         let mut ff = construct_test_field(&mol, &props, 100.0, 1, false, &mut construction_rows)
[INFO] [stdout]      |             ----^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/mmff/builder.rs:2121:13
[INFO] [stdout]      |
[INFO] [stdout] 2121 |         let mut ff = construct_test_field(&mol, &props, 100.0, -1, false, &mut construction_rows)
[INFO] [stdout]      |             ----^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/mmff/builder.rs:2141:13
[INFO] [stdout]      |
[INFO] [stdout] 2141 |         let mut ff = construct_test_field(&mol, &props, 3.0, -1, false, &mut construction_rows)
[INFO] [stdout]      |             ----^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/mmff/builder.rs:2160:13
[INFO] [stdout]      |
[INFO] [stdout] 2160 |         let mut ff = construct_test_field(&mol, &props, 100.0, -1, true, &mut construction_rows)
[INFO] [stdout]      |             ----^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/mmff/builder.rs:2236:13
[INFO] [stdout]      |
[INFO] [stdout] 2236 |         let mut ff = construct_automatic_test_field(&mol, 100.0, -1, false, &mut construction_rows)
[INFO] [stdout]      |             ----^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `res` is never read
[INFO] [stdout]    --> src/uff/angle.rs:302:23
[INFO] [stdout]     |
[INFO] [stdout] 302 |           let mut res = 0.0;
[INFO] [stdout]     |                         ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 306 | /             res = match self.order {
[INFO] [stdout] 307 | |                 1 => -cos_theta,
[INFO] [stdout] 308 | |                 2 => cos2_theta,
[INFO] [stdout] 309 | |                 3 => cos_theta * (cos_theta * cos_theta - 3.0 * sin_theta_sq),
[INFO] [stdout] ...   |
[INFO] [stdout] 316 | |                 _ => unreachable!("order was validated above"),
[INFO] [stdout] 317 | |             };
[INFO] [stdout]     | |_____________- `res` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `de_dtheta` is never read
[INFO] [stdout]    --> src/uff/angle.rs:375:29
[INFO] [stdout]     |
[INFO] [stdout] 375 |           let mut de_dtheta = 0.0;
[INFO] [stdout]     |                               ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 381 | /             de_dtheta = match self.order {
[INFO] [stdout] 382 | |                 1 => -sin_theta,
[INFO] [stdout] 383 | |                 2 => sin2_theta,
[INFO] [stdout] 384 | |                 3 => sin_theta * (3.0 - 4.0 * sin_theta * sin_theta),
[INFO] [stdout] 385 | |                 4 => cos_theta * sin_theta * (4.0 - 8.0 * sin_theta * sin_theta),
[INFO] [stdout] 386 | |                 _ => unreachable!("order was validated above"),
[INFO] [stdout] 387 | |             };
[INFO] [stdout]     | |_____________- `de_dtheta` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `selected_row`
[INFO] [stdout]     --> src/uff/convenience.rs:3019:18
[INFO] [stdout]      |
[INFO] [stdout] 3019 |             for (selected_row, selected_id) in IDS[..row_count].iter().copied().enumerate() {
[INFO] [stdout]      |                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selected_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/uff/convenience.rs:5710:17
[INFO] [stdout]      |
[INFO] [stdout] 5710 |             let mut conformers = coordinate_rows
[INFO] [stdout]      |                 ----^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/uff/convenience.rs:5718:17
[INFO] [stdout]      |
[INFO] [stdout] 5718 |             let mut results = vec![sentinel; result_slots];
[INFO] [stdout]      |                 ----^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `res` is never read
[INFO] [stdout]    --> src/uff/utils.rs:116:19
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let mut res = 0.0;
[INFO] [stdout]     |                   ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 173 |         res = 22.0 / (c0 + c1 + c2);
[INFO] [stdout]     |         --------------------------- `res` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> src/crystalff/torsion.rs:335:13
[INFO] [stdout]     |
[INFO] [stdout] 335 |         let d = [t[0].length(), t[1].length()];
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/crystalff/torsion_preferences.rs:687:13
[INFO] [stdout]     |
[INFO] [stdout] 687 |         let mut done_atoms = vec![false; na];
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bond_idx`
[INFO] [stdout]    --> src/crystalff/torsion_preferences.rs:968:16
[INFO] [stdout]     |
[INFO] [stdout] 968 |         .map(|(bond_idx, bond)| {
[INFO] [stdout]     |                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bond_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cosmolkit-forcefields` (lib test) due to 1 previous error; 30 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "988376c4fc4213e6054789f535ce16a46936fd4795076eca7ac9e30c0381e4d0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "988376c4fc4213e6054789f535ce16a46936fd4795076eca7ac9e30c0381e4d0", kill_on_drop: false }`
[INFO] [stdout] 988376c4fc4213e6054789f535ce16a46936fd4795076eca7ac9e30c0381e4d0
