[INFO] cloning repository https://github.com/zeruslord/swingyships
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zeruslord/swingyships" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzeruslord%2Fswingyships", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzeruslord%2Fswingyships'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d449bf03446e5786738739354dea519a4480867a
[INFO] testing zeruslord/swingyships against 1.75.0 for beta-1.76-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzeruslord%2Fswingyships" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/zeruslord/swingyships on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/zeruslord/swingyships
[INFO] finished tweaking git repo https://github.com/zeruslord/swingyships
[INFO] tweaked toml for git repo https://github.com/zeruslord/swingyships written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/zeruslord/swingyships 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" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pistoncore-window v0.31.0
[INFO] [stderr]   Downloaded serde v1.0.29
[INFO] [stderr]   Downloaded piston-gfx_texture v0.31.0
[INFO] [stderr]   Downloaded pistoncore-glutin_window v0.45.2
[INFO] [stderr]   Downloaded dlib v0.4.0
[INFO] [stderr]   Downloaded pistoncore-event_loop v0.36.0
[INFO] [stderr]   Downloaded cmake v0.1.35
[INFO] [stderr]   Downloaded gleam v0.4.24
[INFO] [stderr]   Downloaded wayland-window v0.13.2
[INFO] [stderr]   Downloaded gfx_device_gl v0.15.1
[INFO] [stderr]   Downloaded rusttype v0.4.1
[INFO] [stderr]   Downloaded rayon v1.0.0
[INFO] [stderr]   Downloaded wrapped2d v0.4.0
[INFO] [stderr]   Downloaded glium v0.23.0
[INFO] [stderr]   Downloaded piston2d-sprite v0.43.0
[INFO] [stderr]   Downloaded piston2d-gfx_graphics v0.50.0
[INFO] [stderr]   Downloaded khronos_api v2.1.0
[INFO] [stderr]   Downloaded piston_window v0.77.0
[INFO] [stderr]   Downloaded x11-dl v2.17.3
[INFO] [stderr]   Downloaded piston2d-glium_graphics v0.48.0
[INFO] [stderr]   Downloaded piston v0.36.0
[INFO] [stderr]   Downloaded piston-ai_behavior v0.22.0
[INFO] [stderr]   Downloaded num-traits v0.2.1
[INFO] [stderr]   Downloaded cc v1.0.6
[INFO] [stderr]   Downloaded slotmap v0.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8543925ff033f59f6bbfe6704d6505c82d37a6b216e3ee16bf34e5063f2d6a2d
[INFO] running `Command { std: "docker" "start" "-a" "8543925ff033f59f6bbfe6704d6505c82d37a6b216e3ee16bf34e5063f2d6a2d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8543925ff033f59f6bbfe6704d6505c82d37a6b216e3ee16bf34e5063f2d6a2d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8543925ff033f59f6bbfe6704d6505c82d37a6b216e3ee16bf34e5063f2d6a2d", kill_on_drop: false }`
[INFO] [stdout] 8543925ff033f59f6bbfe6704d6505c82d37a6b216e3ee16bf34e5063f2d6a2d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 23d44d7c2c95d8699b604b44a63e9217193f32d0bd44b474496ca1b36d29acbc
[INFO] running `Command { std: "docker" "start" "-a" "23d44d7c2c95d8699b604b44a63e9217193f32d0bd44b474496ca1b36d29acbc", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v1.0.1
[INFO] [stderr]    Compiling cfg-if v0.1.2
[INFO] [stderr]    Compiling libc v0.2.39
[INFO] [stderr]    Compiling lazy_static v1.0.0
[INFO] [stderr]    Compiling khronos_api v2.1.0
[INFO] [stderr]    Compiling num-traits v0.2.1
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling nodrop v0.1.12
[INFO] [stderr]    Compiling libloading v0.4.3
[INFO] [stderr]    Compiling piston-float v0.3.0
[INFO] [stderr]    Compiling byteorder v1.2.1
[INFO] [stderr]    Compiling either v1.4.0
[INFO] [stderr]    Compiling cc v1.0.6
[INFO] [stderr]    Compiling serde v1.0.29
[INFO] [stderr]    Compiling token_store v0.1.2
[INFO] [stderr]    Compiling rayon-core v1.4.0
[INFO] [stderr]    Compiling log v0.4.1
[INFO] [stderr]    Compiling arrayvec v0.4.7
[INFO] [stderr]    Compiling xml-rs v0.7.0
[INFO] [stderr]    Compiling proc-macro2 v0.2.3
[INFO] [stderr]    Compiling piston-viewport v0.3.0
[INFO] [stderr]    Compiling crossbeam-utils v0.2.2
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling adler32 v1.0.2
[INFO] [stderr]    Compiling pkg-config v0.3.9
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]    Compiling crossbeam-epoch v0.3.0
[INFO] [stderr]    Compiling unreachable v0.1.1
[INFO] [stderr]    Compiling syn v0.10.8
[INFO] [stderr]    Compiling itertools v0.5.10
[INFO] [stderr]    Compiling fnv v1.0.6
[INFO] [stderr]    Compiling shader_version v0.3.0
[INFO] [stderr]    Compiling stb_truetype v0.2.2
[INFO] [stderr]    Compiling deflate v0.7.17
[INFO] [stderr]    Compiling quote v0.4.2
[INFO] [stderr]    Compiling inflate v0.3.4
[INFO] [stderr]    Compiling draw_state v0.8.0
[INFO] [stderr]    Compiling dlib v0.4.0
[INFO] [stderr]    Compiling syn v0.12.14
[INFO] [stderr]    Compiling rand v0.4.2
[INFO] [stderr]    Compiling wayland-sys v0.12.5
[INFO] [stderr]    Compiling crossbeam-deque v0.2.0
[INFO] [stderr]    Compiling wayland-scanner v0.12.5
[INFO] [stderr]    Compiling gl_generator v0.9.0
[INFO] [stderr]    Compiling gl_generator v0.8.0
[INFO] [stderr]    Compiling num_cpus v1.8.0
[INFO] [stderr]    Compiling memmap v0.6.2
[INFO] [stderr]    Compiling x11-dl v2.17.3
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling num-integer v0.1.36
[INFO] [stderr]    Compiling ordered-float v0.5.0
[INFO] [stderr]    Compiling num-iter v0.1.35
[INFO] [stderr]    Compiling lzw v0.10.0
[INFO] [stderr]    Compiling piston-texture v0.6.0
[INFO] [stderr]    Compiling rand v0.3.22
[INFO] [stderr]    Compiling tempfile v2.2.0
[INFO] [stderr]    Compiling color_quant v1.0.0
[INFO] [stderr]    Compiling khronos_api v3.0.0
[INFO] [stderr]    Compiling png v0.11.0
[INFO] [stderr]    Compiling rusttype v0.4.1
[INFO] [stderr]    Compiling gif v0.9.2
[INFO] [stderr]    Compiling num-rational v0.1.42
[INFO] [stderr]    Compiling backtrace-sys v0.1.16
[INFO] [stderr]    Compiling wayland-client v0.12.5
[INFO] [stderr]    Compiling wayland-protocols v0.12.5
[INFO] [stderr]    Compiling rayon v1.0.0
[INFO] [stderr]    Compiling enum_primitive v0.1.1
[INFO] [stderr]    Compiling shared_library v0.1.8
[INFO] [stderr]    Compiling vecmath v0.3.1
[INFO] [stderr]    Compiling glutin v0.12.2
[INFO] [stderr]    Compiling gl v0.10.0
[INFO] [stderr]    Compiling read_color v1.0.0
[INFO] [stderr]    Compiling interpolation v0.1.0
[INFO] [stderr]    Compiling scoped_threadpool v0.1.9
[INFO] [stderr]    Compiling osmesa-sys v0.1.2
[INFO] [stderr]    Compiling gfx_gl v0.5.0
[INFO] [stderr]    Compiling piston2d-graphics v0.26.0
[INFO] [stderr]    Compiling rustc-demangle v0.1.7
[INFO] [stderr]    Compiling xml-rs v0.8.0
[INFO] [stderr]    Compiling serde_derive_internals v0.20.0
[INFO] [stderr]    Compiling glium v0.20.0
[INFO] [stderr]    Compiling jpeg-decoder v0.1.14
[INFO] [stderr]    Compiling cmake v0.1.35
[INFO] [stderr]    Compiling gl_generator v0.10.0
[INFO] [stderr]    Compiling piston-shaders_graphics2d v0.3.1
[INFO] [stderr]    Compiling image v0.18.0
[INFO] [stderr]    Compiling smallvec v0.6.0
[INFO] [stderr]    Compiling derivative v1.0.0
[INFO] [stderr]    Compiling wrapped2d v0.4.0
[INFO] [stderr]    Compiling serde_derive v1.0.29
[INFO] [stderr]    Compiling uuid v0.1.18
[INFO] [stderr]    Compiling bitflags v0.9.1
[INFO] [stderr]    Compiling wayland-kbd v0.13.1
[INFO] [stderr]    Compiling vec_map v0.8.0
[INFO] [stderr]    Compiling toml v0.4.10
[INFO] [stderr]    Compiling find_folder v0.3.0
[INFO] [stderr]    Compiling slotmap v0.3.0
[INFO] [stderr]    Compiling glium v0.23.0
[INFO] [stderr]    Compiling gfx_core v0.8.2
[INFO] [stderr]    Compiling wayland-window v0.13.2
[INFO] [stderr]    Compiling winit v0.10.0
[INFO] [stderr]    Compiling pistoncore-input v0.20.0
[INFO] [stderr]    Compiling gfx v0.17.1
[INFO] [stderr]    Compiling pistoncore-window v0.31.0
[INFO] [stderr]    Compiling pistoncore-event_loop v0.36.0
[INFO] [stderr]    Compiling piston v0.36.0
[INFO] [stderr]    Compiling piston-gfx_texture v0.31.0
[INFO] [stderr]    Compiling piston-ai_behavior v0.22.0
[INFO] [stderr]    Compiling pistoncore-glutin_window v0.45.2
[INFO] [stderr]    Compiling gfx_device_gl v0.15.1
[INFO] [stderr]    Compiling piston2d-gfx_graphics v0.50.0
[INFO] [stderr]    Compiling piston2d-sprite v0.43.0
[INFO] [stderr]    Compiling piston_window v0.77.0
[INFO] [stderr]    Compiling backtrace v0.3.5
[INFO] [stderr]    Compiling piston2d-glium_graphics v0.48.0
[INFO] [stderr]    Compiling swingyships v0.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `MouseCursorEvent`, `PressEvent`
[INFO] [stdout]   --> src/swingyships/game.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 | use piston_window::{Event, PressEvent, MouseCursorEvent, MouseRelativeEvent, RenderEvent, AdvancedWindow};
[INFO] [stdout]    |                            ^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Action`, `Sequence`, `WaitForever`, `Wait`, `While`
[INFO] [stdout]   --> src/swingyships/game.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Action,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 20 |     Sequence,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 21 |     Wait,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 22 |     WaitForever,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 23 |     While,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/swingyships/game.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/swingyships/game.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/swingyships/game.rs:126:28
[INFO] [stdout]     |
[INFO] [stdout] 126 |                         if (magnitude > 2000.) {
[INFO] [stdout]     |                            ^                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 126 -                         if (magnitude > 2000.) {
[INFO] [stdout] 126 +                         if magnitude > 2000. {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Sequence`, `WaitForever`, `Wait`, `While`
[INFO] [stdout]   --> src/swingyships/objects.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Sequence,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 22 |     Wait,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 23 |     WaitForever,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 24 |     While,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wrapped2d::handle::TypedHandle`
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use wrapped2d::handle::TypedHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WaitForever`, `Wait`, `While`
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     Wait,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 35 |     WaitForever,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 36 |     While,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | use std::io::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DirEntry`, `File`, `ReadDir`
[INFO] [stdout]   --> src/main.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 | use std::fs::{File, ReadDir, DirEntry};
[INFO] [stdout]    |               ^^^^  ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::FromIterator`
[INFO] [stdout]   --> src/main.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | use std::iter::FromIterator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/main.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Event`, `MouseCursorEvent`, `MouseRelativeEvent`
[INFO] [stdout]   --> src/main.rs:50:21
[INFO] [stdout]    |
[INFO] [stdout] 50 | use piston_window::{Event, PressEvent, MouseCursorEvent, MouseRelativeEvent, RenderEvent, AdvancedWindow};
[INFO] [stdout]    |                     ^^^^^              ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `piston::event_loop::EventLoop`
[INFO] [stdout]   --> src/main.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | use piston::event_loop::EventLoop;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glutin_window::GlutinWindow`
[INFO] [stdout]   --> src/main.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | use glutin_window::GlutinWindow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:217:15
[INFO] [stdout]     |
[INFO] [stdout] 217 |             if(to_destroy.len() > 0) {
[INFO] [stdout]     |               ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 217 -             if(to_destroy.len() > 0) {
[INFO] [stdout] 217 +             if to_destroy.len() > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/swingyships/objects.rs:144:44
[INFO] [stdout]     |
[INFO] [stdout] 144 |         length: f32) -> Option<TypedHandle<b2::Joint>>{
[INFO] [stdout]     |                                            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 144 |         length: f32) -> Option<TypedHandle<dyn b2::Joint>>{
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/swingyships/objects.rs:159:51
[INFO] [stdout]     |
[INFO] [stdout] 159 |         root_pos: b2::Vec2) -> Option<TypedHandle<b2::Joint>> {
[INFO] [stdout]     |                                                   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 159 |         root_pos: b2::Vec2) -> Option<TypedHandle<dyn b2::Joint>> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AdvancedWindow`
[INFO] [stdout]   --> src/swingyships/game.rs:11:91
[INFO] [stdout]    |
[INFO] [stdout] 11 | use piston_window::{Event, PressEvent, MouseCursorEvent, MouseRelativeEvent, RenderEvent, AdvancedWindow};
[INFO] [stdout]    |                                                                                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/swingyships/game.rs:103:30
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn update(&mut self, e: &Event) -> bool {
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]   --> src/swingyships/objects.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/swingyships/objects.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut sprite = Sprite::from_texture(tex.clone());
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/swingyships/objects.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let mut def = b2::BodyDef {
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]   --> src/swingyships/objects.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/swingyships/objects.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let mut def = b2::BodyDef {
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/swingyships/objects.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let mut sprite = Sprite::from_texture(tex.clone());
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/swingyships/objects.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/swingyships/objects.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut def = b2::BodyDef {
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/swingyships/objects.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let mut sprite = Sprite::from_texture(tex.clone());
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/swingyships/objects.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |     for i in 0 .. def.length {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/swingyships/objects.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let mut sprite = Sprite::from_texture(tex);
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/swingyships/objects.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |     let mut def = b2::BodyDef {
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chaser`
[INFO] [stdout]   --> src/swingyships/level_loader.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let chaser = make_chaser(game, &tex.chaser, chaser_def, &chasers.props);
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_chaser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `access`
[INFO] [stdout]   --> src/swingyships/physics.rs:16:31
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn end_contact(&mut self, access:ContactAccess<U>) {
[INFO] [stdout]    |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_access`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `access`
[INFO] [stdout]   --> src/swingyships/physics.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn pre_solve(&mut self, access:ContactAccess<U>, _: &Manifold) {
[INFO] [stdout]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_access`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/main.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |             let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/main.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |             let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/main.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 140 |             let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/main.rs:148:17
[INFO] [stdout]     |
[INFO] [stdout] 148 |             let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let mut walls_def = b2::BodyDef {
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sprite_type` is never used
[INFO] [stdout]   --> src/swingyships/game.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl Game {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn sprite_type(&self, key: SpriteKey) -> Option<SpriteObjectType> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 41 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 29.76s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.24, syn v0.10.8, syn v0.12.14
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "23d44d7c2c95d8699b604b44a63e9217193f32d0bd44b474496ca1b36d29acbc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "23d44d7c2c95d8699b604b44a63e9217193f32d0bd44b474496ca1b36d29acbc", kill_on_drop: false }`
[INFO] [stdout] 23d44d7c2c95d8699b604b44a63e9217193f32d0bd44b474496ca1b36d29acbc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c495aff0b06f996438870beb4c3a26f438a4300dcb61a8083471074ac4401497
[INFO] running `Command { std: "docker" "start" "-a" "c495aff0b06f996438870beb4c3a26f438a4300dcb61a8083471074ac4401497", kill_on_drop: false }`
[INFO] [stderr]    Compiling swingyships v0.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `MouseCursorEvent`, `PressEvent`
[INFO] [stdout]   --> src/swingyships/game.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 | use piston_window::{Event, PressEvent, MouseCursorEvent, MouseRelativeEvent, RenderEvent, AdvancedWindow};
[INFO] [stdout]    |                            ^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Action`, `Sequence`, `WaitForever`, `Wait`, `While`
[INFO] [stdout]   --> src/swingyships/game.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Action,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 20 |     Sequence,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 21 |     Wait,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 22 |     WaitForever,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 23 |     While,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/swingyships/game.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/swingyships/game.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/swingyships/game.rs:126:28
[INFO] [stdout]     |
[INFO] [stdout] 126 |                         if (magnitude > 2000.) {
[INFO] [stdout]     |                            ^                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 126 -                         if (magnitude > 2000.) {
[INFO] [stdout] 126 +                         if magnitude > 2000. {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Sequence`, `WaitForever`, `Wait`, `While`
[INFO] [stdout]   --> src/swingyships/objects.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Sequence,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 22 |     Wait,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 23 |     WaitForever,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 24 |     While,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wrapped2d::handle::TypedHandle`
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use wrapped2d::handle::TypedHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WaitForever`, `Wait`, `While`
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     Wait,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 35 |     WaitForever,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 36 |     While,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | use std::io::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DirEntry`, `File`, `ReadDir`
[INFO] [stdout]   --> src/main.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 | use std::fs::{File, ReadDir, DirEntry};
[INFO] [stdout]    |               ^^^^  ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::FromIterator`
[INFO] [stdout]   --> src/main.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | use std::iter::FromIterator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/main.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Event`, `MouseCursorEvent`, `MouseRelativeEvent`
[INFO] [stdout]   --> src/main.rs:50:21
[INFO] [stdout]    |
[INFO] [stdout] 50 | use piston_window::{Event, PressEvent, MouseCursorEvent, MouseRelativeEvent, RenderEvent, AdvancedWindow};
[INFO] [stdout]    |                     ^^^^^              ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `piston::event_loop::EventLoop`
[INFO] [stdout]   --> src/main.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | use piston::event_loop::EventLoop;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glutin_window::GlutinWindow`
[INFO] [stdout]   --> src/main.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | use glutin_window::GlutinWindow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:217:15
[INFO] [stdout]     |
[INFO] [stdout] 217 |             if(to_destroy.len() > 0) {
[INFO] [stdout]     |               ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 217 -             if(to_destroy.len() > 0) {
[INFO] [stdout] 217 +             if to_destroy.len() > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/swingyships/objects.rs:144:44
[INFO] [stdout]     |
[INFO] [stdout] 144 |         length: f32) -> Option<TypedHandle<b2::Joint>>{
[INFO] [stdout]     |                                            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 144 |         length: f32) -> Option<TypedHandle<dyn b2::Joint>>{
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/swingyships/objects.rs:159:51
[INFO] [stdout]     |
[INFO] [stdout] 159 |         root_pos: b2::Vec2) -> Option<TypedHandle<b2::Joint>> {
[INFO] [stdout]     |                                                   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 159 |         root_pos: b2::Vec2) -> Option<TypedHandle<dyn b2::Joint>> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AdvancedWindow`
[INFO] [stdout]   --> src/swingyships/game.rs:11:91
[INFO] [stdout]    |
[INFO] [stdout] 11 | use piston_window::{Event, PressEvent, MouseCursorEvent, MouseRelativeEvent, RenderEvent, AdvancedWindow};
[INFO] [stdout]    |                                                                                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/swingyships/game.rs:103:30
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn update(&mut self, e: &Event) -> bool {
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]   --> src/swingyships/objects.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/swingyships/objects.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut sprite = Sprite::from_texture(tex.clone());
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/swingyships/objects.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let mut def = b2::BodyDef {
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]   --> src/swingyships/objects.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/swingyships/objects.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let mut def = b2::BodyDef {
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/swingyships/objects.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let mut sprite = Sprite::from_texture(tex.clone());
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/swingyships/objects.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/swingyships/objects.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut def = b2::BodyDef {
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/swingyships/objects.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let mut sprite = Sprite::from_texture(tex.clone());
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/swingyships/objects.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |     for i in 0 .. def.length {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/swingyships/objects.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let mut sprite = Sprite::from_texture(tex);
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/swingyships/objects.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |     let mut def = b2::BodyDef {
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chaser`
[INFO] [stdout]   --> src/swingyships/level_loader.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let chaser = make_chaser(game, &tex.chaser, chaser_def, &chasers.props);
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_chaser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `access`
[INFO] [stdout]   --> src/swingyships/physics.rs:16:31
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn end_contact(&mut self, access:ContactAccess<U>) {
[INFO] [stdout]    |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_access`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `access`
[INFO] [stdout]   --> src/swingyships/physics.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn pre_solve(&mut self, access:ContactAccess<U>, _: &Manifold) {
[INFO] [stdout]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_access`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/main.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |             let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/main.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |             let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/main.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 140 |             let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/main.rs:148:17
[INFO] [stdout]     |
[INFO] [stdout] 148 |             let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let mut walls_def = b2::BodyDef {
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sprite_type` is never used
[INFO] [stdout]   --> src/swingyships/game.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl Game {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn sprite_type(&self, key: SpriteKey) -> Option<SpriteObjectType> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 41 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.66s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.24, syn v0.10.8, syn v0.12.14
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "c495aff0b06f996438870beb4c3a26f438a4300dcb61a8083471074ac4401497", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c495aff0b06f996438870beb4c3a26f438a4300dcb61a8083471074ac4401497", kill_on_drop: false }`
[INFO] [stdout] c495aff0b06f996438870beb4c3a26f438a4300dcb61a8083471074ac4401497
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1be9f072875be419f1fe23cfa5b0cc045b82c1e08e2ad668de5e20664934c843
[INFO] running `Command { std: "docker" "start" "-a" "1be9f072875be419f1fe23cfa5b0cc045b82c1e08e2ad668de5e20664934c843", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `MouseCursorEvent`, `PressEvent`
[INFO] [stderr]   --> src/swingyships/game.rs:11:28
[INFO] [stderr]    |
[INFO] [stderr] 11 | use piston_window::{Event, PressEvent, MouseCursorEvent, MouseRelativeEvent, RenderEvent, AdvancedWindow};
[INFO] [stderr]    |                            ^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Action`, `Sequence`, `WaitForever`, `Wait`, `While`
[INFO] [stderr]   --> src/swingyships/game.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 |     Action,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 20 |     Sequence,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 21 |     Wait,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 22 |     WaitForever,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 23 |     While,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]   --> src/swingyships/game.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 28 | use std::collections::HashMap;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::rc::Rc`
[INFO] [stderr]   --> src/swingyships/game.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 | use std::rc::Rc;
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/swingyships/game.rs:126:28
[INFO] [stderr]     |
[INFO] [stderr] 126 |                         if (magnitude > 2000.) {
[INFO] [stderr]     |                            ^                 ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 126 -                         if (magnitude > 2000.) {
[INFO] [stderr] 126 +                         if magnitude > 2000. {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Sequence`, `WaitForever`, `Wait`, `While`
[INFO] [stderr]   --> src/swingyships/objects.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     Sequence,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 22 |     Wait,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 23 |     WaitForever,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 24 |     While,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wrapped2d::handle::TypedHandle`
[INFO] [stderr]   --> src/main.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 | use wrapped2d::handle::TypedHandle;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `WaitForever`, `Wait`, `While`
[INFO] [stderr]   --> src/main.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 34 |     Wait,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 35 |     WaitForever,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 36 |     While,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::prelude::*`
[INFO] [stderr]   --> src/main.rs:40:5
[INFO] [stderr]    |
[INFO] [stderr] 40 | use std::io::prelude::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DirEntry`, `File`, `ReadDir`
[INFO] [stderr]   --> src/main.rs:41:15
[INFO] [stderr]    |
[INFO] [stderr] 41 | use std::fs::{File, ReadDir, DirEntry};
[INFO] [stderr]    |               ^^^^  ^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::iter::FromIterator`
[INFO] [stderr]   --> src/main.rs:44:5
[INFO] [stderr]    |
[INFO] [stderr] 44 | use std::iter::FromIterator;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `uuid::Uuid`
[INFO] [stderr]   --> src/main.rs:45:5
[INFO] [stderr]    |
[INFO] [stderr] 45 | use uuid::Uuid;
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Event`, `MouseCursorEvent`, `MouseRelativeEvent`
[INFO] [stderr]   --> src/main.rs:50:21
[INFO] [stderr]    |
[INFO] [stderr] 50 | use piston_window::{Event, PressEvent, MouseCursorEvent, MouseRelativeEvent, RenderEvent, AdvancedWindow};
[INFO] [stderr]    |                     ^^^^^              ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `piston::event_loop::EventLoop`
[INFO] [stderr]   --> src/main.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 51 | use piston::event_loop::EventLoop;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `glutin_window::GlutinWindow`
[INFO] [stderr]   --> src/main.rs:54:5
[INFO] [stderr]    |
[INFO] [stderr] 54 | use glutin_window::GlutinWindow;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/main.rs:217:15
[INFO] [stderr]     |
[INFO] [stderr] 217 |             if(to_destroy.len() > 0) {
[INFO] [stderr]     |               ^                    ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 217 -             if(to_destroy.len() > 0) {
[INFO] [stderr] 217 +             if to_destroy.len() > 0 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/swingyships/objects.rs:144:44
[INFO] [stderr]     |
[INFO] [stderr] 144 |         length: f32) -> Option<TypedHandle<b2::Joint>>{
[INFO] [stderr]     |                                            ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 144 |         length: f32) -> Option<TypedHandle<dyn b2::Joint>>{
[INFO] [stderr]     |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/swingyships/objects.rs:159:51
[INFO] [stderr]     |
[INFO] [stderr] 159 |         root_pos: b2::Vec2) -> Option<TypedHandle<b2::Joint>> {
[INFO] [stderr]     |                                                   ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 159 |         root_pos: b2::Vec2) -> Option<TypedHandle<dyn b2::Joint>> {
[INFO] [stderr]     |                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AdvancedWindow`
[INFO] [stderr]   --> src/swingyships/game.rs:11:91
[INFO] [stderr]    |
[INFO] [stderr] 11 | use piston_window::{Event, PressEvent, MouseCursorEvent, MouseRelativeEvent, RenderEvent, AdvancedWindow};
[INFO] [stderr]    |                                                                                           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/swingyships/game.rs:103:30
[INFO] [stderr]     |
[INFO] [stderr] 103 |     pub fn update(&mut self, e: &Event) -> bool {
[INFO] [stderr]     |                              ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `handle`
[INFO] [stderr]   --> src/swingyships/objects.rs:62:13
[INFO] [stderr]    |
[INFO] [stderr] 62 |         let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/swingyships/objects.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 38 |     let mut sprite = Sprite::from_texture(tex.clone());
[INFO] [stderr]    |         ----^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/swingyships/objects.rs:42:9
[INFO] [stderr]    |
[INFO] [stderr] 42 |     let mut def = b2::BodyDef {
[INFO] [stderr]    |         ----^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `handle`
[INFO] [stderr]   --> src/swingyships/objects.rs:93:13
[INFO] [stderr]    |
[INFO] [stderr] 93 |         let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/swingyships/objects.rs:74:9
[INFO] [stderr]    |
[INFO] [stderr] 74 |     let mut def = b2::BodyDef {
[INFO] [stderr]    |         ----^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/swingyships/objects.rs:97:9
[INFO] [stderr]    |
[INFO] [stderr] 97 |     let mut sprite = Sprite::from_texture(tex.clone());
[INFO] [stderr]    |         ----^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `handle`
[INFO] [stderr]    --> src/swingyships/objects.rs:134:13
[INFO] [stderr]     |
[INFO] [stderr] 134 |         let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/swingyships/objects.rs:112:9
[INFO] [stderr]     |
[INFO] [stderr] 112 |     let mut def = b2::BodyDef {
[INFO] [stderr]     |         ----^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/swingyships/objects.rs:118:9
[INFO] [stderr]     |
[INFO] [stderr] 118 |     let mut sprite = Sprite::from_texture(tex.clone());
[INFO] [stderr]     |         ----^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/swingyships/objects.rs:165:9
[INFO] [stderr]     |
[INFO] [stderr] 165 |     for i in 0 .. def.length {
[INFO] [stderr]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/swingyships/objects.rs:186:9
[INFO] [stderr]     |
[INFO] [stderr] 186 |     let mut sprite = Sprite::from_texture(tex);
[INFO] [stderr]     |         ----^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/swingyships/objects.rs:189:9
[INFO] [stderr]     |
[INFO] [stderr] 189 |     let mut def = b2::BodyDef {
[INFO] [stderr]     |         ----^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `chaser`
[INFO] [stderr]   --> src/swingyships/level_loader.rs:98:13
[INFO] [stderr]    |
[INFO] [stderr] 98 |         let chaser = make_chaser(game, &tex.chaser, chaser_def, &chasers.props);
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_chaser`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `access`
[INFO] [stderr]   --> src/swingyships/physics.rs:16:31
[INFO] [stderr]    |
[INFO] [stderr] 16 |     fn end_contact(&mut self, access:ContactAccess<U>) {
[INFO] [stderr]    |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_access`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `access`
[INFO] [stderr]   --> src/swingyships/physics.rs:20:29
[INFO] [stderr]    |
[INFO] [stderr] 20 |     fn pre_solve(&mut self, access:ContactAccess<U>, _: &Manifold) {
[INFO] [stderr]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_access`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `handle`
[INFO] [stderr]    --> src/main.rs:124:17
[INFO] [stderr]     |
[INFO] [stderr] 124 |             let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stderr]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `handle`
[INFO] [stderr]    --> src/main.rs:132:17
[INFO] [stderr]     |
[INFO] [stderr] 132 |             let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stderr]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `handle`
[INFO] [stderr]    --> src/main.rs:140:17
[INFO] [stderr]     |
[INFO] [stderr] 140 |             let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stderr]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `handle`
[INFO] [stderr]    --> src/main.rs:148:17
[INFO] [stderr]     |
[INFO] [stderr] 148 |             let handle = body.create_fixture(&shape, &mut fixture_def);
[INFO] [stderr]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:109:9
[INFO] [stderr]     |
[INFO] [stderr] 109 |     let mut walls_def = b2::BodyDef {
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: method `sprite_type` is never used
[INFO] [stderr]   --> src/swingyships/game.rs:88:12
[INFO] [stderr]    |
[INFO] [stderr] 71 | impl Game {
[INFO] [stderr]    | --------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 88 |     pub fn sprite_type(&self, key: SpriteKey) -> Option<SpriteObjectType> {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `swingyships` (bin "swingyships" test) generated 41 warnings (run `cargo fix --bin "swingyships" --tests` to apply 39 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.24, syn v0.10.8, syn v0.12.14
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/swingyships-acad4d30235019fb)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1be9f072875be419f1fe23cfa5b0cc045b82c1e08e2ad668de5e20664934c843", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1be9f072875be419f1fe23cfa5b0cc045b82c1e08e2ad668de5e20664934c843", kill_on_drop: false }`
[INFO] [stdout] 1be9f072875be419f1fe23cfa5b0cc045b82c1e08e2ad668de5e20664934c843
