[INFO] cloning repository https://github.com/cosmol-studio/COSMolKit
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cosmol-studio/COSMolKit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcosmol-studio%2FCOSMolKit", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcosmol-studio%2FCOSMolKit'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b5dbedb6f8e18d470f42d02c79fbcdb4400e7346
[INFO] checking cosmol-studio/COSMolKit against master#507271bc119683008ec719ecee48814e8ac86c65 for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcosmol-studio%2FCOSMolKit" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/cosmol-studio/COSMolKit
[INFO] finished tweaking git repo https://github.com/cosmol-studio/COSMolKit
[INFO] tweaked toml for git repo https://github.com/cosmol-studio/COSMolKit written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cosmol-studio/COSMolKit on toolchain 507271bc119683008ec719ecee48814e8ac86c65
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cosmol-studio/COSMolKit 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" "+507271bc119683008ec719ecee48814e8ac86c65" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unic-emoji-char v0.9.0
[INFO] [stderr]   Downloaded unicode_names2_generator v1.3.0
[INFO] [stderr]   Downloaded rustpython-parser-core v0.4.0
[INFO] [stderr]   Downloaded pyo3-stub-gen-derive v0.22.3
[INFO] [stderr]   Downloaded pyo3-macros v0.28.3
[INFO] [stderr]   Downloaded rustpython-parser-vendored v0.4.0
[INFO] [stderr]   Downloaded pyo3-build-config v0.28.3
[INFO] [stderr]   Downloaded rustpython-ast v0.4.0
[INFO] [stderr]   Downloaded console v0.16.3
[INFO] [stderr]   Downloaded pyo3-ffi v0.28.3
[INFO] [stderr]   Downloaded numpy v0.28.0
[INFO] [stderr]   Downloaded pyo3-macros-backend v0.28.3
[INFO] [stderr]   Downloaded pyo3-stub-gen v0.22.3
[INFO] [stderr]   Downloaded rustpython-parser v0.4.0
[INFO] [stderr]   Downloaded unicode_names2 v1.3.0
[INFO] [stderr]   Downloaded glam v0.33.0
[INFO] [stderr]   Downloaded pyo3 v0.28.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 66759458ddf91dd4dbf6ee61260bde39e60a6fbad59c76a433d0eaef1c3de95a
[INFO] running `Command { std: "docker" "start" "-a" "66759458ddf91dd4dbf6ee61260bde39e60a6fbad59c76a433d0eaef1c3de95a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "66759458ddf91dd4dbf6ee61260bde39e60a6fbad59c76a433d0eaef1c3de95a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "66759458ddf91dd4dbf6ee61260bde39e60a6fbad59c76a433d0eaef1c3de95a", kill_on_drop: false }`
[INFO] [stdout] 66759458ddf91dd4dbf6ee61260bde39e60a6fbad59c76a433d0eaef1c3de95a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f4faf19dd56d65730cfa90d29ec831208f1264fb57116dad4483f4c71008b2f3
[INFO] running `Command { std: "docker" "start" "-a" "f4faf19dd56d65730cfa90d29ec831208f1264fb57116dad4483f4c71008b2f3", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]    Compiling slotmap v1.1.1
[INFO] [stderr]     Checking float-cmp v0.9.0
[INFO] [stderr]     Checking polycool v0.4.0
[INFO] [stderr]     Checking roxmltree v0.20.0
[INFO] [stderr]     Checking core_maths v0.1.1
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking tinyvec v1.11.0
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]     Checking unicode-properties v0.1.4
[INFO] [stderr]     Checking unicode-bidi-mirroring v0.4.0
[INFO] [stderr]     Checking siphasher v1.0.3
[INFO] [stderr]     Checking unicode-script v0.5.8
[INFO] [stderr]     Checking unicode-ccc v0.4.0
[INFO] [stderr]     Checking roxmltree v0.21.1
[INFO] [stderr]     Checking strict-num v0.1.1
[INFO] [stderr]     Checking simplecss v0.2.2
[INFO] [stderr]     Checking xmlwriter v0.1.0
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]     Checking imagesize v0.14.0
[INFO] [stderr]     Checking pico-args v0.5.0
[INFO] [stderr]     Checking kurbo v0.13.1
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]     Checking unicode-vo v0.1.0
[INFO] [stderr]     Checking data-url v0.3.2
[INFO] [stderr]     Checking tiny-skia-path v0.12.0
[INFO] [stderr]     Checking rgb v0.8.53
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking console v0.16.3
[INFO] [stderr]     Checking unit-prefix v0.5.2
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]     Checking glam v0.33.0
[INFO] [stderr]    Compiling target-lexicon v0.13.5
[INFO] [stderr]     Checking fontconfig-parser v0.5.8
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking indicatif v0.18.4
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling rustpython-parser-vendored v0.4.0
[INFO] [stderr]     Checking tiny-skia v0.12.0
[INFO] [stderr]    Compiling pyo3-build-config v0.28.3
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking unicode-ident v1.0.24
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking proc-macro2 v1.0.106
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]     Checking svgtypes v0.16.1
[INFO] [stderr]    Compiling unic-ucd-ident v0.9.0
[INFO] [stderr]    Compiling unic-emoji-char v0.9.0
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling lalrpop-util v0.20.2
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking ndarray v0.17.2
[INFO] [stderr]     Checking quote v1.0.45
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling pyo3-ffi v0.28.3
[INFO] [stderr]    Compiling pyo3-macros-backend v0.28.3
[INFO] [stderr]    Compiling pyo3 v0.28.3
[INFO] [stderr]    Compiling numpy v0.28.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]     Checking rustybuzz v0.20.1
[INFO] [stderr]     Checking fontdb v0.23.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling cosmolkit-macros v0.2.2 (/opt/rustwide/workdir/crates/cosmolkit-macros)
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling is-macro v0.3.7
[INFO] [stderr]    Compiling rustpython-parser-core v0.4.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rustpython-ast v0.4.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking usvg v0.47.0
[INFO] [stderr]     Checking cosmolkit-ringdecomposer v0.2.2 (/opt/rustwide/workdir/crates/cosmolkit-ringdecomposer)
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling unicode_names2_generator v1.3.0
[INFO] [stderr]    Compiling rustpython-parser v0.4.0
[INFO] [stderr]     Checking resvg v0.47.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling unicode_names2 v1.3.0
[INFO] [stderr]     Checking cosmolkit-core v0.2.2 (/opt/rustwide/workdir/crates/cosmolkit-core)
[INFO] [stderr]    Compiling pyo3-macros v0.28.3
[INFO] [stdout] warning: unused imports: `assign_valence` and `symmetrize_sssr`
[INFO] [stdout]  --> crates/cosmolkit-core/src/chemistry/aromaticity.rs:7:52
[INFO] [stdout]   |
[INFO] [stdout] 7 |     ValenceAssignment, ValenceError, ValenceModel, assign_valence, read_parts::MoleculeReadParts,
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     symmetrize_sssr,
[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: `Bond`
[INFO] [stdout]   --> crates/cosmolkit-core/src/notation/fragment.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 |     AdjacencyList, Atom, AtomSpec, Bond, BondSpec, Molecule, MoleculeBuilder,
[INFO] [stdout]    |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomId`, `BondOrder`, and `MoleculeBuilder`
[INFO] [stdout]   --> crates/cosmolkit-core/src/notation/sequence.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::{AtomId, BondOrder, Molecule, MoleculeBuilder};
[INFO] [stdout]    |             ^^^^^^  ^^^^^^^^^            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `set_double_bond_neighbor_directions_from_stereo`
[INFO] [stdout]   --> crates/cosmolkit-core/src/notation/smiles.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     set_double_bond_neighbor_directions_from_stereo,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomId`, `Bond`, and `NeighborRef`
[INFO] [stdout]   --> crates/cosmolkit-core/src/properties/avalon_fingerprint.rs:32:20
[INFO] [stdout]    |
[INFO] [stdout] 32 |     AdjacencyList, AtomId, Bond, BondOrder, Fingerprint, FingerprintError, Molecule, NeighborRef,
[INFO] [stdout]    |                    ^^^^^^  ^^^^                                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `chemistry::stereo::assign_stereochemistry`: assign_stereochemistry() is read-only; use perceive_stereochemistry() for the explicit public API name
[INFO] [stdout]    --> crates/cosmolkit-core/src/lib.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     assign_stereochemistry, perceive_stereochemistry,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `chemistry::stereo::assign_stereochemistry`: assign_stereochemistry() is read-only; use perceive_stereochemistry() for the explicit public API name
[INFO] [stdout]    --> crates/cosmolkit-core/src/notation/smiles_write/stereo.rs:400:20
[INFO] [stdout]     |
[INFO] [stdout] 400 |     crate::stereo::assign_stereochemistry(molecule)?;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `assign_valence` and `symmetrize_sssr`
[INFO] [stdout]  --> crates/cosmolkit-core/src/chemistry/aromaticity.rs:7:52
[INFO] [stdout]   |
[INFO] [stdout] 7 |     ValenceAssignment, ValenceError, ValenceModel, assign_valence, read_parts::MoleculeReadParts,
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     symmetrize_sssr,
[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: `SGroupBondRole`
[INFO] [stdout]  --> crates/cosmolkit-core/src/io/molblock/tests.rs:8:67
[INFO] [stdout]   |
[INFO] [stdout] 8 |     BondStereo, ChiralTag, Element, QueryNode, SGroupAttachPoint, SGroupBondRole, SGroupBracket,
[INFO] [stdout]   |                                                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MOLBLOCK_IO_FEATURE` and `UnsupportedFeatureError`
[INFO] [stdout]   --> crates/cosmolkit-core/src/io/molblock/tests.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{MOLBLOCK_IO_FEATURE, Molecule, UnsupportedFeatureError};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Bond`
[INFO] [stdout]   --> crates/cosmolkit-core/src/notation/fragment.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 |     AdjacencyList, Atom, AtomSpec, Bond, BondSpec, Molecule, MoleculeBuilder,
[INFO] [stdout]    |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomId`, `BondOrder`, and `MoleculeBuilder`
[INFO] [stdout]   --> crates/cosmolkit-core/src/notation/sequence.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::{AtomId, BondOrder, Molecule, MoleculeBuilder};
[INFO] [stdout]    |             ^^^^^^  ^^^^^^^^^            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomId`, `Bond`, and `NeighborRef`
[INFO] [stdout]   --> crates/cosmolkit-core/src/properties/avalon_fingerprint.rs:32:20
[INFO] [stdout]    |
[INFO] [stdout] 32 |     AdjacencyList, AtomId, Bond, BondOrder, Fingerprint, FingerprintError, Molecule, NeighborRef,
[INFO] [stdout]    |                    ^^^^^^  ^^^^                                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `chemistry::stereo::assign_stereochemistry`: assign_stereochemistry() is read-only; use perceive_stereochemistry() for the explicit public API name
[INFO] [stdout]    --> crates/cosmolkit-core/src/lib.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     assign_stereochemistry, perceive_stereochemistry,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `chemistry::stereo::assign_stereochemistry`: assign_stereochemistry() is read-only; use perceive_stereochemistry() for the explicit public API name
[INFO] [stdout]     --> crates/cosmolkit-core/src/model/molecule.rs:1025:9
[INFO] [stdout]      |
[INFO] [stdout] 1025 |         assign_stereochemistry, fragment, mol_hash, pdb_writer, perceive_stereochemistry,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `chemistry::stereo::assign_stereochemistry`: assign_stereochemistry() is read-only; use perceive_stereochemistry() for the explicit public API name
[INFO] [stdout]    --> crates/cosmolkit-core/src/notation/smiles_write/stereo.rs:400:20
[INFO] [stdout]     |
[INFO] [stdout] 400 |     crate::stereo::assign_stereochemistry(molecule)?;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `colls` is never read
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:3074:21
[INFO] [stdout]      |
[INFO] [stdout] 3074 |                     colls = self.find_collisions(atoms, bonds, adjacency, &dmat, true);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query_atom`
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5479:13
[INFO] [stdout]      |
[INFO] [stdout] 5479 |         let query_atom = &query.atoms()[query_idx];
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_query_atom`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6357:13
[INFO] [stdout]      |
[INFO] [stdout] 6357 |         let mut query_adj_value = query.clone();
[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 `reference_hs` is assigned to, but never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6341:9
[INFO] [stdout]      |
[INFO] [stdout] 6341 |     let mut reference_hs = None;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_reference_hs` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ref_atom`
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6441:29
[INFO] [stdout]      |
[INFO] [stdout] 6441 |                         let ref_atom = &query_adj_ref.atoms()[pattern_idx];
[INFO] [stdout]      |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ref_atom`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `reference_hs` is never read
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6388:13
[INFO] [stdout]      |
[INFO] [stdout] 6388 |             reference_hs = Some(reference_hs_value);
[INFO] [stdout]      |             ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pattern_to_ref_matches` is never read
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6345:38
[INFO] [stdout]      |
[INFO] [stdout] 6345 |     let mut pattern_to_ref_matches = Vec::<Vec<(usize, usize)>>::new();
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 6371 |             pattern_to_ref_matches =
[INFO] [stdout]      |             ---------------------- `pattern_to_ref_matches` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bond_idx`
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:1687:21
[INFO] [stdout]      |
[INFO] [stdout] 1687 | fn bond_between_idx(bond_idx: usize) -> Option<usize> {
[INFO] [stdout]      |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bond_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:2405:10
[INFO] [stdout]      |
[INFO] [stdout] 2405 |     let (mut dl, mut du) = if prefer_cis {
[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]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:2405:18
[INFO] [stdout]      |
[INFO] [stdout] 2405 |     let (mut dl, mut du) = if prefer_cis {
[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]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:2524:10
[INFO] [stdout]      |
[INFO] [stdout] 2524 |     let (mut dl, mut du, kind) = if ahyb2 == Hybridization::Sp2 && ahyb3 == Hybridization::Sp2 {
[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]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:2524:18
[INFO] [stdout]      |
[INFO] [stdout] 2524 |     let (mut dl, mut du, kind) = if ahyb2 == Hybridization::Sp2 && ahyb3 == Hybridization::Sp2 {
[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]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:2742:10
[INFO] [stdout]      |
[INFO] [stdout] 2742 |     let (mut dl, mut du, kind) = if check_macrocycle_two_in_same_ring_amide_ester_14(
[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]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:2742:18
[INFO] [stdout]      |
[INFO] [stdout] 2742 |     let (mut dl, mut du, kind) = if check_macrocycle_two_in_same_ring_amide_ester_14(
[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]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:3104:9
[INFO] [stdout]      |
[INFO] [stdout] 3104 |     let mut set_the_bound = true;
[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]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:3933:14
[INFO] [stdout]      |
[INFO] [stdout] 3933 |         let (mut dl, mut du) = match kind {
[INFO] [stdout]      |              ----^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `adj`
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/mol_transforms.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |     let adj = AdjacencyList::from_topology(num_atoms, mol.bonds());
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_adj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `adj`
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/mol_transforms.rs:941:9
[INFO] [stdout]     |
[INFO] [stdout] 941 |     let adj = AdjacencyList::from_topology(num_atoms, mol.bonds());
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_adj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `invariant` is never read
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/stereo.rs:347:34
[INFO] [stdout]     |
[INFO] [stdout] 347 |         let mut invariant: i64 = 0;
[INFO] [stdout]     |                                  ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 365 |         invariant = num; // 7 bits
[INFO] [stdout]     |         --------------- `invariant` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/stereo.rs:1349:17
[INFO] [stdout]      |
[INFO] [stdout] 1349 |             let mut vol2 = vec_dot(crossp2, bond_vects[order[0]]);
[INFO] [stdout]      |                 ----^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wedge_bond`
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/stereo.rs:3686:17
[INFO] [stdout]      |
[INFO] [stdout] 3686 |             let wedge_bond = &mol.bonds()[wedge_idx];
[INFO] [stdout]      |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wedge_bond`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dash_bond`
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/stereo.rs:3687:17
[INFO] [stdout]      |
[INFO] [stdout] 3687 |             let dash_bond = &mol.bonds()[dash_idx];
[INFO] [stdout]      |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dash_bond`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mol`
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/stereo.rs:3701:22
[INFO] [stdout]      |
[INFO] [stdout] 3701 | fn is_opposite_bonds(mol: &Molecule, _atom_idx: usize, _bond_a: usize, _bond_b: usize) -> bool {
[INFO] [stdout]      |                      ^^^ help: if this is intentional, prefix it with an underscore: `_mol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/cosmolkit-core/src/io/bio.rs:3654:9
[INFO] [stdout]      |
[INFO] [stdout] 3654 |     let mut name = name.trim_start().to_string();
[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]     --> crates/cosmolkit-core/src/io/molblock.rs:1244:9
[INFO] [stdout]      |
[INFO] [stdout] 1244 |     let mut line = format!("  {:>8}{:>10}", "COSMolKit", "");
[INFO] [stdout]      |         ----^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_stereo`
[INFO] [stdout]     --> crates/cosmolkit-core/src/io/molblock.rs:1619:5
[INFO] [stdout]      |
[INFO] [stdout] 1619 |     include_stereo: bool,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_stereo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_stereo`
[INFO] [stdout]     --> crates/cosmolkit-core/src/io/molblock.rs:1839:5
[INFO] [stdout]      |
[INFO] [stdout] 1839 |     include_stereo: bool,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_stereo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/cosmolkit-core/src/io/pdb_molecule.rs:923:5
[INFO] [stdout]     |
[INFO] [stdout] 923 |     mut rescode: u32,
[INFO] [stdout]     |     ----^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `valence`
[INFO] [stdout]    --> crates/cosmolkit-core/src/operations/ops/sanitize_pipeline.rs:208:9
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let valence = sanitize_properties_stage(
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_valence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling pyo3-stub-gen-derive v0.22.3
[INFO] [stdout] warning: unused variable: `tl`
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/draw.rs:615:18
[INFO] [stdout]     |
[INFO] [stdout] 615 |             let (tl, tr, br, bl) = shifted.calc_corners(0.0);
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_tl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `br`
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/draw.rs:615:26
[INFO] [stdout]     |
[INFO] [stdout] 615 |             let (tl, tr, br, bl) = shifted.calc_corners(0.0);
[INFO] [stdout]     |                          ^^ help: if this is intentional, prefix it with an underscore: `_br`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `orient` is never read
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:2481:26
[INFO] [stdout]      |
[INFO] [stdout] 2481 |           let mut orient = OrientType::C;
[INFO] [stdout]      |                            ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2494 | /                 orient = if nbr_sum.y > 0.0 {
[INFO] [stdout] 2495 | |                     OrientType::S
[INFO] [stdout] 2496 | |                 } else {
[INFO] [stdout] 2497 | |                     OrientType::N
[INFO] [stdout] 2498 | |                 };
[INFO] [stdout]      | |_________________- `orient` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:2931:23
[INFO] [stdout]      |
[INFO] [stdout] 2931 |         let (mut l2s, mut l2f) = if mol
[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]     --> crates/cosmolkit-core/src/properties/draw.rs:3245:21
[INFO] [stdout]      |
[INFO] [stdout] 3245 |                 let mut l2s = self.double_bond_end(
[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]     --> crates/cosmolkit-core/src/properties/draw.rs:3538:17
[INFO] [stdout]      |
[INFO] [stdout] 3538 |             let mut points = points;
[INFO] [stdout]      |                 ----^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:4445:17
[INFO] [stdout]      |
[INFO] [stdout] 4445 |             let idx = bond.id().index();
[INFO] [stdout]      |                 ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:4765:17
[INFO] [stdout]      |
[INFO] [stdout] 4765 |             let idx = bond.id().index();
[INFO] [stdout]      |                 ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:5676:13
[INFO] [stdout]      |
[INFO] [stdout] 5676 |         let mut at1_cds = self.at_cds[b];
[INFO] [stdout]      |             ----^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mol`
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:5670:9
[INFO] [stdout]      |
[INFO] [stdout] 5670 |         mol: &Molecule,
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_mol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/fingerprint.rs:619:27
[INFO] [stdout]     |
[INFO] [stdout] 619 | fn validate_morgan_params(params: &MorganFingerprintParams) -> Result<(), FingerprintError> {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_bonds`
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/fingerprint.rs:1037:9
[INFO] [stdout]      |
[INFO] [stdout] 1037 |     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: `count_element`
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/fingerprint.rs:1053:9
[INFO] [stdout]      |
[INFO] [stdout] 1053 |     let count_element =
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `has_neighbor_z`
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/fingerprint.rs:1082:9
[INFO] [stdout]      |
[INFO] [stdout] 1082 |     let has_neighbor_z = |atom_idx: usize, target_z: u8| -> bool {
[INFO] [stdout]      |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_neighbor_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `find_atom`
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/fingerprint.rs:1090:9
[INFO] [stdout]      |
[INFO] [stdout] 1090 |     let find_atom = |pred: fn(&[u8], &[i8], usize) -> bool| -> Option<usize> {
[INFO] [stdout]      |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_find_atom`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/mol_hash.rs:261:9
[INFO] [stdout]     |
[INFO] [stdout] 261 |     let n = mol.num_atoms();
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mol`
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/mol_hash.rs:411:5
[INFO] [stdout]     |
[INFO] [stdout] 411 |     mol: &Molecule,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_mol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `atom_queries`
[INFO] [stdout]    --> crates/cosmolkit-core/src/search/query.rs:981:9
[INFO] [stdout]     |
[INFO] [stdout] 981 |         atom_queries: &mut Vec<QueryNode<AtomQueryPredicate>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_atom_queries`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mol`
[INFO] [stdout]     --> crates/cosmolkit-core/src/search/query.rs:1115:42
[INFO] [stdout]      |
[INFO] [stdout] 1115 | fn count_ring_bonds(adj: &AdjacencyList, mol: &Molecule, ri: &RingInfo, aidx: usize) -> u8 {
[INFO] [stdout]      |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_mol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/cosmolkit-core/src/search/smarts_parse.rs:983:17
[INFO] [stdout]     |
[INFO] [stdout] 983 |             let mut end = i + 1;
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SmilesControllingBondResult` is more private than the item `controlling_bond_from_atom_for_smiles`
[INFO] [stdout]    --> crates/cosmolkit-core/src/notation/smiles/stereo.rs:704:1
[INFO] [stdout]     |
[INFO] [stdout] 704 | / pub(super) fn controlling_bond_from_atom_for_smiles(
[INFO] [stdout] 705 | |     mol: &Molecule,
[INFO] [stdout] 706 | |     adjacency: &AdjacencyList,
[INFO] [stdout] 707 | |     needs_dir: &[bool],
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     atom: AtomId,
[INFO] [stdout] 711 | | ) -> SmilesControllingBondResult {
[INFO] [stdout]     | |________________________________^ function `controlling_bond_from_atom_for_smiles` is reachable at visibility `pub(in crate::notation::smiles)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `SmilesControllingBondResult` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> crates/cosmolkit-core/src/notation/smiles/stereo.rs:609:1
[INFO] [stdout]     |
[INFO] [stdout] 609 | struct SmilesControllingBondResult {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RDKIT_FORMER_NBR_INDICES_PROP` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/coordinates.rs:118:7
[INFO] [stdout]     |
[INFO] [stdout] 118 | const RDKIT_FORMER_NBR_INDICES_PROP: &str = "__formerNbrIndices";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RDKIT_FORMER_IDX_PROP` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/coordinates.rs:119:7
[INFO] [stdout]     |
[INFO] [stdout] 119 | const RDKIT_FORMER_IDX_PROP: &str = "__formerIdx";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_rdkit_template` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/coordinates.rs:292:4
[INFO] [stdout]     |
[INFO] [stdout] 292 | fn assert_valid_rdkit_template(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `for_each_rdkit_template_file_line` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/coordinates.rs:356:4
[INFO] [stdout]     |
[INFO] [stdout] 356 | fn for_each_rdkit_template_file_line<F>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_rdkit_template_line_for_loading` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/coordinates.rs:394:4
[INFO] [stdout]     |
[INFO] [stdout] 394 | fn parse_rdkit_template_line_for_loading(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_rdkit_templates_from_path` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/coordinates.rs:405:4
[INFO] [stdout]     |
[INFO] [stdout] 405 | fn load_rdkit_templates_from_path(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_default_rdkit_ring_system_templates` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/coordinates.rs:497:4
[INFO] [stdout]     |
[INFO] [stdout] 497 | fn load_default_rdkit_ring_system_templates() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_rdkit_ring_system_templates` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/coordinates.rs:542:4
[INFO] [stdout]     |
[INFO] [stdout] 542 | fn set_rdkit_ring_system_templates(template_path: &str) -> Result<(), Coordinate2DError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_rdkit_ring_system_templates` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/coordinates.rs:562:4
[INFO] [stdout]     |
[INFO] [stdout] 562 | fn add_rdkit_ring_system_templates(template_path: &str) -> Result<(), Coordinate2DError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_load_default_ring_system_templates` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/coordinates.rs:588:4
[INFO] [stdout]     |
[INFO] [stdout] 588 | fn rdkit_load_default_ring_system_templates() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_prefer_coord_gen` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/coordinates.rs:972:15
[INFO] [stdout]     |
[INFO] [stdout] 972 | pub(crate) fn set_prefer_coord_gen(value: bool) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_coordgen_support_available` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/coordinates.rs:980:21
[INFO] [stdout]     |
[INFO] [stdout] 980 | pub(crate) const fn is_coordgen_support_available() -> bool {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Compute2DCoordsMimicDistMatParameters` is never constructed
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:1058:19
[INFO] [stdout]      |
[INFO] [stdout] 1058 | pub(crate) struct Compute2DCoordsMimicDistMatParameters {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConstrainedDepictionParams` is never constructed
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:1085:19
[INFO] [stdout]      |
[INFO] [stdout] 1085 | pub(crate) struct ConstrainedDepictionParams {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_transform_points` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:1385:4
[INFO] [stdout]      |
[INFO] [stdout] 1385 | fn rdkit_transform_points(nring_cor: &mut RdkitIntPoint2DMap, trans: [f64; 6]) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_reflect_points` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:1467:4
[INFO] [stdout]      |
[INFO] [stdout] 1467 | fn rdkit_reflect_points(coord_map: &mut RdkitIntPoint2DMap, loc1: (f64, f64), loc2: (f64, f64)) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_fused_ring_atom_order` and `find_neighbor` are never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:1606:8
[INFO] [stdout]      |
[INFO] [stdout] 1520 | impl RdkitEmbeddedFrag {
[INFO] [stdout]      | ---------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1606 |     fn from_fused_ring_atom_order(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1798 |     fn find_neighbor(&self, aid: usize, adjacency: &[Vec<usize>]) -> Option<usize> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_ring_radius` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:3894:4
[INFO] [stdout]      |
[INFO] [stdout] 3894 | fn rdkit_ring_radius(ring_size: usize, bond_len: f64) -> f64 {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `canonicalize_component` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:3950:4
[INFO] [stdout]      |
[INFO] [stdout] 3950 | fn canonicalize_component(component: &mut Vec<(usize, (f64, f64))>) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `component_box_rdkit` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:4006:4
[INFO] [stdout]      |
[INFO] [stdout] 4006 | fn component_box_rdkit(component: &[(usize, (f64, f64))]) -> (f64, f64, f64, f64) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_query_contains_atomic_number` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5162:4
[INFO] [stdout]      |
[INFO] [stdout] 5162 | fn rdkit_query_contains_atomic_number(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_parse_former_nbr_indices_prop` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5176:4
[INFO] [stdout]      |
[INFO] [stdout] 5176 | fn rdkit_parse_former_nbr_indices_prop(value: &str) -> Vec<usize> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_is_atom_terminal_rgroup_or_query_hydrogen` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5190:4
[INFO] [stdout]      |
[INFO] [stdout] 5190 | fn rdkit_is_atom_terminal_rgroup_or_query_hydrogen(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_has_terminal_rgroup_or_query_hydrogen` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5209:4
[INFO] [stdout]      |
[INFO] [stdout] 5209 | fn rdkit_has_terminal_rgroup_or_query_hydrogen(mol: &Molecule) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_adjust_query_properties_for_depiction_template` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5219:4
[INFO] [stdout]      |
[INFO] [stdout] 5219 | fn rdkit_adjust_query_properties_for_depiction_template(mol: &mut Molecule) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_prepare_template_for_rgroups` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5293:4
[INFO] [stdout]      |
[INFO] [stdout] 5293 | fn rdkit_prepare_template_for_rgroups(template_mol: &Molecule) -> Option<Molecule> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_reduced_to_full_matches` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5382:4
[INFO] [stdout]      |
[INFO] [stdout] 5382 | fn rdkit_reduced_to_full_matches(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_select_3d_conformer_index` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5424:4
[INFO] [stdout]      |
[INFO] [stdout] 5424 | fn rdkit_select_3d_conformer_index(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_score_match_by_degree_of_core_substitution` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5468:4
[INFO] [stdout]      |
[INFO] [stdout] 5468 | fn rdkit_score_match_by_degree_of_core_substitution(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_get_most_substituted_core_match` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5494:4
[INFO] [stdout]      |
[INFO] [stdout] 5494 | fn rdkit_get_most_substituted_core_match(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_sort_matches_by_degree_of_core_substitution` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5509:4
[INFO] [stdout]      |
[INFO] [stdout] 5509 | fn rdkit_sort_matches_by_degree_of_core_substitution(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_invert_molblock_wedging_info` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5550:4
[INFO] [stdout]      |
[INFO] [stdout] 5550 | fn rdkit_invert_molblock_wedging_info(mol: &mut Molecule) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_clear_molblock_wedging_info` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5575:4
[INFO] [stdout]      |
[INFO] [stdout] 5575 | fn rdkit_clear_molblock_wedging_info(mol: &mut Molecule) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_select_2d_conformer_index` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5582:4
[INFO] [stdout]      |
[INFO] [stdout] 5582 | fn rdkit_select_2d_conformer_index(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_remove_all_2d_conformers_but_one` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5623:4
[INFO] [stdout]      |
[INFO] [stdout] 5623 | fn rdkit_remove_all_2d_conformers_but_one(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RDKIT_ALIGN_POINTS_TOLERANCE` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5643:7
[INFO] [stdout]      |
[INFO] [stdout] 5643 | const RDKIT_ALIGN_POINTS_TOLERANCE: f64 = 1.0e-6;
[INFO] [stdout]      |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RDKIT_ALIGN_POINTS_MAX_ITERATIONS` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5644:7
[INFO] [stdout]      |
[INFO] [stdout] 5644 | const RDKIT_ALIGN_POINTS_MAX_ITERATIONS: usize = 50;
[INFO] [stdout]      |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_transform3d_identity` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5646:4
[INFO] [stdout]      |
[INFO] [stdout] 5646 | fn rdkit_transform3d_identity() -> [[f64; 4]; 4] {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_transform3d_mul` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5655:4
[INFO] [stdout]      |
[INFO] [stdout] 5655 | fn rdkit_transform3d_mul(lhs: &[[f64; 4]; 4], rhs: &[[f64; 4]; 4]) -> [[f64; 4]; 4] {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_transform3d_transform_point` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5665:4
[INFO] [stdout]      |
[INFO] [stdout] 5665 | fn rdkit_transform3d_transform_point(trans: &[[f64; 4]; 4], point: [f64; 3]) -> [f64; 3] {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_transform3d_set_translation` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5673:4
[INFO] [stdout]      |
[INFO] [stdout] 5673 | fn rdkit_transform3d_set_translation(trans: &mut [[f64; 4]; 4], move_vec: [f64; 3]) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_transform3d_set_rotation_from_quaternion` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5679:4
[INFO] [stdout]      |
[INFO] [stdout] 5679 | fn rdkit_transform3d_set_rotation_from_quaternion(trans: &mut [[f64; 4]; 4], quaternion: [f64; 4]) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_transform3d_reflect` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5711:4
[INFO] [stdout]      |
[INFO] [stdout] 5711 | fn rdkit_transform3d_reflect(trans: &mut [[f64; 4]; 4]) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_weighted_sum_of_points` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5719:4
[INFO] [stdout]      |
[INFO] [stdout] 5719 | fn rdkit_weighted_sum_of_points(points: &[[f64; 3]]) -> [f64; 3] {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_weighted_sum_of_len_sq` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5728:4
[INFO] [stdout]      |
[INFO] [stdout] 5728 | fn rdkit_weighted_sum_of_len_sq(points: &[[f64; 3]]) -> f64 {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_compute_covariance_mat` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5734:4
[INFO] [stdout]      |
[INFO] [stdout] 5734 | fn rdkit_compute_covariance_mat(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_reflect_covariance_mat` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5753:4
[INFO] [stdout]      |
[INFO] [stdout] 5753 | fn rdkit_reflect_covariance_mat(cov_mat: &mut [[f64; 3]; 3]) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_convert_cov_mat_to_quad` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5761:4
[INFO] [stdout]      |
[INFO] [stdout] 5761 | fn rdkit_convert_cov_mat_to_quad(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_align_points_jacobi` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5797:4
[INFO] [stdout]      |
[INFO] [stdout] 5797 | fn rdkit_align_points_jacobi(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_align_points` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5889:4
[INFO] [stdout]      |
[INFO] [stdout] 5889 | fn rdkit_align_points(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_apply_transform_to_2d_conformer` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5953:4
[INFO] [stdout]      |
[INFO] [stdout] 5953 | fn rdkit_apply_transform_to_2d_conformer(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_get_alignment_transform` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5968:4
[INFO] [stdout]      |
[INFO] [stdout] 5968 | fn rdkit_get_alignment_transform(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_get_best_alignment_transform` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6006:4
[INFO] [stdout]      |
[INFO] [stdout] 6006 | fn rdkit_get_best_alignment_transform(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_substruct_matches_unordered` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6038:4
[INFO] [stdout]      |
[INFO] [stdout] 6038 | fn rdkit_substruct_matches_unordered(mol: &Molecule, query: &Molecule) -> Vec<Vec<(usize, usize)>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_add_hs_copy` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6055:4
[INFO] [stdout]      |
[INFO] [stdout] 6055 | fn rdkit_add_hs_copy(mol: &Molecule) -> Result<Molecule, Coordinate2DError> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_append_2d_conformer` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6073:4
[INFO] [stdout]      |
[INFO] [stdout] 6073 | fn rdkit_append_2d_conformer(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_set_single_2d_conformer` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6095:4
[INFO] [stdout]      |
[INFO] [stdout] 6095 | fn rdkit_set_single_2d_conformer(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_compute_2d_coords_for_mol` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6112:4
[INFO] [stdout]      |
[INFO] [stdout] 6112 | fn rdkit_compute_2d_coords_for_mol(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_depiction_matching_2d_structure_with_ref_match` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6169:15
[INFO] [stdout]      |
[INFO] [stdout] 6169 | pub(crate) fn generate_depiction_matching_2d_structure_with_ref_match(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_depiction_matching_2d_structure_with_ref_match_force_rdkit` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6310:15
[INFO] [stdout]      |
[INFO] [stdout] 6310 | pub(crate) fn generate_depiction_matching_2d_structure_with_ref_match_force_rdkit(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_depiction_matching_2d_structure` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6334:15
[INFO] [stdout]      |
[INFO] [stdout] 6334 | pub(crate) fn generate_depiction_matching_2d_structure(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_depiction_matching_2d_structure_simple` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6580:15
[INFO] [stdout]      |
[INFO] [stdout] 6580 | pub(crate) fn generate_depiction_matching_2d_structure_simple(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_depiction_matching_3d_structure` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6603:15
[INFO] [stdout]      |
[INFO] [stdout] 6603 | pub(crate) fn generate_depiction_matching_3d_structure(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_invert_wedging_if_mol_has_flipped` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6693:4
[INFO] [stdout]      |
[INFO] [stdout] 6693 | fn rdkit_invert_wedging_if_mol_has_flipped(mol: &mut Molecule, trans: &[[f64; 4]; 4]) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `strict_rdkit_subset_coords` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6707:4
[INFO] [stdout]      |
[INFO] [stdout] 6707 | fn strict_rdkit_subset_coords(atoms: &[Atom], bonds: &[Bond]) -> Option<Vec<[f64; 2]>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_collisions_bond_flip_like` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6745:4
[INFO] [stdout]      |
[INFO] [stdout] 6745 | fn remove_collisions_bond_flip_like(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_collisions_open_angles_like` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6781:4
[INFO] [stdout]      |
[INFO] [stdout] 6781 | fn remove_collisions_open_angles_like(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_collisions_shorten_bonds_like` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6817:4
[INFO] [stdout]      |
[INFO] [stdout] 6817 | fn remove_collisions_shorten_bonds_like(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `place_acyclic_tree` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6855:4
[INFO] [stdout]      |
[INFO] [stdout] 6855 | fn place_acyclic_tree(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `place_multiring_nonfused_component` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:7342:4
[INFO] [stdout]      |
[INFO] [stdout] 7342 | fn place_multiring_nonfused_component(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_2d_coords_default_path` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:9392:4
[INFO] [stdout]      |
[INFO] [stdout] 9392 | fn compute_2d_coords_default_path(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_2d_coords` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:9413:15
[INFO] [stdout]      |
[INFO] [stdout] 9413 | pub(crate) fn compute_2d_coords(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_2d_coords_with_options` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:9440:15
[INFO] [stdout]      |
[INFO] [stdout] 9440 | pub(crate) fn compute_2d_coords_with_options(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_2d_coords_mimic_distmat_with_params` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:9601:15
[INFO] [stdout]      |
[INFO] [stdout] 9601 | pub(crate) fn compute_2d_coords_mimic_distmat_with_params(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_2d_coords_to_molecule` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:9669:15
[INFO] [stdout]      |
[INFO] [stdout] 9669 | pub(crate) fn add_2d_coords_to_molecule(_molecule: &mut Molecule, _use_dll: bool) -> bool {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `copy_sign` is never used
[INFO] [stdout]      --> crates/cosmolkit-core/src/chemistry/coordinates.rs:14094:4
[INFO] [stdout]       |
[INFO] [stdout] 14094 | fn copy_sign(to: f64, from: f64, tol: f64) -> f64 {
[INFO] [stdout]       |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThetaBin` is never constructed
[INFO] [stdout]      --> crates/cosmolkit-core/src/chemistry/coordinates.rs:14099:8
[INFO] [stdout]       |
[INFO] [stdout] 14099 | struct ThetaBin {
[INFO] [stdout]       |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rdkit_compute_canonical_transform_for_2d_coords` is never used
[INFO] [stdout]      --> crates/cosmolkit-core/src/chemistry/coordinates.rs:14111:4
[INFO] [stdout]       |
[INFO] [stdout] 14111 | fn rdkit_compute_canonical_transform_for_2d_coords(
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `straighten_depiction` is never used
[INFO] [stdout]      --> crates/cosmolkit-core/src/chemistry/coordinates.rs:14171:15
[INFO] [stdout]       |
[INFO] [stdout] 14171 | pub(crate) fn straighten_depiction(
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize_depiction` is never used
[INFO] [stdout]      --> crates/cosmolkit-core/src/chemistry/coordinates.rs:14268:15
[INFO] [stdout]       |
[INFO] [stdout] 14268 | pub(crate) fn normalize_depiction(
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_hbond_donor` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/distgeom.rs:176:4
[INFO] [stdout]     |
[INFO] [stdout] 176 | fn is_hbond_donor(atom: &Atom, total_num_hydrogens: u32) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ideal_bond_angle` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/distgeom.rs:777:4
[INFO] [stdout]     |
[INFO] [stdout] 777 | fn ideal_bond_angle(hybridization: &crate::Hybridization, ring_size: Option<usize>) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `common_middle_atom` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/distgeom.rs:953:4
[INFO] [stdout]     |
[INFO] [stdout] 953 | fn common_middle_atom(mol: &Molecule, a1: usize, a3: usize) -> Option<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_upper_if_better`, `set_lower_if_better`, and `check_valid` are never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:1035:8
[INFO] [stdout]      |
[INFO] [stdout]  973 | impl BoundsMatrix {
[INFO] [stdout]      | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1035 |     fn set_upper_if_better(&mut self, i: usize, j: usize, val: f64) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1068 |     fn set_lower_if_better(&mut self, i: usize, j: usize, val: f64) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1104 |     fn check_valid(&self) -> bool {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `triangle_smooth_bounds_shared` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:1221:4
[INFO] [stdout]      |
[INFO] [stdout] 1221 | fn triangle_smooth_bounds_shared(bounds_mat: &mut BoundsMatrix, tol: f64) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `atom_ring_sizes` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:1370:4
[INFO] [stdout]      |
[INFO] [stdout] 1370 | fn atom_ring_sizes(ring_info: &crate::RingInfo, atom_idx: usize) -> Vec<usize> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_atom_in_ring_of_size` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:1381:4
[INFO] [stdout]      |
[INFO] [stdout] 1381 | fn is_atom_in_ring_of_size(ring_info: &crate::RingInfo, atom_idx: usize, size: usize) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bond_between_idx` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:1687:4
[INFO] [stdout]      |
[INFO] [stdout] 1687 | fn bond_between_idx(bond_idx: usize) -> Option<usize> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_h2_nx3_h1_ox2` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:3289:4
[INFO] [stdout]      |
[INFO] [stdout] 3289 | fn check_h2_nx3_h1_ox2(mol: &Molecule, atom_idx: usize) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_nh_ch_ch_nh` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:3316:4
[INFO] [stdout]      |
[INFO] [stdout] 3316 | fn check_nh_ch_ch_nh(mol: &Molecule, atm1: usize, atm2: usize, atm3: usize, atm4: usize) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bond_lengths_from_accum` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:4168:4
[INFO] [stdout]      |
[INFO] [stdout] 4168 | fn bond_lengths_from_accum(accum_data: &ComputedData, bid: usize) -> f64 {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_bonds_and_angles` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:4236:4
[INFO] [stdout]      |
[INFO] [stdout] 4236 | fn collect_bonds_and_angles(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_topol_bounds_with_outputs` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:4477:4
[INFO] [stdout]      |
[INFO] [stdout] 4477 | fn set_topol_bounds_with_outputs(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `empty` is never used
[INFO] [stdout]   --> crates/cosmolkit-core/src/chemistry/kekulize.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl KekulizeAssignment {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 69 |     fn empty(num_atoms: usize, num_bonds: usize) -> Self {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fused_ring_systems_stack_order_for_tests` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/kekulize.rs:1882:4
[INFO] [stdout]      |
[INFO] [stdout] 1882 | fn fused_ring_systems_stack_order_for_tests(rings: &[KekulizeRing]) -> Vec<Vec<usize>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add3` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/mol_transforms.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn add3(a: &[f64; 3], b: &[f64; 3]) -> [f64; 3] {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scale3` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/mol_transforms.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn scale3(v: &[f64; 3], s: f64) -> [f64; 3] {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_bond_length` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/mol_transforms.rs:305:4
[INFO] [stdout]     |
[INFO] [stdout] 305 | fn set_bond_length(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/rings.rs:786:8
[INFO] [stdout]     |
[INFO] [stdout] 785 | impl<'a> RingSearchContext<'a> {
[INFO] [stdout]     | ------------------------------ associated function in this implementation
[INFO] [stdout] 786 |     fn new(molecule: &'a Molecule) -> Result<Self, RingFindingError> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_neg` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/stereo.rs:989:4
[INFO] [stdout]     |
[INFO] [stdout] 989 | fn vec_neg(v: (f64, f64, f64)) -> (f64, f64, f64) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_len` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/stereo.rs:999:4
[INFO] [stdout]     |
[INFO] [stdout] 999 | fn vec_len(v: (f64, f64, f64)) -> f64 {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `begin` and `end` are never read
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/stereo_enumerate.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 143 | struct StereoBond {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 144 |     bond: BondId,
[INFO] [stdout] 145 |     begin: AtomId,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 146 |     end: AtomId,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StereoBond` 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 `assign_explicit_valence_for_atom_from_parts` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/valence.rs:389:15
[INFO] [stdout]     |
[INFO] [stdout] 389 | pub(crate) fn assign_explicit_valence_for_atom_from_parts(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_last_atom_source_traits` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/io/bio.rs:442:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl PdbBioBuilder {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 442 |     fn set_last_atom_source_traits(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_structure_from_chemcomp_doc` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/io/bio.rs:1719:4
[INFO] [stdout]      |
[INFO] [stdout] 1719 | fn make_structure_from_chemcomp_doc(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `coor_format_from_ext` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/io/bio.rs:1787:4
[INFO] [stdout]      |
[INFO] [stdout] 1787 | fn coor_format_from_ext(path: &str) -> Result<BioCoorFormat, BioReadError> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_remark_290` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/io/bio.rs:3117:4
[INFO] [stdout]      |
[INFO] [stdout] 3117 | fn read_remark_290(raw_remarks: &[String]) -> Result<Vec<String>, BioReadError> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_by_id` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/io/bio.rs:4808:4
[INFO] [stdout]      |
[INFO] [stdout] 4808 | fn get_by_id<'a, T, F>(vec: &'a mut [T], id: &str, mut get_id: F) -> Option<&'a mut T>
[INFO] [stdout]      |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `copy_int` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/io/bio.rs:4819:4
[INFO] [stdout]      |
[INFO] [stdout] 4819 | fn copy_int(row: &[CifToken], index: usize, dest: &mut i32) -> Result<(), BioReadError> {
[INFO] [stdout]      |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `copy_double` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/io/bio.rs:4836:4
[INFO] [stdout]      |
[INFO] [stdout] 4836 | fn copy_double(row: &[CifToken], index: usize, dest: &mut f32) -> Result<(), BioReadError> {
[INFO] [stdout]      |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_cif_loops` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/io/bio.rs:7304:4
[INFO] [stdout]      |
[INFO] [stdout] 7304 | fn parse_cif_loops(text: &str) -> Result<Vec<CifLoop>, BioReadError> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOLFILE_ATOMIC_WEIGHT` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/io/molblock.rs:1251:7
[INFO] [stdout]      |
[INFO] [stdout] 1251 | const MOLFILE_ATOMIC_WEIGHT: [i32; 119] = [
[INFO] [stdout]      |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `can_be_stereo_bond_for_writer` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/io/molblock.rs:1536:4
[INFO] [stdout]      |
[INFO] [stdout] 1536 | fn can_be_stereo_bond_for_writer(molecule: &Molecule, bond: &Bond) -> Result<bool, MolWriteError> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `query_mut` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/model/atom.rs:673:19
[INFO] [stdout]     |
[INFO] [stdout] 415 | impl AtomSpec {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 673 |     pub(crate) fn query_mut(&mut self) -> Option<&mut QueryNode<AtomQueryPredicate>> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_id` is never used
[INFO] [stdout]   --> crates/cosmolkit-core/src/model/molecule.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl Conformer2D {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub(crate) fn with_id(mut self, id: usize) -> Self {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_id` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/model/molecule.rs:159:19
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl Conformer3D {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub(crate) fn with_id(mut self, id: usize) -> Self {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `prepared_for_drawing_parity` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/model/molecule.rs:954:19
[INFO] [stdout]     |
[INFO] [stdout] 665 | impl Molecule {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 954 |     pub(crate) fn prepared_for_drawing_parity(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_molecule_read` is never used
[INFO] [stdout]   --> crates/cosmolkit-core/src/model/read_parts.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<'a> MoleculeReadParts<'a> {
[INFO] [stdout]    | ------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn with_molecule_read<R>(self, f: impl FnOnce(&Molecule) -> R) -> R {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rank_fragment_atoms` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/notation/canon_rank.rs:323:15
[INFO] [stdout]     |
[INFO] [stdout] 323 | pub(crate) fn rank_fragment_atoms(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_rna_fragment_map` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/notation/sequence.rs:175:4
[INFO] [stdout]     |
[INFO] [stdout] 175 | fn build_rna_fragment_map() -> HashMap<char, &'static str> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_atom_chemical_props` is never used
[INFO] [stdout]   --> crates/cosmolkit-core/src/notation/smiles.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn clear_atom_chemical_props(atom: &mut Atom) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `double_bond_seen` is never read
[INFO] [stdout]    --> crates/cosmolkit-core/src/notation/smiles/stereo.rs:613:5
[INFO] [stdout]     |
[INFO] [stdout] 609 | struct SmilesControllingBondResult {
[INFO] [stdout]     |        --------------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 613 |     double_bond_seen: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SmilesControllingBondResult` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_double_bond_neighbor_directions_from_stereo` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/notation/smiles/stereo.rs:1215:15
[INFO] [stdout]      |
[INFO] [stdout] 1215 | pub(crate) fn set_double_bond_neighbor_directions_from_stereo(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `full_molecule` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/notation/smiles_write.rs:259:8
[INFO] [stdout]     |
[INFO] [stdout] 258 | impl CxWriteScope {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 259 |     fn full_molecule(molecule: &Molecule) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_cx_extensions` is never used
[INFO] [stdout]  --> crates/cosmolkit-core/src/notation/smiles_write/cx.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn get_cx_extensions(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_cx_coords` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/notation/smiles_write/cx.rs:235:15
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub(super) fn write_cx_coords(molecule: &Molecule, atom_order: &[AtomId]) -> String {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_cx_molfile_values` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/notation/smiles_write/cx.rs:291:15
[INFO] [stdout]     |
[INFO] [stdout] 291 | pub(super) fn write_cx_molfile_values(molecule: &Molecule, atom_order: &[AtomId]) -> String {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sanitize_invalid_input_error` is never used
[INFO] [stdout]   --> crates/cosmolkit-core/src/operations/ops/sanitize_pipeline.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn sanitize_invalid_input_error(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PreparedDrawAtom` is never constructed
[INFO] [stdout]   --> crates/cosmolkit-core/src/properties/draw.rs:71:19
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub(crate) struct PreparedDrawAtom {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PreparedDrawBond` is never constructed
[INFO] [stdout]   --> crates/cosmolkit-core/src/properties/draw.rs:80:19
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub(crate) struct PreparedDrawBond {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PreparedDrawMolecule` is never constructed
[INFO] [stdout]   --> crates/cosmolkit-core/src/properties/draw.rs:92:19
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub(crate) struct PreparedDrawMolecule {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_alpha` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/draw.rs:114:14
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl DrawColour {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 114 |     const fn with_alpha(self, a: f64) -> Self {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `query_colour` and `include_radicals` are never read
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/draw.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 121 | struct DrawOptions {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 129 |     query_colour: DrawColour,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     include_radicals: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DrawOptions` 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: field `atomic_num` is never read
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/draw.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 318 | struct AtomLabel {
[INFO] [stdout]     |        --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 321 |     atomic_num: u8,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AtomLabel` 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 `kind_is_simple` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/draw.rs:500:8
[INFO] [stdout]     |
[INFO] [stdout] 499 | impl DrawLine {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 500 |     fn kind_is_simple(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `split_bonds` is never read
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/draw.rs:521:5
[INFO] [stdout]     |
[INFO] [stdout] 514 | struct DrawWedge {
[INFO] [stdout]     |        --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 521 |     split_bonds: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DrawWedge` 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: field `atom2_idx` is never read
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/draw.rs:543:5
[INFO] [stdout]     |
[INFO] [stdout] 536 | struct DrawPolyline {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 543 |     atom2_idx: Option<usize>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DrawPolyline` 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 `cross` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/draw.rs:828:4
[INFO] [stdout]     |
[INFO] [stdout] 828 | fn cross(a: DVec2, b: DVec2) -> f64 {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_wavy_line_segments` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:1011:4
[INFO] [stdout]      |
[INFO] [stdout] 1011 | fn get_wavy_line_segments(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pick_bonds_to_wedge`, `determine_bond_wedge_state`, and `line_endpoint_idx` are never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:2681:8
[INFO] [stdout]      |
[INFO] [stdout] 2123 | impl DrawMol {
[INFO] [stdout]      | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2681 |     fn pick_bonds_to_wedge(&self, mol: &Molecule) -> HashSet<usize> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2714 |     fn determine_bond_wedge_state(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 6364 |     fn line_endpoint_idx(&self, line: &DrawLine, atom_idx: usize) -> Option<usize> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_text_drawer` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:6767:4
[INFO] [stdout]      |
[INFO] [stdout] 6767 | fn init_text_drawer(out: &mut String) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_molecule_metadata` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:6775:4
[INFO] [stdout]      |
[INFO] [stdout] 6775 | fn add_molecule_metadata(out: &mut String, mol: &Molecule, width: u32, height: u32) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tag_atoms` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:6786:4
[INFO] [stdout]      |
[INFO] [stdout] 6786 | fn tag_atoms(out: &mut String, atom_labels: &[Option<AtomLabel>]) {
[INFO] [stdout]      |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `output_classes` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:6797:4
[INFO] [stdout]      |
[INFO] [stdout] 6797 | fn output_classes(out: &mut String, class_name: &str) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_wavy_line_svg` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:6889:4
[INFO] [stdout]      |
[INFO] [stdout] 6889 | fn draw_wavy_line_svg(out: &mut String, begin: DVec2, end: DVec2, col: DrawColour, width: f64) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_ellipse_svg` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:6930:4
[INFO] [stdout]      |
[INFO] [stdout] 6930 | fn draw_ellipse_svg(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prepare_mol_for_drawing_parity` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:7739:15
[INFO] [stdout]      |
[INFO] [stdout] 7739 | pub(crate) fn prepare_mol_for_drawing_parity(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `OpenBracket` and `CloseBracket` are never constructed
[INFO] [stdout]    --> crates/cosmolkit-core/src/search/smarts_parse.rs:314:5
[INFO] [stdout]     |
[INFO] [stdout] 300 | enum Token {
[INFO] [stdout]     |      ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 314 |     OpenBracket,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 315 |     /// Close square bracket
[INFO] [stdout] 316 |     CloseBracket,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Token` 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: field `input` is never read
[INFO] [stdout]    --> crates/cosmolkit-core/src/search/smarts_parse.rs:528:5
[INFO] [stdout]     |
[INFO] [stdout] 526 | struct SmartsParser<'a> {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] 527 |     tokens: &'a [(Token, usize)],
[INFO] [stdout] 528 |     input: &'a str,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vf2_match` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/search/substruct.rs:1089:4
[INFO] [stdout]      |
[INFO] [stdout] 1089 | fn vf2_match(
[INFO] [stdout]      |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `AtomId_usize` should have a snake case name
[INFO] [stdout]    --> crates/cosmolkit-core/src/notation/fragment.rs:297:4
[INFO] [stdout]     |
[INFO] [stdout] 297 | fn AtomId_usize(index: usize) -> crate::AtomId {
[INFO] [stdout]     |    ^^^^^^^^^^^^ help: convert the identifier to snake case: `atom_id_usize`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking cosmolkit v0.2.2 (/opt/rustwide/workdir/crates/cosmolkit)
[INFO] [stdout] warning: value assigned to `colls` is never read
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:3074:21
[INFO] [stdout]      |
[INFO] [stdout] 3074 |                     colls = self.find_collisions(atoms, bonds, adjacency, &dmat, true);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query_atom`
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:5479:13
[INFO] [stdout]      |
[INFO] [stdout] 5479 |         let query_atom = &query.atoms()[query_idx];
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_query_atom`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6357:13
[INFO] [stdout]      |
[INFO] [stdout] 6357 |         let mut query_adj_value = query.clone();
[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 `reference_hs` is assigned to, but never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6341:9
[INFO] [stdout]      |
[INFO] [stdout] 6341 |     let mut reference_hs = None;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_reference_hs` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ref_atom`
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6441:29
[INFO] [stdout]      |
[INFO] [stdout] 6441 |                         let ref_atom = &query_adj_ref.atoms()[pattern_idx];
[INFO] [stdout]      |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ref_atom`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `reference_hs` is never read
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6388:13
[INFO] [stdout]      |
[INFO] [stdout] 6388 |             reference_hs = Some(reference_hs_value);
[INFO] [stdout]      |             ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pattern_to_ref_matches` is never read
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6345:38
[INFO] [stdout]      |
[INFO] [stdout] 6345 |     let mut pattern_to_ref_matches = Vec::<Vec<(usize, usize)>>::new();
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 6371 |             pattern_to_ref_matches =
[INFO] [stdout]      |             ---------------------- `pattern_to_ref_matches` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r0`
[INFO] [stdout]      --> crates/cosmolkit-core/src/chemistry/coordinates.rs:10995:13
[INFO] [stdout]       |
[INFO] [stdout] 10995 |         let r0 = ref_builder.add_atom(AtomSpec::new(Element::C));
[INFO] [stdout]       |             ^^ help: if this is intentional, prefix it with an underscore: `_r0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking cosmolkit-py v0.2.2 (/opt/rustwide/workdir/python)
[INFO] [stdout] warning: unused variable: `bond_idx`
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:1687:21
[INFO] [stdout]      |
[INFO] [stdout] 1687 | fn bond_between_idx(bond_idx: usize) -> Option<usize> {
[INFO] [stdout]      |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bond_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:2405:10
[INFO] [stdout]      |
[INFO] [stdout] 2405 |     let (mut dl, mut du) = if prefer_cis {
[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]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:2405:18
[INFO] [stdout]      |
[INFO] [stdout] 2405 |     let (mut dl, mut du) = if prefer_cis {
[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]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:2524:10
[INFO] [stdout]      |
[INFO] [stdout] 2524 |     let (mut dl, mut du, kind) = if ahyb2 == Hybridization::Sp2 && ahyb3 == Hybridization::Sp2 {
[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]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:2524:18
[INFO] [stdout]      |
[INFO] [stdout] 2524 |     let (mut dl, mut du, kind) = if ahyb2 == Hybridization::Sp2 && ahyb3 == Hybridization::Sp2 {
[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]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:2742:10
[INFO] [stdout]      |
[INFO] [stdout] 2742 |     let (mut dl, mut du, kind) = if check_macrocycle_two_in_same_ring_amide_ester_14(
[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]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:2742:18
[INFO] [stdout]      |
[INFO] [stdout] 2742 |     let (mut dl, mut du, kind) = if check_macrocycle_two_in_same_ring_amide_ester_14(
[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]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:3104:9
[INFO] [stdout]      |
[INFO] [stdout] 3104 |     let mut set_the_bound = true;
[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]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:3933:14
[INFO] [stdout]      |
[INFO] [stdout] 3933 |         let (mut dl, mut du) = match kind {
[INFO] [stdout]      |              ----^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `adj`
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/mol_transforms.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |     let adj = AdjacencyList::from_topology(num_atoms, mol.bonds());
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_adj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `adj`
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/mol_transforms.rs:941:9
[INFO] [stdout]     |
[INFO] [stdout] 941 |     let adj = AdjacencyList::from_topology(num_atoms, mol.bonds());
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_adj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `invariant` is never read
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/stereo.rs:347:34
[INFO] [stdout]     |
[INFO] [stdout] 347 |         let mut invariant: i64 = 0;
[INFO] [stdout]     |                                  ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 365 |         invariant = num; // 7 bits
[INFO] [stdout]     |         --------------- `invariant` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/stereo.rs:1349:17
[INFO] [stdout]      |
[INFO] [stdout] 1349 |             let mut vol2 = vec_dot(crossp2, bond_vects[order[0]]);
[INFO] [stdout]      |                 ----^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wedge_bond`
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/stereo.rs:3686:17
[INFO] [stdout]      |
[INFO] [stdout] 3686 |             let wedge_bond = &mol.bonds()[wedge_idx];
[INFO] [stdout]      |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wedge_bond`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dash_bond`
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/stereo.rs:3687:17
[INFO] [stdout]      |
[INFO] [stdout] 3687 |             let dash_bond = &mol.bonds()[dash_idx];
[INFO] [stdout]      |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dash_bond`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mol`
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/stereo.rs:3701:22
[INFO] [stdout]      |
[INFO] [stdout] 3701 | fn is_opposite_bonds(mol: &Molecule, _atom_idx: usize, _bond_a: usize, _bond_b: usize) -> bool {
[INFO] [stdout]      |                      ^^^ help: if this is intentional, prefix it with an underscore: `_mol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/cosmolkit-core/src/io/bio.rs:3654:9
[INFO] [stdout]      |
[INFO] [stdout] 3654 |     let mut name = name.trim_start().to_string();
[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]     --> crates/cosmolkit-core/src/io/molblock.rs:1244:9
[INFO] [stdout]      |
[INFO] [stdout] 1244 |     let mut line = format!("  {:>8}{:>10}", "COSMolKit", "");
[INFO] [stdout]      |         ----^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_stereo`
[INFO] [stdout]     --> crates/cosmolkit-core/src/io/molblock.rs:1619:5
[INFO] [stdout]      |
[INFO] [stdout] 1619 |     include_stereo: bool,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_stereo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_stereo`
[INFO] [stdout]     --> crates/cosmolkit-core/src/io/molblock.rs:1839:5
[INFO] [stdout]      |
[INFO] [stdout] 1839 |     include_stereo: bool,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_stereo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/cosmolkit-core/src/io/pdb_molecule.rs:923:5
[INFO] [stdout]     |
[INFO] [stdout] 923 |     mut rescode: u32,
[INFO] [stdout]     |     ----^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `valence`
[INFO] [stdout]    --> crates/cosmolkit-core/src/operations/ops/sanitize_pipeline.rs:208:9
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let valence = sanitize_properties_stage(
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_valence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/avalon_fingerprint.rs:701:13
[INFO] [stdout]     |
[INFO] [stdout] 701 |         let c = builder.add_atom(AtomSpec::new(Element::C));
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tl`
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/draw.rs:615:18
[INFO] [stdout]     |
[INFO] [stdout] 615 |             let (tl, tr, br, bl) = shifted.calc_corners(0.0);
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_tl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `br`
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/draw.rs:615:26
[INFO] [stdout]     |
[INFO] [stdout] 615 |             let (tl, tr, br, bl) = shifted.calc_corners(0.0);
[INFO] [stdout]     |                          ^^ help: if this is intentional, prefix it with an underscore: `_br`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `orient` is never read
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:2481:26
[INFO] [stdout]      |
[INFO] [stdout] 2481 |           let mut orient = OrientType::C;
[INFO] [stdout]      |                            ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2494 | /                 orient = if nbr_sum.y > 0.0 {
[INFO] [stdout] 2495 | |                     OrientType::S
[INFO] [stdout] 2496 | |                 } else {
[INFO] [stdout] 2497 | |                     OrientType::N
[INFO] [stdout] 2498 | |                 };
[INFO] [stdout]      | |_________________- `orient` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:2931:23
[INFO] [stdout]      |
[INFO] [stdout] 2931 |         let (mut l2s, mut l2f) = if mol
[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]     --> crates/cosmolkit-core/src/properties/draw.rs:3245:21
[INFO] [stdout]      |
[INFO] [stdout] 3245 |                 let mut l2s = self.double_bond_end(
[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]     --> crates/cosmolkit-core/src/properties/draw.rs:3538:17
[INFO] [stdout]      |
[INFO] [stdout] 3538 |             let mut points = points;
[INFO] [stdout]      |                 ----^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:4445:17
[INFO] [stdout]      |
[INFO] [stdout] 4445 |             let idx = bond.id().index();
[INFO] [stdout]      |                 ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:4765:17
[INFO] [stdout]      |
[INFO] [stdout] 4765 |             let idx = bond.id().index();
[INFO] [stdout]      |                 ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:5676:13
[INFO] [stdout]      |
[INFO] [stdout] 5676 |         let mut at1_cds = self.at_cds[b];
[INFO] [stdout]      |             ----^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mol`
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:5670:9
[INFO] [stdout]      |
[INFO] [stdout] 5670 |         mol: &Molecule,
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_mol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/fingerprint.rs:619:27
[INFO] [stdout]     |
[INFO] [stdout] 619 | fn validate_morgan_params(params: &MorganFingerprintParams) -> Result<(), FingerprintError> {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_bonds`
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/fingerprint.rs:1037:9
[INFO] [stdout]      |
[INFO] [stdout] 1037 |     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: `count_element`
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/fingerprint.rs:1053:9
[INFO] [stdout]      |
[INFO] [stdout] 1053 |     let count_element =
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_count_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `has_neighbor_z`
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/fingerprint.rs:1082:9
[INFO] [stdout]      |
[INFO] [stdout] 1082 |     let has_neighbor_z = |atom_idx: usize, target_z: u8| -> bool {
[INFO] [stdout]      |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_neighbor_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `find_atom`
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/fingerprint.rs:1090:9
[INFO] [stdout]      |
[INFO] [stdout] 1090 |     let find_atom = |pred: fn(&[u8], &[i8], usize) -> bool| -> Option<usize> {
[INFO] [stdout]      |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_find_atom`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/mol_hash.rs:261:9
[INFO] [stdout]     |
[INFO] [stdout] 261 |     let n = mol.num_atoms();
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mol`
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/mol_hash.rs:411:5
[INFO] [stdout]     |
[INFO] [stdout] 411 |     mol: &Molecule,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_mol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `atom_queries`
[INFO] [stdout]    --> crates/cosmolkit-core/src/search/query.rs:981:9
[INFO] [stdout]     |
[INFO] [stdout] 981 |         atom_queries: &mut Vec<QueryNode<AtomQueryPredicate>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_atom_queries`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mol`
[INFO] [stdout]     --> crates/cosmolkit-core/src/search/query.rs:1115:42
[INFO] [stdout]      |
[INFO] [stdout] 1115 | fn count_ring_bonds(adj: &AdjacencyList, mol: &Molecule, ri: &RingInfo, aidx: usize) -> u8 {
[INFO] [stdout]      |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_mol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/cosmolkit-core/src/search/query.rs:1253:13
[INFO] [stdout]      |
[INFO] [stdout] 1253 |         let mut mol = Molecule::new();
[INFO] [stdout]      |             ----^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mol`
[INFO] [stdout]     --> crates/cosmolkit-core/src/search/query.rs:1253:13
[INFO] [stdout]      |
[INFO] [stdout] 1253 |         let mut mol = Molecule::new();
[INFO] [stdout]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `builder`
[INFO] [stdout]     --> crates/cosmolkit-core/src/search/query.rs:1254:13
[INFO] [stdout]      |
[INFO] [stdout] 1254 |         let builder = Molecule::builder();
[INFO] [stdout]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_builder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/cosmolkit-core/src/search/smarts_parse.rs:983:17
[INFO] [stdout]     |
[INFO] [stdout] 983 |             let mut end = i + 1;
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SmilesControllingBondResult` is more private than the item `controlling_bond_from_atom_for_smiles`
[INFO] [stdout]    --> crates/cosmolkit-core/src/notation/smiles/stereo.rs:704:1
[INFO] [stdout]     |
[INFO] [stdout] 704 | / pub(super) fn controlling_bond_from_atom_for_smiles(
[INFO] [stdout] 705 | |     mol: &Molecule,
[INFO] [stdout] 706 | |     adjacency: &AdjacencyList,
[INFO] [stdout] 707 | |     needs_dir: &[bool],
[INFO] [stdout] ...   |
[INFO] [stdout] 710 | |     atom: AtomId,
[INFO] [stdout] 711 | | ) -> SmilesControllingBondResult {
[INFO] [stdout]     | |________________________________^ function `controlling_bond_from_atom_for_smiles` is reachable at visibility `pub(in crate::notation::smiles)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `SmilesControllingBondResult` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> crates/cosmolkit-core/src/notation/smiles/stereo.rs:609:1
[INFO] [stdout]     |
[INFO] [stdout] 609 | struct SmilesControllingBondResult {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_fused_ring_atom_order` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:1606:8
[INFO] [stdout]      |
[INFO] [stdout] 1520 | impl RdkitEmbeddedFrag {
[INFO] [stdout]      | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1606 |     fn from_fused_ring_atom_order(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_depiction_matching_2d_structure_with_ref_match_force_rdkit` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6310:15
[INFO] [stdout]      |
[INFO] [stdout] 6310 | pub(crate) fn generate_depiction_matching_2d_structure_with_ref_match_force_rdkit(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_depiction_matching_2d_structure_simple` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6580:15
[INFO] [stdout]      |
[INFO] [stdout] 6580 | pub(crate) fn generate_depiction_matching_2d_structure_simple(
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `strict_rdkit_subset_coords` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6707:4
[INFO] [stdout]      |
[INFO] [stdout] 6707 | fn strict_rdkit_subset_coords(atoms: &[Atom], bonds: &[Bond]) -> Option<Vec<[f64; 2]>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_collisions_bond_flip_like` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6745:4
[INFO] [stdout]      |
[INFO] [stdout] 6745 | fn remove_collisions_bond_flip_like(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_collisions_open_angles_like` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6781:4
[INFO] [stdout]      |
[INFO] [stdout] 6781 | fn remove_collisions_open_angles_like(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_collisions_shorten_bonds_like` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6817:4
[INFO] [stdout]      |
[INFO] [stdout] 6817 | fn remove_collisions_shorten_bonds_like(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `place_acyclic_tree` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:6855:4
[INFO] [stdout]      |
[INFO] [stdout] 6855 | fn place_acyclic_tree(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `place_multiring_nonfused_component` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:7342:4
[INFO] [stdout]      |
[INFO] [stdout] 7342 | fn place_multiring_nonfused_component(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_2d_coords_default_path` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/coordinates.rs:9392:4
[INFO] [stdout]      |
[INFO] [stdout] 9392 | fn compute_2d_coords_default_path(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `common_middle_atom` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/distgeom.rs:953:4
[INFO] [stdout]     |
[INFO] [stdout] 953 | fn common_middle_atom(mol: &Molecule, a1: usize, a3: usize) -> Option<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `atom_ring_sizes` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:1370:4
[INFO] [stdout]      |
[INFO] [stdout] 1370 | fn atom_ring_sizes(ring_info: &crate::RingInfo, atom_idx: usize) -> Vec<usize> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_atom_in_ring_of_size` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:1381:4
[INFO] [stdout]      |
[INFO] [stdout] 1381 | fn is_atom_in_ring_of_size(ring_info: &crate::RingInfo, atom_idx: usize, size: usize) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bond_between_idx` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:1687:4
[INFO] [stdout]      |
[INFO] [stdout] 1687 | fn bond_between_idx(bond_idx: usize) -> Option<usize> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bond_lengths_from_accum` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/distgeom.rs:4168:4
[INFO] [stdout]      |
[INFO] [stdout] 4168 | fn bond_lengths_from_accum(accum_data: &ComputedData, bid: usize) -> f64 {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fused_ring_systems_stack_order_for_tests` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/kekulize.rs:1882:4
[INFO] [stdout]      |
[INFO] [stdout] 1882 | fn fused_ring_systems_stack_order_for_tests(rings: &[KekulizeRing]) -> Vec<Vec<usize>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kekulize_assignment_handles_pyrrolic_five_membered_ring_like_rdkit` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/chemistry/kekulize.rs:3391:8
[INFO] [stdout]      |
[INFO] [stdout] 3391 |     fn kekulize_assignment_handles_pyrrolic_five_membered_ring_like_rdkit() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add3` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/mol_transforms.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn add3(a: &[f64; 3], b: &[f64; 3]) -> [f64; 3] {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scale3` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/mol_transforms.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn scale3(v: &[f64; 3], s: f64) -> [f64; 3] {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_bond_length` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/mol_transforms.rs:305:4
[INFO] [stdout]     |
[INFO] [stdout] 305 | fn set_bond_length(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_neg` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/stereo.rs:989:4
[INFO] [stdout]     |
[INFO] [stdout] 989 | fn vec_neg(v: (f64, f64, f64)) -> (f64, f64, f64) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec_len` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/stereo.rs:999:4
[INFO] [stdout]     |
[INFO] [stdout] 999 | fn vec_len(v: (f64, f64, f64)) -> f64 {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `begin` and `end` are never read
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/stereo_enumerate.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 143 | struct StereoBond {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 144 |     bond: BondId,
[INFO] [stdout] 145 |     begin: AtomId,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 146 |     end: AtomId,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StereoBond` 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 `assign_explicit_valence_for_atom_from_parts` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/valence.rs:389:15
[INFO] [stdout]     |
[INFO] [stdout] 389 | pub(crate) fn assign_explicit_valence_for_atom_from_parts(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_last_atom_source_traits` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/io/bio.rs:442:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl PdbBioBuilder {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 442 |     fn set_last_atom_source_traits(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOLFILE_ATOMIC_WEIGHT` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/io/molblock.rs:1251:7
[INFO] [stdout]      |
[INFO] [stdout] 1251 | const MOLFILE_ATOMIC_WEIGHT: [i32; 119] = [
[INFO] [stdout]      |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `can_be_stereo_bond_for_writer` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/io/molblock.rs:1536:4
[INFO] [stdout]      |
[INFO] [stdout] 1536 | fn can_be_stereo_bond_for_writer(molecule: &Molecule, bond: &Bond) -> Result<bool, MolWriteError> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `query_mut` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/model/atom.rs:673:19
[INFO] [stdout]     |
[INFO] [stdout] 415 | impl AtomSpec {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 673 |     pub(crate) fn query_mut(&mut self) -> Option<&mut QueryNode<AtomQueryPredicate>> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_id` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/model/molecule.rs:159:19
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl Conformer3D {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub(crate) fn with_id(mut self, id: usize) -> Self {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_molecule_read` is never used
[INFO] [stdout]   --> crates/cosmolkit-core/src/model/read_parts.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<'a> MoleculeReadParts<'a> {
[INFO] [stdout]    | ------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn with_molecule_read<R>(self, f: impl FnOnce(&Molecule) -> R) -> R {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `double_bond_seen` is never read
[INFO] [stdout]    --> crates/cosmolkit-core/src/notation/smiles/stereo.rs:613:5
[INFO] [stdout]     |
[INFO] [stdout] 609 | struct SmilesControllingBondResult {
[INFO] [stdout]     |        --------------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 613 |     double_bond_seen: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SmilesControllingBondResult` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `writer_cleans_nonstereo_double_bond_direction_specs_like_rdkit` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/notation/smiles_write/tests.rs:1235:4
[INFO] [stdout]      |
[INFO] [stdout] 1235 | fn writer_cleans_nonstereo_double_bond_direction_specs_like_rdkit() {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sanitize_invalid_input_error` is never used
[INFO] [stdout]   --> crates/cosmolkit-core/src/operations/ops/sanitize_pipeline.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn sanitize_invalid_input_error(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_alpha` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/draw.rs:114:14
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl DrawColour {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 114 |     const fn with_alpha(self, a: f64) -> Self {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `query_colour` and `include_radicals` are never read
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/draw.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 121 | struct DrawOptions {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 129 |     query_colour: DrawColour,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     include_radicals: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DrawOptions` 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: field `atomic_num` is never read
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/draw.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 318 | struct AtomLabel {
[INFO] [stdout]     |        --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 321 |     atomic_num: u8,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AtomLabel` 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 `kind_is_simple` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/draw.rs:500:8
[INFO] [stdout]     |
[INFO] [stdout] 499 | impl DrawLine {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 500 |     fn kind_is_simple(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `split_bonds` is never read
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/draw.rs:521:5
[INFO] [stdout]     |
[INFO] [stdout] 514 | struct DrawWedge {
[INFO] [stdout]     |        --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 521 |     split_bonds: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DrawWedge` 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: field `atom2_idx` is never read
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/draw.rs:543:5
[INFO] [stdout]     |
[INFO] [stdout] 536 | struct DrawPolyline {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 543 |     atom2_idx: Option<usize>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DrawPolyline` 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 `cross` is never used
[INFO] [stdout]    --> crates/cosmolkit-core/src/properties/draw.rs:828:4
[INFO] [stdout]     |
[INFO] [stdout] 828 | fn cross(a: DVec2, b: DVec2) -> f64 {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_wavy_line_segments` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:1011:4
[INFO] [stdout]      |
[INFO] [stdout] 1011 | fn get_wavy_line_segments(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pick_bonds_to_wedge`, `determine_bond_wedge_state`, and `line_endpoint_idx` are never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:2681:8
[INFO] [stdout]      |
[INFO] [stdout] 2123 | impl DrawMol {
[INFO] [stdout]      | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2681 |     fn pick_bonds_to_wedge(&self, mol: &Molecule) -> HashSet<usize> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2714 |     fn determine_bond_wedge_state(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 6364 |     fn line_endpoint_idx(&self, line: &DrawLine, atom_idx: usize) -> Option<usize> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_text_drawer` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:6767:4
[INFO] [stdout]      |
[INFO] [stdout] 6767 | fn init_text_drawer(out: &mut String) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_molecule_metadata` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:6775:4
[INFO] [stdout]      |
[INFO] [stdout] 6775 | fn add_molecule_metadata(out: &mut String, mol: &Molecule, width: u32, height: u32) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tag_atoms` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:6786:4
[INFO] [stdout]      |
[INFO] [stdout] 6786 | fn tag_atoms(out: &mut String, atom_labels: &[Option<AtomLabel>]) {
[INFO] [stdout]      |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `output_classes` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:6797:4
[INFO] [stdout]      |
[INFO] [stdout] 6797 | fn output_classes(out: &mut String, class_name: &str) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_wavy_line_svg` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:6889:4
[INFO] [stdout]      |
[INFO] [stdout] 6889 | fn draw_wavy_line_svg(out: &mut String, begin: DVec2, end: DVec2, col: DrawColour, width: f64) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_ellipse_svg` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/properties/draw.rs:6930:4
[INFO] [stdout]      |
[INFO] [stdout] 6930 | fn draw_ellipse_svg(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `OpenBracket` and `CloseBracket` are never constructed
[INFO] [stdout]    --> crates/cosmolkit-core/src/search/smarts_parse.rs:314:5
[INFO] [stdout]     |
[INFO] [stdout] 300 | enum Token {
[INFO] [stdout]     |      ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 314 |     OpenBracket,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 315 |     /// Close square bracket
[INFO] [stdout] 316 |     CloseBracket,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Token` 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: field `input` is never read
[INFO] [stdout]    --> crates/cosmolkit-core/src/search/smarts_parse.rs:528:5
[INFO] [stdout]     |
[INFO] [stdout] 526 | struct SmartsParser<'a> {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] 527 |     tokens: &'a [(Token, usize)],
[INFO] [stdout] 528 |     input: &'a str,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vf2_match` is never used
[INFO] [stdout]     --> crates/cosmolkit-core/src/search/substruct.rs:1089:4
[INFO] [stdout]      |
[INFO] [stdout] 1089 | fn vf2_match(
[INFO] [stdout]      |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/atropisomer.rs:943:9
[INFO] [stdout]     |
[INFO] [stdout] 943 |         builder.add_bond(BondSpec::new(c1, c2, BondOrder::Aromatic));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 943 |         let _ = builder.add_bond(BondSpec::new(c1, c2, BondOrder::Aromatic));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/atropisomer.rs:944:9
[INFO] [stdout]     |
[INFO] [stdout] 944 |         builder.add_bond(BondSpec::new(c2, c3, BondOrder::Aromatic));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 944 |         let _ = builder.add_bond(BondSpec::new(c2, c3, BondOrder::Aromatic));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/atropisomer.rs:945:9
[INFO] [stdout]     |
[INFO] [stdout] 945 |         builder.add_bond(BondSpec::new(c3, c4, BondOrder::Aromatic));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 945 |         let _ = builder.add_bond(BondSpec::new(c3, c4, BondOrder::Aromatic));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/atropisomer.rs:946:9
[INFO] [stdout]     |
[INFO] [stdout] 946 |         builder.add_bond(BondSpec::new(c4, c5, BondOrder::Aromatic));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 946 |         let _ = builder.add_bond(BondSpec::new(c4, c5, BondOrder::Aromatic));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/atropisomer.rs:947:9
[INFO] [stdout]     |
[INFO] [stdout] 947 |         builder.add_bond(BondSpec::new(c5, c6, BondOrder::Aromatic));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 947 |         let _ = builder.add_bond(BondSpec::new(c5, c6, BondOrder::Aromatic));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/atropisomer.rs:948:9
[INFO] [stdout]     |
[INFO] [stdout] 948 |         builder.add_bond(BondSpec::new(c6, c1, BondOrder::Aromatic));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 948 |         let _ = builder.add_bond(BondSpec::new(c6, c1, BondOrder::Aromatic));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/atropisomer.rs:951:9
[INFO] [stdout]     |
[INFO] [stdout] 951 |         builder.add_bond(BondSpec::new(c7, c8, BondOrder::Aromatic));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 951 |         let _ = builder.add_bond(BondSpec::new(c7, c8, BondOrder::Aromatic));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/atropisomer.rs:952:9
[INFO] [stdout]     |
[INFO] [stdout] 952 |         builder.add_bond(BondSpec::new(c8, c9, BondOrder::Aromatic));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 952 |         let _ = builder.add_bond(BondSpec::new(c8, c9, BondOrder::Aromatic));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/atropisomer.rs:953:9
[INFO] [stdout]     |
[INFO] [stdout] 953 |         builder.add_bond(BondSpec::new(c9, c10, BondOrder::Aromatic));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 953 |         let _ = builder.add_bond(BondSpec::new(c9, c10, BondOrder::Aromatic));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/atropisomer.rs:954:9
[INFO] [stdout]     |
[INFO] [stdout] 954 |         builder.add_bond(BondSpec::new(c10, c11, BondOrder::Aromatic));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 954 |         let _ = builder.add_bond(BondSpec::new(c10, c11, BondOrder::Aromatic));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/atropisomer.rs:955:9
[INFO] [stdout]     |
[INFO] [stdout] 955 |         builder.add_bond(BondSpec::new(c11, c12, BondOrder::Aromatic));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 955 |         let _ = builder.add_bond(BondSpec::new(c11, c12, BondOrder::Aromatic));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/atropisomer.rs:956:9
[INFO] [stdout]     |
[INFO] [stdout] 956 |         builder.add_bond(BondSpec::new(c12, c7, BondOrder::Aromatic));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 956 |         let _ = builder.add_bond(BondSpec::new(c12, c7, BondOrder::Aromatic));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/cosmolkit-core/src/chemistry/atropisomer.rs:959:9
[INFO] [stdout]     |
[INFO] [stdout] 959 |         builder.add_bond(BondSpec::new(c1, c7, BondOrder::Single));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 959 |         let _ = builder.add_bond(BondSpec::new(c1, c7, BondOrder::Single));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `AtomId_usize` should have a snake case name
[INFO] [stdout]    --> crates/cosmolkit-core/src/notation/fragment.rs:297:4
[INFO] [stdout]     |
[INFO] [stdout] 297 | fn AtomId_usize(index: usize) -> crate::AtomId {
[INFO] [stdout]     |    ^^^^^^^^^^^^ help: convert the identifier to snake case: `atom_id_usize`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 00s
[INFO] running `Command { std: "docker" "inspect" "f4faf19dd56d65730cfa90d29ec831208f1264fb57116dad4483f4c71008b2f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f4faf19dd56d65730cfa90d29ec831208f1264fb57116dad4483f4c71008b2f3", kill_on_drop: false }`
[INFO] [stdout] f4faf19dd56d65730cfa90d29ec831208f1264fb57116dad4483f4c71008b2f3
