[INFO] cloning repository https://github.com/juangriffin121/entropy_playground
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/juangriffin121/entropy_playground" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjuangriffin121%2Fentropy_playground", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjuangriffin121%2Fentropy_playground'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f7634f9f3629b31fce9b8026ac76785b713de205
[INFO] checking juangriffin121/entropy_playground against master#fce0e74720d199eb7839fdb51af35ac5226da178 for pr-145262
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjuangriffin121%2Fentropy_playground" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/juangriffin121/entropy_playground
[INFO] finished tweaking git repo https://github.com/juangriffin121/entropy_playground
[INFO] tweaked toml for git repo https://github.com/juangriffin121/entropy_playground written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/juangriffin121/entropy_playground on toolchain fce0e74720d199eb7839fdb51af35ac5226da178
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+fce0e74720d199eb7839fdb51af35ac5226da178" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/juangriffin121/entropy_playground 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" "+fce0e74720d199eb7839fdb51af35ac5226da178" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/unicodingunicorn/svg-path-parser`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded petgraph v0.7.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+fce0e74720d199eb7839fdb51af35ac5226da178" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ae9c455030fc28b9c1aa9b505d426e754c8d2c9e485fe9be6ca50b3c29b19559
[INFO] running `Command { std: "docker" "start" "-a" "ae9c455030fc28b9c1aa9b505d426e754c8d2c9e485fe9be6ca50b3c29b19559", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ae9c455030fc28b9c1aa9b505d426e754c8d2c9e485fe9be6ca50b3c29b19559", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ae9c455030fc28b9c1aa9b505d426e754c8d2c9e485fe9be6ca50b3c29b19559", kill_on_drop: false }`
[INFO] [stdout] ae9c455030fc28b9c1aa9b505d426e754c8d2c9e485fe9be6ca50b3c29b19559
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+fce0e74720d199eb7839fdb51af35ac5226da178" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 002a465fdc837bf41d039df7a4a826ab00cf3755f1a3f5a4af130b40d105af25
[INFO] running `Command { std: "docker" "start" "-a" "002a465fdc837bf41d039df7a4a826ab00cf3755f1a3f5a4af130b40d105af25", kill_on_drop: false }`
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling libm v0.2.11
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling semver v1.0.24
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]     Checking adler2 v2.0.0
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]     Checking miniz_oxide v0.8.2
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling cc v1.2.5
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]     Checking bytemuck v1.21.0
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling yeslogic-fontconfig-sys v6.0.0
[INFO] [stderr]    Compiling pathfinder_simd v0.5.4
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking flate2 v1.0.35
[INFO] [stderr]     Checking core_maths v0.1.0
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]     Checking libloading v0.8.6
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]    Compiling syn v2.0.91
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]     Checking ttf-parser v0.24.1
[INFO] [stderr]     Checking roxmltree v0.20.0
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]     Checking float-cmp v0.9.0
[INFO] [stderr]    Compiling font-kit v0.14.2
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]    Compiling serde v1.0.216
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]    Compiling freetype-sys v0.20.1
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]     Checking tinyvec v1.8.1
[INFO] [stderr]     Checking gif v0.12.0
[INFO] [stderr]     Checking kurbo v0.11.1
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking pathfinder_geometry v0.5.1
[INFO] [stderr]     Checking strict-num v0.1.1
[INFO] [stderr]     Checking fontconfig-parser v0.5.7
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking memmap2 v0.9.5
[INFO] [stderr]     Checking unicode-script v0.5.7
[INFO] [stderr]     Checking iana-time-zone v0.1.61
[INFO] [stderr]     Checking arrayref v0.3.9
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling serde_json v1.0.134
[INFO] [stderr]     Checking unicode-bidi-mirroring v0.3.0
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]     Checking float-ord v0.3.2
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking unicode-properties v0.1.3
[INFO] [stderr]     Checking siphasher v1.0.1
[INFO] [stderr]     Checking unicode-ccc v0.3.0
[INFO] [stderr]     Checking svgtypes v0.15.2
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking indexmap v2.5.0
[INFO] [stderr]     Checking chrono v0.4.39
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking simplecss v0.2.1
[INFO] [stderr]     Checking fixedbitset v0.5.7
[INFO] [stderr]     Checking unicode-vo v0.1.0
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking itoa v1.0.14
[INFO] [stderr]     Checking ttf-parser v0.20.0
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking fontdb v0.22.0
[INFO] [stderr]     Checking plotters-bitmap v0.3.7
[INFO] [stderr]     Checking rustybuzz v0.18.0
[INFO] [stderr]     Checking unicode-bidi v0.3.18
[INFO] [stderr]     Checking data-url v0.3.1
[INFO] [stderr]     Checking xmlwriter v0.1.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling serde_derive v1.0.216
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking pico-args v0.5.0
[INFO] [stderr]     Checking imagesize v0.13.0
[INFO] [stderr]     Checking petgraph v0.7.0
[INFO] [stderr]     Checking svg-path-parser v0.1.2 (https://github.com/unicodingunicorn/svg-path-parser#3f70ea82)
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking usvg v0.44.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking entropy_playground v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::molecule::Molecule`
[INFO] [stdout]  --> src/bases/atom.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::molecule::Molecule;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlueprintAtomIndex` and `Recipient`
[INFO] [stdout]  --> src/bases/atom.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::recipient::{BlueprintAtomIndex, MoleculeAtomIndex, MoleculeId, Recipient, WorldAtomId};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^^                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/bases/initialization.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 |     Right((S)),
[INFO] [stdout]    |           ^ ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 70 -     Right((S)),
[INFO] [stdout] 70 +     Right(S),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/bases/initialization.rs:291:5
[INFO] [stdout]     |
[INFO] [stdout] 291 |     (idx_map
[INFO] [stdout]     |     ^
[INFO] [stdout] ...
[INFO] [stdout] 294 |         .collect::<HashMap<BlueprintAtomIndex, BlueprintAtomIndex>>())
[INFO] [stdout]     |                                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 291 ~     idx_map
[INFO] [stdout] 292 |         .iter()
[INFO] [stdout] 293 |         .map(|(&i, &j)| (j, i))
[INFO] [stdout] 294 ~         .collect::<HashMap<BlueprintAtomIndex, BlueprintAtomIndex>>()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlueprintAtomIndex`, `ParticleBlueprint`, and `SingleOrPair`
[INFO] [stdout]  --> src/bases/physics.rs:3:30
[INFO] [stdout]   |
[INFO] [stdout] 3 |     initialization::{Either, SingleOrPair},
[INFO] [stdout]   |                              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 6 |         check_forming_reactions, FormingReactionBlueprint, FormingReactionKey, ParticleBlueprint,
[INFO] [stdout]   |                                                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     },
[INFO] [stdout] 8 |     recipient::{BlueprintAtomIndex, MoleculeId, Recipient, WorldAtomId},
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GREEN`
[INFO] [stdout]  --> src/bases/plot.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use full_palette::{BLACK, BLUE, GREEN, RED};
[INFO] [stdout]   |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/bases/plot.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `atom::Atom` and `molecule::Molecule`
[INFO] [stdout]  --> src/bases/plot.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{atom::Atom, molecule::Molecule, recipient::Recipient}; // Plotting library
[INFO] [stdout]   |             ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Element`, `Recipient`, and `self`
[INFO] [stdout]  --> src/bases/reaction.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 |     atom::{Atom, Element},
[INFO] [stdout]   |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5 |     molecule::{self, Molecule, MoleculeBlueprint},
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] 6 |     recipient::{BlueprintAtomIndex, MoleculeAtomIndex, MoleculeId, Recipient, WorldAtomId},
[INFO] [stdout]   |                                                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `process::id`
[INFO] [stdout]  --> src/bases/reaction.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{collections::HashMap, process::id};
[INFO] [stdout]   |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/bases/reaction.rs:44:10
[INFO] [stdout]    |
[INFO] [stdout] 44 |     Pair(((ReactionParticipant, ReactionParticipant))),
[INFO] [stdout]    |          ^                                          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 44 -     Pair(((ReactionParticipant, ReactionParticipant))),
[INFO] [stdout] 44 +     Pair((ReactionParticipant, ReactionParticipant)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/bases/reaction.rs:120:10
[INFO] [stdout]     |
[INFO] [stdout] 120 |     Pair(((ReactionParticipantKey, ReactionParticipantKey))),
[INFO] [stdout]     |          ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 120 -     Pair(((ReactionParticipantKey, ReactionParticipantKey))),
[INFO] [stdout] 120 +     Pair((ReactionParticipantKey, ReactionParticipantKey)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/bases/reaction.rs:422:5
[INFO] [stdout]     |
[INFO] [stdout] 422 |     /// Need to check molecule is valid with its blueprint
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 423 |     let possible_reactions = breaking_reactions.as_ref()?;
[INFO] [stdout]     |     ------------------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/bases/reaction.rs:445:5
[INFO] [stdout]     |
[INFO] [stdout] 445 |       /// HORRIBLE CLONE AND DEREF ILL CHANGE THIS AT SOME POINT
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 446 | /     let reaction = possible_reactions.get(&(
[INFO] [stdout] 447 | |         blueprint.clone(),
[INFO] [stdout] 448 | |         (
[INFO] [stdout] 449 | |             BlueprintAtomIndex(atom1_id_in_mol.0),
[INFO] [stdout] 450 | |             BlueprintAtomIndex(atom2_id_in_mol.0),
[INFO] [stdout] 451 | |         ),
[INFO] [stdout] 452 | |     ));
[INFO] [stdout]     | |_______- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/bases/reaction.rs:757:5
[INFO] [stdout]     |
[INFO] [stdout] 757 |       /// CHECK BONDS ARE THE SAME TOO
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 758 | /     molecule
[INFO] [stdout] 759 | |         .atoms
[INFO] [stdout] 760 | |         .iter()
[INFO] [stdout] 761 | |         .zip(&blueprint.atoms)
[INFO] [stdout] 762 | |         .all(|(atom_id, atom_nature)| atoms[atom_id.0].chemical_nature == *atom_nature)
[INFO] [stdout]     | |_______________________________________________________________________________________- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GridJSON`, `initialization::SingleOrPair`, and `order_bond`
[INFO] [stdout]  --> src/bases/recipient.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |     bond::{order_bond, Bond, BondForce, BondProperties},
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 4 |     checks::JSONChecker,
[INFO] [stdout] 5 |     initialization::SingleOrPair,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 8 |     physics::{Force, Gravity, Grid, GridJSON},
[INFO] [stdout]   |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ops::AddAssign`
[INFO] [stdout]   --> src/bases/recipient.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     ops::AddAssign,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::molecule::Molecule`
[INFO] [stdout]  --> src/bases/atom.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::molecule::Molecule;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlueprintAtomIndex` and `Recipient`
[INFO] [stdout]  --> src/bases/atom.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::recipient::{BlueprintAtomIndex, MoleculeAtomIndex, MoleculeId, Recipient, WorldAtomId};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^^                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/bases/initialization.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 |     Right((S)),
[INFO] [stdout]    |           ^ ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 70 -     Right((S)),
[INFO] [stdout] 70 +     Right(S),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/bases/initialization.rs:291:5
[INFO] [stdout]     |
[INFO] [stdout] 291 |     (idx_map
[INFO] [stdout]     |     ^
[INFO] [stdout] ...
[INFO] [stdout] 294 |         .collect::<HashMap<BlueprintAtomIndex, BlueprintAtomIndex>>())
[INFO] [stdout]     |                                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 291 ~     idx_map
[INFO] [stdout] 292 |         .iter()
[INFO] [stdout] 293 |         .map(|(&i, &j)| (j, i))
[INFO] [stdout] 294 ~         .collect::<HashMap<BlueprintAtomIndex, BlueprintAtomIndex>>()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlueprintAtomIndex`, `ParticleBlueprint`, and `SingleOrPair`
[INFO] [stdout]  --> src/bases/physics.rs:3:30
[INFO] [stdout]   |
[INFO] [stdout] 3 |     initialization::{Either, SingleOrPair},
[INFO] [stdout]   |                              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 6 |         check_forming_reactions, FormingReactionBlueprint, FormingReactionKey, ParticleBlueprint,
[INFO] [stdout]   |                                                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     },
[INFO] [stdout] 8 |     recipient::{BlueprintAtomIndex, MoleculeId, Recipient, WorldAtomId},
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GREEN`
[INFO] [stdout]  --> src/bases/plot.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use full_palette::{BLACK, BLUE, GREEN, RED};
[INFO] [stdout]   |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/bases/plot.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `atom::Atom` and `molecule::Molecule`
[INFO] [stdout]  --> src/bases/plot.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{atom::Atom, molecule::Molecule, recipient::Recipient}; // Plotting library
[INFO] [stdout]   |             ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Element`, `Recipient`, and `self`
[INFO] [stdout]  --> src/bases/reaction.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 |     atom::{Atom, Element},
[INFO] [stdout]   |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5 |     molecule::{self, Molecule, MoleculeBlueprint},
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] 6 |     recipient::{BlueprintAtomIndex, MoleculeAtomIndex, MoleculeId, Recipient, WorldAtomId},
[INFO] [stdout]   |                                                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `process::id`
[INFO] [stdout]  --> src/bases/reaction.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{collections::HashMap, process::id};
[INFO] [stdout]   |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/bases/reaction.rs:44:10
[INFO] [stdout]    |
[INFO] [stdout] 44 |     Pair(((ReactionParticipant, ReactionParticipant))),
[INFO] [stdout]    |          ^                                          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 44 -     Pair(((ReactionParticipant, ReactionParticipant))),
[INFO] [stdout] 44 +     Pair((ReactionParticipant, ReactionParticipant)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/bases/reaction.rs:120:10
[INFO] [stdout]     |
[INFO] [stdout] 120 |     Pair(((ReactionParticipantKey, ReactionParticipantKey))),
[INFO] [stdout]     |          ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 120 -     Pair(((ReactionParticipantKey, ReactionParticipantKey))),
[INFO] [stdout] 120 +     Pair((ReactionParticipantKey, ReactionParticipantKey)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/bases/reaction.rs:422:5
[INFO] [stdout]     |
[INFO] [stdout] 422 |     /// Need to check molecule is valid with its blueprint
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 423 |     let possible_reactions = breaking_reactions.as_ref()?;
[INFO] [stdout]     |     ------------------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/bases/reaction.rs:445:5
[INFO] [stdout]     |
[INFO] [stdout] 445 |       /// HORRIBLE CLONE AND DEREF ILL CHANGE THIS AT SOME POINT
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 446 | /     let reaction = possible_reactions.get(&(
[INFO] [stdout] 447 | |         blueprint.clone(),
[INFO] [stdout] 448 | |         (
[INFO] [stdout] 449 | |             BlueprintAtomIndex(atom1_id_in_mol.0),
[INFO] [stdout] 450 | |             BlueprintAtomIndex(atom2_id_in_mol.0),
[INFO] [stdout] 451 | |         ),
[INFO] [stdout] 452 | |     ));
[INFO] [stdout]     | |_______- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/bases/reaction.rs:757:5
[INFO] [stdout]     |
[INFO] [stdout] 757 |       /// CHECK BONDS ARE THE SAME TOO
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 758 | /     molecule
[INFO] [stdout] 759 | |         .atoms
[INFO] [stdout] 760 | |         .iter()
[INFO] [stdout] 761 | |         .zip(&blueprint.atoms)
[INFO] [stdout] 762 | |         .all(|(atom_id, atom_nature)| atoms[atom_id.0].chemical_nature == *atom_nature)
[INFO] [stdout]     | |_______________________________________________________________________________________- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GridJSON`, `initialization::SingleOrPair`, and `order_bond`
[INFO] [stdout]  --> src/bases/recipient.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |     bond::{order_bond, Bond, BondForce, BondProperties},
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 4 |     checks::JSONChecker,
[INFO] [stdout] 5 |     initialization::SingleOrPair,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 8 |     physics::{Force, Gravity, Grid, GridJSON},
[INFO] [stdout]   |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ops::AddAssign`
[INFO] [stdout]   --> src/bases/recipient.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     ops::AddAssign,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]   --> src/bases/checks.rs:64:18
[INFO] [stdout]    |
[INFO] [stdout] 64 |             for (idx, &(atom1_idx, atom2_idx)) in molecule.bonds.iter().enumerate() {
[INFO] [stdout]    |                  ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/bases/initialization.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 59 |                     _ => unreachable!("found more than two fragments {:?}", fragments),
[INFO] [stdout]    |                     ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/bases/initialization.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 48 |                     SingleOrPair::One(new_particle) => {
[INFO] [stdout]    |                     ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 51 |                     SingleOrPair::Two((particle1, particle2)) => {
[INFO] [stdout]    |                     ----------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 59 |                     _ => unreachable!("found more than two fragments {:?}", fragments),
[INFO] [stdout]    |                     ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bond_idx`
[INFO] [stdout]   --> src/bases/initialization.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |             for (bond_idx, bond) in molecule.bonds.iter().enumerate() {
[INFO] [stdout]    |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bond_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `atom`
[INFO] [stdout]    --> src/bases/physics.rs:410:25
[INFO] [stdout]     |
[INFO] [stdout] 410 |     fn calculate(&self, atom: &Atom, recipient: &Recipient) -> (f32, f32) {
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_atom`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `recipient`
[INFO] [stdout]    --> src/bases/physics.rs:410:38
[INFO] [stdout]     |
[INFO] [stdout] 410 |     fn calculate(&self, atom: &Atom, recipient: &Recipient) -> (f32, f32) {
[INFO] [stdout]     |                                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_recipient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `closed`
[INFO] [stdout]    --> src/bases/plot.rs:105:14
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let (closed, points) = path;
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_closed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `atom2_pos`
[INFO] [stdout]    --> src/bases/reaction.rs:307:21
[INFO] [stdout]     |
[INFO] [stdout] 307 |                 let atom2_pos = atom2
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_atom2_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nature`
[INFO] [stdout]    --> src/bases/reaction.rs:594:52
[INFO] [stdout]     |
[INFO] [stdout] 594 |                     ReactionParticipant::FreeAtom((nature, new_pos)) => {
[INFO] [stdout]     |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_nature`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_pos`
[INFO] [stdout]    --> src/bases/reaction.rs:594:60
[INFO] [stdout]     |
[INFO] [stdout] 594 |                     ReactionParticipant::FreeAtom((nature, new_pos)) => {
[INFO] [stdout]     |                                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nature`
[INFO] [stdout]    --> src/bases/reaction.rs:663:52
[INFO] [stdout]     |
[INFO] [stdout] 663 |                     ReactionParticipant::FreeAtom((nature, new_pos)) => {
[INFO] [stdout]     |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_nature`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_pos`
[INFO] [stdout]    --> src/bases/reaction.rs:663:60
[INFO] [stdout]     |
[INFO] [stdout] 663 |                     ReactionParticipant::FreeAtom((nature, new_pos)) => {
[INFO] [stdout]     |                                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `molecule_name`
[INFO] [stdout]    --> src/bases/recipient.rs:318:10
[INFO] [stdout]     |
[INFO] [stdout] 318 |     for (molecule_name, molecule) in explicit_molecules.as_ref()?.iter() {
[INFO] [stdout]     |          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_molecule_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]  --> src/bases/molecule.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Molecule {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 8 |     pub id: MoleculeId,
[INFO] [stdout]   |         ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Molecule` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `compare_canonical` and `automatic_name` are never used
[INFO] [stdout]   --> src/bases/molecule.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl MoleculeBlueprint {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn compare_canonical(&self, other: &MoleculeBlueprint) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn automatic_name(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GridJSON` is never constructed
[INFO] [stdout]    --> src/bases/physics.rs:329:12
[INFO] [stdout]     |
[INFO] [stdout] 329 | pub struct GridJSON {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_grid_json` is never used
[INFO] [stdout]    --> src/bases/physics.rs:350:12
[INFO] [stdout]     |
[INFO] [stdout] 333 | impl Grid {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub fn from_grid_json(data: GridJSON, recipient_shape: (f32, f32)) -> Grid {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plot_paths` is never used
[INFO] [stdout]   --> src/bases/plot.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn plot_paths(paths: Vec<(bool, Vec<(f64, f64)>)>, output_path: &str) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_atom_molecule_refs` is never used
[INFO] [stdout]    --> src/bases/reaction.rs:788:4
[INFO] [stdout]     |
[INFO] [stdout] 788 | fn update_atom_molecule_refs(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_mi` is never used
[INFO] [stdout]   --> src/bases/recipient.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl BlueprintAtomIndex {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] 36 |     pub fn to_mi(self) -> MoleculeAtomIndex {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `elements_data` is never read
[INFO] [stdout]   --> src/bases/recipient.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Recipient {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub elements_data: HashMap<String, Element>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]   --> src/bases/checks.rs:64:18
[INFO] [stdout]    |
[INFO] [stdout] 64 |             for (idx, &(atom1_idx, atom2_idx)) in molecule.bonds.iter().enumerate() {
[INFO] [stdout]    |                  ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/bases/initialization.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 59 |                     _ => unreachable!("found more than two fragments {:?}", fragments),
[INFO] [stdout]    |                     ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/bases/initialization.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 48 |                     SingleOrPair::One(new_particle) => {
[INFO] [stdout]    |                     ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 51 |                     SingleOrPair::Two((particle1, particle2)) => {
[INFO] [stdout]    |                     ----------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 59 |                     _ => unreachable!("found more than two fragments {:?}", fragments),
[INFO] [stdout]    |                     ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bond_idx`
[INFO] [stdout]   --> src/bases/initialization.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |             for (bond_idx, bond) in molecule.bonds.iter().enumerate() {
[INFO] [stdout]    |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bond_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `atom`
[INFO] [stdout]    --> src/bases/physics.rs:410:25
[INFO] [stdout]     |
[INFO] [stdout] 410 |     fn calculate(&self, atom: &Atom, recipient: &Recipient) -> (f32, f32) {
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_atom`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `recipient`
[INFO] [stdout]    --> src/bases/physics.rs:410:38
[INFO] [stdout]     |
[INFO] [stdout] 410 |     fn calculate(&self, atom: &Atom, recipient: &Recipient) -> (f32, f32) {
[INFO] [stdout]     |                                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_recipient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `closed`
[INFO] [stdout]    --> src/bases/plot.rs:105:14
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let (closed, points) = path;
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_closed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `atom2_pos`
[INFO] [stdout]    --> src/bases/reaction.rs:307:21
[INFO] [stdout]     |
[INFO] [stdout] 307 |                 let atom2_pos = atom2
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_atom2_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nature`
[INFO] [stdout]    --> src/bases/reaction.rs:594:52
[INFO] [stdout]     |
[INFO] [stdout] 594 |                     ReactionParticipant::FreeAtom((nature, new_pos)) => {
[INFO] [stdout]     |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_nature`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_pos`
[INFO] [stdout]    --> src/bases/reaction.rs:594:60
[INFO] [stdout]     |
[INFO] [stdout] 594 |                     ReactionParticipant::FreeAtom((nature, new_pos)) => {
[INFO] [stdout]     |                                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nature`
[INFO] [stdout]    --> src/bases/reaction.rs:663:52
[INFO] [stdout]     |
[INFO] [stdout] 663 |                     ReactionParticipant::FreeAtom((nature, new_pos)) => {
[INFO] [stdout]     |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_nature`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_pos`
[INFO] [stdout]    --> src/bases/reaction.rs:663:60
[INFO] [stdout]     |
[INFO] [stdout] 663 |                     ReactionParticipant::FreeAtom((nature, new_pos)) => {
[INFO] [stdout]     |                                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `molecule_name`
[INFO] [stdout]    --> src/bases/recipient.rs:318:10
[INFO] [stdout]     |
[INFO] [stdout] 318 |     for (molecule_name, molecule) in explicit_molecules.as_ref()?.iter() {
[INFO] [stdout]     |          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_molecule_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]  --> src/bases/molecule.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Molecule {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 8 |     pub id: MoleculeId,
[INFO] [stdout]   |         ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Molecule` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `compare_canonical` and `automatic_name` are never used
[INFO] [stdout]   --> src/bases/molecule.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl MoleculeBlueprint {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn compare_canonical(&self, other: &MoleculeBlueprint) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn automatic_name(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GridJSON` is never constructed
[INFO] [stdout]    --> src/bases/physics.rs:329:12
[INFO] [stdout]     |
[INFO] [stdout] 329 | pub struct GridJSON {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_grid_json` is never used
[INFO] [stdout]    --> src/bases/physics.rs:350:12
[INFO] [stdout]     |
[INFO] [stdout] 333 | impl Grid {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub fn from_grid_json(data: GridJSON, recipient_shape: (f32, f32)) -> Grid {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plot_paths` is never used
[INFO] [stdout]   --> src/bases/plot.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn plot_paths(paths: Vec<(bool, Vec<(f64, f64)>)>, output_path: &str) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_atom_molecule_refs` is never used
[INFO] [stdout]    --> src/bases/reaction.rs:788:4
[INFO] [stdout]     |
[INFO] [stdout] 788 | fn update_atom_molecule_refs(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_mi` is never used
[INFO] [stdout]   --> src/bases/recipient.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl BlueprintAtomIndex {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] 36 |     pub fn to_mi(self) -> MoleculeAtomIndex {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `elements_data` is never read
[INFO] [stdout]   --> src/bases/recipient.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Recipient {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub elements_data: HashMap<String, Element>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 50.28s
[INFO] running `Command { std: "docker" "inspect" "002a465fdc837bf41d039df7a4a826ab00cf3755f1a3f5a4af130b40d105af25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "002a465fdc837bf41d039df7a4a826ab00cf3755f1a3f5a4af130b40d105af25", kill_on_drop: false }`
[INFO] [stdout] 002a465fdc837bf41d039df7a4a826ab00cf3755f1a3f5a4af130b40d105af25
