[INFO] cloning repository https://github.com/kennoath/rustparty [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kennoath/rustparty" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkennoath%2Frustparty", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkennoath%2Frustparty'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 821782307afaea0cd27a5d8ee7a496b8066de24c [INFO] building kennoath/rustparty against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkennoath%2Frustparty" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/kennoath/rustparty on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/kennoath/rustparty [INFO] finished tweaking git repo https://github.com/kennoath/rustparty [INFO] tweaked toml for git repo https://github.com/kennoath/rustparty written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/kennoath/rustparty 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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6406d48dfa5f1d47fcb3cd06c7fbfba69c4745e4c9ef1b5c2d27b885d46b1908 [INFO] running `Command { std: "docker" "start" "-a" "6406d48dfa5f1d47fcb3cd06c7fbfba69c4745e4c9ef1b5c2d27b885d46b1908", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6406d48dfa5f1d47fcb3cd06c7fbfba69c4745e4c9ef1b5c2d27b885d46b1908", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6406d48dfa5f1d47fcb3cd06c7fbfba69c4745e4c9ef1b5c2d27b885d46b1908", kill_on_drop: false }` [INFO] [stdout] 6406d48dfa5f1d47fcb3cd06c7fbfba69c4745e4c9ef1b5c2d27b885d46b1908 [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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 02c35933de14bf8d5cffacf2595d28f4cc47c2e19cea649af08b1353a44924a4 [INFO] running `Command { std: "docker" "start" "-a" "02c35933de14bf8d5cffacf2595d28f4cc47c2e19cea649af08b1353a44924a4", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.101 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling version-compare v0.0.10 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.10 [INFO] [stderr] Compiling sdl2 v0.34.5 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling sdl2-sys v0.34.5 [INFO] [stderr] Compiling getrandom v0.2.3 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.4 [INFO] [stderr] Compiling rustparty v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::components::physics_component` [INFO] [stdout] --> src/games/wizard_duel.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::components::physics_component; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::INFINITY` [INFO] [stdout] --> src/games/wizard_duel.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use std::f32::INFINITY; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::grid::*` [INFO] [stdout] --> src/systems/collision.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::grid::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::INFINITY` [INFO] [stdout] --> src/rect.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::f32::INFINITY; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/vec3.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/grid.rs:120:17 [INFO] [stdout] | [INFO] [stdout] 119 | panic!("raycast infinite loop"); [INFO] [stdout] | ------------------------------- any code following this expression is unreachable [INFO] [stdout] 120 | println!("bailing"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `subject_proj` [INFO] [stdout] --> src/games/wizard_duel.rs:223:25 [INFO] [stdout] | [INFO] [stdout] 223 | if let Some(subject_proj) = self.entities.projectile_comps.get(&col.subject) { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subject_proj` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `object_proj` [INFO] [stdout] --> src/games/wizard_duel.rs:224:29 [INFO] [stdout] | [INFO] [stdout] 224 | if let Some(object_proj) = self.entities.projectile_comps.get(&col.object) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_object_proj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `object_player` [INFO] [stdout] --> src/games/wizard_duel.rs:228:36 [INFO] [stdout] | [INFO] [stdout] 228 | } else if let Some(object_player) = self.entities.player_comps.get(&col.object) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_object_player` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `projectile` [INFO] [stdout] --> src/games/wizard_duel.rs:261:25 [INFO] [stdout] | [INFO] [stdout] 261 | if let Some(projectile) = self.entities.projectile_comps.get(key) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_projectile` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/games/testgame.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl TestGame { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 23 | pub fn new() -> TestGame { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `EntityType` is never used [INFO] [stdout] --> src/games/wizard_duel.rs:50:6 [INFO] [stdout] | [INFO] [stdout] 50 | enum EntityType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `collision_events` is never read [INFO] [stdout] --> src/games/wizard_duel.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 131 | pub struct WizardDuel { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 132 | side_effects: Vec, [INFO] [stdout] 133 | collision_events: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WizardDuel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `subject_vel` and `object_vel` are never read [INFO] [stdout] --> src/systems/collision.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct CollisionEvent { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub subject_vel: Vec2, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 20 | pub object_vel: Vec2, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CollisionEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `dilate` and `dir_side` are never used [INFO] [stdout] --> src/rect.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Rect { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn dilate(&self, d: f32) -> Rect { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn dir_side(&self, dir: Vec2) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `End` is never constructed [INFO] [stdout] --> src/scene_manager.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum Signal { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] 16 | Victory(u32), [INFO] [stdout] 17 | End, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Ground` and `Wall` are never constructed [INFO] [stdout] --> src/grid.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum Tile { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 8 | Ground, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | Wall, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Tile` 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: struct `Grid` is never constructed [INFO] [stdout] --> src/grid.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Grid { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/grid.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Grid { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 21 | pub fn new(w: i32, h: i32, elem_w: f32, elem_h: f32) -> Grid { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn set_2d(&mut self, x: i32, y: i32, t: Tile) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn get_2d(&self, x: i32, y: i32) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn get_rect_2d(&self, x: i32, y: i32) -> Rect { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn get_rect_1d(&self, i: i32) -> Rect { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn get_xy_of_position(&self, v: Vec2) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn get_position(&self, v: Vec2) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn raycast(&self, ray_origin: Vec2, ray_destination: Vec2) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `sub`, `lerp`, `clamp`, `spread`, `dot`, and `proj` are never used [INFO] [stdout] --> src/vec2.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Vec2 { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn sub(&self, other: Vec2) -> Vec2 { Vec2::new(self.x - other.x, self.y - other.y) } [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn lerp(&self, other: Vec2, t: f32) -> Vec2 { Vec2::new(self.x*(1.0-t) + other.x*(t), self.y*(1.0-t) + other.y*(t)) } [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn clamp(&self, min: Vec2, max: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn spread(&self, amount: f32) -> Vec2 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn dot(&self, other: Vec2) -> f32 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn proj(&self, other: Vec2) -> f32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `sub`, `add`, `div_scalar`, `magnitude`, `normalize`, and `lerp` are never used [INFO] [stdout] --> src/vec3.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Vec3 { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 13 | pub fn sub(&self, other: Vec3) -> Vec3 { Vec3::new(self.x - other.x, self.y - other.y, self.z - other.z) } [INFO] [stdout] | ^^^ [INFO] [stdout] 14 | pub fn add(&self, other: Vec3) -> Vec3 { Vec3::new(self.x + other.x, self.y + other.y, self.z + other.z) } [INFO] [stdout] | ^^^ [INFO] [stdout] 15 | pub fn mul_scalar(&self, scalar: f32) -> Vec3 { Vec3::new(self.x * scalar, self.y * scalar, self.z * scalar) } [INFO] [stdout] 16 | pub fn div_scalar(&self, scalar: f32) -> Vec3 { Vec3::new(self.x / scalar, self.y / scalar, self.z * scalar) } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 17 | pub fn magnitude(&self) -> f32 { (self.x*self.x + self.y*self.y + self.z*self.z).sqrt() } [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 18 | pub fn normalize(&self) -> Vec3 { self.div_scalar(self.magnitude()) } [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 19 | pub fn lerp(&self, other: Vec3, t: f32) -> Vec3 { Vec3::new(self.x*(1.0-t) + other.x*(t), self.y*(1.0-t) + other.y*(t), self.z*(1.0-t... [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `player_speed` should have an upper case name [INFO] [stdout] --> src/games/wizard_duel.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | static player_speed: f32 = 0.25; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper case: `PLAYER_SPEED` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `player_size` should have an upper case name [INFO] [stdout] --> src/games/wizard_duel.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | static player_size: f32 = 0.05; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper case: `PLAYER_SIZE` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `mana_bar_size` should have an upper case name [INFO] [stdout] --> src/games/wizard_duel.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | static mana_bar_size: f32 = 0.01; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper case: `MANA_BAR_SIZE` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `mana_bar_gap` should have an upper case name [INFO] [stdout] --> src/games/wizard_duel.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | static mana_bar_gap: f32 = 0.005; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper case: `MANA_BAR_GAP` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `mana_cost_to_fire` should have an upper case name [INFO] [stdout] --> src/games/wizard_duel.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | static mana_cost_to_fire: f32 = 0.7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `MANA_COST_TO_FIRE` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `mana_regen` should have an upper case name [INFO] [stdout] --> src/games/wizard_duel.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | static mana_regen: f32 = 0.2; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper case: `MANA_REGEN` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `projectile_s` should have an upper case name [INFO] [stdout] --> src/games/wizard_duel.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | static projectile_s: f32 = 0.025; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper case: `PROJECTILE_S` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `projectile_speed` should have an upper case name [INFO] [stdout] --> src/games/wizard_duel.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | static projectile_speed: f32 = 0.4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `PROJECTILE_SPEED` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `projectile_ttl` should have an upper case name [INFO] [stdout] --> src/games/wizard_duel.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | static projectile_ttl: f32 = 0.7; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `PROJECTILE_TTL` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `spawn_away_distance` should have an upper case name [INFO] [stdout] --> src/games/wizard_duel.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | static spawn_away_distance: f32 = 0.02; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `SPAWN_AWAY_DISTANCE` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `player_colours` should have an upper case name [INFO] [stdout] --> src/players.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub static player_colours: [Vec3; 4] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `PLAYER_COLOURS` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/canvas.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | self.sdl_canvas.fill_rect(sdl_rect); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 41 | let _ = self.sdl_canvas.fill_rect(sdl_rect); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [optimized + debuginfo] target(s) in 4.62s [INFO] running `Command { std: "docker" "inspect" "02c35933de14bf8d5cffacf2595d28f4cc47c2e19cea649af08b1353a44924a4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "02c35933de14bf8d5cffacf2595d28f4cc47c2e19cea649af08b1353a44924a4", kill_on_drop: false }` [INFO] [stdout] 02c35933de14bf8d5cffacf2595d28f4cc47c2e19cea649af08b1353a44924a4 [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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a4ba947635227784a7477c8342ec5946c20a444138ba00c08c35eb5d73d5560d [INFO] running `Command { std: "docker" "start" "-a" "a4ba947635227784a7477c8342ec5946c20a444138ba00c08c35eb5d73d5560d", kill_on_drop: false }` [INFO] [stderr] Compiling rustparty v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::components::physics_component` [INFO] [stdout] --> src/games/wizard_duel.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::components::physics_component; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::INFINITY` [INFO] [stdout] --> src/games/wizard_duel.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use std::f32::INFINITY; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::grid::*` [INFO] [stdout] --> src/systems/collision.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::grid::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::INFINITY` [INFO] [stdout] --> src/rect.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::f32::INFINITY; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/vec3.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/grid.rs:120:17 [INFO] [stdout] | [INFO] [stdout] 119 | panic!("raycast infinite loop"); [INFO] [stdout] | ------------------------------- any code following this expression is unreachable [INFO] [stdout] 120 | println!("bailing"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `subject_proj` [INFO] [stdout] --> src/games/wizard_duel.rs:223:25 [INFO] [stdout] | [INFO] [stdout] 223 | if let Some(subject_proj) = self.entities.projectile_comps.get(&col.subject) { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subject_proj` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `object_proj` [INFO] [stdout] --> src/games/wizard_duel.rs:224:29 [INFO] [stdout] | [INFO] [stdout] 224 | if let Some(object_proj) = self.entities.projectile_comps.get(&col.object) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_object_proj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `object_player` [INFO] [stdout] --> src/games/wizard_duel.rs:228:36 [INFO] [stdout] | [INFO] [stdout] 228 | } else if let Some(object_player) = self.entities.player_comps.get(&col.object) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_object_player` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `projectile` [INFO] [stdout] --> src/games/wizard_duel.rs:261:25 [INFO] [stdout] | [INFO] [stdout] 261 | if let Some(projectile) = self.entities.projectile_comps.get(key) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_projectile` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/games/testgame.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl TestGame { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 23 | pub fn new() -> TestGame { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `EntityType` is never used [INFO] [stdout] --> src/games/wizard_duel.rs:50:6 [INFO] [stdout] | [INFO] [stdout] 50 | enum EntityType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `collision_events` is never read [INFO] [stdout] --> src/games/wizard_duel.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 131 | pub struct WizardDuel { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 132 | side_effects: Vec, [INFO] [stdout] 133 | collision_events: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WizardDuel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `subject_vel` and `object_vel` are never read [INFO] [stdout] --> src/systems/collision.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct CollisionEvent { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub subject_vel: Vec2, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 20 | pub object_vel: Vec2, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CollisionEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `dilate` and `dir_side` are never used [INFO] [stdout] --> src/rect.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Rect { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn dilate(&self, d: f32) -> Rect { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn dir_side(&self, dir: Vec2) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `End` is never constructed [INFO] [stdout] --> src/scene_manager.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum Signal { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] 16 | Victory(u32), [INFO] [stdout] 17 | End, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_rect_2d`, `get_rect_1d`, and `get_position` are never used [INFO] [stdout] --> src/grid.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Grid { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn get_rect_2d(&self, x: i32, y: i32) -> Rect { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn get_rect_1d(&self, i: i32) -> Rect { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn get_position(&self, v: Vec2) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `lerp`, `clamp`, `spread`, `dot`, and `proj` are never used [INFO] [stdout] --> src/vec2.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Vec2 { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn lerp(&self, other: Vec2, t: f32) -> Vec2 { Vec2::new(self.x*(1.0-t) + other.x*(t), self.y*(1.0-t) + other.y*(t)) } [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn clamp(&self, min: Vec2, max: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn spread(&self, amount: f32) -> Vec2 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn dot(&self, other: Vec2) -> f32 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn proj(&self, other: Vec2) -> f32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `sub`, `add`, `div_scalar`, `magnitude`, `normalize`, and `lerp` are never used [INFO] [stdout] --> src/vec3.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Vec3 { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 13 | pub fn sub(&self, other: Vec3) -> Vec3 { Vec3::new(self.x - other.x, self.y - other.y, self.z - other.z) } [INFO] [stdout] | ^^^ [INFO] [stdout] 14 | pub fn add(&self, other: Vec3) -> Vec3 { Vec3::new(self.x + other.x, self.y + other.y, self.z + other.z) } [INFO] [stdout] | ^^^ [INFO] [stdout] 15 | pub fn mul_scalar(&self, scalar: f32) -> Vec3 { Vec3::new(self.x * scalar, self.y * scalar, self.z * scalar) } [INFO] [stdout] 16 | pub fn div_scalar(&self, scalar: f32) -> Vec3 { Vec3::new(self.x / scalar, self.y / scalar, self.z * scalar) } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 17 | pub fn magnitude(&self) -> f32 { (self.x*self.x + self.y*self.y + self.z*self.z).sqrt() } [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 18 | pub fn normalize(&self) -> Vec3 { self.div_scalar(self.magnitude()) } [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 19 | pub fn lerp(&self, other: Vec3, t: f32) -> Vec3 { Vec3::new(self.x*(1.0-t) + other.x*(t), self.y*(1.0-t) + other.y*(t), self.z*(1.0-t... [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `player_speed` should have an upper case name [INFO] [stdout] --> src/games/wizard_duel.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | static player_speed: f32 = 0.25; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper case: `PLAYER_SPEED` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `player_size` should have an upper case name [INFO] [stdout] --> src/games/wizard_duel.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | static player_size: f32 = 0.05; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper case: `PLAYER_SIZE` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `mana_bar_size` should have an upper case name [INFO] [stdout] --> src/games/wizard_duel.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | static mana_bar_size: f32 = 0.01; [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper case: `MANA_BAR_SIZE` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `mana_bar_gap` should have an upper case name [INFO] [stdout] --> src/games/wizard_duel.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | static mana_bar_gap: f32 = 0.005; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper case: `MANA_BAR_GAP` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `mana_cost_to_fire` should have an upper case name [INFO] [stdout] --> src/games/wizard_duel.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | static mana_cost_to_fire: f32 = 0.7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `MANA_COST_TO_FIRE` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `mana_regen` should have an upper case name [INFO] [stdout] --> src/games/wizard_duel.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | static mana_regen: f32 = 0.2; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper case: `MANA_REGEN` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `projectile_s` should have an upper case name [INFO] [stdout] --> src/games/wizard_duel.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | static projectile_s: f32 = 0.025; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper case: `PROJECTILE_S` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `projectile_speed` should have an upper case name [INFO] [stdout] --> src/games/wizard_duel.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | static projectile_speed: f32 = 0.4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `PROJECTILE_SPEED` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `projectile_ttl` should have an upper case name [INFO] [stdout] --> src/games/wizard_duel.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | static projectile_ttl: f32 = 0.7; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `PROJECTILE_TTL` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `spawn_away_distance` should have an upper case name [INFO] [stdout] --> src/games/wizard_duel.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | static spawn_away_distance: f32 = 0.02; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `SPAWN_AWAY_DISTANCE` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `player_colours` should have an upper case name [INFO] [stdout] --> src/players.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub static player_colours: [Vec3; 4] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `PLAYER_COLOURS` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/canvas.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | self.sdl_canvas.fill_rect(sdl_rect); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 41 | let _ = self.sdl_canvas.fill_rect(sdl_rect); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [optimized + debuginfo] target(s) in 0.45s [INFO] running `Command { std: "docker" "inspect" "a4ba947635227784a7477c8342ec5946c20a444138ba00c08c35eb5d73d5560d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a4ba947635227784a7477c8342ec5946c20a444138ba00c08c35eb5d73d5560d", kill_on_drop: false }` [INFO] [stdout] a4ba947635227784a7477c8342ec5946c20a444138ba00c08c35eb5d73d5560d