[INFO] cloning repository https://github.com/jillpls/congen
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jillpls/congen" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjillpls%2Fcongen", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjillpls%2Fcongen'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b2c78d0895dfe0ecd63e15f2208c78918f918dfe
[INFO] checking jillpls/congen against try#24e1a22664233bce1f9b5dc6eee7c1f74327e28c for pr-159343
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjillpls%2Fcongen" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc2/source/rust-toolchain
[INFO] started tweaking git repo https://github.com/jillpls/congen
[INFO] finished tweaking git repo https://github.com/jillpls/congen
[INFO] tweaked toml for git repo https://github.com/jillpls/congen written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jillpls/congen on toolchain 24e1a22664233bce1f9b5dc6eee7c1f74327e28c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jillpls/congen 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" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 3ec57e1868e023a4b1f2f337d3b5c3b0eb87b0a6afb642189071fb15244a8ef0
[INFO] running `Command { std: "docker" "start" "3ec57e1868e023a4b1f2f337d3b5c3b0eb87b0a6afb642189071fb15244a8ef0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3ec57e1868e023a4b1f2f337d3b5c3b0eb87b0a6afb642189071fb15244a8ef0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3ec57e1868e023a4b1f2f337d3b5c3b0eb87b0a6afb642189071fb15244a8ef0" "/opt/rustwide/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3ec57e1868e023a4b1f2f337d3b5c3b0eb87b0a6afb642189071fb15244a8ef0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3ec57e1868e023a4b1f2f337d3b5c3b0eb87b0a6afb642189071fb15244a8ef0" "/opt/rustwide/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.89
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling serde v1.0.214
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling libc v0.2.162
[INFO] [stderr]     Checking pin-project-lite v0.2.15
[INFO] [stderr]    Compiling rustix v0.38.39
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling hashbrown v0.15.1
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]    Compiling winnow v0.6.20
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]     Checking libloading v0.8.5
[INFO] [stderr]     Checking parking v2.2.1
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]    Compiling indexmap v2.6.0
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling cc v1.1.37
[INFO] [stderr]     Checking fastrand v2.2.0
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]     Checking scoped-tls v1.0.1
[INFO] [stderr]     Checking event-listener v5.3.1
[INFO] [stderr]    Compiling quick-xml v0.36.2
[INFO] [stderr]    Compiling endi v1.1.0
[INFO] [stderr]     Checking futures-lite v2.5.0
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling wayland-client v0.31.7
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking event-listener-strategy v0.5.2
[INFO] [stderr]     Checking async-task v4.7.1
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking async-lock v3.4.0
[INFO] [stderr]     Checking piper v0.2.4
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]     Checking async-channel v2.3.1
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]     Checking blocking v1.6.1
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking litemap v0.7.3
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking writeable v0.5.5
[INFO] [stderr]     Checking cpufeatures v0.2.14
[INFO] [stderr]     Checking async-executor v1.13.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking xdg-home v1.3.0
[INFO] [stderr]     Checking async-fs v2.1.2
[INFO] [stderr]     Checking async-broadcast v0.7.1
[INFO] [stderr]    Compiling wayland-sys v0.31.5
[INFO] [stderr]     Checking ordered-stream v0.2.0
[INFO] [stderr]    Compiling xml-rs v0.8.23
[INFO] [stderr]     Checking ttf-parser v0.25.0
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.8
[INFO] [stderr]     Checking icu_locid_transform_data v1.5.0
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.97
[INFO] [stderr]    Compiling smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking nohash-hasher v0.2.0
[INFO] [stderr]     Checking xkeysym v0.2.1
[INFO] [stderr]     Checking cursor-icon v1.1.0
[INFO] [stderr]     Checking epaint_default_fonts v0.29.1
[INFO] [stderr]     Checking xcursor v0.3.8
[INFO] [stderr]    Compiling toml_edit v0.22.22
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]     Checking icu_properties_data v1.5.0
[INFO] [stderr]     Checking memmap2 v0.9.5
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking as-raw-xcb-connection v1.0.1
[INFO] [stderr]     Checking utf16_iter v1.0.5
[INFO] [stderr]     Checking x11rb-protocol v0.13.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking icu_normalizer_data v1.5.0
[INFO] [stderr]     Checking write16 v1.0.0
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]    Compiling winit v0.30.5
[INFO] [stderr]    Compiling libm v0.2.11
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking immutable-chunkmap v2.0.6
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling bumpalo v3.16.0
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking dpi v0.1.1
[INFO] [stderr]     Checking adler2 v2.0.0
[INFO] [stderr]     Checking miniz_oxide v0.8.0
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling glutin v0.32.1
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]    Compiling wayland-scanner v0.31.5
[INFO] [stderr]    Compiling wasm-bindgen v0.2.97
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]    Compiling unicase v2.8.0
[INFO] [stderr]    Compiling rustversion v1.0.18
[INFO] [stderr]     Checking flate2 v1.0.34
[INFO] [stderr]    Compiling mime_guess2 v2.0.5
[INFO] [stderr]     Checking fdeflate v0.3.6
[INFO] [stderr]    Compiling glutin-winit v0.5.0
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]    Compiling proc-macro-crate v3.2.0
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking home v0.5.9
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]     Checking web-time v1.1.0
[INFO] [stderr]     Checking png v0.17.14
[INFO] [stderr]     Checking regex-automata v0.4.8
[INFO] [stderr]     Checking owned_ttf_parser v0.25.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]     Checking ab_glyph v0.2.29
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking anstyle v1.0.10
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]    Compiling litrs v0.4.1
[INFO] [stderr]    Compiling serde_json v1.0.133
[INFO] [stderr]     Checking glow v0.14.2
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]    Compiling glutin_egl_sys v0.7.0
[INFO] [stderr]    Compiling glutin_glx_sys v0.6.0
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]    Compiling wayland-backend v0.3.7
[INFO] [stderr]    Compiling document-features v0.2.10
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking env_filter v0.1.2
[INFO] [stderr]    Compiling zvariant_utils v2.1.0
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.97
[INFO] [stderr]     Checking env_logger v0.11.5
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.97
[INFO] [stderr]    Compiling serde_derive v1.0.214
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling enumflags2_derive v0.7.10
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling zvariant_derive v4.2.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.4
[INFO] [stderr]    Compiling bytemuck_derive v1.8.0
[INFO] [stderr]    Compiling yoke-derive v0.7.4
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling enumn v0.1.14
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling zbus_macros v4.4.0
[INFO] [stderr]    Compiling async-trait v0.1.83
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling serde_repr v0.1.19
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.97
[INFO] [stderr]    Compiling enum-map-derive v0.17.0
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking js-sys v0.3.74
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking bytemuck v1.19.0
[INFO] [stderr]     Checking image v0.25.5
[INFO] [stderr]     Checking web-sys v0.3.74
[INFO] [stderr]     Checking zerofrom v0.1.4
[INFO] [stderr]     Checking yoke v0.7.4
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking enumflags2 v0.7.10
[INFO] [stderr]     Checking quick-xml v0.30.0
[INFO] [stderr]     Checking accesskit v0.16.3
[INFO] [stderr]     Checking emath v0.29.1
[INFO] [stderr]     Checking enum-map v2.7.3
[INFO] [stderr]     Checking uuid v1.11.0
[INFO] [stderr]     Checking csv v1.3.1
[INFO] [stderr]     Checking zvariant v4.2.0
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking ecolor v0.29.1
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking epaint v0.29.1
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.3
[INFO] [stderr]     Checking accesskit_consumer v0.24.3
[INFO] [stderr]     Checking webbrowser v1.0.2
[INFO] [stderr]     Checking zbus_names v3.0.0
[INFO] [stderr]     Checking egui v0.29.1
[INFO] [stderr]     Checking zbus_xml v4.0.0
[INFO] [stderr]     Checking zbus-lockstep v0.4.4
[INFO] [stderr]     Checking polling v3.7.4
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking async-io v2.4.0
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking zbus v4.4.0
[INFO] [stderr]    Compiling zbus-lockstep-macros v0.4.4
[INFO] [stderr]     Checking arboard v3.4.1
[INFO] [stderr]     Checking wayland-protocols v0.32.5
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking wayland-cursor v0.31.7
[INFO] [stderr]     Checking egui_glow v0.29.1
[INFO] [stderr]     Checking egui_file v0.19.0
[INFO] [stderr]     Checking egui-dropdown v0.11.0
[INFO] [stderr]     Checking egui_extras v0.29.1
[INFO] [stderr]     Checking atspi-common v0.6.0
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.5
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.5
[INFO] [stderr]     Checking smithay-clipboard v0.7.2
[INFO] [stderr]     Checking atspi-proxies v0.6.0
[INFO] [stderr]     Checking accesskit_atspi_common v0.9.3
[INFO] [stderr]     Checking atspi-connection v0.6.0
[INFO] [stderr]     Checking atspi v0.22.0
[INFO] [stderr]     Checking accesskit_unix v0.12.3
[INFO] [stderr]     Checking accesskit_winit v0.22.4
[INFO] [stderr]     Checking egui-winit v0.29.1
[INFO] [stderr]     Checking eframe v0.29.1
[INFO] [stderr]     Checking congen v0.4.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Categories`
[INFO] [stdout]  --> src/app/ipa.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::app::{Categories, SubApp};
[INFO] [stdout]   |                  ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Consonant` and `Diphtong`
[INFO] [stdout]  --> src/app/ipa.rs:4:41
[INFO] [stdout]   |
[INFO] [stdout] 4 |     cmp_non_pulmonic, parse_consonants, Consonant, Diphtong, Manner, Place, Sound, SoundKind,
[INFO] [stdout]   |                                         ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Order`
[INFO] [stdout]   --> src/app/ipa.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | use egui::{Order, ScrollArea};
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/app/ipa.rs:261:46
[INFO] [stdout]     |
[INFO] [stdout] 261 | ...                   .filter_map(|id| (self.sounds.get(&id).cloned().map(|v| (id, v))))
[INFO] [stdout]     |                                        ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 261 -                             .filter_map(|id| (self.sounds.get(&id).cloned().map(|v| (id, v))))
[INFO] [stdout] 261 +                             .filter_map(|id| self.sounds.get(&id).cloned().map(|v| (id, v)))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Categories`
[INFO] [stdout]  --> src/app/ipa.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::app::{Categories, SubApp};
[INFO] [stdout]   |                  ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hidden lifetime parameters in types are deprecated
[INFO] [stdout]    --> src/app/ipa.rs:529:21
[INFO] [stdout]     |
[INFO] [stdout] 529 |         strip: &mut Strip,
[INFO] [stdout]     |                     ^^^^^ expected lifetime parameters
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:1:22
[INFO] [stdout]     |
[INFO] [stdout]   1 | #![warn(clippy::all, rust_2018_idioms)]
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(elided_lifetimes_in_paths)]` implied by `#[warn(rust_2018_idioms)]`
[INFO] [stdout] help: indicate the anonymous lifetimes
[INFO] [stdout]     |
[INFO] [stdout] 529 |         strip: &mut Strip<'_, '_>,
[INFO] [stdout]     |                          ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Consonant` and `Diphtong`
[INFO] [stdout]  --> src/app/ipa.rs:4:41
[INFO] [stdout]   |
[INFO] [stdout] 4 |     cmp_non_pulmonic, parse_consonants, Consonant, Diphtong, Manner, Place, Sound, SoundKind,
[INFO] [stdout]   |                                         ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Order`
[INFO] [stdout]   --> src/app/ipa.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | use egui::{Order, ScrollArea};
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SoundChangeRule`
[INFO] [stdout]  --> src/app/sound_change.rs:2:51
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::sound_change::{try_parse, SoundChange, SoundChangeRule};
[INFO] [stdout]   |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/app/ipa.rs:261:46
[INFO] [stdout]     |
[INFO] [stdout] 261 | ...                   .filter_map(|id| (self.sounds.get(&id).cloned().map(|v| (id, v))))
[INFO] [stdout]     |                                        ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 261 -                             .filter_map(|id| (self.sounds.get(&id).cloned().map(|v| (id, v))))
[INFO] [stdout] 261 +                             .filter_map(|id| self.sounds.get(&id).cloned().map(|v| (id, v)))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/app/sound_change.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hidden lifetime parameters in types are deprecated
[INFO] [stdout]    --> src/app/ipa.rs:529:21
[INFO] [stdout]     |
[INFO] [stdout] 529 |         strip: &mut Strip,
[INFO] [stdout]     |                     ^^^^^ expected lifetime parameters
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:1:22
[INFO] [stdout]     |
[INFO] [stdout]   1 | #![warn(clippy::all, rust_2018_idioms)]
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(elided_lifetimes_in_paths)]` implied by `#[warn(rust_2018_idioms)]`
[INFO] [stdout] help: indicate the anonymous lifetimes
[INFO] [stdout]     |
[INFO] [stdout] 529 |         strip: &mut Strip<'_, '_>,
[INFO] [stdout]     |                          ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Widget`
[INFO] [stdout]  --> src/app/word_gen/instructions.rs:7:60
[INFO] [stdout]   |
[INFO] [stdout] 7 | use egui::{Color32, CursorIcon, Frame, Margin, Stroke, Ui, Widget};
[INFO] [stdout]   |                                                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/app/word_gen/instructions.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SoundChangeRule`
[INFO] [stdout]  --> src/app/sound_change.rs:2:51
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::sound_change::{try_parse, SoundChange, SoundChangeRule};
[INFO] [stdout]   |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/app/sound_change.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]   --> src/app/word_gen.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | use log::{debug, info};
[INFO] [stdout]    |           ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> src/app/word_gen.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Widget`
[INFO] [stdout]  --> src/app/word_gen/instructions.rs:7:60
[INFO] [stdout]   |
[INFO] [stdout] 7 | use egui::{Color32, CursorIcon, Frame, Margin, Stroke, Ui, Widget};
[INFO] [stdout]   |                                                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/app/word_gen/instructions.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]   --> src/app/word_gen.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | use log::{debug, info};
[INFO] [stdout]    |           ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> src/app/word_gen.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/generation/parse.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/generation/parse.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/app/word_gen/instructions.rs:78:49
[INFO] [stdout]    |
[INFO] [stdout] 78 | ...                   .stroke(Stroke::new(0.5, Color32::DARK_GRAY));
[INFO] [stdout]    |                                           ^^^ help: explicitly specify the type as `f32`: `0.5_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]    = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/app/word_gen/instructions.rs:97:52
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let stroke = egui::Stroke::new(1.0, Color32::WHITE);
[INFO] [stdout]    |                                                    ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/app/word_gen/instructions.rs:78:49
[INFO] [stdout]    |
[INFO] [stdout] 78 | ...                   .stroke(Stroke::new(0.5, Color32::DARK_GRAY));
[INFO] [stdout]    |                                           ^^^ help: explicitly specify the type as `f32`: `0.5_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]    = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/app/word_gen/instructions.rs:97:52
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let stroke = egui::Stroke::new(1.0, Color32::WHITE);
[INFO] [stdout]    |                                                    ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice`
[INFO] [stdout]  --> src/sound_change.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::slice::*;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice`
[INFO] [stdout]  --> src/sound_change.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::slice::*;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/app/ipa.rs:586:56
[INFO] [stdout]     |
[INFO] [stdout] 586 | ...                   .and_then(|mut m| m.find(|(id, s)| Self::display_right(s) == v))
[INFO] [stdout]     |                                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/app/ipa.rs:586:56
[INFO] [stdout]     |
[INFO] [stdout] 586 | ...                   .and_then(|mut m| m.find(|(id, s)| Self::display_right(s) == v))
[INFO] [stdout]     |                                                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/app/ipa.rs:1133:17
[INFO] [stdout]      |
[INFO] [stdout] 1133 |             let mut iter = self.diphtongs.clone();
[INFO] [stdout]      |                 ----^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/app/ipa.rs:1133:17
[INFO] [stdout]      |
[INFO] [stdout] 1133 |             let mut iter = self.diphtongs.clone();
[INFO] [stdout]      |                 ----^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shared_data`
[INFO] [stdout]     --> src/app/ipa.rs:1053:47
[INFO] [stdout]      |
[INFO] [stdout] 1053 |     fn diphtong_table(&mut self, ui: &mut Ui, shared_data: &mut SharedData) {
[INFO] [stdout]      |                                               ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shared_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shared_data`
[INFO] [stdout]     --> src/app/ipa.rs:1053:47
[INFO] [stdout]      |
[INFO] [stdout] 1053 |     fn diphtong_table(&mut self, ui: &mut Ui, shared_data: &mut SharedData) {
[INFO] [stdout]      |                                               ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shared_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shared_data`
[INFO] [stdout]   --> src/app/sound_change.rs:27:69
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn update(&mut self, ctx: &Context, _frame: &mut eframe::Frame, shared_data: &mut SharedData) {
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shared_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shared_data`
[INFO] [stdout]   --> src/app/sound_change.rs:27:69
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn update(&mut self, ctx: &Context, _frame: &mut eframe::Frame, shared_data: &mut SharedData) {
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shared_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `label` is never read
[INFO] [stdout]   --> src/app/word_gen/instructions.rs:82:33
[INFO] [stdout]    |
[INFO] [stdout] 82 | ...                   label = label.highlight();
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `label` is never read
[INFO] [stdout]   --> src/app/word_gen/instructions.rs:82:33
[INFO] [stdout]    |
[INFO] [stdout] 82 | ...                   label = label.highlight();
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shared_data`
[INFO] [stdout]    --> src/app/word_gen.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |         shared_data: &mut SharedData,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shared_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shared_data`
[INFO] [stdout]    --> src/app/word_gen.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |         shared_data: &mut SharedData,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shared_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/app/word_gen.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let time = std::time::Instant::now();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/app/word_gen.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let time = std::time::Instant::now();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/app/word_gen.rs:512:37
[INFO] [stdout]     |
[INFO] [stdout] 512 |                         if let Some(s) = self.export() {
[INFO] [stdout]     |                                     ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]    --> src/app/word_gen.rs:374:9
[INFO] [stdout]     |
[INFO] [stdout] 374 |         frame: &mut eframe::Frame,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/app/word_gen.rs:512:37
[INFO] [stdout]     |
[INFO] [stdout] 512 |                         if let Some(s) = self.export() {
[INFO] [stdout]     |                                     ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]    --> src/app/word_gen.rs:374:9
[INFO] [stdout]     |
[INFO] [stdout] 374 |         frame: &mut eframe::Frame,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/generation/instruction.rs:182:13
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let mut dist = Normal::new(0., deviation).unwrap();
[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/generation/instruction.rs:182:13
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let mut dist = Normal::new(0., deviation).unwrap();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]   --> src/generation/parse.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn contains(&self, val: &T) -> bool {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 14 |         self.contains(val)
[INFO] [stdout]    |         ------------------ recursive call site
[INFO] [stdout]    |
[INFO] [stdout]    = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]    = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]   --> src/generation/parse.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn contains(&self, val: &T) -> bool {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 14 |         self.contains(val)
[INFO] [stdout]    |         ------------------ recursive call site
[INFO] [stdout]    |
[INFO] [stdout]    = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]    = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/sound_change.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         mut r_idx: usize,
[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/sound_change.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         mut i_idx: usize,
[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/sound_change.rs:88:31
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 let (inner_r, mut possible) =
[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/sound_change.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         mut r_idx: usize,
[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/sound_change.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         mut i_idx: usize,
[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/sound_change.rs:88:31
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 let (inner_r, mut possible) =
[INFO] [stdout]    |                               ----^^^^^^^^
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `changed`
[INFO] [stdout]    --> src/sound_change.rs:216:17
[INFO] [stdout]     |
[INFO] [stdout] 216 |         let (r, changed) = parsed.apply_to_str("bacdd".to_string(), &categories);
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_changed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `changed`
[INFO] [stdout]    --> src/sound_change.rs:220:17
[INFO] [stdout]     |
[INFO] [stdout] 220 |         let (r, changed) = parsed.apply_to_str("xxxaaa".to_string(), &categories);
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_changed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileImportExport` is never constructed
[INFO] [stdout]  --> src/app/file_handling.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct FileImportExport {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `display`, `import`, and `export` are never used
[INFO] [stdout]   --> src/app/file_handling.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl FileImportExport {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] 17 |     pub fn display<T: Serialize + DeserializeOwned>(
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn import<T: Serialize + DeserializeOwned>(
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn export<T: Serialize + DeserializeOwned>(
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Contains` is never used
[INFO] [stdout]  --> src/generation/parse.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub trait Contains<T> {
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RESERVED` is never used
[INFO] [stdout]   --> src/generation/parse.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const RESERVED: [char; 9] = ['(', ')', '[', ']', '\\', '=', '*', '{', '}'];
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `fill` is never used
[INFO] [stdout]    --> src/generation/parse.rs:198:8
[INFO] [stdout]     |
[INFO] [stdout] 176 | impl WordGen {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     fn fill<U>(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flattened` is never used
[INFO] [stdout]   --> src/word.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl SyllablePart {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 20 |     pub fn flattened(&self, index: usize, onc_index: OncIndex) -> Vec<(WordIndex, &Sound)> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flattened` is never used
[INFO] [stdout]   --> src/word.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl Syllable {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 61 |     pub fn flattened(&self, index: usize) -> Vec<(WordIndex, &Sound)> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OncIndex` is never used
[INFO] [stdout]    --> src/word.rs:158:10
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub enum OncIndex {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WordIndex` is never constructed
[INFO] [stdout]    --> src/word.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct WordIndex {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flattened` is never used
[INFO] [stdout]    --> src/word.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout] 170 | impl Word {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] 171 |     pub fn flattened(&self) -> Vec<(WordIndex, &Sound)> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileImportExport` is never constructed
[INFO] [stdout]  --> src/app/file_handling.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct FileImportExport {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `display`, `import`, and `export` are never used
[INFO] [stdout]   --> src/app/file_handling.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl FileImportExport {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] 17 |     pub fn display<T: Serialize + DeserializeOwned>(
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn import<T: Serialize + DeserializeOwned>(
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn export<T: Serialize + DeserializeOwned>(
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Contains` is never used
[INFO] [stdout]  --> src/generation/parse.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub trait Contains<T> {
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RESERVED` is never used
[INFO] [stdout]   --> src/generation/parse.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const RESERVED: [char; 9] = ['(', ')', '[', ']', '\\', '=', '*', '{', '}'];
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `fill` is never used
[INFO] [stdout]    --> src/generation/parse.rs:198:8
[INFO] [stdout]     |
[INFO] [stdout] 176 | impl WordGen {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     fn fill<U>(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flattened` is never used
[INFO] [stdout]   --> src/word.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl SyllablePart {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 20 |     pub fn flattened(&self, index: usize, onc_index: OncIndex) -> Vec<(WordIndex, &Sound)> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flattened` is never used
[INFO] [stdout]   --> src/word.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl Syllable {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 61 |     pub fn flattened(&self, index: usize) -> Vec<(WordIndex, &Sound)> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OncIndex` is never used
[INFO] [stdout]    --> src/word.rs:158:10
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub enum OncIndex {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WordIndex` is never constructed
[INFO] [stdout]    --> src/word.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct WordIndex {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flattened` is never used
[INFO] [stdout]    --> src/word.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout] 170 | impl Word {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] 171 |     pub fn flattened(&self) -> Vec<(WordIndex, &Sound)> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 26s
[INFO] running `Command { std: "docker" "inspect" "3ec57e1868e023a4b1f2f337d3b5c3b0eb87b0a6afb642189071fb15244a8ef0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3ec57e1868e023a4b1f2f337d3b5c3b0eb87b0a6afb642189071fb15244a8ef0", kill_on_drop: false }`
[INFO] [stdout] 3ec57e1868e023a4b1f2f337d3b5c3b0eb87b0a6afb642189071fb15244a8ef0
