[INFO] cloning repository https://github.com/JackCrumpLeys/dnd_tools
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JackCrumpLeys/dnd_tools" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJackCrumpLeys%2Fdnd_tools", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJackCrumpLeys%2Fdnd_tools'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 332a4f333a708d2693a6b764744a8f230e0df0e2
[INFO] testing JackCrumpLeys/dnd_tools/332a4f333a708d2693a6b764744a8f230e0df0e2 against 1.90.0 for beta-1.91-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJackCrumpLeys%2Fdnd_tools" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/JackCrumpLeys/dnd_tools
[INFO] finished tweaking git repo https://github.com/JackCrumpLeys/dnd_tools
[INFO] tweaked toml for git repo https://github.com/JackCrumpLeys/dnd_tools written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/JackCrumpLeys/dnd_tools on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/JackCrumpLeys/dnd_tools already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/emilk/egui.git`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded webbrowser v0.8.0
[INFO] [stderr]   Downloaded ahash v0.8.0
[INFO] [stderr]   Downloaded bytemuck v1.12.2
[INFO] [stderr]   Downloaded arboard v3.1.1
[INFO] [stderr]   Downloaded calloop v0.10.1
[INFO] [stderr]   Downloaded owned_ttf_parser v0.17.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a353de133a91451cd004d62f4943a4462a720f75163432bb5ac6aa1833ad5f87
[INFO] running `Command { std: "docker" "start" "-a" "a353de133a91451cd004d62f4943a4462a720f75163432bb5ac6aa1833ad5f87", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a353de133a91451cd004d62f4943a4462a720f75163432bb5ac6aa1833ad5f87", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a353de133a91451cd004d62f4943a4462a720f75163432bb5ac6aa1833ad5f87", kill_on_drop: false }`
[INFO] [stdout] a353de133a91451cd004d62f4943a4462a720f75163432bb5ac6aa1833ad5f87
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 861bba5db6cf6a0268318e71f1713477fae9fa0fa50e86d1abd15db51a1ca150
[INFO] running `Command { std: "docker" "start" "-a" "861bba5db6cf6a0268318e71f1713477fae9fa0fa50e86d1abd15db51a1ca150", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.137
[INFO] [stderr]    Compiling proc-macro2 v1.0.47
[INFO] [stderr]    Compiling unicode-ident v1.0.5
[INFO] [stderr]    Compiling pkg-config v0.3.26
[INFO] [stderr]    Compiling syn v1.0.103
[INFO] [stderr]    Compiling once_cell v1.16.0
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]    Compiling smallvec v1.10.0
[INFO] [stderr]    Compiling cc v1.0.74
[INFO] [stderr]    Compiling libloading v0.7.3
[INFO] [stderr]    Compiling lock_api v0.4.9
[INFO] [stderr]    Compiling parking_lot_core v0.9.4
[INFO] [stderr]    Compiling thiserror v1.0.37
[INFO] [stderr]    Compiling serde_derive v1.0.147
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling slotmap v1.0.6
[INFO] [stderr]    Compiling serde v1.0.147
[INFO] [stderr]    Compiling dlib v0.5.0
[INFO] [stderr]    Compiling ttf-parser v0.17.1
[INFO] [stderr]    Compiling xcursor v0.3.4
[INFO] [stderr]    Compiling miniz_oxide v0.5.4
[INFO] [stderr]    Compiling ab_glyph_rasterizer v0.1.7
[INFO] [stderr]    Compiling miniz_oxide v0.6.2
[INFO] [stderr]    Compiling tracing-core v0.1.30
[INFO] [stderr]    Compiling ahash v0.8.0
[INFO] [stderr]    Compiling foreign-types-shared v0.3.1
[INFO] [stderr]    Compiling percent-encoding v2.2.0
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling cmake v0.1.49
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling servo-fontconfig-sys v5.1.0
[INFO] [stderr]    Compiling smithay-client-toolkit v0.16.0
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling flate2 v1.0.24
[INFO] [stderr]    Compiling x11-dl v2.20.0
[INFO] [stderr]    Compiling crossfont v0.5.1
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling cty v0.2.2
[INFO] [stderr]    Compiling unicode-normalization v0.1.22
[INFO] [stderr]    Compiling raw-window-handle v0.5.0
[INFO] [stderr]    Compiling raw-window-handle v0.4.3
[INFO] [stderr]    Compiling tracing v0.1.37
[INFO] [stderr]    Compiling form_urlencoded v1.1.0
[INFO] [stderr]    Compiling png v0.17.7
[INFO] [stderr]    Compiling instant v0.1.12
[INFO] [stderr]    Compiling tokio v1.21.2
[INFO] [stderr]    Compiling emath v0.18.0
[INFO] [stderr]    Compiling freetype-sys v0.13.1
[INFO] [stderr]    Compiling expat-sys v2.1.6
[INFO] [stderr]    Compiling glow v0.11.2
[INFO] [stderr]    Compiling tracing-log v0.1.3
[INFO] [stderr]    Compiling thread_local v1.1.4
[INFO] [stderr]    Compiling bytes v1.2.1
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.8
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.6
[INFO] [stderr]    Compiling nix v0.24.2
[INFO] [stderr]    Compiling getrandom v0.2.8
[INFO] [stderr]    Compiling memmap2 v0.5.7
[INFO] [stderr]    Compiling mio v0.8.5
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling idna v0.3.0
[INFO] [stderr]    Compiling gethostname v0.2.3
[INFO] [stderr]    Compiling shared_library v0.1.9
[INFO] [stderr]    Compiling servo-fontconfig v0.5.1
[INFO] [stderr]    Compiling owned_ttf_parser v0.17.0
[INFO] [stderr]    Compiling freetype-rs v0.26.0
[INFO] [stderr]    Compiling url v2.3.1
[INFO] [stderr]    Compiling osmesa-sys v0.1.2
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]    Compiling ab_glyph v0.2.18
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling webbrowser v0.8.0
[INFO] [stderr]    Compiling socket2 v0.4.7
[INFO] [stderr]    Compiling signal-hook-registry v1.4.0
[INFO] [stderr]    Compiling directories-next v2.0.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling epaint v0.18.1
[INFO] [stderr]    Compiling num_cpus v1.13.1
[INFO] [stderr]    Compiling wayland-commons v0.29.5
[INFO] [stderr]    Compiling x11rb-protocol v0.10.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling tracing-subscriber v0.3.16
[INFO] [stderr]    Compiling egui v0.18.1
[INFO] [stderr]    Compiling bytemuck_derive v1.2.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.37
[INFO] [stderr]    Compiling foreign-types-macros v0.2.2
[INFO] [stderr]    Compiling tokio-macros v1.8.0
[INFO] [stderr]    Compiling bytemuck v1.12.2
[INFO] [stderr]    Compiling foreign-types v0.5.0
[INFO] [stderr]    Compiling tiny-skia-path v0.7.0
[INFO] [stderr]    Compiling safe_arch v0.5.2
[INFO] [stderr]    Compiling calloop v0.10.1
[INFO] [stderr]    Compiling tiny-skia v0.7.0
[INFO] [stderr]    Compiling wayland-cursor v0.29.5
[INFO] [stderr]    Compiling wayland-egl v0.29.5
[INFO] [stderr]    Compiling x11rb v0.10.1
[INFO] [stderr]    Compiling emath v0.19.0 (https://github.com/emilk/egui.git#4c82519f)
[INFO] [stderr]    Compiling ron v0.8.0
[INFO] [stderr]    Compiling arboard v3.1.1
[INFO] [stderr]    Compiling epaint v0.19.0 (https://github.com/emilk/egui.git#4c82519f)
[INFO] [stderr]    Compiling egui v0.19.0 (https://github.com/emilk/egui.git#4c82519f)
[INFO] [stderr]    Compiling egui_glow v0.19.0 (https://github.com/emilk/egui.git#4c82519f)
[INFO] [stderr]    Compiling sctk-adwaita v0.4.3
[INFO] [stderr]    Compiling smithay-clipboard v0.6.6
[INFO] [stderr]    Compiling winit v0.27.5
[INFO] [stderr]    Compiling egui-winit v0.19.0 (https://github.com/emilk/egui.git#4c82519f)
[INFO] [stderr]    Compiling glutin v0.29.1
[INFO] [stderr]    Compiling eframe v0.19.0 (https://github.com/emilk/egui.git#4c82519f)
[INFO] [stderr]    Compiling dnd_tool v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `self::egui::Color32`
[INFO] [stdout]  --> src/app.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use self::egui::Color32;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/app.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `Formatter`
[INFO] [stdout]  --> src/app.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fmt::{Display, Formatter};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/app.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DiceRollEquationNode`, `parse_equation`, and `tokenize_equation`
[INFO] [stdout]  --> src/app.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::formulaic_dice_roll::{DiceRollEquationNode, parse_equation, tokenize_equation};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/app.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |               /// Render the DiceRolling interface
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 140 | /             Interface::DiceRolling => {
[INFO] [stdout] 141 | |                 egui::SidePanel::left("side_panel").show(ctx, |ui| {
[INFO] [stdout] ...   |
[INFO] [stdout] 305 | |             }
[INFO] [stdout]     | |_____________- rustdoc does not generate documentation for match arms
[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 import: `std::collections::HashMap`
[INFO] [stdout]  --> src/formulaic_dice_roll.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/formulaic_dice_roll.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Div`
[INFO] [stdout]  --> src/formulaic_dice_roll.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::Div;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]   --> src/formulaic_dice_roll.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ops::Mul;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Sub`
[INFO] [stdout]   --> src/formulaic_dice_roll.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::ops::Sub;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]   --> src/formulaic_dice_roll.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::str::FromStr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `notes`
[INFO] [stdout]    --> src/app.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |             notes,
[INFO] [stdout]     |             ^^^^^-
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: try removing the field
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/app.rs:634:37
[INFO] [stdout]     |
[INFO] [stdout] 634 | ...                   let mut name = &mut place.name;
[INFO] [stdout]     |                           ----^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/app.rs:635:37
[INFO] [stdout]     |
[INFO] [stdout] 635 | ...                   let mut creatures = &mut place.creatures;
[INFO] [stdout]     |                           ----^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/app.rs:350:29
[INFO] [stdout]     |
[INFO] [stdout] 350 |                     for (i, mut window) in &mut creature_creation_windows.into_iter().enumerate() {
[INFO] [stdout]     |                             ----^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/app.rs:228:33
[INFO] [stdout]     |
[INFO] [stdout] 228 | ...                   dice_window.parse_formula();
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 228 |                                 let _ = dice_window.parse_formula();
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/structure.rs:265:9
[INFO] [stdout]     |
[INFO] [stdout] 265 |         write!(f, "{}", self.to_string());
[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] 265 |         let _ = write!(f, "{}", self.to_string());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]  --> src/main.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 02s
[INFO] running `Command { std: "docker" "inspect" "861bba5db6cf6a0268318e71f1713477fae9fa0fa50e86d1abd15db51a1ca150", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "861bba5db6cf6a0268318e71f1713477fae9fa0fa50e86d1abd15db51a1ca150", kill_on_drop: false }`
[INFO] [stdout] 861bba5db6cf6a0268318e71f1713477fae9fa0fa50e86d1abd15db51a1ca150
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d87c8213e0d8d21342df2f205138a7053552fb54660cc6df9df3e56e70a9ec64
[INFO] running `Command { std: "docker" "start" "-a" "d87c8213e0d8d21342df2f205138a7053552fb54660cc6df9df3e56e70a9ec64", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `self::egui::Color32`
[INFO] [stdout]  --> src/app.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use self::egui::Color32;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/app.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `Formatter`
[INFO] [stdout]  --> src/app.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fmt::{Display, Formatter};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/app.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DiceRollEquationNode`, `parse_equation`, and `tokenize_equation`
[INFO] [stdout]  --> src/app.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::formulaic_dice_roll::{DiceRollEquationNode, parse_equation, tokenize_equation};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/app.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |               /// Render the DiceRolling interface
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 140 | /             Interface::DiceRolling => {
[INFO] [stdout] 141 | |                 egui::SidePanel::left("side_panel").show(ctx, |ui| {
[INFO] [stdout] ...   |
[INFO] [stdout] 305 | |             }
[INFO] [stdout]     | |_____________- rustdoc does not generate documentation for match arms
[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 import: `std::collections::HashMap`
[INFO] [stdout]  --> src/formulaic_dice_roll.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/formulaic_dice_roll.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Div`
[INFO] [stdout]  --> src/formulaic_dice_roll.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::Div;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]   --> src/formulaic_dice_roll.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ops::Mul;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Sub`
[INFO] [stdout]   --> src/formulaic_dice_roll.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::ops::Sub;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]   --> src/formulaic_dice_roll.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::str::FromStr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `notes`
[INFO] [stdout]    --> src/app.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |             notes,
[INFO] [stdout]     |             ^^^^^-
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: try removing the field
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/app.rs:634:37
[INFO] [stdout]     |
[INFO] [stdout] 634 | ...                   let mut name = &mut place.name;
[INFO] [stdout]     |                           ----^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/app.rs:635:37
[INFO] [stdout]     |
[INFO] [stdout] 635 | ...                   let mut creatures = &mut place.creatures;
[INFO] [stdout]     |                           ----^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/app.rs:350:29
[INFO] [stdout]     |
[INFO] [stdout] 350 |                     for (i, mut window) in &mut creature_creation_windows.into_iter().enumerate() {
[INFO] [stdout]     |                             ----^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/app.rs:228:33
[INFO] [stdout]     |
[INFO] [stdout] 228 | ...                   dice_window.parse_formula();
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 228 |                                 let _ = dice_window.parse_formula();
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/structure.rs:265:9
[INFO] [stdout]     |
[INFO] [stdout] 265 |         write!(f, "{}", self.to_string());
[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] 265 |         let _ = write!(f, "{}", self.to_string());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling dnd_tool v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]  --> src/main.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::egui::Color32`
[INFO] [stdout]  --> src/app.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use self::egui::Color32;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/app.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `Formatter`
[INFO] [stdout]  --> src/app.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fmt::{Display, Formatter};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/app.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DiceRollEquationNode`, `parse_equation`, and `tokenize_equation`
[INFO] [stdout]  --> src/app.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::formulaic_dice_roll::{DiceRollEquationNode, parse_equation, tokenize_equation};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/app.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |               /// Render the DiceRolling interface
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 140 | /             Interface::DiceRolling => {
[INFO] [stdout] 141 | |                 egui::SidePanel::left("side_panel").show(ctx, |ui| {
[INFO] [stdout] ...   |
[INFO] [stdout] 305 | |             }
[INFO] [stdout]     | |_____________- rustdoc does not generate documentation for match arms
[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 import: `std::collections::HashMap`
[INFO] [stdout]  --> src/formulaic_dice_roll.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/formulaic_dice_roll.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Div`
[INFO] [stdout]  --> src/formulaic_dice_roll.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::Div;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]   --> src/formulaic_dice_roll.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ops::Mul;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Sub`
[INFO] [stdout]   --> src/formulaic_dice_roll.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::ops::Sub;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]   --> src/formulaic_dice_roll.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::str::FromStr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `notes`
[INFO] [stdout]    --> src/app.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |             notes,
[INFO] [stdout]     |             ^^^^^-
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: try removing the field
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/app.rs:634:37
[INFO] [stdout]     |
[INFO] [stdout] 634 | ...                   let mut name = &mut place.name;
[INFO] [stdout]     |                           ----^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/app.rs:635:37
[INFO] [stdout]     |
[INFO] [stdout] 635 | ...                   let mut creatures = &mut place.creatures;
[INFO] [stdout]     |                           ----^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/app.rs:350:29
[INFO] [stdout]     |
[INFO] [stdout] 350 |                     for (i, mut window) in &mut creature_creation_windows.into_iter().enumerate() {
[INFO] [stdout]     |                             ----^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/app.rs:228:33
[INFO] [stdout]     |
[INFO] [stdout] 228 | ...                   dice_window.parse_formula();
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 228 |                                 let _ = dice_window.parse_formula();
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/structure.rs:265:9
[INFO] [stdout]     |
[INFO] [stdout] 265 |         write!(f, "{}", self.to_string());
[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] 265 |         let _ = write!(f, "{}", self.to_string());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.81s
[INFO] running `Command { std: "docker" "inspect" "d87c8213e0d8d21342df2f205138a7053552fb54660cc6df9df3e56e70a9ec64", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d87c8213e0d8d21342df2f205138a7053552fb54660cc6df9df3e56e70a9ec64", kill_on_drop: false }`
[INFO] [stdout] d87c8213e0d8d21342df2f205138a7053552fb54660cc6df9df3e56e70a9ec64
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 8b2bbae45c76a22a9c8bb2a97a83671678cac8e13febaa81b7ada28c8f005bb7
[INFO] running `Command { std: "docker" "start" "-a" "8b2bbae45c76a22a9c8bb2a97a83671678cac8e13febaa81b7ada28c8f005bb7", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `self::egui::Color32`
[INFO] [stderr]  --> src/app.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use self::egui::Color32;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]  --> src/app.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::collections::HashSet;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Display` and `Formatter`
[INFO] [stderr]  --> src/app.rs:6:16
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::fmt::{Display, Formatter};
[INFO] [stderr]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Deref`
[INFO] [stderr]  --> src/app.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::ops::Deref;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DiceRollEquationNode`, `parse_equation`, and `tokenize_equation`
[INFO] [stderr]  --> src/app.rs:8:34
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::formulaic_dice_roll::{DiceRollEquationNode, parse_equation, tokenize_equation};
[INFO] [stderr]   |                                  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/app.rs:139:13
[INFO] [stderr]     |
[INFO] [stderr] 139 |               /// Render the DiceRolling interface
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 140 | /             Interface::DiceRolling => {
[INFO] [stderr] 141 | |                 egui::SidePanel::left("side_panel").show(ctx, |ui| {
[INFO] [stderr] ...   |
[INFO] [stderr] 305 | |             }
[INFO] [stderr]     | |_____________- rustdoc does not generate documentation for match arms
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/formulaic_dice_roll.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Add`
[INFO] [stderr]  --> src/formulaic_dice_roll.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::ops::Add;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Div`
[INFO] [stderr]  --> src/formulaic_dice_roll.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::ops::Div;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Mul`
[INFO] [stderr]   --> src/formulaic_dice_roll.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::ops::Mul;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Sub`
[INFO] [stderr]   --> src/formulaic_dice_roll.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::ops::Sub;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str::FromStr`
[INFO] [stderr]   --> src/formulaic_dice_roll.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::str::FromStr;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `notes`
[INFO] [stderr]    --> src/app.rs:109:13
[INFO] [stderr]     |
[INFO] [stderr] 109 |             notes,
[INFO] [stderr]     |             ^^^^^-
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: try removing the field
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/app.rs:634:37
[INFO] [stderr]     |
[INFO] [stderr] 634 | ...                   let mut name = &mut place.name;
[INFO] [stderr]     |                           ----^^^^
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/app.rs:635:37
[INFO] [stderr]     |
[INFO] [stderr] 635 | ...                   let mut creatures = &mut place.creatures;
[INFO] [stderr]     |                           ----^^^^^^^^^
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/app.rs:350:29
[INFO] [stderr]     |
[INFO] [stderr] 350 |                     for (i, mut window) in &mut creature_creation_windows.into_iter().enumerate() {
[INFO] [stderr]     |                             ----^^^^^^
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/app.rs:228:33
[INFO] [stderr]     |
[INFO] [stderr] 228 | ...                   dice_window.parse_formula();
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 228 |                                 let _ = dice_window.parse_formula();
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/structure.rs:265:9
[INFO] [stderr]     |
[INFO] [stderr] 265 |         write!(f, "{}", self.to_string());
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 265 |         let _ = write!(f, "{}", self.to_string());
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `dnd_tool` (lib) generated 18 warnings (run `cargo fix --lib -p dnd_tool` to apply 15 suggestions)
[INFO] [stderr] warning: `dnd_tool` (lib test) generated 18 warnings (18 duplicates)
[INFO] [stderr] warning: unused imports: `PathBuf` and `Path`
[INFO] [stderr]  --> src/main.rs:9:17
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::path::{Path, PathBuf};
[INFO] [stderr]   |                 ^^^^  ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]   --> src/main.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::time::Duration;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `dnd_tool` (bin "dnd_tool_bin" test) generated 2 warnings (run `cargo fix --bin "dnd_tool_bin" --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/dnd_tool-577213bea7b728e8)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test formulaic_dice_roll::test_parse_equation ... ok
[INFO] [stdout] test formulaic_dice_roll::test_tokenize_equation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/dnd_tool_bin-d60f6f813e050ce4)
[INFO] [stderr]    Doc-tests dnd_tool
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "8b2bbae45c76a22a9c8bb2a97a83671678cac8e13febaa81b7ada28c8f005bb7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8b2bbae45c76a22a9c8bb2a97a83671678cac8e13febaa81b7ada28c8f005bb7", kill_on_drop: false }`
[INFO] [stdout] 8b2bbae45c76a22a9c8bb2a97a83671678cac8e13febaa81b7ada28c8f005bb7
