[INFO] cloning repository https://github.com/lambdaxymox/googly-blocks
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lambdaxymox/googly-blocks" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flambdaxymox%2Fgoogly-blocks", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flambdaxymox%2Fgoogly-blocks'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d1e2a4969a5981c61d1525133bab894c0218fb80
[INFO] checking lambdaxymox/googly-blocks against master#36b21637e93b038453924d3c66821089e71d8baa for pr-143164
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flambdaxymox%2Fgoogly-blocks" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/lambdaxymox/googly-blocks
[INFO] finished tweaking git repo https://github.com/lambdaxymox/googly-blocks
[INFO] tweaked toml for git repo https://github.com/lambdaxymox/googly-blocks written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/lambdaxymox/googly-blocks on toolchain 36b21637e93b038453924d3c66821089e71d8baa
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+36b21637e93b038453924d3c66821089e71d8baa" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/lambdaxymox/googly-blocks 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" "+36b21637e93b038453924d3c66821089e71d8baa" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/lambdaxymox/bmfa`
[INFO] [stderr]     Updating git repository `https://github.com/lambdaxymox/cglinalg`
[INFO] [stderr]     Updating git repository `https://github.com/lambdaxymox/file-logger`
[INFO] [stderr]     Updating git repository `https://github.com/lambdaxymox/tex_atlas`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded glfw v0.45.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+36b21637e93b038453924d3c66821089e71d8baa" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 411aac1087b8664ae845f655ca0abd8df41514fcc4c7478ced83cfddc0fb8e5d
[INFO] running `Command { std: "docker" "start" "-a" "411aac1087b8664ae845f655ca0abd8df41514fcc4c7478ced83cfddc0fb8e5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "411aac1087b8664ae845f655ca0abd8df41514fcc4c7478ced83cfddc0fb8e5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "411aac1087b8664ae845f655ca0abd8df41514fcc4c7478ced83cfddc0fb8e5d", kill_on_drop: false }`
[INFO] [stdout] 411aac1087b8664ae845f655ca0abd8df41514fcc4c7478ced83cfddc0fb8e5d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+36b21637e93b038453924d3c66821089e71d8baa" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2281c978b23de51c18a94ec3deb6150ff19bf4c90bd8a83156e8f30304bf8652
[INFO] running `Command { std: "docker" "start" "-a" "2281c978b23de51c18a94ec3deb6150ff19bf4c90bd8a83156e8f30304bf8652", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling libm v0.2.2
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling crossbeam-utils v0.8.8
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.39
[INFO] [stderr]    Compiling rayon-core v1.9.3
[INFO] [stderr]    Compiling unicode-ident v1.0.0
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling syn v1.0.96
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling pkg-config v0.3.25
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]    Compiling serde v1.0.137
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]     Checking weezl v0.1.6
[INFO] [stderr]     Checking miniz_oxide v0.5.3
[INFO] [stderr]     Checking miniz_oxide v0.3.7
[INFO] [stderr]    Compiling serde_derive v1.0.137
[INFO] [stderr]     Checking deflate v0.8.6
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]    Compiling serde_json v1.0.81
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.8
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling rayon v1.5.3
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]     Checking crossbeam-channel v0.5.4
[INFO] [stderr]    Compiling cmake v0.1.48
[INFO] [stderr]     Checking flate2 v1.0.24
[INFO] [stderr]     Checking gif v0.11.3
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking bytemuck v1.9.1
[INFO] [stderr]     Checking png v0.16.8
[INFO] [stderr]     Checking ryu v1.0.10
[INFO] [stderr]     Checking itoa v1.0.2
[INFO] [stderr]     Checking cty v0.2.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.16
[INFO] [stderr]     Checking raw-window-handle v0.4.3
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]     Checking getrandom v0.2.6
[INFO] [stderr]    Compiling bzip2-sys v0.1.11+1.0.8
[INFO] [stderr]    Compiling glfw-sys v4.0.0+3.3.5
[INFO] [stderr]    Compiling quote v1.0.18
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking bzip2 v0.4.3
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking cglinalg v0.15.6 (https://github.com/lambdaxymox/cglinalg#27cd5b24)
[INFO] [stderr]    Compiling googly-blocks v0.3.94 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking file_logger v0.4.5 (https://github.com/lambdaxymox/file-logger#593bada6)
[INFO] [stderr]     Checking toml v0.5.9
[INFO] [stderr]    Compiling thiserror-impl v1.0.31
[INFO] [stderr]     Checking jpeg-decoder v0.1.22
[INFO] [stderr]     Checking tiff v0.6.1
[INFO] [stderr]     Checking glfw v0.45.0
[INFO] [stderr]     Checking image v0.23.14
[INFO] [stderr]     Checking thiserror v1.0.31
[INFO] [stderr]     Checking zip v0.5.13
[INFO] [stderr]     Checking bmfa v0.3.14 (https://github.com/lambdaxymox/bmfa#f67cb06f)
[INFO] [stderr]     Checking tex_atlas v0.2.1 (https://github.com/lambdaxymox/tex_atlas#e374d0e7)
[INFO] [stdout] warning: unused variable: `landed`
[INFO] [stdout]    --> src/playing_field.rs:298:73
[INFO] [stdout]     |
[INFO] [stdout] 298 | fn collides_with_left_wall(piece: GooglyBlock, top_left: BlockPosition, landed: &LandedBlocksGrid) -> bool {
[INFO] [stdout]     |                                                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_landed`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/playing_field_state_machine.rs:290:28
[INFO] [stdout]     |
[INFO] [stdout] 290 |     fn handle_input(&self, context: &mut PlayingFieldStateMachineContext, input: Input, elapsed_milliseconds: Duration) {
[INFO] [stdout]     |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed_milliseconds`
[INFO] [stdout]    --> src/playing_field_state_machine.rs:290:89
[INFO] [stdout]     |
[INFO] [stdout] 290 |     fn handle_input(&self, context: &mut PlayingFieldStateMachineContext, input: Input, elapsed_milliseconds: Duration) {
[INFO] [stdout]     |                                                                                         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed_milliseconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/playing_field_state_machine.rs:340:28
[INFO] [stdout]     |
[INFO] [stdout] 340 |     fn handle_input(&self, context: &mut PlayingFieldStateMachineContext, input: Input, elapsed_milliseconds: Duration) {
[INFO] [stdout]     |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed_milliseconds`
[INFO] [stdout]    --> src/playing_field_state_machine.rs:340:89
[INFO] [stdout]     |
[INFO] [stdout] 340 |     fn handle_input(&self, context: &mut PlayingFieldStateMachineContext, input: Input, elapsed_milliseconds: Duration) {
[INFO] [stdout]     |                                                                                         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed_milliseconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed_milliseconds`
[INFO] [stdout]    --> src/playing_field_state_machine.rs:346:69
[INFO] [stdout]     |
[INFO] [stdout] 346 |     fn update(&self, context: &mut PlayingFieldStateMachineContext, elapsed_milliseconds: Duration) -> PlayingFieldState {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed_milliseconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed_milliseconds`
[INFO] [stdout]     --> src/main.rs:2774:69
[INFO] [stdout]      |
[INFO] [stdout] 2774 |     fn handle_input(&self, context: &mut GameContext, input: Input, elapsed_milliseconds: Duration) {
[INFO] [stdout]      |                                                                     ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed_milliseconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed_milliseconds`
[INFO] [stdout]     --> src/main.rs:2853:69
[INFO] [stdout]      |
[INFO] [stdout] 2853 |     fn handle_input(&self, context: &mut GameContext, input: Input, elapsed_milliseconds: Duration) {
[INFO] [stdout]      |                                                                     ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed_milliseconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed_milliseconds`
[INFO] [stdout]     --> src/main.rs:2863:49
[INFO] [stdout]      |
[INFO] [stdout] 2863 |     fn update(&self, context: &mut GameContext, elapsed_milliseconds: Duration) -> GameState {
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed_milliseconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]     --> src/main.rs:2885:28
[INFO] [stdout]      |
[INFO] [stdout] 2885 |     fn handle_input(&self, context: &mut GameContext, input: Input, elapsed_milliseconds: Duration) {
[INFO] [stdout]      |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed_milliseconds`
[INFO] [stdout]     --> src/main.rs:2885:69
[INFO] [stdout]      |
[INFO] [stdout] 2885 |     fn handle_input(&self, context: &mut GameContext, input: Input, elapsed_milliseconds: Duration) {
[INFO] [stdout]      |                                                                     ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed_milliseconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed_milliseconds`
[INFO] [stdout]     --> src/main.rs:2891:49
[INFO] [stdout]      |
[INFO] [stdout] 2891 |     fn update(&self, context: &mut GameContext, elapsed_milliseconds: Duration) -> GameState {
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed_milliseconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]     --> src/main.rs:3246:33
[INFO] [stdout]      |
[INFO] [stdout] 3246 |     fn clear_framebuffer(&self, context: &mut RendererContext) {
[INFO] [stdout]      |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]     --> src/main.rs:3253:34
[INFO] [stdout]      |
[INFO] [stdout] 3253 |     fn clear_depth_buffer(&self, context: &mut RendererContext) {
[INFO] [stdout]      |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]     --> src/main.rs:3414:33
[INFO] [stdout]      |
[INFO] [stdout] 3414 |     fn clear_framebuffer(&self, context: &mut RendererContext) {
[INFO] [stdout]      |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]     --> src/main.rs:3421:34
[INFO] [stdout]      |
[INFO] [stdout] 3421 |     fn clear_depth_buffer(&self, context: &mut RendererContext) {
[INFO] [stdout]      |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]     --> src/main.rs:3602:22
[INFO] [stdout]      |
[INFO] [stdout] 3602 |     fn render(&self, context: &mut RendererContext) {}
[INFO] [stdout]      |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `v_pos_vbo` and `v_tex_vbo` are never read
[INFO] [stdout]    --> src/main.rs:352:5
[INFO] [stdout]     |
[INFO] [stdout] 350 | struct GLBackgroundPanel {
[INFO] [stdout]     |        ----------------- fields in this struct
[INFO] [stdout] 351 |     sp: GLuint,
[INFO] [stdout] 352 |     v_pos_vbo: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 353 |     v_tex_vbo: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GLBackgroundPanel` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `v_pos_vbo`, `v_tex_vbo`, `v_pos_loc`, and `v_tex_loc` are never read
[INFO] [stdout]    --> src/main.rs:413:5
[INFO] [stdout]     |
[INFO] [stdout] 410 | struct TitleScreenBufferHandle {
[INFO] [stdout]     |        ----------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 413 |     v_pos_vbo: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 414 |     v_tex_vbo: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 415 |     v_pos_loc: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 416 |     v_tex_loc: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TitleScreenBufferHandle` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `landed`
[INFO] [stdout]    --> src/playing_field.rs:298:73
[INFO] [stdout]     |
[INFO] [stdout] 298 | fn collides_with_left_wall(piece: GooglyBlock, top_left: BlockPosition, landed: &LandedBlocksGrid) -> bool {
[INFO] [stdout]     |                                                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_landed`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `v_pos_vbo`, `v_tex_vbo`, `v_pos_loc`, and `v_tex_loc` are never read
[INFO] [stdout]    --> src/main.rs:578:5
[INFO] [stdout]     |
[INFO] [stdout] 575 | struct TitleScreenFlashingBufferHandle {
[INFO] [stdout]     |        ------------------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 578 |     v_pos_vbo: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 579 |     v_tex_vbo: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 580 |     v_pos_loc: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 581 |     v_tex_loc: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TitleScreenFlashingBufferHandle` 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 `v_pos_vbo` and `v_tex_vbo` are never read
[INFO] [stdout]    --> src/main.rs:936:5
[INFO] [stdout]     |
[INFO] [stdout] 934 | struct UIPanel {
[INFO] [stdout]     |        ------- fields in this struct
[INFO] [stdout] 935 |     sp: GLuint,
[INFO] [stdout] 936 |     v_pos_vbo: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 937 |     v_tex_vbo: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `v_pos_vbo`, `v_tex_vbo`, `v_pos_loc`, and `v_tex_loc` are never read
[INFO] [stdout]     --> src/main.rs:1471:5
[INFO] [stdout]      |
[INFO] [stdout] 1468 | struct PlayingFieldBackgroundBufferHandle {
[INFO] [stdout]      |        ---------------------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1471 |     v_pos_vbo: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 1472 |     v_tex_vbo: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 1473 |     v_pos_loc: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 1474 |     v_tex_loc: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `PlayingFieldBackgroundBufferHandle` 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 `v_pos_vbo`, `v_tex_vbo`, `v_pos_loc`, and `v_tex_loc` are never read
[INFO] [stdout]     --> src/main.rs:1711:5
[INFO] [stdout]      |
[INFO] [stdout] 1708 | struct GameOverPanelHandle {
[INFO] [stdout]      |        ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1711 |     v_pos_vbo: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 1712 |     v_tex_vbo: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 1713 |     v_pos_loc: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 1714 |     v_tex_loc: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `GameOverPanelHandle` 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 `v_pos_vbo`, `v_pos_loc`, and `v_tex_loc` are never read
[INFO] [stdout]     --> src/main.rs:2143:5
[INFO] [stdout]      |
[INFO] [stdout] 2140 | struct PlayingFieldHandle {
[INFO] [stdout]      |        ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 2143 |     v_pos_vbo: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2146 |     v_pos_loc: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 2147 |     v_tex_loc: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Release` is never constructed
[INFO] [stdout]   --> src/input.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum InputAction {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 22 |     Release,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InputAction` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_disabled` is never used
[INFO] [stdout]   --> src/flashing_state_machine.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl FlashAnimationStateMachine {
[INFO] [stdout]    | ------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn is_disabled(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]   --> src/mesh.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Points {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]   --> src/mesh.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl TextureCoordinates {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `points`, `tex_coords`, and `len` are never used
[INFO] [stdout]    --> src/mesh.rs:89:12
[INFO] [stdout]     |
[INFO] [stdout] 76  | impl ObjMesh {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89  |     pub fn points(&self) -> &[[f32; 2]] {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97  |     pub fn tex_coords(&self) -> &[[f32; 2]] {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_in_of_bounds`, `is_out_of_bounds`, and `is_empty_space` are never used
[INFO] [stdout]   --> src/playing_field.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl LandedBlocksQuery {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] 36 |     fn is_in_of_bounds(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn is_out_of_bounds(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn is_empty_space(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LandedBlocksIterator` is never constructed
[INFO] [stdout]    --> src/playing_field.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 122 | struct LandedBlocksIterator {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `iter` is never used
[INFO] [stdout]    --> src/playing_field.rs:232:8
[INFO] [stdout]     |
[INFO] [stdout] 168 | impl LandedBlocksGrid {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 232 |     fn iter(&self) -> LandedBlocksIterator {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_enabled` and `is_unpressed` are never used
[INFO] [stdout]    --> src/title_screen_state_machine.rs:66:8
[INFO] [stdout]     |
[INFO] [stdout] 55  | impl TitleScreenBlinkStateMachine {
[INFO] [stdout]     | --------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66  |     fn is_enabled(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn is_unpressed(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/playing_field_state_machine.rs:290:28
[INFO] [stdout]     |
[INFO] [stdout] 290 |     fn handle_input(&self, context: &mut PlayingFieldStateMachineContext, input: Input, elapsed_milliseconds: Duration) {
[INFO] [stdout]     |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed_milliseconds`
[INFO] [stdout]    --> src/playing_field_state_machine.rs:290:89
[INFO] [stdout]     |
[INFO] [stdout] 290 |     fn handle_input(&self, context: &mut PlayingFieldStateMachineContext, input: Input, elapsed_milliseconds: Duration) {
[INFO] [stdout]     |                                                                                         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed_milliseconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/playing_field_state_machine.rs:340:28
[INFO] [stdout]     |
[INFO] [stdout] 340 |     fn handle_input(&self, context: &mut PlayingFieldStateMachineContext, input: Input, elapsed_milliseconds: Duration) {
[INFO] [stdout]     |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed_milliseconds`
[INFO] [stdout]    --> src/playing_field_state_machine.rs:340:89
[INFO] [stdout]     |
[INFO] [stdout] 340 |     fn handle_input(&self, context: &mut PlayingFieldStateMachineContext, input: Input, elapsed_milliseconds: Duration) {
[INFO] [stdout]     |                                                                                         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed_milliseconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed_milliseconds`
[INFO] [stdout]    --> src/playing_field_state_machine.rs:346:69
[INFO] [stdout]     |
[INFO] [stdout] 346 |     fn update(&self, context: &mut PlayingFieldStateMachineContext, elapsed_milliseconds: Duration) -> PlayingFieldState {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed_milliseconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block.rs:114:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn iter(&self) -> GooglyBlockShapeIterator {
[INFO] [stdout]     |                 ^^^^^     ------------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn iter(&self) -> GooglyBlockShapeIterator<'_> {
[INFO] [stdout]     |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/playing_field.rs:241:17
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn row_iter(&self) -> LandedBlocksRowIterator {
[INFO] [stdout]     |                 ^^^^^     ----------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn row_iter(&self) -> LandedBlocksRowIterator<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed_milliseconds`
[INFO] [stdout]     --> src/main.rs:2774:69
[INFO] [stdout]      |
[INFO] [stdout] 2774 |     fn handle_input(&self, context: &mut GameContext, input: Input, elapsed_milliseconds: Duration) {
[INFO] [stdout]      |                                                                     ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed_milliseconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed_milliseconds`
[INFO] [stdout]     --> src/main.rs:2853:69
[INFO] [stdout]      |
[INFO] [stdout] 2853 |     fn handle_input(&self, context: &mut GameContext, input: Input, elapsed_milliseconds: Duration) {
[INFO] [stdout]      |                                                                     ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed_milliseconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed_milliseconds`
[INFO] [stdout]     --> src/main.rs:2863:49
[INFO] [stdout]      |
[INFO] [stdout] 2863 |     fn update(&self, context: &mut GameContext, elapsed_milliseconds: Duration) -> GameState {
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed_milliseconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]     --> src/main.rs:2885:28
[INFO] [stdout]      |
[INFO] [stdout] 2885 |     fn handle_input(&self, context: &mut GameContext, input: Input, elapsed_milliseconds: Duration) {
[INFO] [stdout]      |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed_milliseconds`
[INFO] [stdout]     --> src/main.rs:2885:69
[INFO] [stdout]      |
[INFO] [stdout] 2885 |     fn handle_input(&self, context: &mut GameContext, input: Input, elapsed_milliseconds: Duration) {
[INFO] [stdout]      |                                                                     ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed_milliseconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed_milliseconds`
[INFO] [stdout]     --> src/main.rs:2891:49
[INFO] [stdout]      |
[INFO] [stdout] 2891 |     fn update(&self, context: &mut GameContext, elapsed_milliseconds: Duration) -> GameState {
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed_milliseconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]     --> src/main.rs:3246:33
[INFO] [stdout]      |
[INFO] [stdout] 3246 |     fn clear_framebuffer(&self, context: &mut RendererContext) {
[INFO] [stdout]      |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]     --> src/main.rs:3253:34
[INFO] [stdout]      |
[INFO] [stdout] 3253 |     fn clear_depth_buffer(&self, context: &mut RendererContext) {
[INFO] [stdout]      |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]     --> src/main.rs:3414:33
[INFO] [stdout]      |
[INFO] [stdout] 3414 |     fn clear_framebuffer(&self, context: &mut RendererContext) {
[INFO] [stdout]      |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]     --> src/main.rs:3421:34
[INFO] [stdout]      |
[INFO] [stdout] 3421 |     fn clear_depth_buffer(&self, context: &mut RendererContext) {
[INFO] [stdout]      |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]     --> src/main.rs:3602:22
[INFO] [stdout]      |
[INFO] [stdout] 3602 |     fn render(&self, context: &mut RendererContext) {}
[INFO] [stdout]      |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `v_pos_vbo` and `v_tex_vbo` are never read
[INFO] [stdout]    --> src/main.rs:352:5
[INFO] [stdout]     |
[INFO] [stdout] 350 | struct GLBackgroundPanel {
[INFO] [stdout]     |        ----------------- fields in this struct
[INFO] [stdout] 351 |     sp: GLuint,
[INFO] [stdout] 352 |     v_pos_vbo: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 353 |     v_tex_vbo: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GLBackgroundPanel` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `v_pos_vbo`, `v_tex_vbo`, `v_pos_loc`, and `v_tex_loc` are never read
[INFO] [stdout]    --> src/main.rs:413:5
[INFO] [stdout]     |
[INFO] [stdout] 410 | struct TitleScreenBufferHandle {
[INFO] [stdout]     |        ----------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 413 |     v_pos_vbo: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 414 |     v_tex_vbo: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 415 |     v_pos_loc: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 416 |     v_tex_loc: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TitleScreenBufferHandle` 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 `v_pos_vbo`, `v_tex_vbo`, `v_pos_loc`, and `v_tex_loc` are never read
[INFO] [stdout]    --> src/main.rs:578:5
[INFO] [stdout]     |
[INFO] [stdout] 575 | struct TitleScreenFlashingBufferHandle {
[INFO] [stdout]     |        ------------------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 578 |     v_pos_vbo: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 579 |     v_tex_vbo: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 580 |     v_pos_loc: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 581 |     v_tex_loc: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TitleScreenFlashingBufferHandle` 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 `v_pos_vbo` and `v_tex_vbo` are never read
[INFO] [stdout]    --> src/main.rs:936:5
[INFO] [stdout]     |
[INFO] [stdout] 934 | struct UIPanel {
[INFO] [stdout]     |        ------- fields in this struct
[INFO] [stdout] 935 |     sp: GLuint,
[INFO] [stdout] 936 |     v_pos_vbo: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 937 |     v_tex_vbo: GLuint,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `v_pos_vbo`, `v_tex_vbo`, `v_pos_loc`, and `v_tex_loc` are never read
[INFO] [stdout]     --> src/main.rs:1471:5
[INFO] [stdout]      |
[INFO] [stdout] 1468 | struct PlayingFieldBackgroundBufferHandle {
[INFO] [stdout]      |        ---------------------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1471 |     v_pos_vbo: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 1472 |     v_tex_vbo: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 1473 |     v_pos_loc: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 1474 |     v_tex_loc: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `PlayingFieldBackgroundBufferHandle` 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 `v_pos_vbo`, `v_tex_vbo`, `v_pos_loc`, and `v_tex_loc` are never read
[INFO] [stdout]     --> src/main.rs:1711:5
[INFO] [stdout]      |
[INFO] [stdout] 1708 | struct GameOverPanelHandle {
[INFO] [stdout]      |        ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1711 |     v_pos_vbo: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 1712 |     v_tex_vbo: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 1713 |     v_pos_loc: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 1714 |     v_tex_loc: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `GameOverPanelHandle` 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 `v_pos_vbo`, `v_pos_loc`, and `v_tex_loc` are never read
[INFO] [stdout]     --> src/main.rs:2143:5
[INFO] [stdout]      |
[INFO] [stdout] 2140 | struct PlayingFieldHandle {
[INFO] [stdout]      |        ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 2143 |     v_pos_vbo: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2146 |     v_pos_loc: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 2147 |     v_tex_loc: GLuint,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Release` is never constructed
[INFO] [stdout]   --> src/input.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum InputAction {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 22 |     Release,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InputAction` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]   --> src/mesh.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Points {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]   --> src/mesh.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl TextureCoordinates {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `points`, `tex_coords`, and `len` are never used
[INFO] [stdout]    --> src/mesh.rs:89:12
[INFO] [stdout]     |
[INFO] [stdout] 76  | impl ObjMesh {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89  |     pub fn points(&self) -> &[[f32; 2]] {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97  |     pub fn tex_coords(&self) -> &[[f32; 2]] {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_enabled` and `is_unpressed` are never used
[INFO] [stdout]    --> src/title_screen_state_machine.rs:66:8
[INFO] [stdout]     |
[INFO] [stdout] 55  | impl TitleScreenBlinkStateMachine {
[INFO] [stdout]     | --------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66  |     fn is_enabled(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn is_unpressed(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/block.rs:114:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn iter(&self) -> GooglyBlockShapeIterator {
[INFO] [stdout]     |                 ^^^^^     ------------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn iter(&self) -> GooglyBlockShapeIterator<'_> {
[INFO] [stdout]     |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/playing_field.rs:241:17
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn row_iter(&self) -> LandedBlocksRowIterator {
[INFO] [stdout]     |                 ^^^^^     ----------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn row_iter(&self) -> LandedBlocksRowIterator<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.14s
[INFO] running `Command { std: "docker" "inspect" "2281c978b23de51c18a94ec3deb6150ff19bf4c90bd8a83156e8f30304bf8652", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2281c978b23de51c18a94ec3deb6150ff19bf4c90bd8a83156e8f30304bf8652", kill_on_drop: false }`
[INFO] [stdout] 2281c978b23de51c18a94ec3deb6150ff19bf4c90bd8a83156e8f30304bf8652
