[INFO] cloning repository https://github.com/TheHashimq/atlas [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/TheHashimq/atlas" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTheHashimq%2Fatlas", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTheHashimq%2Fatlas'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] dfb9c6d30e432fce1ff15f8e7dd1f5b0a5d03b2f [INFO] checking TheHashimq/atlas against try#39605810efb1a0d52f955bfba9e4eec7a01d5deb for pr-153692 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTheHashimq%2Fatlas" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/TheHashimq/atlas [INFO] finished tweaking git repo https://github.com/TheHashimq/atlas [INFO] tweaked toml for git repo https://github.com/TheHashimq/atlas written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/TheHashimq/atlas on toolchain 39605810efb1a0d52f955bfba9e4eec7a01d5deb [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+39605810efb1a0d52f955bfba9e4eec7a01d5deb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/TheHashimq/atlas 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" "+39605810efb1a0d52f955bfba9e4eec7a01d5deb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+39605810efb1a0d52f955bfba9e4eec7a01d5deb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7b98a4eded7c8b06154a1272db58e3c5f7e4d64c9bbcbe2cdc20838204d95f36 [INFO] running `Command { std: "docker" "start" "-a" "7b98a4eded7c8b06154a1272db58e3c5f7e4d64c9bbcbe2cdc20838204d95f36", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7b98a4eded7c8b06154a1272db58e3c5f7e4d64c9bbcbe2cdc20838204d95f36", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7b98a4eded7c8b06154a1272db58e3c5f7e4d64c9bbcbe2cdc20838204d95f36", kill_on_drop: false }` [INFO] [stdout] 7b98a4eded7c8b06154a1272db58e3c5f7e4d64c9bbcbe2cdc20838204d95f36 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+39605810efb1a0d52f955bfba9e4eec7a01d5deb" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a33885d15b75996bead87f24f436b3551e5b68c625731343466e57b276e5c852 [INFO] running `Command { std: "docker" "start" "-a" "a33885d15b75996bead87f24f436b3551e5b68c625731343466e57b276e5c852", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.23 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling libm v0.2.16 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.108 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking bytes v1.11.1 [INFO] [stderr] Checking memchr v2.8.0 [INFO] [stderr] Compiling bumpalo v3.19.1 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling wasm-bindgen v0.2.108 [INFO] [stderr] Checking foldhash v0.2.0 [INFO] [stderr] Checking slab v0.4.12 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking hashbrown v0.16.1 [INFO] [stderr] Compiling naga v27.0.3 [INFO] [stderr] Checking libloading v0.8.9 [INFO] [stderr] Checking simd-adler32 v0.3.8 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Checking bit-vec v0.8.0 [INFO] [stderr] Compiling khronos-egl v6.0.0 [INFO] [stderr] Compiling ash v0.38.0+1.3.281 [INFO] [stderr] Checking codespan-reporting v0.12.0 [INFO] [stderr] Checking hashbrown v0.15.5 [INFO] [stderr] Compiling wgpu-hal v27.0.4 [INFO] [stderr] Checking bit-set v0.8.0 [INFO] [stderr] Checking spirv v0.3.0+sdk-1.3.268.0 [INFO] [stderr] Checking gpu-descriptor-types v0.2.0 [INFO] [stderr] Checking gpu-alloc-types v0.3.0 [INFO] [stderr] Checking http v1.4.0 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Compiling syn v2.0.115 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking gpu-alloc v0.6.0 [INFO] [stderr] Checking profiling v1.0.17 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Checking renderdoc-sys v1.1.0 [INFO] [stderr] Checking indexmap v2.13.0 [INFO] [stderr] Checking raw-window-handle v0.6.2 [INFO] [stderr] Checking glow v0.16.0 [INFO] [stderr] Checking fdeflate v0.3.7 [INFO] [stderr] Checking aho-corasick v1.1.4 [INFO] [stderr] Checking gpu-descriptor v0.3.2 [INFO] [stderr] Compiling wgpu-core v27.0.3 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling inflections v1.1.1 [INFO] [stderr] Checking zune-core v0.5.1 [INFO] [stderr] Checking regex-syntax v0.8.10 [INFO] [stderr] Compiling wgpu v27.0.1 [INFO] [stderr] Compiling wee_alloc v0.4.5 [INFO] [stderr] Checking flate2 v1.1.9 [INFO] [stderr] Checking zune-jpeg v0.5.12 [INFO] [stderr] Checking ryu v1.0.23 [INFO] [stderr] Checking futures-sink v0.3.32 [INFO] [stderr] Checking mio v1.1.1 [INFO] [stderr] Checking socket2 v0.6.3 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking ordered-float v5.0.0 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking pxfm v0.1.27 [INFO] [stderr] Checking byteorder-lite v0.1.0 [INFO] [stderr] Checking png v0.18.0 [INFO] [stderr] Checking is-terminal v0.4.17 [INFO] [stderr] Checking serde_path_to_error v0.1.20 [INFO] [stderr] Checking urlencoding v2.1.3 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Checking memory_units v0.4.0 [INFO] [stderr] Checking glam v0.27.0 [INFO] [stderr] Checking nu-ansi-term v0.50.3 [INFO] [stderr] Checking cast v0.3.0 [INFO] [stderr] Checking wasm-bindgen-test-shared v0.2.108 [INFO] [stderr] Checking oorandom v11.1.5 [INFO] [stderr] Checking regex-automata v0.4.14 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.108 [INFO] [stderr] Checking moxcms v0.7.11 [INFO] [stderr] Checking regex v1.12.3 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling zerocopy-derive v0.8.39 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling gltf-derive v1.4.1 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling wasm-bindgen-test-macro v0.3.58 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Checking tokio v1.50.0 [INFO] [stderr] Checking axum-core v0.4.5 [INFO] [stderr] Checking bytemuck v1.25.0 [INFO] [stderr] Checking wgpu-types v27.0.1 [INFO] [stderr] Checking clap v4.5.60 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.108 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking gltf-json v1.4.1 [INFO] [stderr] Checking js-sys v0.3.85 [INFO] [stderr] Checking console_error_panic_hook v0.1.7 [INFO] [stderr] Checking image v0.25.9 [INFO] [stderr] Checking hyper v1.8.1 [INFO] [stderr] Checking tokio-util v0.7.18 [INFO] [stderr] Checking tower v0.5.3 [INFO] [stderr] Checking tower-http v0.5.2 [INFO] [stderr] Checking hyper-util v0.1.20 [INFO] [stderr] Checking gltf v1.4.1 [INFO] [stderr] Checking axum v0.7.9 [INFO] [stderr] Checking half v2.7.1 [INFO] [stderr] Checking web-sys v0.3.85 [INFO] [stderr] Checking wasm-bindgen-futures v0.4.58 [INFO] [stderr] Checking wasm-bindgen-test v0.3.58 [INFO] [stderr] Checking console_log v1.0.0 [INFO] [stderr] Checking wgpu-core-deps-windows-linux-android v27.0.0 [INFO] [stderr] Checking atlas-webgpu v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/engine/gpu/surface.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 14 | let target: wgpu::SurfaceTarget = unimplemented!("Canvas surface is only supported on wasm32-unknown-unknown"); [INFO] [stdout] | ---------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 15 | [INFO] [stdout] 16 | / let surface = instance [INFO] [stdout] 17 | | .create_surface(target) [INFO] [stdout] 18 | | .expect("Failed to create surface"); [INFO] [stdout] | |________________________________________________^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/engine/gpu/surface.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 14 | let target: wgpu::SurfaceTarget = unimplemented!("Canvas surface is only supported on wasm32-unknown-unknown"); [INFO] [stdout] | ---------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 15 | [INFO] [stdout] 16 | / let surface = instance [INFO] [stdout] 17 | | .create_surface(target) [INFO] [stdout] 18 | | .expect("Failed to create surface"); [INFO] [stdout] | |________________________________________________^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instance` [INFO] [stdout] --> src/engine/gpu/surface.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn new(instance: &Instance, canvas: &'a HtmlCanvasElement) -> GpuSurface<'a> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instance` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `canvas` [INFO] [stdout] --> src/engine/gpu/surface.rs:10:37 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn new(instance: &Instance, canvas: &'a HtmlCanvasElement) -> GpuSurface<'a> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_canvas` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/engine/gpu/surface.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | let target: wgpu::SurfaceTarget = unimplemented!("Canvas surface is only supported on wasm32-unknown-unknown"); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instance` [INFO] [stdout] --> src/engine/gpu/surface.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn new(instance: &Instance, canvas: &'a HtmlCanvasElement) -> GpuSurface<'a> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instance` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `canvas` [INFO] [stdout] --> src/engine/gpu/surface.rs:10:37 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn new(instance: &Instance, canvas: &'a HtmlCanvasElement) -> GpuSurface<'a> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_canvas` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/engine/gpu/surface.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | let target: wgpu::SurfaceTarget = unimplemented!("Canvas surface is only supported on wasm32-unknown-unknown"); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VehiclePhysics` is never constructed [INFO] [stdout] --> src/lib.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | struct VehiclePhysics { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `update` are never used [INFO] [stdout] --> src/lib.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 64 | impl VehiclePhysics { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 65 | fn new(base_y: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | fn update(&mut self, transform: &mut Transform, keys: &KeyboardState, dt: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderPipelineHandle` is never constructed [INFO] [stdout] --> src/engine/gpu/pipeline.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct RenderPipelineHandle { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `create` is never used [INFO] [stdout] --> src/engine/gpu/pipeline.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl RenderPipelineHandle { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] 18 | pub fn create( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_uniform_layout` is never used [INFO] [stdout] --> src/engine/gpu/bind_group.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn create_uniform_layout(device: &Device) -> BindGroupLayout { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_scene_material_layout` is never used [INFO] [stdout] --> src/engine/gpu/bind_group.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn create_scene_material_layout(device: &Device) -> BindGroupLayout { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_scene_material_bind_group` is never used [INFO] [stdout] --> src/engine/gpu/bind_group.rs:149:8 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn create_scene_material_bind_group( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `begin` is never used [INFO] [stdout] --> src/engine/gpu/command.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn begin(device: &Device) -> CommandEncoder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `submit` is never used [INFO] [stdout] --> src/engine/gpu/command.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn submit(queue: &Queue, encoder: CommandEncoder) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Low` and `Ultra` are never constructed [INFO] [stdout] --> src/engine/render/renderer.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum QualityTier { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 33 | Low, [INFO] [stdout] | ^^^ [INFO] [stdout] 34 | Balanced, [INFO] [stdout] 35 | Ultra, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QualityTier` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `texture` is never read [INFO] [stdout] --> src/engine/render/renderer.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 99 | struct HdrTarget { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 100 | texture : Texture, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `surface_format`, `depth_texture`, `width`, and `height` are never read [INFO] [stdout] --> src/engine/render/renderer.rs:224:5 [INFO] [stdout] | [INFO] [stdout] 223 | pub struct Renderer { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 224 | surface_format : TextureFormat, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 240 | depth_texture : Texture, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | width : u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 252 | height : u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `resize`, and `set_quality` are never used [INFO] [stdout] --> src/engine/render/renderer.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 255 | impl Renderer { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 256 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 407 | pub fn resize(&mut self, device: &Device, width: u32, height: u32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 424 | pub fn set_quality(&mut self, device: &Device, quality: QualityTier) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `RenderPass` is never used [INFO] [stdout] --> src/engine/render/pass.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub trait RenderPass { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `pyramid` and `ground_plane` are never used [INFO] [stdout] --> src/engine/render/mesh.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl Mesh { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn pyramid(device: &wgpu::Device) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn ground_plane(device: &wgpu::Device, size: f32, subdivisions: u32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `default_blue`, `metal`, `ground`, and `light_source` are never used [INFO] [stdout] --> src/engine/render/material.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Material { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 14 | pub fn default_blue() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn metal() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn ground() -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn light_source() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `texture` is never read [INFO] [stdout] --> src/engine/render/shadow.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ShadowMap { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 6 | pub texture : Texture, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `ping_texture` and `pong_texture` are never read [INFO] [stdout] --> src/engine/render/bloom.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct BloomPass { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 4 | pub ping_texture : Texture, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 5 | pub ping_view : TextureView, [INFO] [stdout] 6 | pub pong_texture : Texture, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/engine/render/bloom.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl BloomPass { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 20 | pub fn new(device: &Device, format: TextureFormat, width: u32, height: u32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AssetLoader` is never constructed [INFO] [stdout] --> src/engine/assets/loader.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct AssetLoader; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `load_gltf` is never used [INFO] [stdout] --> src/engine/assets/loader.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl AssetLoader { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 8 | pub fn load_gltf(path: &str) -> GltfAsset { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GltfAsset` is never constructed [INFO] [stdout] --> src/engine/assets/gltf.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct GltfAsset { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Clock` is never constructed [INFO] [stdout] --> src/engine/time/clock.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Clock { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `tick`, and `delta_seconds` are never used [INFO] [stdout] --> src/engine/time/clock.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Clock { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 12 | pub fn new() -> Clock { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn tick(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn delta_seconds(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `w`, `a`, `s`, `d`, `space`, and `shift` are never used [INFO] [stdout] --> src/runtime/input.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl KeyboardState { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn w(&self) -> bool { self.keys[0] } [INFO] [stdout] | ^ [INFO] [stdout] 58 | pub fn a(&self) -> bool { self.keys[1] } [INFO] [stdout] | ^ [INFO] [stdout] 59 | pub fn s(&self) -> bool { self.keys[2] } [INFO] [stdout] | ^ [INFO] [stdout] 60 | pub fn d(&self) -> bool { self.keys[3] } [INFO] [stdout] | ^ [INFO] [stdout] 61 | pub fn space(&self) -> bool { self.keys[4] } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 62 | pub fn shift(&self) -> bool { self.keys[5] } [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `is_light` is never read [INFO] [stdout] --> src/runtime/scene.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct PointLight { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 11 | pub is_light : f32, // 1.0 for disc mesh, 0.0 for pure light [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `add_point_light` is never used [INFO] [stdout] --> src/runtime/scene.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Scene { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn add_point_light( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VehiclePhysics` is never constructed [INFO] [stdout] --> src/lib.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | struct VehiclePhysics { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `update` are never used [INFO] [stdout] --> src/lib.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 64 | impl VehiclePhysics { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 65 | fn new(base_y: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | fn update(&mut self, transform: &mut Transform, keys: &KeyboardState, dt: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderPipelineHandle` is never constructed [INFO] [stdout] --> src/engine/gpu/pipeline.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct RenderPipelineHandle { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `create` is never used [INFO] [stdout] --> src/engine/gpu/pipeline.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl RenderPipelineHandle { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] 18 | pub fn create( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_uniform_layout` is never used [INFO] [stdout] --> src/engine/gpu/bind_group.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn create_uniform_layout(device: &Device) -> BindGroupLayout { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_scene_material_layout` is never used [INFO] [stdout] --> src/engine/gpu/bind_group.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn create_scene_material_layout(device: &Device) -> BindGroupLayout { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_scene_material_bind_group` is never used [INFO] [stdout] --> src/engine/gpu/bind_group.rs:149:8 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn create_scene_material_bind_group( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `begin` is never used [INFO] [stdout] --> src/engine/gpu/command.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn begin(device: &Device) -> CommandEncoder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `submit` is never used [INFO] [stdout] --> src/engine/gpu/command.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn submit(queue: &Queue, encoder: CommandEncoder) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Low` and `Ultra` are never constructed [INFO] [stdout] --> src/engine/render/renderer.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum QualityTier { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 33 | Low, [INFO] [stdout] | ^^^ [INFO] [stdout] 34 | Balanced, [INFO] [stdout] 35 | Ultra, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QualityTier` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `texture` is never read [INFO] [stdout] --> src/engine/render/renderer.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 99 | struct HdrTarget { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 100 | texture : Texture, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `surface_format`, `depth_texture`, `width`, and `height` are never read [INFO] [stdout] --> src/engine/render/renderer.rs:224:5 [INFO] [stdout] | [INFO] [stdout] 223 | pub struct Renderer { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 224 | surface_format : TextureFormat, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 240 | depth_texture : Texture, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | width : u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 252 | height : u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `resize`, and `set_quality` are never used [INFO] [stdout] --> src/engine/render/renderer.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 255 | impl Renderer { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 256 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 407 | pub fn resize(&mut self, device: &Device, width: u32, height: u32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 424 | pub fn set_quality(&mut self, device: &Device, quality: QualityTier) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `RenderPass` is never used [INFO] [stdout] --> src/engine/render/pass.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub trait RenderPass { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `pyramid` and `ground_plane` are never used [INFO] [stdout] --> src/engine/render/mesh.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl Mesh { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn pyramid(device: &wgpu::Device) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn ground_plane(device: &wgpu::Device, size: f32, subdivisions: u32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `default_blue`, `metal`, `ground`, and `light_source` are never used [INFO] [stdout] --> src/engine/render/material.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Material { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 14 | pub fn default_blue() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn metal() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn ground() -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn light_source() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `texture` is never read [INFO] [stdout] --> src/engine/render/shadow.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ShadowMap { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 6 | pub texture : Texture, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `ping_texture` and `pong_texture` are never read [INFO] [stdout] --> src/engine/render/bloom.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct BloomPass { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 4 | pub ping_texture : Texture, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 5 | pub ping_view : TextureView, [INFO] [stdout] 6 | pub pong_texture : Texture, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/engine/render/bloom.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl BloomPass { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 20 | pub fn new(device: &Device, format: TextureFormat, width: u32, height: u32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AssetLoader` is never constructed [INFO] [stdout] --> src/engine/assets/loader.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct AssetLoader; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `load_gltf` is never used [INFO] [stdout] --> src/engine/assets/loader.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl AssetLoader { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 8 | pub fn load_gltf(path: &str) -> GltfAsset { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GltfAsset` is never constructed [INFO] [stdout] --> src/engine/assets/gltf.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct GltfAsset { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Clock` is never constructed [INFO] [stdout] --> src/engine/time/clock.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Clock { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `tick`, and `delta_seconds` are never used [INFO] [stdout] --> src/engine/time/clock.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Clock { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 12 | pub fn new() -> Clock { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn tick(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn delta_seconds(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `w`, `a`, `s`, `d`, `space`, and `shift` are never used [INFO] [stdout] --> src/runtime/input.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl KeyboardState { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn w(&self) -> bool { self.keys[0] } [INFO] [stdout] | ^ [INFO] [stdout] 58 | pub fn a(&self) -> bool { self.keys[1] } [INFO] [stdout] | ^ [INFO] [stdout] 59 | pub fn s(&self) -> bool { self.keys[2] } [INFO] [stdout] | ^ [INFO] [stdout] 60 | pub fn d(&self) -> bool { self.keys[3] } [INFO] [stdout] | ^ [INFO] [stdout] 61 | pub fn space(&self) -> bool { self.keys[4] } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 62 | pub fn shift(&self) -> bool { self.keys[5] } [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `is_light` is never read [INFO] [stdout] --> src/runtime/scene.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct PointLight { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 11 | pub is_light : f32, // 1.0 for disc mesh, 0.0 for pure light [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `add_point_light` is never used [INFO] [stdout] --> src/runtime/scene.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Scene { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn add_point_light( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ServiceExt` [INFO] [stdout] --> src/bin/server.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | ServiceExt, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ServiceExt` [INFO] [stdout] --> src/bin/server.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | ServiceExt, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_error` is never used [INFO] [stdout] --> src/bin/server.rs:69:10 [INFO] [stdout] | [INFO] [stdout] 69 | async fn handle_error(err: std::io::Error) -> impl IntoResponse { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_error` is never used [INFO] [stdout] --> src/bin/server.rs:69:10 [INFO] [stdout] | [INFO] [stdout] 69 | async fn handle_error(err: std::io::Error) -> impl IntoResponse { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 10s [INFO] running `Command { std: "docker" "inspect" "a33885d15b75996bead87f24f436b3551e5b68c625731343466e57b276e5c852", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a33885d15b75996bead87f24f436b3551e5b68c625731343466e57b276e5c852", kill_on_drop: false }` [INFO] [stdout] a33885d15b75996bead87f24f436b3551e5b68c625731343466e57b276e5c852