[INFO] cloning repository https://github.com/derezzedex/first_gfx_game [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/derezzedex/first_gfx_game" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fderezzedex%2Ffirst_gfx_game", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fderezzedex%2Ffirst_gfx_game'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] dee297b60dba69d8163f7363fa855f76e260764e [INFO] testing derezzedex/first_gfx_game against beta-2025-01-12 for beta-1.85-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fderezzedex%2Ffirst_gfx_game" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/derezzedex/first_gfx_game on toolchain beta-2025-01-12 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-01-12" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/derezzedex/first_gfx_game [INFO] finished tweaking git repo https://github.com/derezzedex/first_gfx_game [INFO] tweaked toml for git repo https://github.com/derezzedex/first_gfx_game written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/derezzedex/first_gfx_game 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" "+beta-2025-01-12" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wayland-sys v0.8.7 [INFO] [stderr] Downloaded x11-dl v2.17.2 [INFO] [stderr] Downloaded gfx_window_glutin v0.16.0 [INFO] [stderr] Downloaded wayland-window v0.5.0 [INFO] [stderr] Downloaded serde v0.7.15 [INFO] [stderr] Downloaded gfx v0.16.2 [INFO] [stderr] Downloaded gfx_core v0.7.2 [INFO] [stderr] Downloaded cgmath v0.15.0 [INFO] [stderr] Downloaded wayland-kbd v0.8.0 [INFO] [stderr] Downloaded rand v0.3.19 [INFO] [stderr] Downloaded winit v0.6.4 [INFO] [stderr] Downloaded xml-rs v0.3.6 [INFO] [stderr] Downloaded cocoa v0.3.3 [INFO] [stderr] Downloaded cocoa v0.5.2 [INFO] [stderr] Downloaded fuchsia-zircon v0.3.2 [INFO] [stderr] Downloaded wayland-client v0.8.7 [INFO] [stderr] Downloaded gfx_device_gl v0.14.6 [INFO] [stderr] Downloaded gleam v0.2.32 [INFO] [stderr] Downloaded bitflags v0.3.3 [INFO] [stderr] Downloaded gl_generator v0.5.5 [INFO] [stderr] Downloaded libc v0.2.34 [INFO] [stderr] Downloaded khronos_api v2.0.0 [INFO] [stderr] Downloaded draw_state v0.7.1 [INFO] [stderr] Downloaded core-graphics v0.3.2 [INFO] [stderr] Downloaded log v0.4.0 [INFO] [stderr] Downloaded gleam v0.4.17 [INFO] [stderr] Downloaded core-graphics v0.4.2 [INFO] [stderr] Downloaded wayland-scanner v0.8.7 [INFO] [stderr] Downloaded cgl v0.1.5 [INFO] [stderr] Downloaded fuchsia-zircon-sys v0.3.2 [INFO] [stderr] Downloaded glutin v0.8.1 [INFO] [stderr] Downloaded redox_syscall v0.1.33 [INFO] [stderr] Downloaded khronos_api v1.0.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-01-12" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a1c8bc670c945cd67df1fd3920c876405a80d4979aef1b0d5659e1b2c4491134 [INFO] running `Command { std: "docker" "start" "-a" "a1c8bc670c945cd67df1fd3920c876405a80d4979aef1b0d5659e1b2c4491134", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a1c8bc670c945cd67df1fd3920c876405a80d4979aef1b0d5659e1b2c4491134", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a1c8bc670c945cd67df1fd3920c876405a80d4979aef1b0d5659e1b2c4491134", kill_on_drop: false }` [INFO] [stdout] a1c8bc670c945cd67df1fd3920c876405a80d4979aef1b0d5659e1b2c4491134 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-01-12" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ffdd49c397b63e79c2c86a917c492aa94196470a5506b178b036dd11f231328a [INFO] running `Command { std: "docker" "start" "-a" "ffdd49c397b63e79c2c86a917c492aa94196470a5506b178b036dd11f231328a", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling libc v0.2.34 [INFO] [stderr] Compiling siphasher v0.2.2 [INFO] [stderr] Compiling num-traits v0.1.41 [INFO] [stderr] Compiling cfg-if v0.1.2 [INFO] [stderr] Compiling itoa v0.3.4 [INFO] [stderr] Compiling serde v0.9.15 [INFO] [stderr] Compiling dtoa v0.4.2 [INFO] [stderr] Compiling bitflags v0.7.0 [INFO] [stderr] Compiling winapi-build v0.1.1 [INFO] [stderr] Compiling lazy_static v0.2.11 [INFO] [stderr] Compiling bitflags v1.0.1 [INFO] [stderr] Compiling winapi v0.2.8 [INFO] [stderr] Compiling unicode-xid v0.0.4 [INFO] [stderr] Compiling lazy_static v1.0.0 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Compiling pkg-config v0.3.9 [INFO] [stderr] Compiling log v0.4.0 [INFO] [stderr] Compiling khronos_api v2.0.0 [INFO] [stderr] Compiling either v1.4.0 [INFO] [stderr] Compiling xml-rs v0.3.6 [INFO] [stderr] Compiling bitflags v0.9.1 [INFO] [stderr] Compiling khronos_api v1.0.1 [INFO] [stderr] Compiling bitflags v0.8.2 [INFO] [stderr] Compiling kernel32-sys v0.2.2 [INFO] [stderr] Compiling xml-rs v0.7.0 [INFO] [stderr] Compiling phf_shared v0.7.21 [INFO] [stderr] Compiling log v0.3.9 [INFO] [stderr] Compiling xml-rs v0.6.1 [INFO] [stderr] Compiling itertools v0.5.10 [INFO] [stderr] Compiling syn v0.10.8 [INFO] [stderr] Compiling rand v0.3.19 [INFO] [stderr] Compiling phf v0.7.21 [INFO] [stderr] Compiling shared_library v0.1.8 [INFO] [stderr] Compiling draw_state v0.7.1 [INFO] [stderr] Compiling byteorder v1.2.1 [INFO] [stderr] Compiling approx v0.1.1 [INFO] [stderr] Compiling time v0.1.38 [INFO] [stderr] Compiling x11-dl v2.17.2 [INFO] [stderr] Compiling fs2 v0.2.5 [INFO] [stderr] Compiling osmesa-sys v0.1.2 [INFO] [stderr] Compiling memmap v0.4.0 [INFO] [stderr] Compiling gl_generator v0.7.0 [INFO] [stderr] Compiling wayland-scanner v0.8.7 [INFO] [stderr] Compiling gl_generator v0.5.5 [INFO] [stderr] Compiling phf_generator v0.7.21 [INFO] [stderr] Compiling tempfile v2.2.0 [INFO] [stderr] Compiling cgmath v0.15.0 [INFO] [stderr] Compiling phf_codegen v0.7.21 [INFO] [stderr] Compiling wayland-client v0.8.7 [INFO] [stderr] Compiling target_build_utils v0.3.1 [INFO] [stderr] Compiling gfx_gl v0.4.0 [INFO] [stderr] Compiling glutin v0.8.1 [INFO] [stderr] Compiling serde_json v0.9.10 [INFO] [stderr] Compiling derivative v1.0.0 [INFO] [stderr] Compiling gfx_core v0.7.2 [INFO] [stderr] Compiling gfx_device_gl v0.14.6 [INFO] [stderr] Compiling gfx v0.16.2 [INFO] [stderr] Compiling libloading v0.3.4 [INFO] [stderr] Compiling dlib v0.3.1 [INFO] [stderr] Compiling wayland-sys v0.8.7 [INFO] [stderr] Compiling wayland-window v0.5.0 [INFO] [stderr] Compiling wayland-kbd v0.8.0 [INFO] [stderr] Compiling winit v0.6.4 [INFO] [stderr] Compiling gfx_window_glutin v0.16.0 [INFO] [stderr] Compiling first_gfx_game v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/main.rs:329:12 [INFO] [stdout] | [INFO] [stdout] 329 | let pv = (proj * view(cameraPos, cameraPos + cameraFront)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 329 - let pv = (proj * view(cameraPos, cameraPos + cameraFront)); [INFO] [stdout] 329 + let pv = proj * view(cameraPos, cameraPos + cameraFront); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pressed` [INFO] [stdout] --> src/main.rs:212:6 [INFO] [stdout] | [INFO] [stdout] 212 | let pressed = glutin::ElementState::Pressed; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressed` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `released` [INFO] [stdout] --> src/main.rs:213:6 [INFO] [stdout] | [INFO] [stdout] 213 | let released = glutin::ElementState::Released; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_released` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dT` is never read [INFO] [stdout] --> src/main.rs:226:10 [INFO] [stdout] | [INFO] [stdout] 226 | let mut dT = 0.0f32; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `firstMouse` [INFO] [stdout] --> src/main.rs:230:10 [INFO] [stdout] | [INFO] [stdout] 230 | let mut firstMouse = true; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_firstMouse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `do_test` [INFO] [stdout] --> src/main.rs:231:10 [INFO] [stdout] | [INFO] [stdout] 231 | let mut do_test = false; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_do_test` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frames` [INFO] [stdout] --> src/main.rs:244:10 [INFO] [stdout] | [INFO] [stdout] 244 | let mut frames = 0u32; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_frames` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pressed` [INFO] [stdout] --> src/main.rs:260:22 [INFO] [stdout] | [INFO] [stdout] 260 | KeyboardInput(_, pressed, Some(glutin::VirtualKeyCode::W), _) => {rec = true;cameraPos+=(camera_speed)*cameraFront;}, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pressed` [INFO] [stdout] --> src/main.rs:261:22 [INFO] [stdout] | [INFO] [stdout] 261 | KeyboardInput(_, pressed, Some(glutin::VirtualKeyCode::S), _) => {rec = true;cameraPos-=(camera_speed)*cameraFront;}, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pressed` [INFO] [stdout] --> src/main.rs:262:22 [INFO] [stdout] | [INFO] [stdout] 262 | ... KeyboardInput(_, pressed, Some(glutin::VirtualKeyCode::A), _) => {rec = true;cameraPos-=normalize(cameraFront.cross(Vector3::new(0.... [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pressed` [INFO] [stdout] --> src/main.rs:263:22 [INFO] [stdout] | [INFO] [stdout] 263 | ... KeyboardInput(_, pressed, Some(glutin::VirtualKeyCode::D), _) => {rec = true;cameraPos+=normalize(cameraFront.cross(Vector3::new(0.... [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:162:6 [INFO] [stdout] | [INFO] [stdout] 162 | let mut game_title = "FGG Test"; [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/main.rs:170:52 [INFO] [stdout] | [INFO] [stdout] 170 | let (window, mut device, mut factory, main_color, mut main_depth) = gfx_glutin::init::(builder, &events_loop); [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/main.rs:190:6 [INFO] [stdout] | [INFO] [stdout] 190 | let mut rasterizer = gfx::state::Rasterizer::new_fill().with_cull_back(); [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/main.rs:210:6 [INFO] [stdout] | [INFO] [stdout] 210 | let mut model_position = Matrix4::from_translation(Vector3::new(0.0f32, 0.0, 0.0)); [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/main.rs:228:6 [INFO] [stdout] | [INFO] [stdout] 228 | let mut currentFrame = time::PreciseTime::now(); [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/main.rs:230:6 [INFO] [stdout] | [INFO] [stdout] 230 | let mut firstMouse = true; [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/main.rs:231:6 [INFO] [stdout] | [INFO] [stdout] 231 | let mut do_test = false; [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/main.rs:244:6 [INFO] [stdout] | [INFO] [stdout] 244 | let mut frames = 0u32; [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/main.rs:247:7 [INFO] [stdout] | [INFO] [stdout] 247 | let mut currentFrame = currentFrame.to(time::PreciseTime::now()); [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/main.rs:253:7 [INFO] [stdout] | [INFO] [stdout] 253 | let mut new_game_title = game_title.to_owned()+" | dt: "+ &dT.to_string(); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `deal_with_mouse` is never used [INFO] [stdout] --> src/main.rs:71:4 [INFO] [stdout] | [INFO] [stdout] 71 | fn deal_with_mouse(py: (f32, f32), last: (f32, f32), x: i32, y: i32, fmouse: bool) -> (Vector3, bool, f32, f32){ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lX` should have a snake case name [INFO] [stdout] --> src/main.rs:72:7 [INFO] [stdout] | [INFO] [stdout] 72 | let (lX, lY) = last; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `l_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lY` should have a snake case name [INFO] [stdout] --> src/main.rs:72:11 [INFO] [stdout] | [INFO] [stdout] 72 | let (lX, lY) = last; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `l_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lastX` should have a snake case name [INFO] [stdout] --> src/main.rs:73:10 [INFO] [stdout] | [INFO] [stdout] 73 | let mut lastX = lX as f32; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `last_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lastY` should have a snake case name [INFO] [stdout] --> src/main.rs:74:10 [INFO] [stdout] | [INFO] [stdout] 74 | let mut lastY = lY as f32; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `last_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `cameraPos` should have a snake case name [INFO] [stdout] --> src/main.rs:207:10 [INFO] [stdout] | [INFO] [stdout] 207 | let mut cameraPos = Vector3::new(0.0f32, 0.0, 3.0); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `camera_pos` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `cameraFront` should have a snake case name [INFO] [stdout] --> src/main.rs:208:10 [INFO] [stdout] | [INFO] [stdout] 208 | let mut cameraFront = Vector3::new(0.0f32, 0.0, -1.0); [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `camera_front` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `dT` should have a snake case name [INFO] [stdout] --> src/main.rs:226:10 [INFO] [stdout] | [INFO] [stdout] 226 | let mut dT = 0.0f32; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `d_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lastFrame` should have a snake case name [INFO] [stdout] --> src/main.rs:227:10 [INFO] [stdout] | [INFO] [stdout] 227 | let mut lastFrame = time::Duration::milliseconds(0); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `last_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `currentFrame` should have a snake case name [INFO] [stdout] --> src/main.rs:228:10 [INFO] [stdout] | [INFO] [stdout] 228 | let mut currentFrame = time::PreciseTime::now(); [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `firstMouse` should have a snake case name [INFO] [stdout] --> src/main.rs:230:10 [INFO] [stdout] | [INFO] [stdout] 230 | let mut firstMouse = true; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `first_mouse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lastX` should have a snake case name [INFO] [stdout] --> src/main.rs:236:10 [INFO] [stdout] | [INFO] [stdout] 236 | let mut lastX = 400.0f32; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `last_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lastY` should have a snake case name [INFO] [stdout] --> src/main.rs:237:10 [INFO] [stdout] | [INFO] [stdout] 237 | let mut lastY = 300.0f32; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `last_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:240:2 [INFO] [stdout] | [INFO] [stdout] 240 | window.set_cursor_state(glutin::CursorState::Grab); [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] 240 | let _ = window.set_cursor_state(glutin::CursorState::Grab); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `currentFrame` should have a snake case name [INFO] [stdout] --> src/main.rs:247:11 [INFO] [stdout] | [INFO] [stdout] 247 | let mut currentFrame = currentFrame.to(time::PreciseTime::now()); [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `duration_dT` should have a snake case name [INFO] [stdout] --> src/main.rs:248:7 [INFO] [stdout] | [INFO] [stdout] 248 | let duration_dT = currentFrame - lastFrame; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `duration_d_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:280:6 [INFO] [stdout] | [INFO] [stdout] 280 | window.set_cursor_position(hw, hh); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 280 | let _ = window.set_cursor_position(hw, hh); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.97s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.7.0, bitflags v0.8.2, syn v0.10.8 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "ffdd49c397b63e79c2c86a917c492aa94196470a5506b178b036dd11f231328a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ffdd49c397b63e79c2c86a917c492aa94196470a5506b178b036dd11f231328a", kill_on_drop: false }` [INFO] [stdout] ffdd49c397b63e79c2c86a917c492aa94196470a5506b178b036dd11f231328a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-01-12" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4d3c446d46a7f9900b04d32ebdc9996056a996a7160aacdd97b210e1d91e67af [INFO] running `Command { std: "docker" "start" "-a" "4d3c446d46a7f9900b04d32ebdc9996056a996a7160aacdd97b210e1d91e67af", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling first_gfx_game v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/main.rs:329:12 [INFO] [stdout] | [INFO] [stdout] 329 | let pv = (proj * view(cameraPos, cameraPos + cameraFront)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 329 - let pv = (proj * view(cameraPos, cameraPos + cameraFront)); [INFO] [stdout] 329 + let pv = proj * view(cameraPos, cameraPos + cameraFront); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pressed` [INFO] [stdout] --> src/main.rs:212:6 [INFO] [stdout] | [INFO] [stdout] 212 | let pressed = glutin::ElementState::Pressed; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressed` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `released` [INFO] [stdout] --> src/main.rs:213:6 [INFO] [stdout] | [INFO] [stdout] 213 | let released = glutin::ElementState::Released; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_released` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dT` is never read [INFO] [stdout] --> src/main.rs:226:10 [INFO] [stdout] | [INFO] [stdout] 226 | let mut dT = 0.0f32; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `firstMouse` [INFO] [stdout] --> src/main.rs:230:10 [INFO] [stdout] | [INFO] [stdout] 230 | let mut firstMouse = true; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_firstMouse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `do_test` [INFO] [stdout] --> src/main.rs:231:10 [INFO] [stdout] | [INFO] [stdout] 231 | let mut do_test = false; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_do_test` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frames` [INFO] [stdout] --> src/main.rs:244:10 [INFO] [stdout] | [INFO] [stdout] 244 | let mut frames = 0u32; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_frames` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pressed` [INFO] [stdout] --> src/main.rs:260:22 [INFO] [stdout] | [INFO] [stdout] 260 | KeyboardInput(_, pressed, Some(glutin::VirtualKeyCode::W), _) => {rec = true;cameraPos+=(camera_speed)*cameraFront;}, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pressed` [INFO] [stdout] --> src/main.rs:261:22 [INFO] [stdout] | [INFO] [stdout] 261 | KeyboardInput(_, pressed, Some(glutin::VirtualKeyCode::S), _) => {rec = true;cameraPos-=(camera_speed)*cameraFront;}, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pressed` [INFO] [stdout] --> src/main.rs:262:22 [INFO] [stdout] | [INFO] [stdout] 262 | ... KeyboardInput(_, pressed, Some(glutin::VirtualKeyCode::A), _) => {rec = true;cameraPos-=normalize(cameraFront.cross(Vector3::new(0.... [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pressed` [INFO] [stdout] --> src/main.rs:263:22 [INFO] [stdout] | [INFO] [stdout] 263 | ... KeyboardInput(_, pressed, Some(glutin::VirtualKeyCode::D), _) => {rec = true;cameraPos+=normalize(cameraFront.cross(Vector3::new(0.... [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:162:6 [INFO] [stdout] | [INFO] [stdout] 162 | let mut game_title = "FGG Test"; [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/main.rs:170:52 [INFO] [stdout] | [INFO] [stdout] 170 | let (window, mut device, mut factory, main_color, mut main_depth) = gfx_glutin::init::(builder, &events_loop); [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/main.rs:190:6 [INFO] [stdout] | [INFO] [stdout] 190 | let mut rasterizer = gfx::state::Rasterizer::new_fill().with_cull_back(); [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/main.rs:210:6 [INFO] [stdout] | [INFO] [stdout] 210 | let mut model_position = Matrix4::from_translation(Vector3::new(0.0f32, 0.0, 0.0)); [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/main.rs:228:6 [INFO] [stdout] | [INFO] [stdout] 228 | let mut currentFrame = time::PreciseTime::now(); [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/main.rs:230:6 [INFO] [stdout] | [INFO] [stdout] 230 | let mut firstMouse = true; [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/main.rs:231:6 [INFO] [stdout] | [INFO] [stdout] 231 | let mut do_test = false; [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/main.rs:244:6 [INFO] [stdout] | [INFO] [stdout] 244 | let mut frames = 0u32; [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/main.rs:247:7 [INFO] [stdout] | [INFO] [stdout] 247 | let mut currentFrame = currentFrame.to(time::PreciseTime::now()); [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/main.rs:253:7 [INFO] [stdout] | [INFO] [stdout] 253 | let mut new_game_title = game_title.to_owned()+" | dt: "+ &dT.to_string(); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `deal_with_mouse` is never used [INFO] [stdout] --> src/main.rs:71:4 [INFO] [stdout] | [INFO] [stdout] 71 | fn deal_with_mouse(py: (f32, f32), last: (f32, f32), x: i32, y: i32, fmouse: bool) -> (Vector3, bool, f32, f32){ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lX` should have a snake case name [INFO] [stdout] --> src/main.rs:72:7 [INFO] [stdout] | [INFO] [stdout] 72 | let (lX, lY) = last; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `l_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lY` should have a snake case name [INFO] [stdout] --> src/main.rs:72:11 [INFO] [stdout] | [INFO] [stdout] 72 | let (lX, lY) = last; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `l_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lastX` should have a snake case name [INFO] [stdout] --> src/main.rs:73:10 [INFO] [stdout] | [INFO] [stdout] 73 | let mut lastX = lX as f32; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `last_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lastY` should have a snake case name [INFO] [stdout] --> src/main.rs:74:10 [INFO] [stdout] | [INFO] [stdout] 74 | let mut lastY = lY as f32; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `last_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `cameraPos` should have a snake case name [INFO] [stdout] --> src/main.rs:207:10 [INFO] [stdout] | [INFO] [stdout] 207 | let mut cameraPos = Vector3::new(0.0f32, 0.0, 3.0); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `camera_pos` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `cameraFront` should have a snake case name [INFO] [stdout] --> src/main.rs:208:10 [INFO] [stdout] | [INFO] [stdout] 208 | let mut cameraFront = Vector3::new(0.0f32, 0.0, -1.0); [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `camera_front` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `dT` should have a snake case name [INFO] [stdout] --> src/main.rs:226:10 [INFO] [stdout] | [INFO] [stdout] 226 | let mut dT = 0.0f32; [INFO] [stdout] | ^^ help: convert the identifier to snake case: `d_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lastFrame` should have a snake case name [INFO] [stdout] --> src/main.rs:227:10 [INFO] [stdout] | [INFO] [stdout] 227 | let mut lastFrame = time::Duration::milliseconds(0); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `last_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `currentFrame` should have a snake case name [INFO] [stdout] --> src/main.rs:228:10 [INFO] [stdout] | [INFO] [stdout] 228 | let mut currentFrame = time::PreciseTime::now(); [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `firstMouse` should have a snake case name [INFO] [stdout] --> src/main.rs:230:10 [INFO] [stdout] | [INFO] [stdout] 230 | let mut firstMouse = true; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `first_mouse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lastX` should have a snake case name [INFO] [stdout] --> src/main.rs:236:10 [INFO] [stdout] | [INFO] [stdout] 236 | let mut lastX = 400.0f32; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `last_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lastY` should have a snake case name [INFO] [stdout] --> src/main.rs:237:10 [INFO] [stdout] | [INFO] [stdout] 237 | let mut lastY = 300.0f32; [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `last_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:240:2 [INFO] [stdout] | [INFO] [stdout] 240 | window.set_cursor_state(glutin::CursorState::Grab); [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] 240 | let _ = window.set_cursor_state(glutin::CursorState::Grab); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `currentFrame` should have a snake case name [INFO] [stdout] --> src/main.rs:247:11 [INFO] [stdout] | [INFO] [stdout] 247 | let mut currentFrame = currentFrame.to(time::PreciseTime::now()); [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `duration_dT` should have a snake case name [INFO] [stdout] --> src/main.rs:248:7 [INFO] [stdout] | [INFO] [stdout] 248 | let duration_dT = currentFrame - lastFrame; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `duration_d_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:280:6 [INFO] [stdout] | [INFO] [stdout] 280 | window.set_cursor_position(hw, hh); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 280 | let _ = window.set_cursor_position(hw, hh); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.72s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.7.0, bitflags v0.8.2, syn v0.10.8 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "4d3c446d46a7f9900b04d32ebdc9996056a996a7160aacdd97b210e1d91e67af", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4d3c446d46a7f9900b04d32ebdc9996056a996a7160aacdd97b210e1d91e67af", kill_on_drop: false }` [INFO] [stdout] 4d3c446d46a7f9900b04d32ebdc9996056a996a7160aacdd97b210e1d91e67af [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-01-12" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 2073d7585f0d242a2ab4aedd81e1cfd654e040a6ef0adc4a406caf295559511f [INFO] running `Command { std: "docker" "start" "-a" "2073d7585f0d242a2ab4aedd81e1cfd654e040a6ef0adc4a406caf295559511f", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/main.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread::sleep` [INFO] [stderr] --> src/main.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::thread::sleep; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/main.rs:329:12 [INFO] [stderr] | [INFO] [stderr] 329 | let pv = (proj * view(cameraPos, cameraPos + cameraFront)); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 329 - let pv = (proj * view(cameraPos, cameraPos + cameraFront)); [INFO] [stderr] 329 + let pv = proj * view(cameraPos, cameraPos + cameraFront); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pressed` [INFO] [stderr] --> src/main.rs:212:6 [INFO] [stderr] | [INFO] [stderr] 212 | let pressed = glutin::ElementState::Pressed; [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressed` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `released` [INFO] [stderr] --> src/main.rs:213:6 [INFO] [stderr] | [INFO] [stderr] 213 | let released = glutin::ElementState::Released; [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_released` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `dT` is never read [INFO] [stderr] --> src/main.rs:226:10 [INFO] [stderr] | [INFO] [stderr] 226 | let mut dT = 0.0f32; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `firstMouse` [INFO] [stderr] --> src/main.rs:230:10 [INFO] [stderr] | [INFO] [stderr] 230 | let mut firstMouse = true; [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_firstMouse` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `do_test` [INFO] [stderr] --> src/main.rs:231:10 [INFO] [stderr] | [INFO] [stderr] 231 | let mut do_test = false; [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_do_test` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `frames` [INFO] [stderr] --> src/main.rs:244:10 [INFO] [stderr] | [INFO] [stderr] 244 | let mut frames = 0u32; [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_frames` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pressed` [INFO] [stderr] --> src/main.rs:260:22 [INFO] [stderr] | [INFO] [stderr] 260 | KeyboardInput(_, pressed, Some(glutin::VirtualKeyCode::W), _) => {rec = true;cameraPos+=(camera_speed)*cameraFront;}, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressed` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pressed` [INFO] [stderr] --> src/main.rs:261:22 [INFO] [stderr] | [INFO] [stderr] 261 | KeyboardInput(_, pressed, Some(glutin::VirtualKeyCode::S), _) => {rec = true;cameraPos-=(camera_speed)*cameraFront;}, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressed` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pressed` [INFO] [stderr] --> src/main.rs:262:22 [INFO] [stderr] | [INFO] [stderr] 262 | ... KeyboardInput(_, pressed, Some(glutin::VirtualKeyCode::A), _) => {rec = true;cameraPos-=normalize(cameraFront.cross(Vector3::new(0.... [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressed` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pressed` [INFO] [stderr] --> src/main.rs:263:22 [INFO] [stderr] | [INFO] [stderr] 263 | ... KeyboardInput(_, pressed, Some(glutin::VirtualKeyCode::D), _) => {rec = true;cameraPos+=normalize(cameraFront.cross(Vector3::new(0.... [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressed` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:162:6 [INFO] [stderr] | [INFO] [stderr] 162 | let mut game_title = "FGG Test"; [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/main.rs:170:52 [INFO] [stderr] | [INFO] [stderr] 170 | let (window, mut device, mut factory, main_color, mut main_depth) = gfx_glutin::init::(builder, &events_loop); [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/main.rs:190:6 [INFO] [stderr] | [INFO] [stderr] 190 | let mut rasterizer = gfx::state::Rasterizer::new_fill().with_cull_back(); [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/main.rs:210:6 [INFO] [stderr] | [INFO] [stderr] 210 | let mut model_position = Matrix4::from_translation(Vector3::new(0.0f32, 0.0, 0.0)); [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/main.rs:228:6 [INFO] [stderr] | [INFO] [stderr] 228 | let mut currentFrame = time::PreciseTime::now(); [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/main.rs:230:6 [INFO] [stderr] | [INFO] [stderr] 230 | let mut firstMouse = true; [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/main.rs:231:6 [INFO] [stderr] | [INFO] [stderr] 231 | let mut do_test = false; [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/main.rs:244:6 [INFO] [stderr] | [INFO] [stderr] 244 | let mut frames = 0u32; [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/main.rs:247:7 [INFO] [stderr] | [INFO] [stderr] 247 | let mut currentFrame = currentFrame.to(time::PreciseTime::now()); [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/main.rs:253:7 [INFO] [stderr] | [INFO] [stderr] 253 | let mut new_game_title = game_title.to_owned()+" | dt: "+ &dT.to_string(); [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function `deal_with_mouse` is never used [INFO] [stderr] --> src/main.rs:71:4 [INFO] [stderr] | [INFO] [stderr] 71 | fn deal_with_mouse(py: (f32, f32), last: (f32, f32), x: i32, y: i32, fmouse: bool) -> (Vector3, bool, f32, f32){ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `lX` should have a snake case name [INFO] [stderr] --> src/main.rs:72:7 [INFO] [stderr] | [INFO] [stderr] 72 | let (lX, lY) = last; [INFO] [stderr] | ^^ help: convert the identifier to snake case: `l_x` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `lY` should have a snake case name [INFO] [stderr] --> src/main.rs:72:11 [INFO] [stderr] | [INFO] [stderr] 72 | let (lX, lY) = last; [INFO] [stderr] | ^^ help: convert the identifier to snake case: `l_y` [INFO] [stderr] [INFO] [stderr] warning: variable `lastX` should have a snake case name [INFO] [stderr] --> src/main.rs:73:10 [INFO] [stderr] | [INFO] [stderr] 73 | let mut lastX = lX as f32; [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `last_x` [INFO] [stderr] [INFO] [stderr] warning: variable `lastY` should have a snake case name [INFO] [stderr] --> src/main.rs:74:10 [INFO] [stderr] | [INFO] [stderr] 74 | let mut lastY = lY as f32; [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `last_y` [INFO] [stderr] [INFO] [stderr] warning: variable `cameraPos` should have a snake case name [INFO] [stderr] --> src/main.rs:207:10 [INFO] [stderr] | [INFO] [stderr] 207 | let mut cameraPos = Vector3::new(0.0f32, 0.0, 3.0); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `camera_pos` [INFO] [stderr] [INFO] [stderr] warning: variable `cameraFront` should have a snake case name [INFO] [stderr] --> src/main.rs:208:10 [INFO] [stderr] | [INFO] [stderr] 208 | let mut cameraFront = Vector3::new(0.0f32, 0.0, -1.0); [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `camera_front` [INFO] [stderr] [INFO] [stderr] warning: variable `dT` should have a snake case name [INFO] [stderr] --> src/main.rs:226:10 [INFO] [stderr] | [INFO] [stderr] 226 | let mut dT = 0.0f32; [INFO] [stderr] | ^^ help: convert the identifier to snake case: `d_t` [INFO] [stderr] [INFO] [stderr] warning: variable `lastFrame` should have a snake case name [INFO] [stderr] --> src/main.rs:227:10 [INFO] [stderr] | [INFO] [stderr] 227 | let mut lastFrame = time::Duration::milliseconds(0); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `last_frame` [INFO] [stderr] [INFO] [stderr] warning: variable `currentFrame` should have a snake case name [INFO] [stderr] --> src/main.rs:228:10 [INFO] [stderr] | [INFO] [stderr] 228 | let mut currentFrame = time::PreciseTime::now(); [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_frame` [INFO] [stderr] [INFO] [stderr] warning: variable `firstMouse` should have a snake case name [INFO] [stderr] --> src/main.rs:230:10 [INFO] [stderr] | [INFO] [stderr] 230 | let mut firstMouse = true; [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `first_mouse` [INFO] [stderr] [INFO] [stderr] warning: variable `lastX` should have a snake case name [INFO] [stderr] --> src/main.rs:236:10 [INFO] [stderr] | [INFO] [stderr] 236 | let mut lastX = 400.0f32; [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `last_x` [INFO] [stderr] [INFO] [stderr] warning: variable `lastY` should have a snake case name [INFO] [stderr] --> src/main.rs:237:10 [INFO] [stderr] | [INFO] [stderr] 237 | let mut lastY = 300.0f32; [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `last_y` [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/main.rs:240:2 [INFO] [stderr] | [INFO] [stderr] 240 | window.set_cursor_state(glutin::CursorState::Grab); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 240 | let _ = window.set_cursor_state(glutin::CursorState::Grab); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: variable `currentFrame` should have a snake case name [INFO] [stderr] --> src/main.rs:247:11 [INFO] [stderr] | [INFO] [stderr] 247 | let mut currentFrame = currentFrame.to(time::PreciseTime::now()); [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_frame` [INFO] [stderr] [INFO] [stderr] warning: variable `duration_dT` should have a snake case name [INFO] [stderr] --> src/main.rs:248:7 [INFO] [stderr] | [INFO] [stderr] 248 | let duration_dT = currentFrame - lastFrame; [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `duration_d_t` [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/main.rs:280:6 [INFO] [stderr] | [INFO] [stderr] 280 | window.set_cursor_position(hw, hh); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 280 | let _ = window.set_cursor_position(hw, hh); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `first_gfx_game` (bin "first_gfx_game" test) generated 40 warnings (run `cargo fix --bin "first_gfx_game" --tests` to apply 13 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.7.0, bitflags v0.8.2, syn v0.10.8 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/first_gfx_game-2c1a2697c8d174dc) [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" "2073d7585f0d242a2ab4aedd81e1cfd654e040a6ef0adc4a406caf295559511f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2073d7585f0d242a2ab4aedd81e1cfd654e040a6ef0adc4a406caf295559511f", kill_on_drop: false }` [INFO] [stdout] 2073d7585f0d242a2ab4aedd81e1cfd654e040a6ef0adc4a406caf295559511f