[INFO] cloning repository https://github.com/spaceturtleship/tte-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/spaceturtleship/tte-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fspaceturtleship%2Ftte-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fspaceturtleship%2Ftte-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e27c4cf274ae455c2533fd124f268100571e6ed3
[INFO] checking spaceturtleship/tte-rs against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fspaceturtleship%2Ftte-rs" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/spaceturtleship/tte-rs
[INFO] finished tweaking git repo https://github.com/spaceturtleship/tte-rs
[INFO] tweaked toml for git repo https://github.com/spaceturtleship/tte-rs written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/spaceturtleship/tte-rs on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/spaceturtleship/tte-rs 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a47dfa239677499fb3936e8397fd40e483e3d24c4c323658c9b4255b1a43d6ec
[INFO] running `Command { std: "docker" "start" "a47dfa239677499fb3936e8397fd40e483e3d24c4c323658c9b4255b1a43d6ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a47dfa239677499fb3936e8397fd40e483e3d24c4c323658c9b4255b1a43d6ec", 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" "a47dfa239677499fb3936e8397fd40e483e3d24c4c323658c9b4255b1a43d6ec" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a47dfa239677499fb3936e8397fd40e483e3d24c4c323658c9b4255b1a43d6ec", 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 -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a47dfa239677499fb3936e8397fd40e483e3d24c4c323658c9b4255b1a43d6ec" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking tte v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `CharacterGroup`
[INFO] [stdout]  --> src/effects/effect_laseretch.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::engine::terminal::{CharacterGroup, CharacterSort, Terminal};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::widechar`
[INFO] [stdout]   --> src/engine/terminal.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::utils::widechar;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/utils/geometry.rs:65:1
[INFO] [stdout]    |
[INFO] [stdout] 65 | / /// Find points on a circle (doubled x-distance for terminal aspect ratio).
[INFO] [stdout] 66 | | /// Python wraps `find_coords_on_circle` in `functools.lru_cache`, and the
[INFO] [stdout] 67 | | /// swarm's in-place `random.shuffle` mutates the CACHED list object — so a
[INFO] [stdout] 68 | | /// repeated focus coordinate returns the previously shuffled list, and the
[INFO] [stdout] 69 | | /// next shuffle permutes THAT. The Rc<RefCell> replicates the shared-mutable
[INFO] [stdout] 70 | | /// cache semantics exactly (a fresh build only on the first call per key).
[INFO] [stdout]    | |_--------------------------------------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CharacterGroup`
[INFO] [stdout]  --> src/effects/effect_laseretch.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::engine::terminal::{CharacterGroup, CharacterSort, Terminal};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::widechar`
[INFO] [stdout]   --> src/engine/terminal.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::utils::widechar;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/utils/geometry.rs:65:1
[INFO] [stdout]    |
[INFO] [stdout] 65 | / /// Find points on a circle (doubled x-distance for terminal aspect ratio).
[INFO] [stdout] 66 | | /// Python wraps `find_coords_on_circle` in `functools.lru_cache`, and the
[INFO] [stdout] 67 | | /// swarm's in-place `random.shuffle` mutates the CACHED list object — so a
[INFO] [stdout] 68 | | /// repeated focus coordinate returns the previously shuffled list, and the
[INFO] [stdout] 69 | | /// next shuffle permutes THAT. The Rc<RefCell> replicates the shared-mutable
[INFO] [stdout] 70 | | /// cache semantics exactly (a fresh build only on the first call per key).
[INFO] [stdout]    | |_--------------------------------------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `&Ref<'_, Vec<geometry::Coord>>` is not an iterator
[INFO] [stdout]    --> src/utils/geometry.rs:365:18
[INFO] [stdout]     |
[INFO] [stdout] 365 |         for p in &pts {
[INFO] [stdout]     |                  ^^^^ `&Ref<'_, Vec<geometry::Coord>>` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Iterator` is not implemented for `&Ref<'_, Vec<geometry::Coord>>`
[INFO] [stdout]     = note: required for `&Ref<'_, Vec<geometry::Coord>>` to implement `IntoIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `&Ref<'_, Vec<geometry::Coord>>` is not an iterator
[INFO] [stdout]    --> src/utils/geometry.rs:373:18
[INFO] [stdout]     |
[INFO] [stdout] 373 |         for p in &pts {
[INFO] [stdout]     |                  ^^^^ `&Ref<'_, Vec<geometry::Coord>>` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Iterator` is not implemented for `&Ref<'_, Vec<geometry::Coord>>`
[INFO] [stdout]     = note: required for `&Ref<'_, Vec<geometry::Coord>>` to implement `IntoIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]   --> src/effects/effect_beams.rs:88:61
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn get_next_character(&mut self, arena: &mut CharArena, frame: i64) -> Option<u32> {
[INFO] [stdout]    |                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `coord`
[INFO] [stdout]    --> src/effects/effect_beams.rs:283:25
[INFO] [stdout]     |
[INFO] [stdout] 283 |                     let coord = terminal.arena.characters[id as usize].input_coord;
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_coord`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sym`
[INFO] [stdout]    --> src/effects/effect_beams.rs:284:25
[INFO] [stdout]     |
[INFO] [stdout] 284 |                     let sym = terminal.arena.characters[id as usize].input_symbol.clone();
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_sym`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fg`
[INFO] [stdout]    --> src/effects/effect_beams.rs:285:25
[INFO] [stdout]     |
[INFO] [stdout] 285 |                     let fg = *fg_fade_gradient.spectrum.first().unwrap();
[INFO] [stdout]     |                         ^^ help: if this is intentional, prefix it with an underscore: `_fg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `faded`
[INFO] [stdout]    --> src/effects/effect_beams.rs:286:25
[INFO] [stdout]     |
[INFO] [stdout] 286 |                     let faded = *fg_fade_gradient.spectrum.last().unwrap();
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_faded`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fg_b`
[INFO] [stdout]    --> src/effects/effect_beams.rs:287:25
[INFO] [stdout]     |
[INFO] [stdout] 287 |                     let fg_b = fg_brighten_gradient.as_ref().unwrap();
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_fg_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gi`
[INFO] [stdout]    --> src/effects/effect_beams.rs:348:14
[INFO] [stdout]     |
[INFO] [stdout] 348 |         for (gi, group) in groups.iter().enumerate() {
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_gi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/effects/effect_beams.rs:350:21
[INFO] [stdout]     |
[INFO] [stdout] 350 |                 let c = terminal.arena.characters[id as usize].input_coord;
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `call`
[INFO] [stdout]    --> src/effects/effect_beams.rs:394:13
[INFO] [stdout]     |
[INFO] [stdout] 394 |         let call = self.frame;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_call`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/effects/effect_beams.rs:448:33
[INFO] [stdout]     |
[INFO] [stdout] 448 | ...                   let c = terminal.arena.characters[id as usize].input_coord;
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]   --> src/effects/effect_beams.rs:88:61
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn get_next_character(&mut self, arena: &mut CharArena, frame: i64) -> Option<u32> {
[INFO] [stdout]    |                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `coord`
[INFO] [stdout]    --> src/effects/effect_beams.rs:283:25
[INFO] [stdout]     |
[INFO] [stdout] 283 |                     let coord = terminal.arena.characters[id as usize].input_coord;
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_coord`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sym`
[INFO] [stdout]    --> src/effects/effect_beams.rs:284:25
[INFO] [stdout]     |
[INFO] [stdout] 284 |                     let sym = terminal.arena.characters[id as usize].input_symbol.clone();
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_sym`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fg`
[INFO] [stdout]    --> src/effects/effect_beams.rs:285:25
[INFO] [stdout]     |
[INFO] [stdout] 285 |                     let fg = *fg_fade_gradient.spectrum.first().unwrap();
[INFO] [stdout]     |                         ^^ help: if this is intentional, prefix it with an underscore: `_fg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `faded`
[INFO] [stdout]    --> src/effects/effect_beams.rs:286:25
[INFO] [stdout]     |
[INFO] [stdout] 286 |                     let faded = *fg_fade_gradient.spectrum.last().unwrap();
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_faded`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fg_b`
[INFO] [stdout]    --> src/effects/effect_beams.rs:287:25
[INFO] [stdout]     |
[INFO] [stdout] 287 |                     let fg_b = fg_brighten_gradient.as_ref().unwrap();
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_fg_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gi`
[INFO] [stdout]    --> src/effects/effect_beams.rs:348:14
[INFO] [stdout]     |
[INFO] [stdout] 348 |         for (gi, group) in groups.iter().enumerate() {
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_gi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/effects/effect_beams.rs:350:21
[INFO] [stdout]     |
[INFO] [stdout] 350 |                 let c = terminal.arena.characters[id as usize].input_coord;
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `call`
[INFO] [stdout]    --> src/effects/effect_beams.rs:394:13
[INFO] [stdout]     |
[INFO] [stdout] 394 |         let call = self.frame;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_call`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/effects/effect_beams.rs:448:33
[INFO] [stdout]     |
[INFO] [stdout] 448 | ...                   let c = terminal.arena.characters[id as usize].input_coord;
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pidx`
[INFO] [stdout]    --> src/effects/effect_burn.rs:333:33
[INFO] [stdout]     |
[INFO] [stdout] 333 | ...                   let pidx = a
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_pidx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/effects/effect_burn.rs:339:33
[INFO] [stdout]     |
[INFO] [stdout] 339 | ...                   let path = &a.characters[next_particle as usize].motion.paths[smoke_path as usize];
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `origin`
[INFO] [stdout]    --> src/effects/effect_burn.rs:301:29
[INFO] [stdout]     |
[INFO] [stdout] 301 |                         let origin = a.characters[cid as usize].input_coord;
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sym`
[INFO] [stdout]    --> src/effects/effect_burn.rs:352:33
[INFO] [stdout]     |
[INFO] [stdout] 352 | ...                   let sym = a.characters[p as usize].input_symbol.clone();
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sym`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pidx`
[INFO] [stdout]    --> src/effects/effect_burn.rs:333:33
[INFO] [stdout]     |
[INFO] [stdout] 333 | ...                   let pidx = a
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_pidx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/effects/effect_burn.rs:339:33
[INFO] [stdout]     |
[INFO] [stdout] 339 | ...                   let path = &a.characters[next_particle as usize].motion.paths[smoke_path as usize];
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `origin`
[INFO] [stdout]    --> src/effects/effect_burn.rs:301:29
[INFO] [stdout]     |
[INFO] [stdout] 301 |                         let origin = a.characters[cid as usize].input_coord;
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sym`
[INFO] [stdout]    --> src/effects/effect_burn.rs:352:33
[INFO] [stdout]     |
[INFO] [stdout] 352 | ...                   let sym = a.characters[p as usize].input_symbol.clone();
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_sym`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pp`
[INFO] [stdout]    --> src/effects/effect_errorcorrect.rs:365:21
[INFO] [stdout]     |
[INFO] [stdout] 365 |                 let pp = terminal.arena.characters[char1 as usize].motion.paths.last().cloned().unwrap();
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_pp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pp`
[INFO] [stdout]    --> src/effects/effect_errorcorrect.rs:365:21
[INFO] [stdout]     |
[INFO] [stdout] 365 |                 let pp = terminal.arena.characters[char1 as usize].motion.paths.last().cloned().unwrap();
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_pp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pending` is never read
[INFO] [stdout]    --> src/effects/effect_laseretch.rs:385:37
[INFO] [stdout]     |
[INFO] [stdout] 385 |         let mut pending: Vec<u32> = Vec::new();
[INFO] [stdout]     |                                     ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 399 |             pending = Vec::new();
[INFO] [stdout]     |             ------- `pending` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scn`
[INFO] [stdout]    --> src/effects/effect_laseretch.rs:473:25
[INFO] [stdout]     |
[INFO] [stdout] 473 |                     let scn = &anim.scenes[si as usize];
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_scn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vis`
[INFO] [stdout]    --> src/effects/effect_laseretch.rs:477:21
[INFO] [stdout]     |
[INFO] [stdout] 477 |                 let vis = spark_anim.current_visual.clone();
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_vis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `coord`
[INFO] [stdout]    --> src/effects/effect_laseretch.rs:478:21
[INFO] [stdout]     |
[INFO] [stdout] 478 |                 let coord = terminal.arena.characters[sc].motion.current_coord;
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_coord`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pending` is never read
[INFO] [stdout]    --> src/effects/effect_laseretch.rs:385:37
[INFO] [stdout]     |
[INFO] [stdout] 385 |         let mut pending: Vec<u32> = Vec::new();
[INFO] [stdout]     |                                     ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 399 |             pending = Vec::new();
[INFO] [stdout]     |             ------- `pending` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scn`
[INFO] [stdout]    --> src/effects/effect_laseretch.rs:473:25
[INFO] [stdout]     |
[INFO] [stdout] 473 |                     let scn = &anim.scenes[si as usize];
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_scn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vis`
[INFO] [stdout]    --> src/effects/effect_laseretch.rs:477:21
[INFO] [stdout]     |
[INFO] [stdout] 477 |                 let vis = spark_anim.current_visual.clone();
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_vis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `coord`
[INFO] [stdout]    --> src/effects/effect_laseretch.rs:478:21
[INFO] [stdout]     |
[INFO] [stdout] 478 |                 let coord = terminal.arena.characters[sc].motion.current_coord;
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_coord`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sym`
[INFO] [stdout]    --> src/effects/effect_overflow.rs:257:25
[INFO] [stdout]     |
[INFO] [stdout] 257 |                     let sym = terminal.arena.characters[next_row.characters[0] as usize].input_symbol.clone();
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_sym`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sym`
[INFO] [stdout]    --> src/effects/effect_overflow.rs:257:25
[INFO] [stdout]     |
[INFO] [stdout] 257 |                     let sym = terminal.arena.characters[next_row.characters[0] as usize].input_symbol.clone();
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_sym`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/effects/effect_thunderstorm.rs:294:13
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let mut layer = 1;
[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/effects/effect_thunderstorm.rs:294:13
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let mut layer = 1;
[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: `t_glow`
[INFO] [stdout]    --> src/effects/effect_thunderstorm.rs:966:21
[INFO] [stdout]     |
[INFO] [stdout] 966 |                 let t_glow = std::time::Instant::now();
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_t_glow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t_upd`
[INFO] [stdout]    --> src/effects/effect_thunderstorm.rs:979:17
[INFO] [stdout]     |
[INFO] [stdout] 979 |             let t_upd = std::time::Instant::now();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_upd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t_glow`
[INFO] [stdout]    --> src/effects/effect_thunderstorm.rs:966:21
[INFO] [stdout]     |
[INFO] [stdout] 966 |                 let t_glow = std::time::Instant::now();
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_t_glow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t_upd`
[INFO] [stdout]    --> src/effects/effect_thunderstorm.rs:979:17
[INFO] [stdout]     |
[INFO] [stdout] 979 |             let t_upd = std::time::Instant::now();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_t_upd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `comp_out`
[INFO] [stdout]     --> src/engine/terminal.rs:1627:13
[INFO] [stdout]      |
[INFO] [stdout] 1627 |             comp_out,
[INFO] [stdout]      |             ^^^^^^^^ help: try ignoring the field: `comp_out: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `comp_out`
[INFO] [stdout]     --> src/engine/terminal.rs:1627:13
[INFO] [stdout]      |
[INFO] [stdout] 1627 |             comp_out,
[INFO] [stdout]      |             ^^^^^^^^ help: try ignoring the field: `comp_out: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `character_final_color_map`, `movement_speed`, and `binary_colors` are never read
[INFO] [stdout]   --> src/effects/effect_binarypath.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct BinarypathIterator {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 72 |     pending_binary_representations: Vec<BinaryRepresentation>,
[INFO] [stdout] 73 |     character_final_color_map: HashMap<u32, ColorPair>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     movement_speed: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 81 |     binary_colors: Vec<Color>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `movement_speed` and `movement_easing` are never read
[INFO] [stdout]   --> src/effects/effect_bouncyballs.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct BouncyballsIterator {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     movement_speed: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 43 |     movement_easing: Easing,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `origin` and `canvas_bottom` are never read
[INFO] [stdout]   --> src/effects/effect_bubbles.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | struct Bubble {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 44 |     origin: Coord,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     canvas_bottom: i64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rainbow_gradient` and `character_final_color_map` are never read
[INFO] [stdout]    --> src/effects/effect_bubbles.rs:296:5
[INFO] [stdout]     |
[INFO] [stdout] 291 | pub struct BubblesIterator {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 296 |     rainbow_gradient: Vec<Color>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 297 |     character_final_color_map: HashMap<u32, Color>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cycles` and `skip_final_gradient` are never read
[INFO] [stdout]   --> src/effects/effect_colorshift.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct ColorshiftIterator {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 41 |     pending_chars: Vec<u32>,
[INFO] [stdout] 42 |     cycles: i64,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 43 |     skip_final_gradient: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `character_final_color_map`, `firework_colors`, and `firework_symbol` are never read
[INFO] [stdout]   --> src/effects/effect_fireworks.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct FireworksIterator {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     character_final_color_map: HashMap<u32, ColorPair>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 44 |     firework_colors: Vec<Color>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     firework_symbol: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `character_final_color_map`, `highlight_brightness`, and `highlight_width` are never read
[INFO] [stdout]   --> src/effects/effect_highlight.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct HighlightIterator {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 35 |     character_final_color_map: HashMap<u32, Option<Color>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 36 |     easer: SequenceEaser<Vec<u32>>,
[INFO] [stdout] 37 |     highlight_brightness: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     highlight_width: i64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `spark_cooling_frames` is never read
[INFO] [stdout]   --> src/effects/effect_laseretch.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct Laser {
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 47 |     spark_cooling_frames: i64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/effects/effect_laseretch.rs:229:5
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct LaseretchIterator {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 229 |     character_final_color_map: HashMap<u32, ColorPair>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     cool_gradient_stops: Vec<Color>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 237 |     canvas_text_bottom: i64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 238 |     canvas_text_top: i64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 239 |     canvas_text_left: i64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 240 |     canvas_text_right: i64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 241 |     final_gradient_direction: GradientDirection,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MATRIX_SYMBOLS_COMMON` is never used
[INFO] [stdout]   --> src/effects/effect_matrix.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const MATRIX_SYMBOLS_COMMON: [&str; 16] = [
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MATRIX_SYMBOLS_KATA` is never used
[INFO] [stdout]   --> src/effects/effect_matrix.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const MATRIX_SYMBOLS_KATA: [&str; 25] = [
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rain_colors`, `character_final_color_map`, `highlight_color`, and `final_gradient_frames` are never read
[INFO] [stdout]    --> src/effects/effect_matrix.rs:322:5
[INFO] [stdout]     |
[INFO] [stdout] 318 | pub struct MatrixIterator {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 322 |     rain_colors: Vec<Color>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |     character_final_color_map: HashMap<u32, ColorPair>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 333 |     highlight_color: Color,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 334 |     final_gradient_frames: i64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `character_final_color_map` is never read
[INFO] [stdout]    --> src/effects/effect_orbittingvolley.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct OrbittingvolleyIterator {
[INFO] [stdout]     |            ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 126 |     character_final_color_map: HashMap<u32, ColorPair>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `radius` and `origin` are never read
[INFO] [stdout]   --> src/effects/effect_rings.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct Ring {
[INFO] [stdout]    |        ---- fields in this struct
[INFO] [stdout] 43 |     radius: i64,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 44 |     origin: Coord,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ring` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `character_final_color_map`, `dynamic_second_sweep_palette`, `final_spectrum`, `sweep_symbols`, and `dynamic` are never read
[INFO] [stdout]   --> src/effects/effect_sweep.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct SweepIterator {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 51 |     character_final_color_map: HashMap<u32, ColorPair>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |     dynamic_second_sweep_palette: Vec<Color>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     final_spectrum: Vec<Color>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 58 |     sweep_symbols: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 59 |     dynamic: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `direction` is never read
[INFO] [stdout]   --> src/effects/effect_synthgrid.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct GridLine {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] 40 |     direction: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `flashing`, `glowing_text_color`, `text_glow_time`, and `spark_glow_time` are never read
[INFO] [stdout]   --> src/effects/effect_thunderstorm.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct ThunderstormIterator {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |     flashing: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     glowing_text_color: Color,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 65 |     text_glow_time: i64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 66 |     spark_glow_time: i64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/effects/effect_unstable.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct UnstableIterator {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 38 |     jumbled_coords: HashMap<u32, Coord>,
[INFO] [stdout] 39 |     character_final_color_map: HashMap<u32, ColorPair>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     character_start_color_map: HashMap<u32, ColorPair>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     unstable_color: Color,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 51 |     explosion_speed: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |     explosion_ease: Easing,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 53 |     reassembly_speed: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 54 |     reassembly_ease: Easing,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `character_stable_color_map` and `character_final_color_map` are never read
[INFO] [stdout]    --> src/effects/effect_vhstape.rs:389:5
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub struct VhstapeIterator {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 389 |     character_stable_color_map: HashMap<u32, ColorPair>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 390 |     character_final_color_map: HashMap<u32, ColorPair>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `character_final_color_map` is never read
[INFO] [stdout]   --> src/effects/effect_wipe.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct WipeIterator {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 35 |     character_final_color_map: HashMap<u32, ColorPair>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `action_scratch` is never read
[INFO] [stdout]   --> src/engine/context.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct CharArena {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 85 |     action_scratch: Vec<Action>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `intern_symbol` is never used
[INFO] [stdout]     --> src/engine/terminal.rs:1474:8
[INFO] [stdout]      |
[INFO] [stdout]  536 | impl Terminal {
[INFO] [stdout]      | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1474 |     fn intern_symbol(&mut self, symbol: &str) -> u32 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_char` is never read
[INFO] [stdout]   --> src/utils/spanningtree.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct PrimsWeighted {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 46 |     current_char: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tte` (lib test) due to 2 previous errors; 27 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "a47dfa239677499fb3936e8397fd40e483e3d24c4c323658c9b4255b1a43d6ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a47dfa239677499fb3936e8397fd40e483e3d24c4c323658c9b4255b1a43d6ec", kill_on_drop: false }`
[INFO] [stdout] a47dfa239677499fb3936e8397fd40e483e3d24c4c323658c9b4255b1a43d6ec
