[INFO] cloning repository https://github.com/dgoetsch/dnd-character [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dgoetsch/dnd-character" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdgoetsch%2Fdnd-character", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdgoetsch%2Fdnd-character'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6d7a927507b46b25384b1baa4dea4c2cc3019c79 [INFO] checking dgoetsch/dnd-character against try#53184dc07942a1944769a9e15fc2cb08c9f62e9d for pr-99197 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdgoetsch%2Fdnd-character" "/workspace/builds/worker-0/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/dgoetsch/dnd-character on toolchain 53184dc07942a1944769a9e15fc2cb08c9f62e9d [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+53184dc07942a1944769a9e15fc2cb08c9f62e9d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/dgoetsch/dnd-character [INFO] finished tweaking git repo https://github.com/dgoetsch/dnd-character [INFO] tweaked toml for git repo https://github.com/dgoetsch/dnd-character written to /workspace/builds/worker-0/source/Cargo.toml [INFO] crate git repo https://github.com/dgoetsch/dnd-character already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+53184dc07942a1944769a9e15fc2cb08c9f62e9d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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:5873ed620acfc3295992aedd9294443d62a478a48ba243bc5e6c4f5abaffa05f" "/opt/rustwide/cargo-home/bin/cargo" "+53184dc07942a1944769a9e15fc2cb08c9f62e9d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2ca415a27408bc0fc7d62b52c461450caf71a0e3bd27e47c83bf18ffbc6fc1e7 [INFO] running `Command { std: "docker" "start" "-a" "2ca415a27408bc0fc7d62b52c461450caf71a0e3bd27e47c83bf18ffbc6fc1e7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2ca415a27408bc0fc7d62b52c461450caf71a0e3bd27e47c83bf18ffbc6fc1e7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2ca415a27408bc0fc7d62b52c461450caf71a0e3bd27e47c83bf18ffbc6fc1e7", kill_on_drop: false }` [INFO] [stdout] 2ca415a27408bc0fc7d62b52c461450caf71a0e3bd27e47c83bf18ffbc6fc1e7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "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:5873ed620acfc3295992aedd9294443d62a478a48ba243bc5e6c4f5abaffa05f" "/opt/rustwide/cargo-home/bin/cargo" "+53184dc07942a1944769a9e15fc2cb08c9f62e9d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7ecdac8aef85161f43ab66479db2ff9134ab788e721ef19ce2d05187d2dfa894 [INFO] running `Command { std: "docker" "start" "-a" "7ecdac8aef85161f43ab66479db2ff9134ab788e721ef19ce2d05187d2dfa894", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.81 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Compiling pkg-config v0.3.19 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling syn v1.0.56 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Checking once_cell v1.5.2 [INFO] [stderr] Compiling xml-rs v0.8.3 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Checking futures-core v0.3.8 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Checking smallvec v1.5.1 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Compiling version_check v0.9.2 [INFO] [stderr] Checking futures-io v0.3.8 [INFO] [stderr] Checking ab_glyph_rasterizer v0.1.4 [INFO] [stderr] Compiling nix v0.18.0 [INFO] [stderr] Compiling proc-macro-hack v0.5.19 [INFO] [stderr] Compiling getrandom v0.1.15 [INFO] [stderr] Compiling proc-macro-nested v0.1.6 [INFO] [stderr] Checking futures-sink v0.3.8 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking ppv-lite86 v0.2.10 [INFO] [stderr] Checking downcast-rs v1.2.0 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling const_fn v0.4.4 [INFO] [stderr] Checking scoped-tls v1.0.0 [INFO] [stderr] Checking ttf-parser v0.6.2 [INFO] [stderr] Compiling khronos_api v3.1.0 [INFO] [stderr] Checking pin-project-lite v0.2.0 [INFO] [stderr] Compiling rayon-core v1.9.0 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking xdg v2.2.0 [INFO] [stderr] Checking ttf-parser v0.9.0 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Checking either v1.6.1 [INFO] [stderr] Checking iced_core v0.3.0 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Checking xi-unicode v0.3.0 [INFO] [stderr] Checking unicode-segmentation v1.7.1 [INFO] [stderr] Checking cache-padded v1.1.1 [INFO] [stderr] Checking float-ord v0.2.0 [INFO] [stderr] Checking linked-hash-map v0.5.3 [INFO] [stderr] Checking arrayvec v0.5.2 [INFO] [stderr] Checking inplace_it v0.3.2 [INFO] [stderr] Checking copyless v0.1.5 [INFO] [stderr] Checking parking v2.0.0 [INFO] [stderr] Compiling winit v0.23.0 [INFO] [stderr] Checking waker-fn v1.1.0 [INFO] [stderr] Checking fastrand v1.4.0 [INFO] [stderr] Checking lazycell v1.3.0 [INFO] [stderr] Checking percent-encoding v2.1.0 [INFO] [stderr] Checking event-listener v2.5.1 [INFO] [stderr] Checking async-task v4.0.3 [INFO] [stderr] Compiling serde_derive v1.0.118 [INFO] [stderr] Checking vec-arena v1.0.0 [INFO] [stderr] Checking typed-arena v2.0.1 [INFO] [stderr] Compiling serde v1.0.118 [INFO] [stderr] Checking svg_fmt v0.4.1 [INFO] [stderr] Checking glow v0.6.1 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling serde_json v1.0.61 [INFO] [stderr] Checking atomic-waker v1.0.0 [INFO] [stderr] Checking pin-project-lite v0.1.11 [INFO] [stderr] Checking itoa v0.4.7 [INFO] [stderr] Checking bytes v0.5.6 [INFO] [stderr] Checking tracing-core v0.1.17 [INFO] [stderr] Checking libloading v0.6.6 [INFO] [stderr] Checking instant v0.1.9 [INFO] [stderr] Checking lock_api v0.4.2 [INFO] [stderr] Checking futures-task v0.3.8 [INFO] [stderr] Checking futures-channel v0.3.8 [INFO] [stderr] Checking walkdir v2.3.1 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling crossbeam-utils v0.8.1 [INFO] [stderr] Compiling memoffset v0.6.1 [INFO] [stderr] Compiling rayon v1.5.0 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling nom v6.0.1 [INFO] [stderr] Compiling glam v0.10.2 [INFO] [stderr] Compiling wayland-sys v0.28.2 [INFO] [stderr] Compiling servo-fontconfig-sys v4.0.9 [INFO] [stderr] Compiling x11-dl v2.18.5 [INFO] [stderr] Compiling x11 v2.18.2 [INFO] [stderr] Checking bit-set v0.5.2 [INFO] [stderr] Checking iced_style v0.2.0 [INFO] [stderr] Checking concurrent-queue v1.2.2 [INFO] [stderr] Checking async-mutex v1.4.0 [INFO] [stderr] Checking owned_ttf_parser v0.6.0 [INFO] [stderr] Checking owned_ttf_parser v0.9.0 [INFO] [stderr] Checking dlib v0.4.2 [INFO] [stderr] Checking ash v0.31.0 [INFO] [stderr] Checking tracing v0.1.22 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Checking async-channel v1.5.1 [INFO] [stderr] Checking rusttype v0.9.2 [INFO] [stderr] Checking wgpu-types v0.6.1 [INFO] [stderr] Checking ab_glyph v0.2.7 [INFO] [stderr] Checking kv-log-macro v1.0.7 [INFO] [stderr] Checking futures-lite v1.11.3 [INFO] [stderr] Compiling quote v1.0.8 [INFO] [stderr] Compiling pathfinder_simd v0.5.0 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking raw-window-handle v0.3.3 [INFO] [stderr] Checking parking_lot_core v0.8.2 [INFO] [stderr] Checking net2 v0.2.37 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking memmap2 v0.1.0 [INFO] [stderr] Checking dirs-sys v0.3.5 [INFO] [stderr] Checking shared_library v0.1.9 [INFO] [stderr] Checking nb-connect v1.0.2 [INFO] [stderr] Checking polling v2.0.2 [INFO] [stderr] Checking signal-hook-registry v1.3.0 [INFO] [stderr] Compiling jobserver v0.1.21 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking andrew v0.3.1 [INFO] [stderr] Compiling xcb v0.9.0 [INFO] [stderr] Compiling wayland-scanner v0.28.2 [INFO] [stderr] Checking threadpool v1.8.1 [INFO] [stderr] Checking gfx-hal v0.6.0 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Checking dirs v2.0.2 [INFO] [stderr] Checking async-executor v1.4.0 [INFO] [stderr] Checking blocking v1.0.2 [INFO] [stderr] Checking parking_lot v0.11.1 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Compiling cc v1.0.66 [INFO] [stderr] Checking async-io v1.3.1 [INFO] [stderr] Checking crossbeam-epoch v0.9.1 [INFO] [stderr] Checking crossbeam-channel v0.5.0 [INFO] [stderr] Checking approx v0.4.0 [INFO] [stderr] Checking spirv_headers v1.5.0 [INFO] [stderr] Checking ordered-float v2.0.1 [INFO] [stderr] Checking euclid v0.22.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking xcursor v0.3.3 [INFO] [stderr] Checking glyph_brush_layout v0.2.1 [INFO] [stderr] Compiling cmake v0.1.45 [INFO] [stderr] Checking async-global-executor v1.4.3 [INFO] [stderr] Checking mio-extras v2.0.6 [INFO] [stderr] Checking mio-uds v0.6.8 [INFO] [stderr] Checking crossbeam-deque v0.8.0 [INFO] [stderr] Compiling glutin_glx_sys v0.1.7 [INFO] [stderr] Compiling glutin_egl_sys v0.1.5 [INFO] [stderr] Checking pathfinder_geometry v0.5.1 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking async-std v1.8.0 [INFO] [stderr] Checking tokio v0.2.24 [INFO] [stderr] Checking guillotiere v0.6.0 [INFO] [stderr] Checking wayland-commons v0.28.2 [INFO] [stderr] Checking calloop v0.6.5 [INFO] [stderr] Checking twox-hash v1.6.0 [INFO] [stderr] Checking gfx-descriptor v0.2.0 [INFO] [stderr] Checking gfx-memory v0.2.2 [INFO] [stderr] Checking gfx-backend-empty v0.6.0 [INFO] [stderr] Compiling wayland-client v0.28.2 [INFO] [stderr] Compiling wayland-protocols v0.28.2 [INFO] [stderr] Checking glyph_brush_draw_cache v0.1.3 [INFO] [stderr] Compiling synstructure v0.12.4 [INFO] [stderr] Checking glyph_brush v0.7.1 [INFO] [stderr] Compiling servo-freetype-sys v4.0.5 [INFO] [stderr] Compiling expat-sys v2.1.6 [INFO] [stderr] Checking gfx-backend-vulkan v0.6.5 [INFO] [stderr] Checking clipboard_x11 v0.1.0 [INFO] [stderr] Checking freetype v0.4.1 [INFO] [stderr] Checking servo-fontconfig v0.4.0 [INFO] [stderr] Compiling pin-project-internal v1.0.2 [INFO] [stderr] Compiling futures-macro v0.3.8 [INFO] [stderr] Compiling thiserror-impl v1.0.23 [INFO] [stderr] Compiling bytemuck_derive v1.0.1 [INFO] [stderr] Compiling zerocopy-derive v0.2.0 [INFO] [stderr] Compiling derive_more v0.99.11 [INFO] [stderr] Compiling actix-macros v0.1.3 [INFO] [stderr] Checking font-kit v0.8.0 [INFO] [stderr] Checking wayland-cursor v0.28.2 [INFO] [stderr] Checking wayland-egl v0.28.2 [INFO] [stderr] Checking bytemuck v1.4.1 [INFO] [stderr] Checking glow_glyph v0.4.0 [INFO] [stderr] Checking thiserror v1.0.23 [INFO] [stderr] Checking pin-project v1.0.2 [INFO] [stderr] Checking zerocopy v0.3.0 [INFO] [stderr] Checking smithay-client-toolkit v0.12.1 [INFO] [stderr] Checking naga v0.2.0 [INFO] [stderr] Checking futures-util v0.3.8 [INFO] [stderr] Checking actix-threadpool v0.3.3 [INFO] [stderr] Checking wgpu-core v0.6.5 [INFO] [stderr] Checking smithay-clipboard v0.6.2 [INFO] [stderr] Checking clipboard_wayland v0.1.2 [INFO] [stderr] Checking window_clipboard v0.1.3 [INFO] [stderr] Checking futures-executor v0.3.8 [INFO] [stderr] Checking actix-rt v1.1.1 [INFO] [stderr] Checking futures v0.3.8 [INFO] [stderr] Checking glutin v0.25.1 [INFO] [stderr] Checking iced_futures v0.2.0 [INFO] [stderr] Checking iced_native v0.3.0 [INFO] [stderr] Checking wgpu v0.6.2 [INFO] [stderr] Checking iced_graphics v0.1.0 [INFO] [stderr] Checking wgpu_glyph v0.10.0 [INFO] [stderr] Checking iced_winit v0.2.0 [INFO] [stderr] Checking iced_glow v0.1.0 [INFO] [stderr] Checking iced_wgpu v0.3.0 [INFO] [stderr] Checking iced_glutin v0.1.0 [INFO] [stderr] Checking iced v0.2.0 [INFO] [stderr] Checking dnd-character v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/character/class.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | if (self.classes.len() > 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 24 - if (self.classes.len() > 1) { [INFO] [stdout] 24 + if self.classes.len() > 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Element`, `HorizontalAlignment`, `VerticalAlignment` [INFO] [stdout] --> src/character/description.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use iced::{Column, Element, HorizontalAlignment, Length, Row, Text, VerticalAlignment}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FeatureState` [INFO] [stdout] --> src/character/persistence.rs:8:37 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::core::feature::{Feature, FeatureState, FeaturesState}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/character/proficiencies.rs:76:23 [INFO] [stdout] | [INFO] [stdout] 76 | let text = if (proficiencies.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 76 - let text = if (proficiencies.is_empty()) { [INFO] [stdout] 76 + let text = if proficiencies.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Dice`, `Roll` [INFO] [stdout] --> src/core/ability_score.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::core::roll::{Dice, Roll}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::format_modifier` [INFO] [stdout] --> src/core/ability_score.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::util::format_modifier; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Element` [INFO] [stdout] --> src/core/ability_score.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use iced::{Column, Element, HorizontalAlignment, Length, Row, Text, VerticalAlignment}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Dice` [INFO] [stdout] --> src/core/effect.rs:2:25 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::core::roll::{Dice, RollBonus, RollScope}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HorizontalAlignment`, `Length`, `VerticalAlignment` [INFO] [stdout] --> src/core/effect.rs:4:29 [INFO] [stdout] | [INFO] [stdout] 4 | use iced::{Column, Element, HorizontalAlignment, Length, Row, Text, VerticalAlignment}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `EffectState` [INFO] [stdout] --> src/core/feature.rs:4:35 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::core::effect::{Effect, EffectState, EffectsState}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RollScope` [INFO] [stdout] --> src/core/feature.rs:6:31 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::core::roll::{Roll, RollScope, RollState}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Button`, `button` [INFO] [stdout] --> src/core/feature.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | use iced::{button, Button, Column, Element, Length, Row, Text}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::export::Formatter` [INFO] [stdout] --> src/core/feature.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use serde::export::Formatter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/core/feature.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Display` [INFO] [stdout] --> src/core/feature.rs:14:23 [INFO] [stdout] | [INFO] [stdout] 14 | use std::fmt::{Debug, Display}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/feature.rs:246:20 [INFO] [stdout] | [INFO] [stdout] 246 | if (matches) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 246 - if (matches) { [INFO] [stdout] 246 + if matches { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/feature.rs:383:16 [INFO] [stdout] | [INFO] [stdout] 383 | if (!apply_to_children.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 383 - if (!apply_to_children.is_empty()) { [INFO] [stdout] 383 + if !apply_to_children.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/feature.rs:509:12 [INFO] [stdout] | [INFO] [stdout] 509 | if (!rolls_state.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 509 - if (!rolls_state.is_empty()) { [INFO] [stdout] 509 + if !rolls_state.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/feature_path.rs:40:20 [INFO] [stdout] | [INFO] [stdout] 40 | if (feature == head) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 40 - if (feature == head) { [INFO] [stdout] 40 + if feature == head { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Class` [INFO] [stdout] --> src/core/roll/mod.rs:1:31 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::character::class::{Class, Classes}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ModifiedAbilityScores` [INFO] [stdout] --> src/core/roll/mod.rs:2:58 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::core::ability_score::{Ability, AbilityScores, ModifiedAbilityScores}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Element` [INFO] [stdout] --> src/core/roll/mod.rs:8:20 [INFO] [stdout] | [INFO] [stdout] 8 | use iced::{Column, Element, Length, Row, Text}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Roll` [INFO] [stdout] --> src/core/roll/rollable.rs:2:31 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::core::roll::{Dice, Roll}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/roll/mod.rs:212:20 [INFO] [stdout] | [INFO] [stdout] 212 | if (matches) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 212 - if (matches) { [INFO] [stdout] 212 + if matches { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/roll/mod.rs:273:32 [INFO] [stdout] | [INFO] [stdout] 273 | ... if (prev.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 273 - if (prev.is_empty()) { [INFO] [stdout] 273 + if prev.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/roll/mod.rs:286:16 [INFO] [stdout] | [INFO] [stdout] 286 | if (prev.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 286 - if (prev.is_empty()) { [INFO] [stdout] 286 + if prev.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/roll/mod.rs:300:16 [INFO] [stdout] | [INFO] [stdout] 300 | if (prev.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 300 - if (prev.is_empty()) { [INFO] [stdout] 300 + if prev.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/roll/mod.rs:311:20 [INFO] [stdout] | [INFO] [stdout] 311 | if (prev.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 311 - if (prev.is_empty()) { [INFO] [stdout] 311 + if prev.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/roll/mod.rs:346:8 [INFO] [stdout] | [INFO] [stdout] 346 | if (!external_bonuses.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 346 - if (!external_bonuses.is_empty()) { [INFO] [stdout] 346 + if !external_bonuses.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/roll/mod.rs:448:20 [INFO] [stdout] | [INFO] [stdout] 448 | if (is_matching) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 448 - if (is_matching) { [INFO] [stdout] 448 + if is_matching { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::feature_path::FeaturePath` [INFO] [stdout] --> src/core/slot.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::core::feature_path::FeaturePath; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Element`, `Length` [INFO] [stdout] --> src/core/slot.rs:2:36 [INFO] [stdout] | [INFO] [stdout] 2 | use iced::{button, Button, Column, Element, Length, Row, Text}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/slot.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | if (slot.max == Some(slot.current)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 51 - if (slot.max == Some(slot.current)) { [INFO] [stdout] 51 + if slot.max == Some(slot.current) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/character/class.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | if (self.classes.len() > 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 24 - if (self.classes.len() > 1) { [INFO] [stdout] 24 + if self.classes.len() > 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Element`, `HorizontalAlignment`, `VerticalAlignment` [INFO] [stdout] --> src/character/description.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use iced::{Column, Element, HorizontalAlignment, Length, Row, Text, VerticalAlignment}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FeatureState` [INFO] [stdout] --> src/character/persistence.rs:8:37 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::core::feature::{Feature, FeatureState, FeaturesState}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/character/proficiencies.rs:76:23 [INFO] [stdout] | [INFO] [stdout] 76 | let text = if (proficiencies.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 76 - let text = if (proficiencies.is_empty()) { [INFO] [stdout] 76 + let text = if proficiencies.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Dice`, `Roll` [INFO] [stdout] --> src/core/ability_score.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::core::roll::{Dice, Roll}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::format_modifier` [INFO] [stdout] --> src/core/ability_score.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::util::format_modifier; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Element` [INFO] [stdout] --> src/core/ability_score.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use iced::{Column, Element, HorizontalAlignment, Length, Row, Text, VerticalAlignment}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Dice` [INFO] [stdout] --> src/core/effect.rs:2:25 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::core::roll::{Dice, RollBonus, RollScope}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HorizontalAlignment`, `Length`, `VerticalAlignment` [INFO] [stdout] --> src/core/effect.rs:4:29 [INFO] [stdout] | [INFO] [stdout] 4 | use iced::{Column, Element, HorizontalAlignment, Length, Row, Text, VerticalAlignment}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `EffectState` [INFO] [stdout] --> src/core/feature.rs:4:35 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::core::effect::{Effect, EffectState, EffectsState}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RollScope` [INFO] [stdout] --> src/core/feature.rs:6:31 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::core::roll::{Roll, RollScope, RollState}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Button`, `button` [INFO] [stdout] --> src/core/feature.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | use iced::{button, Button, Column, Element, Length, Row, Text}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::export::Formatter` [INFO] [stdout] --> src/core/feature.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use serde::export::Formatter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/core/feature.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Display` [INFO] [stdout] --> src/core/feature.rs:14:23 [INFO] [stdout] | [INFO] [stdout] 14 | use std::fmt::{Debug, Display}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/feature.rs:246:20 [INFO] [stdout] | [INFO] [stdout] 246 | if (matches) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 246 - if (matches) { [INFO] [stdout] 246 + if matches { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/feature.rs:383:16 [INFO] [stdout] | [INFO] [stdout] 383 | if (!apply_to_children.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 383 - if (!apply_to_children.is_empty()) { [INFO] [stdout] 383 + if !apply_to_children.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/feature.rs:509:12 [INFO] [stdout] | [INFO] [stdout] 509 | if (!rolls_state.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 509 - if (!rolls_state.is_empty()) { [INFO] [stdout] 509 + if !rolls_state.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::feature_path::FeaturePath` [INFO] [stdout] --> src/core/feature.rs:570:9 [INFO] [stdout] | [INFO] [stdout] 570 | use crate::core::feature_path::FeaturePath; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/feature_path.rs:40:20 [INFO] [stdout] | [INFO] [stdout] 40 | if (feature == head) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 40 - if (feature == head) { [INFO] [stdout] 40 + if feature == head { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Class` [INFO] [stdout] --> src/core/roll/mod.rs:1:31 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::character::class::{Class, Classes}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ModifiedAbilityScores` [INFO] [stdout] --> src/core/roll/mod.rs:2:58 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::core::ability_score::{Ability, AbilityScores, ModifiedAbilityScores}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Element` [INFO] [stdout] --> src/core/roll/mod.rs:8:20 [INFO] [stdout] | [INFO] [stdout] 8 | use iced::{Column, Element, Length, Row, Text}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Roll` [INFO] [stdout] --> src/core/roll/rollable.rs:2:31 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::core::roll::{Dice, Roll}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/roll/mod.rs:212:20 [INFO] [stdout] | [INFO] [stdout] 212 | if (matches) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 212 - if (matches) { [INFO] [stdout] 212 + if matches { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/roll/mod.rs:273:32 [INFO] [stdout] | [INFO] [stdout] 273 | ... if (prev.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 273 - if (prev.is_empty()) { [INFO] [stdout] 273 + if prev.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/roll/mod.rs:286:16 [INFO] [stdout] | [INFO] [stdout] 286 | if (prev.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 286 - if (prev.is_empty()) { [INFO] [stdout] 286 + if prev.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/roll/mod.rs:300:16 [INFO] [stdout] | [INFO] [stdout] 300 | if (prev.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 300 - if (prev.is_empty()) { [INFO] [stdout] 300 + if prev.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/roll/mod.rs:311:20 [INFO] [stdout] | [INFO] [stdout] 311 | if (prev.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 311 - if (prev.is_empty()) { [INFO] [stdout] 311 + if prev.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/roll/mod.rs:346:8 [INFO] [stdout] | [INFO] [stdout] 346 | if (!external_bonuses.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 346 - if (!external_bonuses.is_empty()) { [INFO] [stdout] 346 + if !external_bonuses.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/roll/mod.rs:448:20 [INFO] [stdout] | [INFO] [stdout] 448 | if (is_matching) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 448 - if (is_matching) { [INFO] [stdout] 448 + if is_matching { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::feature_path::FeaturePath` [INFO] [stdout] --> src/core/slot.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::core::feature_path::FeaturePath; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Element`, `Length` [INFO] [stdout] --> src/core/slot.rs:2:36 [INFO] [stdout] | [INFO] [stdout] 2 | use iced::{button, Button, Column, Element, Length, Row, Text}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/slot.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | if (slot.max == Some(slot.current)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 51 - if (slot.max == Some(slot.current)) { [INFO] [stdout] 51 + if slot.max == Some(slot.current) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `iced::futures::StreamExt` [INFO] [stdout] --> src/core/feature.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use iced::futures::StreamExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FromSlotCommand` [INFO] [stdout] --> src/core/feature.rs:7:25 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::core::slot::{FromSlotCommand, Slot, SlotCommand, SlotState}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/character/mod.rs:87:31 [INFO] [stdout] | [INFO] [stdout] 87 | Character::Loaded(state) => "Character".to_string(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> src/character/mod.rs:148:17 [INFO] [stdout] | [INFO] [stdout] 148 | config, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `config: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `resources` [INFO] [stdout] --> src/character/mod.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | resources, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `resources: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `saving` [INFO] [stdout] --> src/character/mod.rs:157:17 [INFO] [stdout] | [INFO] [stdout] 157 | saving, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `saving: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dirty` [INFO] [stdout] --> src/character/mod.rs:158:17 [INFO] [stdout] | [INFO] [stdout] 158 | dirty, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `dirty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/core/feature.rs:102:26 [INFO] [stdout] | [INFO] [stdout] 102 | .filter(|n| !name.is_empty()) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `effects_state` [INFO] [stdout] --> src/core/feature.rs:264:13 [INFO] [stdout] | [INFO] [stdout] 264 | effects_state, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try ignoring the field: `effects_state: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rolls_state` [INFO] [stdout] --> src/core/feature.rs:265:13 [INFO] [stdout] | [INFO] [stdout] 265 | rolls_state, [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `rolls_state: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `overlayed_feature` [INFO] [stdout] --> src/core/feature.rs:266:13 [INFO] [stdout] | [INFO] [stdout] 266 | overlayed_feature, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try ignoring the field: `overlayed_feature: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/core/feature.rs:379:33 [INFO] [stdout] | [INFO] [stdout] 379 | .filter(|(path, f)| path.include_children()) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `feature` [INFO] [stdout] --> src/core/feature.rs:385:21 [INFO] [stdout] | [INFO] [stdout] 385 | feature, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `feature: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `overlayed_feature` [INFO] [stdout] --> src/core/feature.rs:386:21 [INFO] [stdout] | [INFO] [stdout] 386 | overlayed_feature, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try ignoring the field: `overlayed_feature: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slot_state` [INFO] [stdout] --> src/core/feature.rs:387:21 [INFO] [stdout] | [INFO] [stdout] 387 | slot_state, [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `slot_state: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `effects_state` [INFO] [stdout] --> src/core/feature.rs:389:21 [INFO] [stdout] | [INFO] [stdout] 389 | effects_state, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try ignoring the field: `effects_state: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rolls_state` [INFO] [stdout] --> src/core/feature.rs:390:21 [INFO] [stdout] | [INFO] [stdout] 390 | rolls_state, [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `rolls_state: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `overlayed_feature` [INFO] [stdout] --> src/core/feature.rs:409:13 [INFO] [stdout] | [INFO] [stdout] 409 | overlayed_feature, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try ignoring the field: `overlayed_feature: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slot_state` [INFO] [stdout] --> src/core/feature.rs:410:13 [INFO] [stdout] | [INFO] [stdout] 410 | slot_state, [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `slot_state: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `effects_state` [INFO] [stdout] --> src/core/feature.rs:412:13 [INFO] [stdout] | [INFO] [stdout] 412 | effects_state, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try ignoring the field: `effects_state: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rolls_state` [INFO] [stdout] --> src/core/feature.rs:413:13 [INFO] [stdout] | [INFO] [stdout] 413 | rolls_state, [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `rolls_state: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remaining` [INFO] [stdout] --> src/core/feature.rs:437:21 [INFO] [stdout] | [INFO] [stdout] 437 | (false, remaining) => false, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `overlayed_feature` [INFO] [stdout] --> src/core/feature.rs:454:13 [INFO] [stdout] | [INFO] [stdout] 454 | overlayed_feature, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try ignoring the field: `overlayed_feature: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slot` [INFO] [stdout] --> src/core/feature.rs:477:13 [INFO] [stdout] | [INFO] [stdout] 477 | slot, [INFO] [stdout] | ^^^^ help: try ignoring the field: `slot: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `children` [INFO] [stdout] --> src/core/feature.rs:478:13 [INFO] [stdout] | [INFO] [stdout] 478 | children, [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `children: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `show_reset_chidren` [INFO] [stdout] --> src/core/feature.rs:479:13 [INFO] [stdout] | [INFO] [stdout] 479 | show_reset_chidren, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `show_reset_chidren: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `effects` [INFO] [stdout] --> src/core/feature.rs:481:13 [INFO] [stdout] | [INFO] [stdout] 481 | effects, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `effects: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rolls` [INFO] [stdout] --> src/core/feature.rs:482:13 [INFO] [stdout] | [INFO] [stdout] 482 | rolls, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `rolls: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `templates` [INFO] [stdout] --> src/core/feature.rs:483:13 [INFO] [stdout] | [INFO] [stdout] 483 | templates, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `templates: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/core/roll/mod.rs:335:9 [INFO] [stdout] | [INFO] [stdout] 335 | name, [INFO] [stdout] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tags` [INFO] [stdout] --> src/core/roll/mod.rs:336:9 [INFO] [stdout] | [INFO] [stdout] 336 | tags, [INFO] [stdout] | ^^^^ help: try ignoring the field: `tags: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/core/roll/mod.rs:338:9 [INFO] [stdout] | [INFO] [stdout] 338 | range, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `range: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/core/roll/mod.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | name, [INFO] [stdout] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dice` [INFO] [stdout] --> src/core/roll/mod.rs:405:21 [INFO] [stdout] | [INFO] [stdout] 405 | dice, [INFO] [stdout] | ^^^^ help: try ignoring the field: `dice: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bonuses` [INFO] [stdout] --> src/core/roll/mod.rs:406:21 [INFO] [stdout] | [INFO] [stdout] 406 | bonuses, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `bonuses: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sub_path` [INFO] [stdout] --> src/core/roll/mod.rs:422:36 [INFO] [stdout] | [INFO] [stdout] 422 | let (path_matches, sub_path) = match path { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tags` [INFO] [stdout] --> src/core/roll/mod.rs:473:13 [INFO] [stdout] | [INFO] [stdout] 473 | tags, [INFO] [stdout] | ^^^^ help: try ignoring the field: `tags: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dice` [INFO] [stdout] --> src/core/roll/mod.rs:476:13 [INFO] [stdout] | [INFO] [stdout] 476 | dice, [INFO] [stdout] | ^^^^ help: try ignoring the field: `dice: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bonuses` [INFO] [stdout] --> src/core/roll/mod.rs:477:13 [INFO] [stdout] | [INFO] [stdout] 477 | bonuses, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `bonuses: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `control` [INFO] [stdout] --> src/core/slot.rs:32:25 [INFO] [stdout] | [INFO] [stdout] 32 | let SlotState { control, slot } = self; [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `control: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `control` [INFO] [stdout] --> src/core/slot.rs:44:25 [INFO] [stdout] | [INFO] [stdout] 44 | let SlotState { control, slot } = self; [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `control: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `control` [INFO] [stdout] --> src/core/slot.rs:50:25 [INFO] [stdout] | [INFO] [stdout] 50 | let SlotState { control, slot } = self; [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `control: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reset_all` [INFO] [stdout] --> src/core/slot.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | reset_all, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `reset_all: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/character/description.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | let mut column_1 = Column::new() [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: unused import: `iced::futures::StreamExt` [INFO] [stdout] --> src/core/feature.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use iced::futures::StreamExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FromSlotCommand` [INFO] [stdout] --> src/core/feature.rs:7:25 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::core::slot::{FromSlotCommand, Slot, SlotCommand, SlotState}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/character/mod.rs:115:29 [INFO] [stdout] | [INFO] [stdout] 115 | let mut active_effects = state.features.effects(); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/character/mod.rs:87:31 [INFO] [stdout] | [INFO] [stdout] 87 | Character::Loaded(state) => "Character".to_string(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> src/character/mod.rs:148:17 [INFO] [stdout] | [INFO] [stdout] 148 | config, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `config: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `resources` [INFO] [stdout] --> src/character/mod.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | resources, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `resources: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `saving` [INFO] [stdout] --> src/character/mod.rs:157:17 [INFO] [stdout] | [INFO] [stdout] 157 | saving, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `saving: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dirty` [INFO] [stdout] --> src/character/mod.rs:158:17 [INFO] [stdout] | [INFO] [stdout] 158 | dirty, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `dirty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/core/feature.rs:102:26 [INFO] [stdout] | [INFO] [stdout] 102 | .filter(|n| !name.is_empty()) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `effects_state` [INFO] [stdout] --> src/core/feature.rs:264:13 [INFO] [stdout] | [INFO] [stdout] 264 | effects_state, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try ignoring the field: `effects_state: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rolls_state` [INFO] [stdout] --> src/core/feature.rs:265:13 [INFO] [stdout] | [INFO] [stdout] 265 | rolls_state, [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `rolls_state: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `overlayed_feature` [INFO] [stdout] --> src/core/feature.rs:266:13 [INFO] [stdout] | [INFO] [stdout] 266 | overlayed_feature, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try ignoring the field: `overlayed_feature: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/core/feature.rs:379:33 [INFO] [stdout] | [INFO] [stdout] 379 | .filter(|(path, f)| path.include_children()) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `feature` [INFO] [stdout] --> src/core/feature.rs:385:21 [INFO] [stdout] | [INFO] [stdout] 385 | feature, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `feature: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `overlayed_feature` [INFO] [stdout] --> src/core/feature.rs:386:21 [INFO] [stdout] | [INFO] [stdout] 386 | overlayed_feature, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try ignoring the field: `overlayed_feature: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slot_state` [INFO] [stdout] --> src/core/feature.rs:387:21 [INFO] [stdout] | [INFO] [stdout] 387 | slot_state, [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `slot_state: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `effects_state` [INFO] [stdout] --> src/core/feature.rs:389:21 [INFO] [stdout] | [INFO] [stdout] 389 | effects_state, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try ignoring the field: `effects_state: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rolls_state` [INFO] [stdout] --> src/core/feature.rs:390:21 [INFO] [stdout] | [INFO] [stdout] 390 | rolls_state, [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `rolls_state: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `overlayed_feature` [INFO] [stdout] --> src/core/feature.rs:409:13 [INFO] [stdout] | [INFO] [stdout] 409 | overlayed_feature, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try ignoring the field: `overlayed_feature: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slot_state` [INFO] [stdout] --> src/core/feature.rs:410:13 [INFO] [stdout] | [INFO] [stdout] 410 | slot_state, [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `slot_state: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `effects_state` [INFO] [stdout] --> src/core/feature.rs:412:13 [INFO] [stdout] | [INFO] [stdout] 412 | effects_state, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try ignoring the field: `effects_state: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rolls_state` [INFO] [stdout] --> src/core/feature.rs:413:13 [INFO] [stdout] | [INFO] [stdout] 413 | rolls_state, [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `rolls_state: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remaining` [INFO] [stdout] --> src/core/feature.rs:437:21 [INFO] [stdout] | [INFO] [stdout] 437 | (false, remaining) => false, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remaining` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `overlayed_feature` [INFO] [stdout] --> src/core/feature.rs:454:13 [INFO] [stdout] | [INFO] [stdout] 454 | overlayed_feature, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try ignoring the field: `overlayed_feature: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slot` [INFO] [stdout] --> src/core/feature.rs:477:13 [INFO] [stdout] | [INFO] [stdout] 477 | slot, [INFO] [stdout] | ^^^^ help: try ignoring the field: `slot: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `children` [INFO] [stdout] --> src/core/feature.rs:478:13 [INFO] [stdout] | [INFO] [stdout] 478 | children, [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `children: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `show_reset_chidren` [INFO] [stdout] --> src/core/feature.rs:479:13 [INFO] [stdout] | [INFO] [stdout] 479 | show_reset_chidren, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `show_reset_chidren: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `effects` [INFO] [stdout] --> src/core/feature.rs:481:13 [INFO] [stdout] | [INFO] [stdout] 481 | effects, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `effects: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rolls` [INFO] [stdout] --> src/core/feature.rs:482:13 [INFO] [stdout] | [INFO] [stdout] 482 | rolls, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `rolls: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `templates` [INFO] [stdout] --> src/core/feature.rs:483:13 [INFO] [stdout] | [INFO] [stdout] 483 | templates, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `templates: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/core/roll/mod.rs:335:9 [INFO] [stdout] | [INFO] [stdout] 335 | name, [INFO] [stdout] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tags` [INFO] [stdout] --> src/core/roll/mod.rs:336:9 [INFO] [stdout] | [INFO] [stdout] 336 | tags, [INFO] [stdout] | ^^^^ help: try ignoring the field: `tags: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/core/roll/mod.rs:338:9 [INFO] [stdout] | [INFO] [stdout] 338 | range, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `range: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/core/roll/mod.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | name, [INFO] [stdout] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dice` [INFO] [stdout] --> src/core/roll/mod.rs:405:21 [INFO] [stdout] | [INFO] [stdout] 405 | dice, [INFO] [stdout] | ^^^^ help: try ignoring the field: `dice: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bonuses` [INFO] [stdout] --> src/core/roll/mod.rs:406:21 [INFO] [stdout] | [INFO] [stdout] 406 | bonuses, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `bonuses: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sub_path` [INFO] [stdout] --> src/core/roll/mod.rs:422:36 [INFO] [stdout] | [INFO] [stdout] 422 | let (path_matches, sub_path) = match path { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tags` [INFO] [stdout] --> src/core/roll/mod.rs:473:13 [INFO] [stdout] | [INFO] [stdout] 473 | tags, [INFO] [stdout] | ^^^^ help: try ignoring the field: `tags: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dice` [INFO] [stdout] --> src/core/roll/mod.rs:476:13 [INFO] [stdout] | [INFO] [stdout] 476 | dice, [INFO] [stdout] | ^^^^ help: try ignoring the field: `dice: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bonuses` [INFO] [stdout] --> src/core/roll/mod.rs:477:13 [INFO] [stdout] | [INFO] [stdout] 477 | bonuses, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `bonuses: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `control` [INFO] [stdout] --> src/core/slot.rs:32:25 [INFO] [stdout] | [INFO] [stdout] 32 | let SlotState { control, slot } = self; [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `control: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `control` [INFO] [stdout] --> src/core/slot.rs:44:25 [INFO] [stdout] | [INFO] [stdout] 44 | let SlotState { control, slot } = self; [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `control: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `control` [INFO] [stdout] --> src/core/slot.rs:50:25 [INFO] [stdout] | [INFO] [stdout] 50 | let SlotState { control, slot } = self; [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `control: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reset_all` [INFO] [stdout] --> src/core/slot.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | reset_all, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `reset_all: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/character/description.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | let mut column_1 = Column::new() [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/core/feature.rs:416:13 [INFO] [stdout] | [INFO] [stdout] 416 | let mut path = path.clone(); [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/character/mod.rs:115:29 [INFO] [stdout] | [INFO] [stdout] 115 | let mut active_effects = state.features.effects(); [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/core/roll/mod.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | let mut tags = self.tags.clone(); [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/core/roll/mod.rs:343:9 [INFO] [stdout] | [INFO] [stdout] 343 | let mut dice = dice.clone(); [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/core/roll/mod.rs:512:13 [INFO] [stdout] | [INFO] [stdout] 512 | let mut column = Column::new().push(row); [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/core/feature.rs:416:13 [INFO] [stdout] | [INFO] [stdout] 416 | let mut path = path.clone(); [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/core/roll/mod.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | let mut tags = self.tags.clone(); [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/core/roll/mod.rs:343:9 [INFO] [stdout] | [INFO] [stdout] 343 | let mut dice = dice.clone(); [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/core/roll/mod.rs:512:13 [INFO] [stdout] | [INFO] [stdout] 512 | let mut column = Column::new().push(row); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/character/class.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn new(name: String, level: isize) -> Class { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `modifier_for_bonus` is never used [INFO] [stdout] --> src/character/proficiencies.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn modifier_for_bonus(&self, class_proficiency_bonus: isize) -> isize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `modifier` is never used [INFO] [stdout] --> src/character/proficiencies.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn modifier(&self, class: Classes) -> isize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `name` is never used [INFO] [stdout] --> src/character/proficiencies.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn name(&self) -> String { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `proficiency_type` is never used [INFO] [stdout] --> src/character/proficiencies.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn proficiency_type(&self) -> ProficiencyType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/core/ability_score.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn default() -> AbilityScores { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with` is never used [INFO] [stdout] --> src/core/ability_score.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn with(&self, ability: Ability, score: AbilityScore) -> AbilityScores { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get` is never used [INFO] [stdout] --> src/core/ability_score.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn get(&self, ability: Ability) -> ModifiedAbilityScore { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `roll` is never used [INFO] [stdout] --> src/core/ability_score.rs:283:12 [INFO] [stdout] | [INFO] [stdout] 283 | pub fn roll(&self) -> Rollable { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `score` is never used [INFO] [stdout] --> src/core/ability_score.rs:286:12 [INFO] [stdout] | [INFO] [stdout] 286 | pub fn score(&self) -> AbilityScore { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `persistable` is never used [INFO] [stdout] --> src/core/effect.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn persistable(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `persistable` is never used [INFO] [stdout] --> src/core/effect.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn persistable(&self) -> Effect { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `is_empty` is never used [INFO] [stdout] --> src/core/feature.rs:154:12 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `apply` is never used [INFO] [stdout] --> src/core/feature.rs:403:8 [INFO] [stdout] | [INFO] [stdout] 403 | fn apply(&mut self, path: &FeaturePath, f: &F) -> IsDirty [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `of` is never used [INFO] [stdout] --> src/core/feature_path.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn of(path: Vec) -> FeaturePath { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_include_children` is never used [INFO] [stdout] --> src/core/feature_path.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn with_include_children(&self, include: bool) -> FeaturePath { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/core/roll/mod.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new(count: isize, sides: isize) -> Dice { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `name` is never used [INFO] [stdout] --> src/core/roll/mod.rs:138:12 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn name(&mut self, name: String) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `ability` is never used [INFO] [stdout] --> src/core/roll/mod.rs:142:12 [INFO] [stdout] | [INFO] [stdout] 142 | pub fn ability(&mut self, ability: Ability) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `dice` is never used [INFO] [stdout] --> src/core/roll/mod.rs:145:12 [INFO] [stdout] | [INFO] [stdout] 145 | pub fn dice(&mut self, dice: Vec) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `tags` is never used [INFO] [stdout] --> src/core/roll/mod.rs:149:12 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn tags(&mut self, tags: HashMap>) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `name` is never used [INFO] [stdout] --> src/core/roll/mod.rs:220:12 [INFO] [stdout] | [INFO] [stdout] 220 | pub fn name(&mut self, name: String) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `ability` is never used [INFO] [stdout] --> src/core/roll/mod.rs:224:12 [INFO] [stdout] | [INFO] [stdout] 224 | pub fn ability(&mut self, ability: Ability) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `path` is never used [INFO] [stdout] --> src/core/roll/mod.rs:228:12 [INFO] [stdout] | [INFO] [stdout] 228 | pub fn path(&mut self, path: FeaturePath) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `tag` is never used [INFO] [stdout] --> src/core/roll/mod.rs:232:12 [INFO] [stdout] | [INFO] [stdout] 232 | pub fn tag(&mut self, tag: String, value: Vec) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `tags` is never used [INFO] [stdout] --> src/core/roll/mod.rs:247:12 [INFO] [stdout] | [INFO] [stdout] 247 | pub fn tags(&mut self, tags: HashMap>) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `persistable` is never used [INFO] [stdout] --> src/core/roll/mod.rs:383:12 [INFO] [stdout] | [INFO] [stdout] 383 | pub fn persistable(&self) -> Roll { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/core/slot.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(current: isize, max: Option) -> Slot { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/dimensions.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(lbs: isize, oz: isize) -> Weight { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from` is never used [INFO] [stdout] --> src/resources/persistence.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn from(templates: Templates) -> ResourcePersistence { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/resources/template.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(features: HashMap) -> Templates { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `two_element_row` is never used [INFO] [stdout] --> src/util.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn two_element_row<'a, T: Debug + Clone + 'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `three_column_row` is never used [INFO] [stdout] --> src/util.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn three_column_row<'a>(left: Text, middle: Text, right: Text) -> Row<'a, Message> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `three_element_row` is never used [INFO] [stdout] --> src/util.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn three_element_row<'a, T: Debug + Clone + 'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `isNoneOr` should have a snake case name [INFO] [stdout] --> src/core/roll/mod.rs:154:4 [INFO] [stdout] | [INFO] [stdout] 154 | fn isNoneOr<'a, 'b, T>(option: &'a Option, compare_to: &'b T) -> bool [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `is_none_or` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `isNoneOrOpt` should have a snake case name [INFO] [stdout] --> src/core/roll/mod.rs:164:4 [INFO] [stdout] | [INFO] [stdout] 164 | fn isNoneOrOpt<'a, 'b, T>(option: &'a Option, compare_to: &'b Option) -> bool [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `is_none_or_opt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 118 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/character/class.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn new(name: String, level: isize) -> Class { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `modifier_for_bonus` is never used [INFO] [stdout] --> src/character/proficiencies.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn modifier_for_bonus(&self, class_proficiency_bonus: isize) -> isize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `modifier` is never used [INFO] [stdout] --> src/character/proficiencies.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn modifier(&self, class: Classes) -> isize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `name` is never used [INFO] [stdout] --> src/character/proficiencies.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn name(&self) -> String { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `proficiency_type` is never used [INFO] [stdout] --> src/character/proficiencies.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn proficiency_type(&self) -> ProficiencyType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/core/ability_score.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn default() -> AbilityScores { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with` is never used [INFO] [stdout] --> src/core/ability_score.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn with(&self, ability: Ability, score: AbilityScore) -> AbilityScores { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get` is never used [INFO] [stdout] --> src/core/ability_score.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn get(&self, ability: Ability) -> ModifiedAbilityScore { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `roll` is never used [INFO] [stdout] --> src/core/ability_score.rs:283:12 [INFO] [stdout] | [INFO] [stdout] 283 | pub fn roll(&self) -> Rollable { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `score` is never used [INFO] [stdout] --> src/core/ability_score.rs:286:12 [INFO] [stdout] | [INFO] [stdout] 286 | pub fn score(&self) -> AbilityScore { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `persistable` is never used [INFO] [stdout] --> src/core/effect.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn persistable(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `persistable` is never used [INFO] [stdout] --> src/core/effect.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn persistable(&self) -> Effect { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `is_empty` is never used [INFO] [stdout] --> src/core/feature.rs:154:12 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `apply` is never used [INFO] [stdout] --> src/core/feature.rs:403:8 [INFO] [stdout] | [INFO] [stdout] 403 | fn apply(&mut self, path: &FeaturePath, f: &F) -> IsDirty [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `emptyFeature` is never used [INFO] [stdout] --> src/core/feature.rs:575:8 [INFO] [stdout] | [INFO] [stdout] 575 | fn emptyFeature() -> Feature { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `of` is never used [INFO] [stdout] --> src/core/feature_path.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn of(path: Vec) -> FeaturePath { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_include_children` is never used [INFO] [stdout] --> src/core/feature_path.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn with_include_children(&self, include: bool) -> FeaturePath { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `path` is never used [INFO] [stdout] --> src/core/roll/mod.rs:228:12 [INFO] [stdout] | [INFO] [stdout] 228 | pub fn path(&mut self, path: FeaturePath) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `persistable` is never used [INFO] [stdout] --> src/core/roll/mod.rs:383:12 [INFO] [stdout] | [INFO] [stdout] 383 | pub fn persistable(&self) -> Roll { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/core/slot.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(current: isize, max: Option) -> Slot { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/dimensions.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn new(lbs: isize, oz: isize) -> Weight { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from` is never used [INFO] [stdout] --> src/resources/persistence.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn from(templates: Templates) -> ResourcePersistence { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/resources/template.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(features: HashMap) -> Templates { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `two_element_row` is never used [INFO] [stdout] --> src/util.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn two_element_row<'a, T: Debug + Clone + 'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `three_column_row` is never used [INFO] [stdout] --> src/util.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn three_column_row<'a>(left: Text, middle: Text, right: Text) -> Row<'a, Message> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `three_element_row` is never used [INFO] [stdout] --> src/util.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn three_element_row<'a, T: Debug + Clone + 'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `emptyFeature` should have a snake case name [INFO] [stdout] --> src/core/feature.rs:575:8 [INFO] [stdout] | [INFO] [stdout] 575 | fn emptyFeature() -> Feature { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `empty_feature` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `skillProficiencies` should have a snake case name [INFO] [stdout] --> src/core/feature.rs:727:13 [INFO] [stdout] | [INFO] [stdout] 727 | let skillProficiencies = skills [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `skill_proficiencies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `isNoneOr` should have a snake case name [INFO] [stdout] --> src/core/roll/mod.rs:154:4 [INFO] [stdout] | [INFO] [stdout] 154 | fn isNoneOr<'a, 'b, T>(option: &'a Option, compare_to: &'b T) -> bool [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `is_none_or` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `isNoneOrOpt` should have a snake case name [INFO] [stdout] --> src/core/roll/mod.rs:164:4 [INFO] [stdout] | [INFO] [stdout] 164 | fn isNoneOrOpt<'a, 'b, T>(option: &'a Option, compare_to: &'b Option) -> bool [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `is_none_or_opt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/store.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | std::fs::remove_dir_all(test_directory); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 114 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 14s [ERROR] error running command: no output for 300 seconds [INFO] running `Command { std: "docker" "inspect" "7ecdac8aef85161f43ab66479db2ff9134ab788e721ef19ce2d05187d2dfa894", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7ecdac8aef85161f43ab66479db2ff9134ab788e721ef19ce2d05187d2dfa894", kill_on_drop: false }` [INFO] [stdout] 7ecdac8aef85161f43ab66479db2ff9134ab788e721ef19ce2d05187d2dfa894