[INFO] cloning repository https://github.com/cza14h/nino-renderer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cza14h/nino-renderer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcza14h%2Fnino-renderer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcza14h%2Fnino-renderer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 23db11509e51944e1fbe0198ba98fd7be5331002 [INFO] documenting cza14h/nino-renderer against beta-2025-04-13 for beta-1.87-rustdoc-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcza14h%2Fnino-renderer" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/cza14h/nino-renderer on toolchain beta-2025-04-13 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-04-13" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/cza14h/nino-renderer [INFO] removed 2 missing examples [INFO] finished tweaking git repo https://github.com/cza14h/nino-renderer [INFO] tweaked toml for git repo https://github.com/cza14h/nino-renderer written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/cza14h/nino-renderer 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-04-13" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-04-13" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e3a984842a6655512be6122b23841eefc0361737e182f96e6d32b6839ab01186 [INFO] running `Command { std: "docker" "start" "-a" "e3a984842a6655512be6122b23841eefc0361737e182f96e6d32b6839ab01186", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e3a984842a6655512be6122b23841eefc0361737e182f96e6d32b6839ab01186", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e3a984842a6655512be6122b23841eefc0361737e182f96e6d32b6839ab01186", kill_on_drop: false }` [INFO] [stdout] e3a984842a6655512be6122b23841eefc0361737e182f96e6d32b6839ab01186 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-04-13" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0300b41150ddf427c2b3ad0717e141d908e7edeb4ef0be3c932717fb0dc40742 [INFO] running `Command { std: "docker" "start" "-a" "0300b41150ddf427c2b3ad0717e141d908e7edeb4ef0be3c932717fb0dc40742", kill_on_drop: false }` [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling libc v0.2.141 [INFO] [stderr] Compiling proc-macro2 v1.0.84 [INFO] [stderr] Compiling crossbeam-utils v0.8.15 [INFO] [stderr] Compiling unicode-ident v1.0.8 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Compiling rayon-core v1.11.0 [INFO] [stderr] Compiling crc32fast v1.3.2 [INFO] [stderr] Checking simd-adler32 v0.3.5 [INFO] [stderr] Compiling futures-core v0.3.28 [INFO] [stderr] Checking either v1.8.1 [INFO] [stderr] Compiling cc v1.0.79 [INFO] [stderr] Checking futures-sink v0.3.28 [INFO] [stderr] Checking weezl v0.1.8 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking miniz_oxide v0.6.2 [INFO] [stderr] Checking half v2.2.1 [INFO] [stderr] Checking smallvec v1.10.0 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking miniz_oxide v0.7.1 [INFO] [stderr] Checking zune-inflate v0.2.53 [INFO] [stderr] Checking fdeflate v0.3.0 [INFO] [stderr] Checking lebe v0.5.2 [INFO] [stderr] Compiling paste v1.0.12 [INFO] [stderr] Checking bytemuck v1.13.1 [INFO] [stderr] Checking gif v0.13.1 [INFO] [stderr] Compiling memoffset v0.8.0 [INFO] [stderr] Compiling crossbeam-epoch v0.9.14 [INFO] [stderr] Compiling lock_api v0.4.9 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking cty v0.2.2 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking bitflags v2.1.0 [INFO] [stderr] Checking ttf-parser v0.18.1 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking flate2 v1.0.25 [INFO] [stderr] Checking crossbeam-channel v0.5.8 [INFO] [stderr] Compiling cmake v0.1.50 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking getrandom v0.2.9 [INFO] [stderr] Checking num_cpus v1.15.0 [INFO] [stderr] Checking crossbeam-deque v0.8.3 [INFO] [stderr] Checking png v0.17.8 [INFO] [stderr] Compiling syn v2.0.66 [INFO] [stderr] Checking nanorand v0.7.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling fltk-sys v1.4.1 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rayon v1.7.0 [INFO] [stderr] Checking jpeg-decoder v0.3.0 [INFO] [stderr] Checking tiff v0.9.1 [INFO] [stderr] Compiling pin-project-internal v1.0.12 [INFO] [stderr] Compiling renderer_macro_derive v0.1.0 (/opt/rustwide/workdir/renderer_macro_derive) [INFO] [stderr] Compiling uuid-macro-internal v1.10.0 [INFO] [stderr] Compiling delegate v0.13.1 [INFO] [stdout] warning: unused import: `ToTokens` [INFO] [stdout] --> renderer_macro_derive/src/lib.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use quote::{quote, ToTokens}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ident`, `Lit`, and `parse::Parse` [INFO] [stdout] --> renderer_macro_derive/src/lib.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | use syn::{parse::Parse, parse_macro_input, AttributeArgs, DeriveInput, Field, Ident, Lit}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `struct_name_str` [INFO] [stdout] --> renderer_macro_derive/src/lib.rs:414:7 [INFO] [stdout] | [INFO] [stdout] 414 | let struct_name_str = expr.to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_struct_name_str` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking uuid v1.10.0 [INFO] [stderr] Checking pin-project v1.0.12 [INFO] [stderr] Checking flume v0.10.14 [INFO] [stderr] Checking exr v1.6.3 [INFO] [stderr] Checking image v0.24.9 [INFO] [stderr] Checking tinyrenderer v0.1.0 (/opt/rustwide/workdir/tinyrenderer) [INFO] [stdout] warning: unused import: `Neg` [INFO] [stdout] --> tinyrenderer/src/math/vec.rs:1:64 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Neg, Sub, SubAssign}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cpu` [INFO] [stdout] --> tinyrenderer/src/math/frustum.rs:23:20 [INFO] [stdout] | [INFO] [stdout] 23 | mat: if cfg!(feature="cpu") { [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `cpu` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Material as ObjMaterial` and `Materials` [INFO] [stdout] --> tinyrenderer/src/model.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | material::{Material as ObjMaterial, Materials, MtlStores}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Textures` [INFO] [stdout] --> tinyrenderer/src/obj_loader/model.rs:8:40 [INFO] [stdout] | [INFO] [stdout] 8 | material::{MoveMaterials, MtlStores, Textures}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Textures` and `self` [INFO] [stdout] --> tinyrenderer/src/obj_loader/mtl_parser.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | defines::{self, parse_num, parse_token, parse_token_ok, ParserError}, [INFO] [stdout] | ^^^^ [INFO] [stdout] 6 | material::{MoveMaterials, Mtl, MtlStores, Textures}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cpu` [INFO] [stdout] --> tinyrenderer/src/renderer/camera.rs:23:20 [INFO] [stdout] | [INFO] [stdout] 23 | mat: if cfg!(feature="cpu") { [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `cpu` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `shader` [INFO] [stdout] --> tinyrenderer/src/renderer/renderer.rs:1:29 [INFO] [stdout] | [INFO] [stdout] 1 | use super::{camera::Camera, shader}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Texture`, `Vec4`, and `self` [INFO] [stdout] --> tinyrenderer/src/renderer/renderer.rs:4:48 [INFO] [stdout] | [INFO] [stdout] 4 | math::{Barycentric, BoundaryBox, Mat4, Vec2, Vec4}, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | material::{self, Material, MtlStores, Texture}, [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `take_value` [INFO] [stdout] --> tinyrenderer/src/renderer/shader/gouraud.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::obj_loader::shader::{take_value, Extract, GLTypes, Shader}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking three v0.1.0 (/opt/rustwide/workdir/three) [INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel [INFO] [stdout] --> three/src/lib.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(trait_upcasting)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the attribute [INFO] [stdout] | [INFO] [stdout] = help: the feature `trait_upcasting` has been stable since `1.86.0` and no longer requires an attribute to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::format` [INFO] [stdout] --> three/src/core/buffer_geometry.rs:7:33 [INFO] [stdout] | [INFO] [stdout] 7 | use std::{collections::HashMap, fmt::format}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `attribute` [INFO] [stdout] --> three/src/core/buffer_geometry.rs:102:14 [INFO] [stdout] | [INFO] [stdout] 102 | macro_rules! attribute { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `attribute` [INFO] [stdout] --> three/src/core/buffer_geometry.rs:122:16 [INFO] [stdout] | [INFO] [stdout] 122 | pub(crate) use attribute; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DerefMut` [INFO] [stdout] --> three/src/core/uniform.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | ops::{Deref, DerefMut}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `v` [INFO] [stdout] --> three/src/core/varying.rs:108:14 [INFO] [stdout] | [INFO] [stdout] 108 | macro_rules! v { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `add_v` [INFO] [stdout] --> three/src/core/varying.rs:127:14 [INFO] [stdout] | [INFO] [stdout] 127 | macro_rules! add_v { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `add_v` [INFO] [stdout] --> three/src/core/varying.rs:137:16 [INFO] [stdout] | [INFO] [stdout] 137 | pub(crate) use add_v; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `v` [INFO] [stdout] --> three/src/core/varying.rs:138:16 [INFO] [stdout] | [INFO] [stdout] 138 | pub(crate) use v; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `data_array::ColorBuffer` [INFO] [stdout] --> three/src/core/render_target.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | math::{data_array::ColorBuffer, Mat4, Vec4}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `parse_token_ok` [INFO] [stdout] --> three/src/loaders/defines.rs:72:14 [INFO] [stdout] | [INFO] [stdout] 72 | macro_rules! parse_token_ok { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parse_token_ok` [INFO] [stdout] --> three/src/loaders/mtl_loader.rs:8:26 [INFO] [stdout] | [INFO] [stdout] 8 | defines::{parse_token, parse_token_ok, ParserError}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> three/src/loaders/obj_loader.rs:2:10 [INFO] [stdout] | [INFO] [stdout] 2 | path::{Path, PathBuf}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Shader` [INFO] [stdout] --> three/src/material/material.rs:8:63 [INFO] [stdout] | [INFO] [stdout] 8 | use super::shader::{DefineShader, GlPerFragment, GlPerVertex, Shader}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Neg` [INFO] [stdout] --> three/src/math/vec.rs:1:64 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Neg, Sub, SubAssign}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::Mat4` [INFO] [stdout] --> three/src/math/vec.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use super::Mat4; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `any::Any` [INFO] [stdout] --> three/src/math/frustum.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{any::Any, rc::Rc}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `objects::base::Renderable` [INFO] [stdout] --> three/src/math/frustum.rs:8:3 [INFO] [stdout] | [INFO] [stdout] 8 | objects::base::Renderable, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cpu` [INFO] [stdout] --> three/src/math/frustum.rs:33:20 [INFO] [stdout] | [INFO] [stdout] 33 | mat: if cfg!(feature="cpu") { [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `cpu` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::Debug` [INFO] [stdout] --> three/src/objects/base.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fmt::Debug, rc::Rc}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `LightType`, `math::Vec3`, `self`, and `uniform::Uniform` [INFO] [stdout] --> three/src/renderer/render_states.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | cameras::camera::{self, ICamera}, [INFO] [stdout] | ^^^^ [INFO] [stdout] 5 | core::{buffer_geometry::IGeometry, object_3d::IObject3D, uniform::Uniform}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | lights::light::{ILight, LightType}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 7 | material::material::IMaterial, [INFO] [stdout] 8 | math::Vec3, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Vec3` and `self` [INFO] [stdout] --> three/src/renderer/gl_lights.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | cameras::camera::{self, ICamera}, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 8 | math::{Mat4, Vec3, Vec4}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `model` [INFO] [stdout] --> tinyrenderer/src/model.rs:183:31 [INFO] [stdout] | [INFO] [stdout] 183 | pub fn add_model(&mut self, model: Model) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_model` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `trait_upcasting` has been stable since 1.86.0 and no longer requires an attribute to enable [INFO] [stdout] --> three/src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(trait_upcasting)] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `depth` [INFO] [stdout] --> tinyrenderer/src/shade_triangle.rs:10:3 [INFO] [stdout] | [INFO] [stdout] 10 | depth: &mut DepthBuffer, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `color` [INFO] [stdout] --> tinyrenderer/src/shade_triangle.rs:12:3 [INFO] [stdout] | [INFO] [stdout] 12 | color: &Vec4, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `specular` [INFO] [stdout] --> tinyrenderer/src/renderer/shader/phong.rs:121:32 [INFO] [stdout] | [INFO] [stdout] 121 | if let (Some(normal), Some(specular)) = (t[0], t[1]) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_specular` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `uniforms` [INFO] [stdout] --> tinyrenderer/src/renderer/shader/phong.rs:84:36 [INFO] [stdout] | [INFO] [stdout] 84 | shader.fragment = Box::new(move |uniforms, varyings, textures| { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_uniforms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `uniforms` [INFO] [stdout] --> tinyrenderer/src/renderer/shader/shadow.rs:17:31 [INFO] [stdout] | [INFO] [stdout] 17 | shader.fragment = Box::new(|uniforms, varyings, textures| { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_uniforms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `textures` [INFO] [stdout] --> tinyrenderer/src/renderer/shader/shadow.rs:17:51 [INFO] [stdout] | [INFO] [stdout] 17 | shader.fragment = Box::new(|uniforms, varyings, textures| { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_textures` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> tinyrenderer/src/model.rs:122:3 [INFO] [stdout] | [INFO] [stdout] 120 | pub struct Model { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 121 | pub vertices: Vec, [INFO] [stdout] 122 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Model` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `filename` is never read [INFO] [stdout] --> tinyrenderer/src/obj_loader/file_loader.rs:8:3 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct FileLoader<'a> { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 8 | filename: &'a Path, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset` is never used [INFO] [stdout] --> tinyrenderer/src/obj_loader/file_loader.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 13 | impl<'a> FileLoader<'a> { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn reset(&mut self) -> Result<(), Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `name` are never read [INFO] [stdout] --> tinyrenderer/src/obj_loader/material.rs:189:3 [INFO] [stdout] | [INFO] [stdout] 188 | pub struct Texture { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 189 | id: u32, [INFO] [stdout] | ^^ [INFO] [stdout] 190 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Texture` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `shade_triangle_scanline` is never used [INFO] [stdout] --> tinyrenderer/src/shade_triangle.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn shade_triangle_scanline( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `merge_hash_map` is never used [INFO] [stdout] --> tinyrenderer/src/utils.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn merge_hash_map(map1: HashMap, map2: HashMap) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `blend`, `shadow_map`, and `cull` are never read [INFO] [stdout] --> tinyrenderer/src/renderer/renderer.rs:75:3 [INFO] [stdout] | [INFO] [stdout] 68 | pub struct Renderer { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 75 | blend: bool, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 76 | shadow_map: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 77 | cull: bool, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> tinyrenderer/src/math/barycentric.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | fn triangle_area(A: &Vec2, B: &Vec2, C: &Vec2) -> f32 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B` should have a snake case name [INFO] [stdout] --> tinyrenderer/src/math/barycentric.rs:11:28 [INFO] [stdout] | [INFO] [stdout] 11 | fn triangle_area(A: &Vec2, B: &Vec2, C: &Vec2) -> f32 { [INFO] [stdout] | ^ help: convert the identifier to snake case: `b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `C` should have a snake case name [INFO] [stdout] --> tinyrenderer/src/math/barycentric.rs:11:38 [INFO] [stdout] | [INFO] [stdout] 11 | fn triangle_area(A: &Vec2, B: &Vec2, C: &Vec2) -> f32 { [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `vUv` should have a snake case name [INFO] [stdout] --> tinyrenderer/src/renderer/shader/gouraud.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | let vUv = varying [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `v_uv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `vUv` should have a snake case name [INFO] [stdout] --> tinyrenderer/src/renderer/shader/phong.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | let vUv = varying!(varyings, Vec2, "vUv"); [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `v_uv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> tinyrenderer/src/renderer/shader/phong.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | let mut A = Mat3::default(); [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `AI` should have a snake case name [INFO] [stdout] --> tinyrenderer/src/renderer/shader/phong.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | let AI = A.inverse().unwrap(); [INFO] [stdout] | ^^ help: convert the identifier to snake case: `ai` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `B` should have a snake case name [INFO] [stdout] --> tinyrenderer/src/renderer/shader/phong.rs:114:13 [INFO] [stdout] | [INFO] [stdout] 114 | let mut B = Mat3::default(); [INFO] [stdout] | ^ help: convert the identifier to snake case: `b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0063]: missing field `map` in initializer of `BasicMaterial` [INFO] [stdout] --> three/src/material/material.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | Self { [INFO] [stdout] | ^^^^ missing `map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> three/src/renderer/gl_renderer.rs:180:5 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn render(&mut self, scene: Rc, camera: Rc) -> ColorBuffer { [INFO] [stdout] | ----------- expected `DataArray` because of return type [INFO] [stdout] ... [INFO] [stdout] 180 | self.result.take_color() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ expected `DataArray`, found `Vec` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `DataArray` [INFO] [stdout] found struct `Vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> three/src/renderer/shadow_map.rs:138:6 [INFO] [stdout] | [INFO] [stdout] 134 | fn to_depth_material( [INFO] [stdout] | ----------------- implicitly returns `()` as its body has no tail or `return` expression [INFO] [stdout] ... [INFO] [stdout] 138 | ) -> Rc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ expected `Rc`, found `()` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Rc<(dyn IMaterial + 'static)>` [INFO] [stdout] found unit type `()` [INFO] [stdout] help: consider returning the local binding `material` [INFO] [stdout] | [INFO] [stdout] 139 | ) -> Rc { [INFO] [stdout] 140 + material [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `viewport` [INFO] [stdout] --> three/src/lights/light.rs:46:52 [INFO] [stdout] | [INFO] [stdout] 46 | fn update_matrices(&self, light: Rc, viewport: Vec4) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_viewport` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> three/src/loaders/parser.rs:15:27 [INFO] [stdout] | [INFO] [stdout] 15 | fn assign_id(&mut self, id: u32) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> three/src/loaders/parser.rs:42:28 [INFO] [stdout] | [INFO] [stdout] 42 | fn parse(fullpath: &str, id: u32) -> Result, ParserError> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> three/src/loaders/parser.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | data: &mut SingleOrList, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tokens` [INFO] [stdout] --> three/src/loaders/parser.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | tokens: &mut std::str::SplitWhitespace, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fullpath` [INFO] [stdout] --> three/src/loaders/parser.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | fullpath: &str, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fullpath` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token_str` [INFO] [stdout] --> three/src/loaders/parser.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | token_str: &str, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> three/src/loaders/parser.rs:68:16 [INFO] [stdout] | [INFO] [stdout] 68 | fn on_loaded(data: &Data) -> ParserResult { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attribute` [INFO] [stdout] --> three/src/material/standard_material.rs:27:3 [INFO] [stdout] | [INFO] [stdout] 27 | attribute: &Attribute, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attribute` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `uniform` [INFO] [stdout] --> three/src/material/standard_material.rs:28:3 [INFO] [stdout] | [INFO] [stdout] 28 | uniform: &Uniform, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_uniform` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `varying` [INFO] [stdout] --> three/src/material/standard_material.rs:29:3 [INFO] [stdout] | [INFO] [stdout] 29 | varying: &mut Varying, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_varying` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gl_vertex` [INFO] [stdout] --> three/src/material/standard_material.rs:30:3 [INFO] [stdout] | [INFO] [stdout] 30 | gl_vertex: &mut GlPerVertex, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gl_vertex` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `uniform` [INFO] [stdout] --> three/src/material/standard_material.rs:35:3 [INFO] [stdout] | [INFO] [stdout] 35 | uniform: &Uniform, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_uniform` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `varying` [INFO] [stdout] --> three/src/material/standard_material.rs:36:3 [INFO] [stdout] | [INFO] [stdout] 36 | varying: &Varying, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_varying` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gl_fragment` [INFO] [stdout] --> three/src/material/standard_material.rs:37:3 [INFO] [stdout] | [INFO] [stdout] 37 | gl_fragment: &mut GlPerFragment, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gl_fragment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m21` [INFO] [stdout] --> three/src/math/euler.rs:65:10 [INFO] [stdout] | [INFO] [stdout] 65 | y: m21, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_m21` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m31` [INFO] [stdout] --> three/src/math/euler.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | z: m31, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_m31` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `object` [INFO] [stdout] --> three/src/math/frustum.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | object: Rc, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_object` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sphere` [INFO] [stdout] --> three/src/math/frustum.rs:151:5 [INFO] [stdout] | [INFO] [stdout] 151 | sphere: Rc, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sphere` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sphere` [INFO] [stdout] --> three/src/math/frustum.rs:157:34 [INFO] [stdout] | [INFO] [stdout] 157 | pub fn intersect_sphere(&self, sphere: &Sphere) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sphere` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `w` is never read [INFO] [stdout] --> three/src/math/quaternion.rs:132:14 [INFO] [stdout] | [INFO] [stdout] 132 | let (mut w, mut x, mut y, mut z) = (0.0, 0.0, 0.0, 0.0); [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: value assigned to `x` is never read [INFO] [stdout] --> three/src/math/quaternion.rs:132:21 [INFO] [stdout] | [INFO] [stdout] 132 | let (mut w, mut x, mut y, mut z) = (0.0, 0.0, 0.0, 0.0); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `y` is never read [INFO] [stdout] --> three/src/math/quaternion.rs:132:28 [INFO] [stdout] | [INFO] [stdout] 132 | let (mut w, mut x, mut y, mut z) = (0.0, 0.0, 0.0, 0.0); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `z` is never read [INFO] [stdout] --> three/src/math/quaternion.rs:132:35 [INFO] [stdout] | [INFO] [stdout] 132 | let (mut w, mut x, mut y, mut z) = (0.0, 0.0, 0.0, 0.0); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `scene` [INFO] [stdout] --> three/src/renderer/gl_renderer.rs:237:5 [INFO] [stdout] | [INFO] [stdout] 237 | scene: Rc, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_scene` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent` [INFO] [stdout] --> three/src/renderer/gl_renderer.rs:241:5 [INFO] [stdout] | [INFO] [stdout] 241 | parent: Option>, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `camera` [INFO] [stdout] --> three/src/renderer/render_pipeline.rs:116:3 [INFO] [stdout] | [INFO] [stdout] 116 | camera: Rc, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0063, E0308, E0554. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0063`. [INFO] [stdout] [INFO] [stderr] error: could not compile `three` (lib) due to 4 previous errors; 49 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "0300b41150ddf427c2b3ad0717e141d908e7edeb4ef0be3c932717fb0dc40742", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0300b41150ddf427c2b3ad0717e141d908e7edeb4ef0be3c932717fb0dc40742", kill_on_drop: false }` [INFO] [stdout] 0300b41150ddf427c2b3ad0717e141d908e7edeb4ef0be3c932717fb0dc40742