[INFO] cloning repository https://github.com/MetaMorgan/multipass
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MetaMorgan/multipass" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMetaMorgan%2Fmultipass", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMetaMorgan%2Fmultipass'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a64d0b7ea96c0b1a404ac29aca396a4d784980d1
[INFO] checking MetaMorgan/multipass against master#507271bc119683008ec719ecee48814e8ac86c65 for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMetaMorgan%2Fmultipass" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/MetaMorgan/multipass
[INFO] finished tweaking git repo https://github.com/MetaMorgan/multipass
[INFO] tweaked toml for git repo https://github.com/MetaMorgan/multipass written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/MetaMorgan/multipass on toolchain 507271bc119683008ec719ecee48814e8ac86c65
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/MetaMorgan/multipass 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" "+507271bc119683008ec719ecee48814e8ac86c65" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 19610894e40edf712719f2d5b8addf3b72c28a4e9ca140be347777845d65b644
[INFO] running `Command { std: "docker" "start" "-a" "19610894e40edf712719f2d5b8addf3b72c28a4e9ca140be347777845d65b644", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "19610894e40edf712719f2d5b8addf3b72c28a4e9ca140be347777845d65b644", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "19610894e40edf712719f2d5b8addf3b72c28a4e9ca140be347777845d65b644", kill_on_drop: false }`
[INFO] [stdout] 19610894e40edf712719f2d5b8addf3b72c28a4e9ca140be347777845d65b644
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e1c63996ac1fcae676cb982696ad7ecf653132ad06d2e3dc57fbc25752f93c7f
[INFO] running `Command { std: "docker" "start" "-a" "e1c63996ac1fcae676cb982696ad7ecf653132ad06d2e3dc57fbc25752f93c7f", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling find-msvc-tools v0.1.7
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling bindgen v0.70.1
[INFO] [stderr]    Compiling toml_edit v0.23.10+spec-1.0.0
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]     Checking spin v0.10.0
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling erased-serde v0.4.9
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]    Compiling slotmap v1.1.1
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling cc v1.2.52
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking nonmax v0.5.5
[INFO] [stderr]     Checking fixedbitset v0.5.7
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]     Checking bevy_platform v0.18.0
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]     Checking async-executor v1.13.3
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]     Checking bevy_utils v0.18.0
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling bevy_macro_utils v0.18.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling bevy_reflect_derive v0.18.0
[INFO] [stderr]    Compiling assert_type_match v0.1.1
[INFO] [stderr]    Compiling variadics_please v1.1.0
[INFO] [stderr]    Compiling bevy_ecs_macros v0.18.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking bevy_tasks v0.18.0
[INFO] [stderr]     Checking bevy_reflect v0.18.0
[INFO] [stderr]    Compiling raylib-sys v5.5.1
[INFO] [stderr]     Checking bevy_ecs v0.18.0
[INFO] [stderr]     Checking raylib v5.5.1
[INFO] [stderr]     Checking multipass v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/game_manager/menu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::error::Error;
[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: `std::error::Error`
[INFO] [stdout]  --> src/game_manager/menu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `BreakoutState` is more private than the item `breakout::systems::movement_system`
[INFO] [stdout]    --> src/games/breakout/systems.rs:101:1
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub fn movement_system(state: Res<BreakoutState>, input: Res<InputState>, mut query: Query<(&mut Position, &Velocity)>) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `breakout::systems::movement_system` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `BreakoutState` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/games/breakout/resources.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | pub(crate) struct BreakoutState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `breakout::components::Paddle` is more private than the item `breakout::systems::paddle_bounds_system`
[INFO] [stdout]    --> src/games/breakout/systems.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn paddle_bounds_system(mut query: Query<(&mut Position, &Size), With<Paddle>>) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `breakout::systems::paddle_bounds_system` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `breakout::components::Paddle` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/games/breakout/components.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | pub(crate) struct Paddle;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `pong::components::Paddle` is more private than the item `paddle_input_system`
[INFO] [stdout]   --> src/games/pong/systems.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn paddle_input_system(input: Res<InputState>, mut query: Query<(&Paddle, &mut Velocity)>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `paddle_input_system` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `pong::components::Paddle` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/games/pong/components.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub(crate) struct Paddle {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `pong::components::Paddle` is more private than the item `pong::systems::paddle_bounds_system`
[INFO] [stdout]   --> src/games/pong/systems.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn paddle_bounds_system(mut query: Query<(&mut Position, &Size), With<Paddle>>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `pong::systems::paddle_bounds_system` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `pong::components::Paddle` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/games/pong/components.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub(crate) struct Paddle {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `pong::components::Ball` is more private than the item `ball_collision_system`
[INFO] [stdout]   --> src/games/pong/systems.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn ball_collision_system(mut ball_query: Query<(&Position, &mut Velocity, &Size), With<Ball>>, paddle_query: Query<(&Position, &Size), With<Paddle>>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ball_collision_system` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `pong::components::Ball` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/games/pong/components.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct Ball;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `pong::components::Paddle` is more private than the item `ball_collision_system`
[INFO] [stdout]   --> src/games/pong/systems.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn ball_collision_system(mut ball_query: Query<(&Position, &mut Velocity, &Size), With<Ball>>, paddle_query: Query<(&Position, &Size), With<Paddle>>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ball_collision_system` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `pong::components::Paddle` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/games/pong/components.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub(crate) struct Paddle {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `pong::components::Ball` is more private than the item `ball_reset_system`
[INFO] [stdout]   --> src/games/pong/systems.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | / pub fn ball_reset_system(
[INFO] [stdout] 80 | |     mut ball_query: Query<(&mut Position, &mut Velocity, &Size), With<Ball>>,
[INFO] [stdout] 81 | |     mut score: ResMut<PongScore>,
[INFO] [stdout] 82 | | ) {
[INFO] [stdout]    | |_^ function `ball_reset_system` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `pong::components::Ball` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/games/pong/components.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct Ball;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `camera` is never read
[INFO] [stdout]  --> src/game_engine/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct GameEngine {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     camera: Camera2D,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `level` is never read
[INFO] [stdout]  --> src/games/breakout/resources.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) struct BreakoutState {
[INFO] [stdout]   |                   ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     pub(crate) level: u16,
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_adjacent_cell_type` is never used
[INFO] [stdout]   --> src/games/mine_sweeper/resources.rs:82:19
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl MineSweeperState {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub(crate) fn get_adjacent_cell_type(&self, x: usize, y: usize, cell_type: CellType) -> Vec<(usize, usize)> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Wall` is never constructed
[INFO] [stdout]   --> src/games/snake/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub(crate) enum CellType {
[INFO] [stdout]    |                 -------- variant in this enum
[INFO] [stdout] 17 |     Empty,
[INFO] [stdout] 18 |     Wall,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CellType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `BreakoutState` is more private than the item `breakout::systems::movement_system`
[INFO] [stdout]    --> src/games/breakout/systems.rs:101:1
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub fn movement_system(state: Res<BreakoutState>, input: Res<InputState>, mut query: Query<(&mut Position, &Velocity)>) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `breakout::systems::movement_system` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `BreakoutState` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/games/breakout/resources.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | pub(crate) struct BreakoutState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `breakout::components::Paddle` is more private than the item `breakout::systems::paddle_bounds_system`
[INFO] [stdout]    --> src/games/breakout/systems.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn paddle_bounds_system(mut query: Query<(&mut Position, &Size), With<Paddle>>) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `breakout::systems::paddle_bounds_system` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `breakout::components::Paddle` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/games/breakout/components.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | pub(crate) struct Paddle;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `pong::components::Paddle` is more private than the item `paddle_input_system`
[INFO] [stdout]   --> src/games/pong/systems.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn paddle_input_system(input: Res<InputState>, mut query: Query<(&Paddle, &mut Velocity)>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `paddle_input_system` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `pong::components::Paddle` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/games/pong/components.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub(crate) struct Paddle {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `pong::components::Paddle` is more private than the item `pong::systems::paddle_bounds_system`
[INFO] [stdout]   --> src/games/pong/systems.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn paddle_bounds_system(mut query: Query<(&mut Position, &Size), With<Paddle>>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `pong::systems::paddle_bounds_system` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `pong::components::Paddle` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/games/pong/components.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub(crate) struct Paddle {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `pong::components::Ball` is more private than the item `ball_collision_system`
[INFO] [stdout]   --> src/games/pong/systems.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn ball_collision_system(mut ball_query: Query<(&Position, &mut Velocity, &Size), With<Ball>>, paddle_query: Query<(&Position, &Size), With<Paddle>>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ball_collision_system` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `pong::components::Ball` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/games/pong/components.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct Ball;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `pong::components::Paddle` is more private than the item `ball_collision_system`
[INFO] [stdout]   --> src/games/pong/systems.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn ball_collision_system(mut ball_query: Query<(&Position, &mut Velocity, &Size), With<Ball>>, paddle_query: Query<(&Position, &Size), With<Paddle>>) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ball_collision_system` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `pong::components::Paddle` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/games/pong/components.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub(crate) struct Paddle {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `pong::components::Ball` is more private than the item `ball_reset_system`
[INFO] [stdout]   --> src/games/pong/systems.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | / pub fn ball_reset_system(
[INFO] [stdout] 80 | |     mut ball_query: Query<(&mut Position, &mut Velocity, &Size), With<Ball>>,
[INFO] [stdout] 81 | |     mut score: ResMut<PongScore>,
[INFO] [stdout] 82 | | ) {
[INFO] [stdout]    | |_^ function `ball_reset_system` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `pong::components::Ball` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/games/pong/components.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct Ball;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `camera` is never read
[INFO] [stdout]  --> src/game_engine/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct GameEngine {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     camera: Camera2D,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `level` is never read
[INFO] [stdout]  --> src/games/breakout/resources.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) struct BreakoutState {
[INFO] [stdout]   |                   ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     pub(crate) level: u16,
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_adjacent_cell_type` is never used
[INFO] [stdout]   --> src/games/mine_sweeper/resources.rs:82:19
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl MineSweeperState {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub(crate) fn get_adjacent_cell_type(&self, x: usize, y: usize, cell_type: CellType) -> Vec<(usize, usize)> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Wall` is never constructed
[INFO] [stdout]   --> src/games/snake/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub(crate) enum CellType {
[INFO] [stdout]    |                 -------- variant in this enum
[INFO] [stdout] 17 |     Empty,
[INFO] [stdout] 18 |     Wall,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CellType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 01s
[INFO] running `Command { std: "docker" "inspect" "e1c63996ac1fcae676cb982696ad7ecf653132ad06d2e3dc57fbc25752f93c7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e1c63996ac1fcae676cb982696ad7ecf653132ad06d2e3dc57fbc25752f93c7f", kill_on_drop: false }`
[INFO] [stdout] e1c63996ac1fcae676cb982696ad7ecf653132ad06d2e3dc57fbc25752f93c7f
