Nov 06 16:15:03.094 INFO checking pcostasgr/rustraytracing against master#24e66c28980442a48d9458f1a4f9b76cc722dc8a+rustflags=-Dduplicate_associated_type_bindings for pr-55687 Nov 06 16:15:03.094 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-55687/worker-5/master#24e66c28980442a48d9458f1a4f9b76cc722dc8a+rustflags=-Dduplicate_associated_type_bindings:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-5/pr-55687/master#24e66c28980442a48d9458f1a4f9b76cc722dc8a+rustflags=-Dduplicate_associated_type_bindings:/source:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +24e66c28980442a48d9458f1a4f9b76cc722dc8a-alt check --frozen --all --all-targets" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dduplicate_associated_type_bindings" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"` Nov 06 16:15:03.631 INFO blam! 44d899f7f5f63cd177e17c471520661f6e88c5456d0e38e3a8c13ac6d9dfe705 Nov 06 16:15:03.635 INFO running `"docker" "start" "-a" "44d899f7f5f63cd177e17c471520661f6e88c5456d0e38e3a8c13ac6d9dfe705"` Nov 06 16:15:04.592 INFO kablam! usermod: no changes Nov 06 16:15:04.696 INFO kablam! Checking ray_tracing v0.1.0 (/source) Nov 06 16:15:05.288 INFO kablam! warning: unused imports: `fmt`, `ptr` Nov 06 16:15:05.288 INFO kablam! --> src/math3d.rs:3:11 Nov 06 16:15:05.288 INFO kablam! | Nov 06 16:15:05.288 INFO kablam! 3 | use std::{ptr,fmt}; Nov 06 16:15:05.288 INFO kablam! | ^^^ ^^^ Nov 06 16:15:05.288 INFO kablam! warning: unused imports: `fmt`, `ptr` Nov 06 16:15:05.288 INFO kablam! --> src/math3d.rs:3:11 Nov 06 16:15:05.288 INFO kablam! | Nov 06 16:15:05.288 INFO kablam! 3 | use std::{ptr,fmt}; Nov 06 16:15:05.288 INFO kablam! | ^^^ ^^^ Nov 06 16:15:05.288 INFO kablam! | Nov 06 16:15:05.288 INFO kablam! = note: #[warn(unused_imports)] on by default Nov 06 16:15:05.288 INFO kablam! Nov 06 16:15:05.288 INFO kablam! warning: unused import: `Duration` Nov 06 16:15:05.288 INFO kablam! --> src/main.rs:7:17 Nov 06 16:15:05.288 INFO kablam! | Nov 06 16:15:05.288 INFO kablam! 7 | use std::time::{Duration, Instant}; Nov 06 16:15:05.288 INFO kablam! | ^^^^^^^^ Nov 06 16:15:05.288 INFO kablam! Nov 06 16:15:05.288 INFO kablam! | Nov 06 16:15:05.288 INFO kablam! = note: #[warn(unused_imports)] on by default Nov 06 16:15:05.288 INFO kablam! Nov 06 16:15:05.288 INFO kablam! warning: unused import: `Duration` Nov 06 16:15:05.288 INFO kablam! --> src/main.rs:7:17 Nov 06 16:15:05.288 INFO kablam! | Nov 06 16:15:05.288 INFO kablam! 7 | use std::time::{Duration, Instant}; Nov 06 16:15:05.288 INFO kablam! | ^^^^^^^^ Nov 06 16:15:05.288 INFO kablam! Nov 06 16:15:05.544 INFO kablam! warning: unused variable: `b` Nov 06 16:15:05.544 INFO kablam! --> src/math3d.rs:192:13 Nov 06 16:15:05.544 INFO kablam! | Nov 06 16:15:05.544 INFO kablam! 192 | let b:bool; Nov 06 16:15:05.544 INFO kablam! | ^ help: consider using `_b` instead Nov 06 16:15:05.544 INFO kablam! | Nov 06 16:15:05.544 INFO kablam! = note: #[warn(unused_variables)] on by default Nov 06 16:15:05.544 INFO kablam! Nov 06 16:15:05.544 INFO kablam! warning: value assigned to `p` is never read Nov 06 16:15:05.544 INFO kablam! --> src/math3d.rs:481:13 Nov 06 16:15:05.544 INFO kablam! | Nov 06 16:15:05.544 INFO kablam! 481 | let mut p=v3f{x:0.0,y:0.0,z:0.0}; Nov 06 16:15:05.544 INFO kablam! | ^ Nov 06 16:15:05.544 INFO kablam! | Nov 06 16:15:05.544 INFO kablam! = note: #[warn(unused_assignments)] on by default Nov 06 16:15:05.544 INFO kablam! Nov 06 16:15:05.544 INFO kablam! warning: unused variable: `n` Nov 06 16:15:05.544 INFO kablam! --> src/main.rs:11:9 Nov 06 16:15:05.544 INFO kablam! | Nov 06 16:15:05.544 INFO kablam! 11 | let n=500; Nov 06 16:15:05.544 INFO kablam! | ^ help: consider using `_n` instead Nov 06 16:15:05.544 INFO kablam! Nov 06 16:15:05.544 INFO kablam! warning: unused variable: `world` Nov 06 16:15:05.544 INFO kablam! --> src/main.rs:10:26 Nov 06 16:15:05.544 INFO kablam! | Nov 06 16:15:05.544 INFO kablam! 10 | pub fn CreateRandomScene(world:& mut math3d::World){ Nov 06 16:15:05.544 INFO kablam! | ^^^^^ help: consider using `_world` instead Nov 06 16:15:05.544 INFO kablam! Nov 06 16:15:05.544 INFO kablam! warning: unused variable: `lower_lef_corner` Nov 06 16:15:05.544 INFO kablam! --> src/main.rs:42:9 Nov 06 16:15:05.544 INFO kablam! | Nov 06 16:15:05.544 INFO kablam! 42 | let lower_lef_corner:v3f=v3f{x:-2.0,y:-1.0,z:-1.0}; Nov 06 16:15:05.544 INFO kablam! | ^^^^^^^^^^^^^^^^ help: consider using `_lower_lef_corner` instead Nov 06 16:15:05.544 INFO kablam! Nov 06 16:15:05.544 INFO kablam! warning: unused variable: `horizontal` Nov 06 16:15:05.544 INFO kablam! --> src/main.rs:43:9 Nov 06 16:15:05.544 INFO kablam! | Nov 06 16:15:05.544 INFO kablam! 43 | let horizontal:v3f=v3f{x:4.0,y:0.0,z:0.0}; Nov 06 16:15:05.544 INFO kablam! | ^^^^^^^^^^ help: consider using `_horizontal` instead Nov 06 16:15:05.544 INFO kablam! Nov 06 16:15:05.544 INFO kablam! warning: unused variable: `vertical` Nov 06 16:15:05.545 INFO kablam! --> src/main.rs:44:9 Nov 06 16:15:05.545 INFO kablam! | Nov 06 16:15:05.545 INFO kablam! 44 | let vertical:v3f=v3f{x:0.0,y:2.0,z:0.0}; Nov 06 16:15:05.545 INFO kablam! | ^^^^^^^^ help: consider using `_vertical` instead Nov 06 16:15:05.545 INFO kablam! Nov 06 16:15:05.545 INFO kablam! warning: unused variable: `origin` Nov 06 16:15:05.545 INFO kablam! --> src/main.rs:45:9 Nov 06 16:15:05.545 INFO kablam! | Nov 06 16:15:05.545 INFO kablam! 45 | let origin:v3f=v3f{x:0.0,y:0.0,z:0.0}; Nov 06 16:15:05.545 INFO kablam! | ^^^^^^ help: consider using `_origin` instead Nov 06 16:15:05.545 INFO kablam! Nov 06 16:15:05.545 INFO kablam! warning: unused variable: `v00` Nov 06 16:15:05.545 INFO kablam! --> src/main.rs:101:9 Nov 06 16:15:05.545 INFO kablam! | Nov 06 16:15:05.545 INFO kablam! 101 | let v00=math3d::VecSub3D(&look_from,&look_at); Nov 06 16:15:05.545 INFO kablam! | ^^^ help: consider using `_v00` instead Nov 06 16:15:05.545 INFO kablam! Nov 06 16:15:05.545 INFO kablam! warning: value assigned to `r1` is never read Nov 06 16:15:05.545 INFO kablam! --> src/main.rs:122:25 Nov 06 16:15:05.545 INFO kablam! | Nov 06 16:15:05.545 INFO kablam! 122 | let mut r1:f32=0.0; Nov 06 16:15:05.545 INFO kablam! | ^^ Nov 06 16:15:05.545 INFO kablam! Nov 06 16:15:05.545 INFO kablam! warning: value assigned to `r2` is never read Nov 06 16:15:05.545 INFO kablam! --> src/main.rs:123:25 Nov 06 16:15:05.545 INFO kablam! | Nov 06 16:15:05.545 INFO kablam! 123 | let mut r2:f32=0.0; Nov 06 16:15:05.545 INFO kablam! | ^^ Nov 06 16:15:05.545 INFO kablam! Nov 06 16:15:05.545 INFO kablam! warning: unused variable: `s` Nov 06 16:15:05.545 INFO kablam! --> src/main.rs:126:21 Nov 06 16:15:05.545 INFO kablam! | Nov 06 16:15:05.545 INFO kablam! 126 | for s in 0..ns{ Nov 06 16:15:05.545 INFO kablam! | ^ help: consider using `_s` instead Nov 06 16:15:05.545 INFO kablam! Nov 06 16:15:05.545 INFO kablam! warning: unused variable: `hit` Nov 06 16:15:05.545 INFO kablam! --> src/math3d.rs:283:21 Nov 06 16:15:05.545 INFO kablam! | Nov 06 16:15:05.545 INFO kablam! 283 | let mut hit:bool=false; Nov 06 16:15:05.545 INFO kablam! | ^^^ help: consider using `_hit` instead Nov 06 16:15:05.545 INFO kablam! Nov 06 16:15:05.560 INFO kablam! warning: unused variable: `r_in` Nov 06 16:15:05.560 INFO kablam! --> src/math3d.rs:513:25 Nov 06 16:15:05.560 INFO kablam! | Nov 06 16:15:05.560 INFO kablam! 513 | fn Scatter(&self,r_in:&Ray,rec:&HitRecord,attenuation:&mut v3f,scattered:&mut Ray)->bool{ Nov 06 16:15:05.560 INFO kablam! | ^^^^ help: consider using `_r_in` instead Nov 06 16:15:05.560 INFO kablam! Nov 06 16:15:05.560 INFO kablam! warning: value assigned to `ni_over_nt` is never read Nov 06 16:15:05.560 INFO kablam! --> src/math3d.rs:640:21 Nov 06 16:15:05.560 INFO kablam! | Nov 06 16:15:05.560 INFO kablam! 640 | let mut ni_over_nt:f32=0.0; Nov 06 16:15:05.560 INFO kablam! | ^^^^^^^^^^ Nov 06 16:15:05.560 INFO kablam! Nov 06 16:15:05.560 INFO kablam! warning: value assigned to `cosine` is never read Nov 06 16:15:05.560 INFO kablam! --> src/math3d.rs:647:21 Nov 06 16:15:05.560 INFO kablam! | Nov 06 16:15:05.560 INFO kablam! 647 | let mut cosine:f32=0.0; Nov 06 16:15:05.560 INFO kablam! | ^^^^^^ Nov 06 16:15:05.560 INFO kablam! Nov 06 16:15:05.560 INFO kablam! warning: value assigned to `reflect_prob` is never read Nov 06 16:15:05.560 INFO kablam! --> src/math3d.rs:648:21 Nov 06 16:15:05.560 INFO kablam! | Nov 06 16:15:05.560 INFO kablam! 648 | let mut reflect_prob:f32=0.0; Nov 06 16:15:05.560 INFO kablam! | ^^^^^^^^^^^^ Nov 06 16:15:05.560 INFO kablam! Nov 06 16:15:05.560 INFO kablam! warning: variable does not need to be mutable Nov 06 16:15:05.560 INFO kablam! --> src/math3d.rs:54:13 Nov 06 16:15:05.560 INFO kablam! | Nov 06 16:15:05.560 INFO kablam! 54 | let mut value:f32=self.x*self.x+self.y*self.y+self.z*self.z; Nov 06 16:15:05.560 INFO kablam! | ----^^^^^ Nov 06 16:15:05.560 INFO kablam! | | Nov 06 16:15:05.560 INFO kablam! | help: remove this `mut` Nov 06 16:15:05.560 INFO kablam! | Nov 06 16:15:05.560 INFO kablam! = note: #[warn(unused_mut)] on by default Nov 06 16:15:05.560 INFO kablam! Nov 06 16:15:05.568 INFO kablam! warning: variable does not need to be mutable Nov 06 16:15:05.568 INFO kablam! --> src/math3d.rs:59:13 Nov 06 16:15:05.568 INFO kablam! | Nov 06 16:15:05.568 INFO kablam! 59 | let mut value:f32=self.x*self.x+self.y*self.y+self.z*self.z; Nov 06 16:15:05.568 INFO kablam! | ----^^^^^ Nov 06 16:15:05.568 INFO kablam! | | Nov 06 16:15:05.568 INFO kablam! | help: remove this `mut` Nov 06 16:15:05.568 INFO kablam! Nov 06 16:15:05.568 INFO kablam! warning: variable does not need to be mutable Nov 06 16:15:05.568 INFO kablam! --> src/math3d.rs:190:21 Nov 06 16:15:05.568 INFO kablam! | Nov 06 16:15:05.568 INFO kablam! 190 | pub fn GetColor(mut ray:Ray,world:& World,depth:i16)->v3f{ Nov 06 16:15:05.568 INFO kablam! | ----^^^ Nov 06 16:15:05.568 INFO kablam! | | Nov 06 16:15:05.568 INFO kablam! | help: remove this `mut` Nov 06 16:15:05.568 INFO kablam! Nov 06 16:15:05.568 INFO kablam! warning: variable does not need to be mutable Nov 06 16:15:05.568 INFO kablam! --> src/math3d.rs:226:17 Nov 06 16:15:05.568 INFO kablam! | Nov 06 16:15:05.568 INFO kablam! 226 | let mut unit_direction=VecNorm3D(&ray.direction); Nov 06 16:15:05.568 INFO kablam! | ----^^^^^^^^^^^^^^ Nov 06 16:15:05.568 INFO kablam! | | Nov 06 16:15:05.568 INFO kablam! | help: remove this `mut` Nov 06 16:15:05.572 INFO kablam! Nov 06 16:15:05.580 INFO kablam! warning: variable does not need to be mutable Nov 06 16:15:05.580 INFO kablam! --> src/math3d.rs:283:17 Nov 06 16:15:05.580 INFO kablam! | Nov 06 16:15:05.580 INFO kablam! 283 | let mut hit:bool=false; Nov 06 16:15:05.580 INFO kablam! | ----^^^ Nov 06 16:15:05.580 INFO kablam! | | Nov 06 16:15:05.580 INFO kablam! | help: remove this `mut` Nov 06 16:15:05.580 INFO kablam! Nov 06 16:15:05.584 INFO kablam! warning: type alias is never used: `v3i` Nov 06 16:15:05.584 INFO kablam! --> src/math3d.rs:17:1 Nov 06 16:15:05.584 INFO kablam! | Nov 06 16:15:05.584 INFO kablam! 17 | type v3i=Vec3D; Nov 06 16:15:05.584 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.584 INFO kablam! | Nov 06 16:15:05.584 INFO kablam! = note: #[warn(dead_code)] on by default Nov 06 16:15:05.584 INFO kablam! Nov 06 16:15:05.584 INFO kablam! warning: function is never used: `Refrect` Nov 06 16:15:05.584 INFO kablam! --> src/math3d.rs:134:1 Nov 06 16:15:05.584 INFO kablam! | Nov 06 16:15:05.584 INFO kablam! 134 | pub fn Refrect(v:&v3f,n:&v3f)->v3f{ Nov 06 16:15:05.584 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.584 INFO kablam! Nov 06 16:15:05.584 INFO kablam! warning: function is never used: `HitSphere` Nov 06 16:15:05.584 INFO kablam! --> src/math3d.rs:246:1 Nov 06 16:15:05.584 INFO kablam! | Nov 06 16:15:05.584 INFO kablam! 246 | pub fn HitSphere(center:v3f,radius:f32,r:Ray)->f32 { Nov 06 16:15:05.584 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.584 INFO kablam! Nov 06 16:15:05.584 INFO kablam! warning: struct is never constructed: `CameraOld` Nov 06 16:15:05.584 INFO kablam! --> src/math3d.rs:312:1 Nov 06 16:15:05.584 INFO kablam! | Nov 06 16:15:05.584 INFO kablam! 312 | pub struct CameraOld{ Nov 06 16:15:05.584 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.584 INFO kablam! Nov 06 16:15:05.584 INFO kablam! warning: method is never used: `new` Nov 06 16:15:05.584 INFO kablam! --> src/math3d.rs:322:5 Nov 06 16:15:05.584 INFO kablam! | Nov 06 16:15:05.584 INFO kablam! 322 | pub fn new()->Self{ Nov 06 16:15:05.584 INFO kablam! | ^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.584 INFO kablam! Nov 06 16:15:05.584 INFO kablam! warning: method is never used: `GetRay` Nov 06 16:15:05.584 INFO kablam! --> src/math3d.rs:336:5 Nov 06 16:15:05.584 INFO kablam! | Nov 06 16:15:05.584 INFO kablam! 336 | pub fn GetRay(&self,u:f32,v:f32)->Ray{ Nov 06 16:15:05.584 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.584 INFO kablam! Nov 06 16:15:05.584 INFO kablam! warning: method is never used: `GetRayOld` Nov 06 16:15:05.584 INFO kablam! --> src/math3d.rs:436:5 Nov 06 16:15:05.584 INFO kablam! | Nov 06 16:15:05.584 INFO kablam! 436 | pub fn GetRayOld(&self,u:f32,v:f32)->Ray{ Nov 06 16:15:05.584 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.584 INFO kablam! Nov 06 16:15:05.584 INFO kablam! warning: method is never used: `new` Nov 06 16:15:05.584 INFO kablam! --> src/math3d.rs:502:5 Nov 06 16:15:05.585 INFO kablam! | Nov 06 16:15:05.585 INFO kablam! 502 | pub fn new(a:v3f)->Self{ Nov 06 16:15:05.585 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.585 INFO kablam! Nov 06 16:15:05.585 INFO kablam! warning: method is never used: `new` Nov 06 16:15:05.585 INFO kablam! --> src/math3d.rs:539:5 Nov 06 16:15:05.585 INFO kablam! | Nov 06 16:15:05.585 INFO kablam! 539 | pub fn new(a:v3f,f:f32)->Self{ Nov 06 16:15:05.585 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.585 INFO kablam! Nov 06 16:15:05.585 INFO kablam! warning: method is never used: `new` Nov 06 16:15:05.585 INFO kablam! --> src/math3d.rs:627:5 Nov 06 16:15:05.585 INFO kablam! | Nov 06 16:15:05.585 INFO kablam! 627 | pub fn new(ri:f32)->Self{ Nov 06 16:15:05.585 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.585 INFO kablam! Nov 06 16:15:05.585 INFO kablam! warning: type alias is never used: `v3i` Nov 06 16:15:05.585 INFO kablam! --> src/main.rs:17:5 Nov 06 16:15:05.585 INFO kablam! | Nov 06 16:15:05.585 INFO kablam! 17 | type v3i=math3d::Vec3D; Nov 06 16:15:05.585 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.585 INFO kablam! Nov 06 16:15:05.585 INFO kablam! warning: type alias is never used: `Ray` Nov 06 16:15:05.585 INFO kablam! --> src/main.rs:18:5 Nov 06 16:15:05.585 INFO kablam! | Nov 06 16:15:05.585 INFO kablam! 18 | type Ray=math3d::Ray; Nov 06 16:15:05.585 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.585 INFO kablam! Nov 06 16:15:05.585 INFO kablam! warning: type alias is never used: `CameraOld` Nov 06 16:15:05.585 INFO kablam! --> src/main.rs:22:5 Nov 06 16:15:05.585 INFO kablam! | Nov 06 16:15:05.585 INFO kablam! 22 | type CameraOld=math3d::CameraOld; Nov 06 16:15:05.585 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.585 INFO kablam! Nov 06 16:15:05.585 INFO kablam! warning: type alias is never used: `HitRecord` Nov 06 16:15:05.585 INFO kablam! --> src/main.rs:26:5 Nov 06 16:15:05.585 INFO kablam! | Nov 06 16:15:05.585 INFO kablam! 26 | type HitRecord=math3d::HitRecord; Nov 06 16:15:05.585 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.585 INFO kablam! Nov 06 16:15:05.588 INFO kablam! warning: type `v3f` should have a camel case name such as `V3f` Nov 06 16:15:05.588 INFO kablam! --> src/math3d.rs:16:1 Nov 06 16:15:05.588 INFO kablam! | Nov 06 16:15:05.588 INFO kablam! 16 | type v3f=Vec3D; Nov 06 16:15:05.588 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.588 INFO kablam! | Nov 06 16:15:05.588 INFO kablam! = note: #[warn(non_camel_case_types)] on by default Nov 06 16:15:05.588 INFO kablam! Nov 06 16:15:05.588 INFO kablam! warning: type `v3i` should have a camel case name such as `V3i` Nov 06 16:15:05.588 INFO kablam! --> src/math3d.rs:17:1 Nov 06 16:15:05.588 INFO kablam! | Nov 06 16:15:05.588 INFO kablam! 17 | type v3i=Vec3D; Nov 06 16:15:05.588 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.588 INFO kablam! Nov 06 16:15:05.588 INFO kablam! warning: trait method `Hit` should have a snake case name such as `hit` Nov 06 16:15:05.588 INFO kablam! --> src/math3d.rs:40:5 Nov 06 16:15:05.588 INFO kablam! | Nov 06 16:15:05.588 INFO kablam! 40 | fn Hit(&self,r:Ray,t_min:f32,t_max:f32,rec:& mut HitRecord)->bool; Nov 06 16:15:05.588 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.588 INFO kablam! | Nov 06 16:15:05.588 INFO kablam! = note: #[warn(non_snake_case)] on by default Nov 06 16:15:05.588 INFO kablam! Nov 06 16:15:05.588 INFO kablam! warning: trait method `GetMaterial` should have a snake case name such as `get_material` Nov 06 16:15:05.588 INFO kablam! --> src/math3d.rs:41:5 Nov 06 16:15:05.588 INFO kablam! | Nov 06 16:15:05.588 INFO kablam! 41 | fn GetMaterial(&self)->& Box; Nov 06 16:15:05.588 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.588 INFO kablam! Nov 06 16:15:05.588 INFO kablam! warning: method `Length` should have a snake case name such as `length` Nov 06 16:15:05.588 INFO kablam! --> src/math3d.rs:53:5 Nov 06 16:15:05.588 INFO kablam! | Nov 06 16:15:05.588 INFO kablam! 53 | / pub fn Length(&self)-> f32{ Nov 06 16:15:05.588 INFO kablam! 54 | | let mut value:f32=self.x*self.x+self.y*self.y+self.z*self.z; Nov 06 16:15:05.588 INFO kablam! 55 | | value.sqrt() Nov 06 16:15:05.588 INFO kablam! 56 | | } Nov 06 16:15:05.588 INFO kablam! | |_____^ Nov 06 16:15:05.588 INFO kablam! Nov 06 16:15:05.588 INFO kablam! warning: method `SquaredLength` should have a snake case name such as `squared_length` Nov 06 16:15:05.588 INFO kablam! --> src/math3d.rs:58:5 Nov 06 16:15:05.588 INFO kablam! | Nov 06 16:15:05.588 INFO kablam! 58 | / pub fn SquaredLength(&self)-> f32{ Nov 06 16:15:05.588 INFO kablam! 59 | | let mut value:f32=self.x*self.x+self.y*self.y+self.z*self.z; Nov 06 16:15:05.588 INFO kablam! 60 | | value Nov 06 16:15:05.588 INFO kablam! 61 | | } Nov 06 16:15:05.588 INFO kablam! | |_____^ Nov 06 16:15:05.588 INFO kablam! Nov 06 16:15:05.588 INFO kablam! warning: method `ToI32` should have a snake case name such as `to_i32` Nov 06 16:15:05.588 INFO kablam! --> src/math3d.rs:63:5 Nov 06 16:15:05.589 INFO kablam! | Nov 06 16:15:05.589 INFO kablam! 63 | / pub fn ToI32(&self)->Vec3D{ Nov 06 16:15:05.589 INFO kablam! 64 | | Vec3D{x:self.x as i32,y:self.y as i32,z:self.z as i32} Nov 06 16:15:05.589 INFO kablam! 65 | | } Nov 06 16:15:05.589 INFO kablam! | |_____^ Nov 06 16:15:05.589 INFO kablam! Nov 06 16:15:05.589 INFO kablam! warning: method `PointAtParameter` should have a snake case name such as `point_at_parameter` Nov 06 16:15:05.589 INFO kablam! --> src/math3d.rs:82:5 Nov 06 16:15:05.589 INFO kablam! | Nov 06 16:15:05.589 INFO kablam! 82 | / pub fn PointAtParameter(&self,t:f32) -> v3f{ Nov 06 16:15:05.589 INFO kablam! 83 | | let v=VecMul3D(&self.direction,t); Nov 06 16:15:05.589 INFO kablam! 84 | | let r=VecAdd3D(&self.origin,&v); Nov 06 16:15:05.589 INFO kablam! 85 | | r Nov 06 16:15:05.589 INFO kablam! 86 | | } Nov 06 16:15:05.589 INFO kablam! | |_____^ Nov 06 16:15:05.589 INFO kablam! Nov 06 16:15:05.589 INFO kablam! warning: function `VecDot3D` should have a snake case name such as `vec_dot3_d` Nov 06 16:15:05.589 INFO kablam! --> src/math3d.rs:90:1 Nov 06 16:15:05.589 INFO kablam! | Nov 06 16:15:05.589 INFO kablam! 90 | / pub fn VecDot3D(v1:&Vec3D,v2:&Vec3D)-> f32{ Nov 06 16:15:05.589 INFO kablam! 91 | | (v1.x*v2.x+v1.y*v2.y+v1.z*v2.z) Nov 06 16:15:05.589 INFO kablam! 92 | | } Nov 06 16:15:05.589 INFO kablam! | |_^ Nov 06 16:15:05.589 INFO kablam! Nov 06 16:15:05.592 INFO kablam! warning: function `VecCross3D` should have a snake case name such as `vec_cross3_d` Nov 06 16:15:05.592 INFO kablam! --> src/math3d.rs:94:1 Nov 06 16:15:05.592 INFO kablam! | Nov 06 16:15:05.592 INFO kablam! 94 | / pub fn VecCross3D(v1:&Vec3D,v2:&Vec3D)-> Vec3D{ Nov 06 16:15:05.592 INFO kablam! 95 | | let x=v1.y*v2.z-v1.z*v2.y; Nov 06 16:15:05.592 INFO kablam! 96 | | let y=-(v1.x*v2.z)-v1.z*v2.x; Nov 06 16:15:05.592 INFO kablam! 97 | | let z=v1.x*v2.y-v1.y*v2.x; Nov 06 16:15:05.592 INFO kablam! 98 | | Nov 06 16:15:05.592 INFO kablam! 99 | | Vec3D{x:x,y:y,z:z} Nov 06 16:15:05.592 INFO kablam! 100 | | } Nov 06 16:15:05.592 INFO kablam! | |_^ Nov 06 16:15:05.592 INFO kablam! Nov 06 16:15:05.592 INFO kablam! warning: function `VecAdd3D` should have a snake case name such as `vec_add3_d` Nov 06 16:15:05.592 INFO kablam! --> src/math3d.rs:102:1 Nov 06 16:15:05.592 INFO kablam! | Nov 06 16:15:05.592 INFO kablam! 102 | / pub fn VecAdd3D(v1:&Vec3D,v2:&Vec3D)-> Vec3D{ Nov 06 16:15:05.592 INFO kablam! 103 | | Vec3D{x:v1.x+v2.x,y:v1.y+v2.y,z:v1.z+v2.z} Nov 06 16:15:05.592 INFO kablam! 104 | | } Nov 06 16:15:05.592 INFO kablam! | |_^ Nov 06 16:15:05.592 INFO kablam! Nov 06 16:15:05.592 INFO kablam! warning: function `VecSub3D` should have a snake case name such as `vec_sub3_d` Nov 06 16:15:05.592 INFO kablam! --> src/math3d.rs:106:1 Nov 06 16:15:05.592 INFO kablam! | Nov 06 16:15:05.592 INFO kablam! 106 | / pub fn VecSub3D(v1:&Vec3D,v2:&Vec3D)-> Vec3D{ Nov 06 16:15:05.592 INFO kablam! 107 | | Vec3D{x:v1.x-v2.x,y:v1.y-v2.y,z:v1.z-v2.z} Nov 06 16:15:05.592 INFO kablam! 108 | | } Nov 06 16:15:05.592 INFO kablam! | |_^ Nov 06 16:15:05.592 INFO kablam! Nov 06 16:15:05.592 INFO kablam! warning: function `VecMul3D` should have a snake case name such as `vec_mul3_d` Nov 06 16:15:05.592 INFO kablam! --> src/math3d.rs:110:1 Nov 06 16:15:05.592 INFO kablam! | Nov 06 16:15:05.592 INFO kablam! 110 | / pub fn VecMul3D(v:&Vec3D,f:f32)->Vec3D{ Nov 06 16:15:05.592 INFO kablam! 111 | | Vec3D{x:v.x*f,y:v.y*f,z:v.z*f} Nov 06 16:15:05.592 INFO kablam! 112 | | } Nov 06 16:15:05.592 INFO kablam! | |_^ Nov 06 16:15:05.592 INFO kablam! Nov 06 16:15:05.592 INFO kablam! warning: function `VecMulVec3D` should have a snake case name such as `vec_mul_vec3_d` Nov 06 16:15:05.592 INFO kablam! --> src/math3d.rs:114:1 Nov 06 16:15:05.592 INFO kablam! | Nov 06 16:15:05.592 INFO kablam! 114 | / pub fn VecMulVec3D(v1:&Vec3D,v2:&Vec3D)->Vec3D{ Nov 06 16:15:05.592 INFO kablam! 115 | | Vec3D{x:v1.x*v2.x,y:v1.y*v2.y,z:v1.z*v2.z} Nov 06 16:15:05.592 INFO kablam! 116 | | } Nov 06 16:15:05.592 INFO kablam! | |_^ Nov 06 16:15:05.592 INFO kablam! Nov 06 16:15:05.593 INFO kablam! warning: function `VecDiv3D` should have a snake case name such as `vec_div3_d` Nov 06 16:15:05.593 INFO kablam! --> src/math3d.rs:118:1 Nov 06 16:15:05.593 INFO kablam! | Nov 06 16:15:05.593 INFO kablam! 118 | / pub fn VecDiv3D(v:&v3f,f:f32)->v3f{ Nov 06 16:15:05.593 INFO kablam! 119 | | Nov 06 16:15:05.593 INFO kablam! 120 | | //this sucks I'll use an epsilon next time I promise Nov 06 16:15:05.593 INFO kablam! 121 | | if f!=0.0 { Nov 06 16:15:05.593 INFO kablam! ... | Nov 06 16:15:05.593 INFO kablam! 126 | | } Nov 06 16:15:05.593 INFO kablam! 127 | | } Nov 06 16:15:05.593 INFO kablam! | |_^ Nov 06 16:15:05.593 INFO kablam! Nov 06 16:15:05.593 INFO kablam! warning: function `VecNorm3D` should have a snake case name such as `vec_norm3_d` Nov 06 16:15:05.593 INFO kablam! --> src/math3d.rs:129:1 Nov 06 16:15:05.593 INFO kablam! | Nov 06 16:15:05.593 INFO kablam! 129 | / pub fn VecNorm3D(v:&v3f)->v3f{ Nov 06 16:15:05.593 INFO kablam! 130 | | let length=v.Length(); Nov 06 16:15:05.593 INFO kablam! 131 | | VecDiv3D(v,length) Nov 06 16:15:05.593 INFO kablam! 132 | | } Nov 06 16:15:05.593 INFO kablam! | |_^ Nov 06 16:15:05.593 INFO kablam! Nov 06 16:15:05.596 INFO kablam! warning: function `Refrect` should have a snake case name such as `refrect` Nov 06 16:15:05.596 INFO kablam! --> src/math3d.rs:134:1 Nov 06 16:15:05.596 INFO kablam! | Nov 06 16:15:05.596 INFO kablam! 134 | / pub fn Refrect(v:&v3f,n:&v3f)->v3f{ Nov 06 16:15:05.596 INFO kablam! 135 | | let result=VecDot3D(&v,&n)*2.0; Nov 06 16:15:05.596 INFO kablam! 136 | | let nn=VecMul3D(&n,result); Nov 06 16:15:05.596 INFO kablam! 137 | | VecSub3D(&v,&nn) Nov 06 16:15:05.596 INFO kablam! 138 | | } Nov 06 16:15:05.596 INFO kablam! | |_^ Nov 06 16:15:05.596 INFO kablam! Nov 06 16:15:05.596 INFO kablam! warning: function `GetColor` should have a snake case name such as `get_color` Nov 06 16:15:05.596 INFO kablam! --> src/math3d.rs:190:5 Nov 06 16:15:05.596 INFO kablam! | Nov 06 16:15:05.596 INFO kablam! 190 | / pub fn GetColor(mut ray:Ray,world:& World,depth:i16)->v3f{ Nov 06 16:15:05.596 INFO kablam! 191 | | Nov 06 16:15:05.596 INFO kablam! 192 | | let b:bool; Nov 06 16:15:05.596 INFO kablam! 193 | | Nov 06 16:15:05.596 INFO kablam! ... | Nov 06 16:15:05.596 INFO kablam! 243 | | Nov 06 16:15:05.596 INFO kablam! 244 | | } Nov 06 16:15:05.596 INFO kablam! | |_____^ Nov 06 16:15:05.596 INFO kablam! Nov 06 16:15:05.596 INFO kablam! warning: function `HitSphere` should have a snake case name such as `hit_sphere` Nov 06 16:15:05.596 INFO kablam! --> src/math3d.rs:246:1 Nov 06 16:15:05.596 INFO kablam! | Nov 06 16:15:05.596 INFO kablam! 246 | / pub fn HitSphere(center:v3f,radius:f32,r:Ray)->f32 { Nov 06 16:15:05.596 INFO kablam! 247 | | let oc=VecSub3D(&r.origin,¢er); Nov 06 16:15:05.596 INFO kablam! 248 | | let a=VecDot3D(&r.direction,&r.direction); Nov 06 16:15:05.596 INFO kablam! 249 | | let b=2.0*VecDot3D(&oc,&r.direction); Nov 06 16:15:05.596 INFO kablam! ... | Nov 06 16:15:05.596 INFO kablam! 258 | | Nov 06 16:15:05.596 INFO kablam! 259 | | } Nov 06 16:15:05.596 INFO kablam! | |_^ Nov 06 16:15:05.596 INFO kablam! Nov 06 16:15:05.596 INFO kablam! warning: method `Hit` should have a snake case name such as `hit` Nov 06 16:15:05.596 INFO kablam! --> src/math3d.rs:276:9 Nov 06 16:15:05.596 INFO kablam! | Nov 06 16:15:05.596 INFO kablam! 276 | / fn Hit(&self,r:Ray,t_min:f32,t_max:f32,rec:& mut HitRecord)->bool{ Nov 06 16:15:05.596 INFO kablam! 277 | | Nov 06 16:15:05.596 INFO kablam! 278 | | let mut hit_anything:bool=false; Nov 06 16:15:05.596 INFO kablam! 279 | | Nov 06 16:15:05.596 INFO kablam! ... | Nov 06 16:15:05.596 INFO kablam! 307 | | //return None; Nov 06 16:15:05.597 INFO kablam! 308 | | } Nov 06 16:15:05.597 INFO kablam! | |_________^ Nov 06 16:15:05.597 INFO kablam! Nov 06 16:15:05.597 INFO kablam! warning: method `GetRay` should have a snake case name such as `get_ray` Nov 06 16:15:05.597 INFO kablam! --> src/math3d.rs:336:5 Nov 06 16:15:05.597 INFO kablam! | Nov 06 16:15:05.597 INFO kablam! 336 | / pub fn GetRay(&self,u:f32,v:f32)->Ray{ Nov 06 16:15:05.597 INFO kablam! 337 | | let mut v1=VecMul3D(&self.horizontal,u); Nov 06 16:15:05.597 INFO kablam! 338 | | let v2=VecMul3D(&self.vertical,v); Nov 06 16:15:05.597 INFO kablam! 339 | | Nov 06 16:15:05.597 INFO kablam! ... | Nov 06 16:15:05.597 INFO kablam! 348 | | r Nov 06 16:15:05.597 INFO kablam! 349 | | } Nov 06 16:15:05.597 INFO kablam! | |_____^ Nov 06 16:15:05.597 INFO kablam! Nov 06 16:15:05.597 INFO kablam! warning: function `RandomInUnitDisk` should have a snake case name such as `random_in_unit_disk` Nov 06 16:15:05.597 INFO kablam! --> src/math3d.rs:354:1 Nov 06 16:15:05.597 INFO kablam! | Nov 06 16:15:05.597 INFO kablam! 354 | / pub fn RandomInUnitDisk()->v3f { Nov 06 16:15:05.597 INFO kablam! 355 | | Nov 06 16:15:05.597 INFO kablam! 356 | | let mut do_loop=true; Nov 06 16:15:05.597 INFO kablam! 357 | | let mut p=v3f::new(); Nov 06 16:15:05.597 INFO kablam! ... | Nov 06 16:15:05.597 INFO kablam! 375 | | Nov 06 16:15:05.597 INFO kablam! 376 | | } Nov 06 16:15:05.597 INFO kablam! | |_^ Nov 06 16:15:05.597 INFO kablam! Nov 06 16:15:05.597 INFO kablam! warning: method `GetRayOld` should have a snake case name such as `get_ray_old` Nov 06 16:15:05.597 INFO kablam! --> src/math3d.rs:436:5 Nov 06 16:15:05.597 INFO kablam! | Nov 06 16:15:05.597 INFO kablam! 436 | / pub fn GetRayOld(&self,u:f32,v:f32)->Ray{ Nov 06 16:15:05.597 INFO kablam! 437 | | let mut v1=VecMul3D(&self.horizontal,u); Nov 06 16:15:05.597 INFO kablam! 438 | | let v2=VecMul3D(&self.vertical,v); Nov 06 16:15:05.597 INFO kablam! 439 | | Nov 06 16:15:05.597 INFO kablam! ... | Nov 06 16:15:05.597 INFO kablam! 448 | | r Nov 06 16:15:05.597 INFO kablam! 449 | | } Nov 06 16:15:05.597 INFO kablam! | |_____^ Nov 06 16:15:05.597 INFO kablam! Nov 06 16:15:05.597 INFO kablam! warning: method `GetRay` should have a snake case name such as `get_ray` Nov 06 16:15:05.597 INFO kablam! --> src/math3d.rs:451:5 Nov 06 16:15:05.597 INFO kablam! | Nov 06 16:15:05.597 INFO kablam! 451 | / pub fn GetRay(&self,u:f32,v:f32)->Ray{ Nov 06 16:15:05.597 INFO kablam! 452 | | Nov 06 16:15:05.597 INFO kablam! 453 | | let rd_=RandomInUnitDisk(); Nov 06 16:15:05.597 INFO kablam! 454 | | let rd=VecMul3D(&rd_,self.lens_radius); Nov 06 16:15:05.597 INFO kablam! ... | Nov 06 16:15:05.597 INFO kablam! 475 | | r Nov 06 16:15:05.597 INFO kablam! 476 | | } Nov 06 16:15:05.597 INFO kablam! | |_____^ Nov 06 16:15:05.597 INFO kablam! Nov 06 16:15:05.597 INFO kablam! warning: function `RandomInUnitSphere` should have a snake case name such as `random_in_unit_sphere` Nov 06 16:15:05.597 INFO kablam! --> src/math3d.rs:480:1 Nov 06 16:15:05.597 INFO kablam! | Nov 06 16:15:05.597 INFO kablam! 480 | / pub fn RandomInUnitSphere()->v3f{ Nov 06 16:15:05.597 INFO kablam! 481 | | let mut p=v3f{x:0.0,y:0.0,z:0.0}; Nov 06 16:15:05.597 INFO kablam! 482 | | loop { Nov 06 16:15:05.597 INFO kablam! 483 | | let r1=thread_rng().gen_range(0.0,1.0); Nov 06 16:15:05.597 INFO kablam! ... | Nov 06 16:15:05.597 INFO kablam! 490 | | p Nov 06 16:15:05.597 INFO kablam! 491 | | } Nov 06 16:15:05.597 INFO kablam! | |_^ Nov 06 16:15:05.597 INFO kablam! Nov 06 16:15:05.597 INFO kablam! warning: trait method `Scatter` should have a snake case name such as `scatter` Nov 06 16:15:05.597 INFO kablam! --> src/math3d.rs:494:5 Nov 06 16:15:05.597 INFO kablam! | Nov 06 16:15:05.597 INFO kablam! 494 | fn Scatter(&self,r_in:&Ray,rec:&HitRecord,attenuation:&mut v3f,scattered:&mut Ray)->bool; Nov 06 16:15:05.597 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.597 INFO kablam! Nov 06 16:15:05.597 INFO kablam! warning: function `Reflect` should have a snake case name such as `reflect` Nov 06 16:15:05.597 INFO kablam! --> src/math3d.rs:573:1 Nov 06 16:15:05.604 INFO kablam! | Nov 06 16:15:05.604 INFO kablam! 573 | / pub fn Reflect(v:&v3f,n:&v3f)->v3f{ Nov 06 16:15:05.604 INFO kablam! 574 | | let dot=2.0*VecDot3D(v,n); Nov 06 16:15:05.604 INFO kablam! 575 | | let t=VecMul3D(n,dot); Nov 06 16:15:05.604 INFO kablam! 576 | | VecSub3D(v,&t) Nov 06 16:15:05.604 INFO kablam! 577 | | } Nov 06 16:15:05.604 INFO kablam! | |_^ Nov 06 16:15:05.604 INFO kablam! Nov 06 16:15:05.604 INFO kablam! warning: function `Refract` should have a snake case name such as `refract` Nov 06 16:15:05.604 INFO kablam! --> src/math3d.rs:579:1 Nov 06 16:15:05.604 INFO kablam! | Nov 06 16:15:05.604 INFO kablam! 579 | / pub fn Refract(v:&v3f,n:&v3f,ni_over_nt:f32,refracted:& mut v3f)-> bool{ Nov 06 16:15:05.604 INFO kablam! 580 | | Nov 06 16:15:05.604 INFO kablam! 581 | | let uv=VecNorm3D(v); Nov 06 16:15:05.604 INFO kablam! 582 | | Nov 06 16:15:05.604 INFO kablam! ... | Nov 06 16:15:05.604 INFO kablam! 612 | | false Nov 06 16:15:05.604 INFO kablam! 613 | | } Nov 06 16:15:05.604 INFO kablam! | |_^ Nov 06 16:15:05.604 INFO kablam! Nov 06 16:15:05.604 INFO kablam! warning: function `Schlick` should have a snake case name such as `schlick` Nov 06 16:15:05.604 INFO kablam! --> src/math3d.rs:615:1 Nov 06 16:15:05.604 INFO kablam! | Nov 06 16:15:05.604 INFO kablam! 615 | / pub fn Schlick(cosine:f32,ref_idx:f32)->f32{ Nov 06 16:15:05.604 INFO kablam! 616 | | let mut r0=(1.0-ref_idx)/(1.0+ref_idx); Nov 06 16:15:05.604 INFO kablam! 617 | | r0=r0*r0; Nov 06 16:15:05.604 INFO kablam! 618 | | return r0+ ( (1.0-r0)*( (1.0-cosine).powf(5.0) ) ); Nov 06 16:15:05.604 INFO kablam! 619 | | } Nov 06 16:15:05.604 INFO kablam! | |_^ Nov 06 16:15:05.604 INFO kablam! Nov 06 16:15:05.604 INFO kablam! warning: function `CreateRandomScene` should have a snake case name such as `create_random_scene` Nov 06 16:15:05.604 INFO kablam! --> src/main.rs:10:1 Nov 06 16:15:05.604 INFO kablam! | Nov 06 16:15:05.604 INFO kablam! 10 | / pub fn CreateRandomScene(world:& mut math3d::World){ Nov 06 16:15:05.604 INFO kablam! 11 | | let n=500; Nov 06 16:15:05.604 INFO kablam! 12 | | Nov 06 16:15:05.604 INFO kablam! 13 | | } Nov 06 16:15:05.604 INFO kablam! | |_^ Nov 06 16:15:05.604 INFO kablam! Nov 06 16:15:05.604 INFO kablam! warning: type `v3f` should have a camel case name such as `V3f` Nov 06 16:15:05.604 INFO kablam! --> src/main.rs:16:5 Nov 06 16:15:05.604 INFO kablam! | Nov 06 16:15:05.604 INFO kablam! 16 | type v3f=math3d::Vec3D; Nov 06 16:15:05.604 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.604 INFO kablam! Nov 06 16:15:05.605 INFO kablam! warning: type `v3i` should have a camel case name such as `V3i` Nov 06 16:15:05.605 INFO kablam! --> src/main.rs:17:5 Nov 06 16:15:05.605 INFO kablam! | Nov 06 16:15:05.605 INFO kablam! 17 | type v3i=math3d::Vec3D; Nov 06 16:15:05.605 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.605 INFO kablam! Nov 06 16:15:05.605 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 16:15:05.605 INFO kablam! --> src/main.rs:38:5 Nov 06 16:15:05.605 INFO kablam! | Nov 06 16:15:05.605 INFO kablam! 38 | writeln!(buffer,"P3"); Nov 06 16:15:05.605 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.605 INFO kablam! | Nov 06 16:15:05.605 INFO kablam! = note: #[warn(unused_must_use)] on by default Nov 06 16:15:05.605 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 16:15:05.605 INFO kablam! = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Nov 06 16:15:05.605 INFO kablam! Nov 06 16:15:05.605 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 16:15:05.605 INFO kablam! --> src/main.rs:39:5 Nov 06 16:15:05.605 INFO kablam! | Nov 06 16:15:05.605 INFO kablam! 39 | writeln!(buffer,"{} {}",nx,ny); Nov 06 16:15:05.605 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.605 INFO kablam! | Nov 06 16:15:05.605 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 16:15:05.605 INFO kablam! = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Nov 06 16:15:05.605 INFO kablam! Nov 06 16:15:05.605 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 16:15:05.605 INFO kablam! --> src/main.rs:40:5 Nov 06 16:15:05.605 INFO kablam! | Nov 06 16:15:05.605 INFO kablam! 40 | writeln!(buffer,"255"); Nov 06 16:15:05.605 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.605 INFO kablam! | Nov 06 16:15:05.605 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 16:15:05.605 INFO kablam! = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Nov 06 16:15:05.605 INFO kablam! Nov 06 16:15:05.605 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 16:15:05.605 INFO kablam! --> src/main.rs:149:17 Nov 06 16:15:05.605 INFO kablam! | Nov 06 16:15:05.605 INFO kablam! 149 | writeln!(buffer,"{} {} {}",iclr.x,iclr.y,iclr.z); Nov 06 16:15:05.605 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.605 INFO kablam! | Nov 06 16:15:05.605 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 16:15:05.605 INFO kablam! = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Nov 06 16:15:05.605 INFO kablam! Nov 06 16:15:05.640 INFO kablam! warning: unused variable: `b` Nov 06 16:15:05.640 INFO kablam! --> src/math3d.rs:192:13 Nov 06 16:15:05.640 INFO kablam! | Nov 06 16:15:05.640 INFO kablam! 192 | let b:bool; Nov 06 16:15:05.640 INFO kablam! | ^ help: consider using `_b` instead Nov 06 16:15:05.648 INFO kablam! | Nov 06 16:15:05.648 INFO kablam! = note: #[warn(unused_variables)] on by default Nov 06 16:15:05.648 INFO kablam! Nov 06 16:15:05.648 INFO kablam! warning: value assigned to `p` is never read Nov 06 16:15:05.648 INFO kablam! --> src/math3d.rs:481:13 Nov 06 16:15:05.648 INFO kablam! | Nov 06 16:15:05.648 INFO kablam! 481 | let mut p=v3f{x:0.0,y:0.0,z:0.0}; Nov 06 16:15:05.648 INFO kablam! | ^ Nov 06 16:15:05.648 INFO kablam! | Nov 06 16:15:05.648 INFO kablam! = note: #[warn(unused_assignments)] on by default Nov 06 16:15:05.648 INFO kablam! Nov 06 16:15:05.648 INFO kablam! warning: unused variable: `n` Nov 06 16:15:05.648 INFO kablam! --> src/main.rs:11:9 Nov 06 16:15:05.648 INFO kablam! | Nov 06 16:15:05.648 INFO kablam! 11 | let n=500; Nov 06 16:15:05.648 INFO kablam! | ^ help: consider using `_n` instead Nov 06 16:15:05.648 INFO kablam! Nov 06 16:15:05.648 INFO kablam! warning: unused variable: `world` Nov 06 16:15:05.648 INFO kablam! --> src/main.rs:10:26 Nov 06 16:15:05.648 INFO kablam! | Nov 06 16:15:05.648 INFO kablam! 10 | pub fn CreateRandomScene(world:& mut math3d::World){ Nov 06 16:15:05.648 INFO kablam! | ^^^^^ help: consider using `_world` instead Nov 06 16:15:05.648 INFO kablam! Nov 06 16:15:05.648 INFO kablam! warning: unused variable: `lower_lef_corner` Nov 06 16:15:05.648 INFO kablam! --> src/main.rs:42:9 Nov 06 16:15:05.648 INFO kablam! | Nov 06 16:15:05.648 INFO kablam! 42 | let lower_lef_corner:v3f=v3f{x:-2.0,y:-1.0,z:-1.0}; Nov 06 16:15:05.648 INFO kablam! | ^^^^^^^^^^^^^^^^ help: consider using `_lower_lef_corner` instead Nov 06 16:15:05.648 INFO kablam! Nov 06 16:15:05.648 INFO kablam! warning: unused variable: `horizontal` Nov 06 16:15:05.648 INFO kablam! --> src/main.rs:43:9 Nov 06 16:15:05.648 INFO kablam! | Nov 06 16:15:05.648 INFO kablam! 43 | let horizontal:v3f=v3f{x:4.0,y:0.0,z:0.0}; Nov 06 16:15:05.648 INFO kablam! | ^^^^^^^^^^ help: consider using `_horizontal` instead Nov 06 16:15:05.648 INFO kablam! Nov 06 16:15:05.648 INFO kablam! warning: unused variable: `vertical` Nov 06 16:15:05.648 INFO kablam! --> src/main.rs:44:9 Nov 06 16:15:05.648 INFO kablam! | Nov 06 16:15:05.648 INFO kablam! 44 | let vertical:v3f=v3f{x:0.0,y:2.0,z:0.0}; Nov 06 16:15:05.648 INFO kablam! | ^^^^^^^^ help: consider using `_vertical` instead Nov 06 16:15:05.648 INFO kablam! Nov 06 16:15:05.648 INFO kablam! warning: unused variable: `origin` Nov 06 16:15:05.649 INFO kablam! --> src/main.rs:45:9 Nov 06 16:15:05.649 INFO kablam! | Nov 06 16:15:05.649 INFO kablam! 45 | let origin:v3f=v3f{x:0.0,y:0.0,z:0.0}; Nov 06 16:15:05.649 INFO kablam! | ^^^^^^ help: consider using `_origin` instead Nov 06 16:15:05.649 INFO kablam! Nov 06 16:15:05.652 INFO kablam! warning: unused variable: `v00` Nov 06 16:15:05.652 INFO kablam! --> src/main.rs:101:9 Nov 06 16:15:05.652 INFO kablam! | Nov 06 16:15:05.652 INFO kablam! 101 | let v00=math3d::VecSub3D(&look_from,&look_at); Nov 06 16:15:05.652 INFO kablam! | ^^^ help: consider using `_v00` instead Nov 06 16:15:05.652 INFO kablam! Nov 06 16:15:05.652 INFO kablam! warning: value assigned to `r1` is never read Nov 06 16:15:05.652 INFO kablam! --> src/main.rs:122:25 Nov 06 16:15:05.652 INFO kablam! | Nov 06 16:15:05.652 INFO kablam! 122 | let mut r1:f32=0.0; Nov 06 16:15:05.652 INFO kablam! | ^^ Nov 06 16:15:05.652 INFO kablam! Nov 06 16:15:05.652 INFO kablam! warning: value assigned to `r2` is never read Nov 06 16:15:05.652 INFO kablam! --> src/main.rs:123:25 Nov 06 16:15:05.652 INFO kablam! | Nov 06 16:15:05.652 INFO kablam! 123 | let mut r2:f32=0.0; Nov 06 16:15:05.652 INFO kablam! | ^^ Nov 06 16:15:05.652 INFO kablam! Nov 06 16:15:05.652 INFO kablam! warning: unused variable: `s` Nov 06 16:15:05.652 INFO kablam! --> src/main.rs:126:21 Nov 06 16:15:05.652 INFO kablam! | Nov 06 16:15:05.652 INFO kablam! 126 | for s in 0..ns{ Nov 06 16:15:05.652 INFO kablam! | ^ help: consider using `_s` instead Nov 06 16:15:05.652 INFO kablam! Nov 06 16:15:05.652 INFO kablam! warning: unused variable: `hit` Nov 06 16:15:05.652 INFO kablam! --> src/math3d.rs:283:21 Nov 06 16:15:05.652 INFO kablam! | Nov 06 16:15:05.652 INFO kablam! 283 | let mut hit:bool=false; Nov 06 16:15:05.652 INFO kablam! | ^^^ help: consider using `_hit` instead Nov 06 16:15:05.652 INFO kablam! Nov 06 16:15:05.652 INFO kablam! warning: unused variable: `r_in` Nov 06 16:15:05.652 INFO kablam! --> src/math3d.rs:513:25 Nov 06 16:15:05.652 INFO kablam! | Nov 06 16:15:05.652 INFO kablam! 513 | fn Scatter(&self,r_in:&Ray,rec:&HitRecord,attenuation:&mut v3f,scattered:&mut Ray)->bool{ Nov 06 16:15:05.652 INFO kablam! | ^^^^ help: consider using `_r_in` instead Nov 06 16:15:05.652 INFO kablam! Nov 06 16:15:05.652 INFO kablam! warning: value assigned to `ni_over_nt` is never read Nov 06 16:15:05.652 INFO kablam! --> src/math3d.rs:640:21 Nov 06 16:15:05.652 INFO kablam! | Nov 06 16:15:05.653 INFO kablam! 640 | let mut ni_over_nt:f32=0.0; Nov 06 16:15:05.653 INFO kablam! | ^^^^^^^^^^ Nov 06 16:15:05.653 INFO kablam! Nov 06 16:15:05.653 INFO kablam! warning: value assigned to `cosine` is never read Nov 06 16:15:05.653 INFO kablam! --> src/math3d.rs:647:21 Nov 06 16:15:05.653 INFO kablam! | Nov 06 16:15:05.653 INFO kablam! 647 | let mut cosine:f32=0.0; Nov 06 16:15:05.653 INFO kablam! | ^^^^^^ Nov 06 16:15:05.653 INFO kablam! Nov 06 16:15:05.653 INFO kablam! warning: value assigned to `reflect_prob` is never read Nov 06 16:15:05.653 INFO kablam! --> src/math3d.rs:648:21 Nov 06 16:15:05.653 INFO kablam! | Nov 06 16:15:05.653 INFO kablam! 648 | let mut reflect_prob:f32=0.0; Nov 06 16:15:05.653 INFO kablam! | ^^^^^^^^^^^^ Nov 06 16:15:05.653 INFO kablam! Nov 06 16:15:05.672 INFO kablam! warning: variable does not need to be mutable Nov 06 16:15:05.672 INFO kablam! --> src/math3d.rs:54:13 Nov 06 16:15:05.672 INFO kablam! | Nov 06 16:15:05.672 INFO kablam! 54 | let mut value:f32=self.x*self.x+self.y*self.y+self.z*self.z; Nov 06 16:15:05.672 INFO kablam! | ----^^^^^ Nov 06 16:15:05.672 INFO kablam! | | Nov 06 16:15:05.672 INFO kablam! | help: remove this `mut` Nov 06 16:15:05.672 INFO kablam! | Nov 06 16:15:05.672 INFO kablam! = note: #[warn(unused_mut)] on by default Nov 06 16:15:05.672 INFO kablam! Nov 06 16:15:05.676 INFO kablam! warning: variable does not need to be mutable Nov 06 16:15:05.676 INFO kablam! --> src/math3d.rs:59:13 Nov 06 16:15:05.676 INFO kablam! | Nov 06 16:15:05.676 INFO kablam! 59 | let mut value:f32=self.x*self.x+self.y*self.y+self.z*self.z; Nov 06 16:15:05.676 INFO kablam! | ----^^^^^ Nov 06 16:15:05.676 INFO kablam! | | Nov 06 16:15:05.676 INFO kablam! | help: remove this `mut` Nov 06 16:15:05.676 INFO kablam! Nov 06 16:15:05.692 INFO kablam! warning: variable does not need to be mutable Nov 06 16:15:05.692 INFO kablam! --> src/math3d.rs:190:21 Nov 06 16:15:05.692 INFO kablam! | Nov 06 16:15:05.692 INFO kablam! 190 | pub fn GetColor(mut ray:Ray,world:& World,depth:i16)->v3f{ Nov 06 16:15:05.692 INFO kablam! | ----^^^ Nov 06 16:15:05.692 INFO kablam! | | Nov 06 16:15:05.692 INFO kablam! | help: remove this `mut` Nov 06 16:15:05.692 INFO kablam! Nov 06 16:15:05.692 INFO kablam! warning: variable does not need to be mutable Nov 06 16:15:05.692 INFO kablam! --> src/math3d.rs:226:17 Nov 06 16:15:05.692 INFO kablam! | Nov 06 16:15:05.692 INFO kablam! 226 | let mut unit_direction=VecNorm3D(&ray.direction); Nov 06 16:15:05.692 INFO kablam! | ----^^^^^^^^^^^^^^ Nov 06 16:15:05.692 INFO kablam! | | Nov 06 16:15:05.692 INFO kablam! | help: remove this `mut` Nov 06 16:15:05.692 INFO kablam! Nov 06 16:15:05.692 INFO kablam! warning: variable does not need to be mutable Nov 06 16:15:05.692 INFO kablam! --> src/math3d.rs:283:17 Nov 06 16:15:05.692 INFO kablam! | Nov 06 16:15:05.692 INFO kablam! 283 | let mut hit:bool=false; Nov 06 16:15:05.692 INFO kablam! | ----^^^ Nov 06 16:15:05.692 INFO kablam! | | Nov 06 16:15:05.692 INFO kablam! | help: remove this `mut` Nov 06 16:15:05.692 INFO kablam! Nov 06 16:15:05.704 INFO kablam! warning: type alias is never used: `v3i` Nov 06 16:15:05.704 INFO kablam! --> src/math3d.rs:17:1 Nov 06 16:15:05.704 INFO kablam! | Nov 06 16:15:05.704 INFO kablam! 17 | type v3i=Vec3D; Nov 06 16:15:05.704 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.704 INFO kablam! | Nov 06 16:15:05.704 INFO kablam! = note: #[warn(dead_code)] on by default Nov 06 16:15:05.704 INFO kablam! Nov 06 16:15:05.704 INFO kablam! warning: function is never used: `Refrect` Nov 06 16:15:05.704 INFO kablam! --> src/math3d.rs:134:1 Nov 06 16:15:05.704 INFO kablam! | Nov 06 16:15:05.704 INFO kablam! 134 | pub fn Refrect(v:&v3f,n:&v3f)->v3f{ Nov 06 16:15:05.704 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.704 INFO kablam! Nov 06 16:15:05.704 INFO kablam! warning: function is never used: `HitSphere` Nov 06 16:15:05.704 INFO kablam! --> src/math3d.rs:246:1 Nov 06 16:15:05.704 INFO kablam! | Nov 06 16:15:05.704 INFO kablam! 246 | pub fn HitSphere(center:v3f,radius:f32,r:Ray)->f32 { Nov 06 16:15:05.704 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.704 INFO kablam! Nov 06 16:15:05.704 INFO kablam! warning: method is never used: `new` Nov 06 16:15:05.704 INFO kablam! --> src/math3d.rs:322:5 Nov 06 16:15:05.704 INFO kablam! | Nov 06 16:15:05.704 INFO kablam! 322 | pub fn new()->Self{ Nov 06 16:15:05.704 INFO kablam! | ^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.704 INFO kablam! Nov 06 16:15:05.704 INFO kablam! warning: method is never used: `GetRay` Nov 06 16:15:05.704 INFO kablam! --> src/math3d.rs:336:5 Nov 06 16:15:05.704 INFO kablam! | Nov 06 16:15:05.704 INFO kablam! 336 | pub fn GetRay(&self,u:f32,v:f32)->Ray{ Nov 06 16:15:05.704 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.704 INFO kablam! Nov 06 16:15:05.704 INFO kablam! warning: method is never used: `GetRayOld` Nov 06 16:15:05.704 INFO kablam! --> src/math3d.rs:436:5 Nov 06 16:15:05.704 INFO kablam! | Nov 06 16:15:05.704 INFO kablam! 436 | pub fn GetRayOld(&self,u:f32,v:f32)->Ray{ Nov 06 16:15:05.704 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.704 INFO kablam! Nov 06 16:15:05.704 INFO kablam! warning: method is never used: `new` Nov 06 16:15:05.704 INFO kablam! --> src/math3d.rs:502:5 Nov 06 16:15:05.704 INFO kablam! | Nov 06 16:15:05.705 INFO kablam! 502 | pub fn new(a:v3f)->Self{ Nov 06 16:15:05.705 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.705 INFO kablam! Nov 06 16:15:05.705 INFO kablam! warning: method is never used: `new` Nov 06 16:15:05.705 INFO kablam! --> src/math3d.rs:539:5 Nov 06 16:15:05.705 INFO kablam! | Nov 06 16:15:05.705 INFO kablam! 539 | pub fn new(a:v3f,f:f32)->Self{ Nov 06 16:15:05.705 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.705 INFO kablam! Nov 06 16:15:05.705 INFO kablam! warning: method is never used: `new` Nov 06 16:15:05.705 INFO kablam! --> src/math3d.rs:627:5 Nov 06 16:15:05.705 INFO kablam! | Nov 06 16:15:05.705 INFO kablam! 627 | pub fn new(ri:f32)->Self{ Nov 06 16:15:05.705 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.705 INFO kablam! Nov 06 16:15:05.705 INFO kablam! warning: type `v3f` should have a camel case name such as `V3f` Nov 06 16:15:05.705 INFO kablam! --> src/math3d.rs:16:1 Nov 06 16:15:05.705 INFO kablam! | Nov 06 16:15:05.705 INFO kablam! 16 | type v3f=Vec3D; Nov 06 16:15:05.705 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.705 INFO kablam! | Nov 06 16:15:05.705 INFO kablam! = note: #[warn(non_camel_case_types)] on by default Nov 06 16:15:05.705 INFO kablam! Nov 06 16:15:05.705 INFO kablam! warning: type `v3i` should have a camel case name such as `V3i` Nov 06 16:15:05.705 INFO kablam! --> src/math3d.rs:17:1 Nov 06 16:15:05.705 INFO kablam! | Nov 06 16:15:05.705 INFO kablam! 17 | type v3i=Vec3D; Nov 06 16:15:05.705 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.705 INFO kablam! Nov 06 16:15:05.705 INFO kablam! warning: trait method `Hit` should have a snake case name such as `hit` Nov 06 16:15:05.705 INFO kablam! --> src/math3d.rs:40:5 Nov 06 16:15:05.705 INFO kablam! | Nov 06 16:15:05.705 INFO kablam! 40 | fn Hit(&self,r:Ray,t_min:f32,t_max:f32,rec:& mut HitRecord)->bool; Nov 06 16:15:05.705 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.705 INFO kablam! | Nov 06 16:15:05.705 INFO kablam! = note: #[warn(non_snake_case)] on by default Nov 06 16:15:05.705 INFO kablam! Nov 06 16:15:05.705 INFO kablam! warning: trait method `GetMaterial` should have a snake case name such as `get_material` Nov 06 16:15:05.705 INFO kablam! --> src/math3d.rs:41:5 Nov 06 16:15:05.705 INFO kablam! | Nov 06 16:15:05.705 INFO kablam! 41 | fn GetMaterial(&self)->& Box; Nov 06 16:15:05.705 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.705 INFO kablam! Nov 06 16:15:05.705 INFO kablam! warning: method `Length` should have a snake case name such as `length` Nov 06 16:15:05.705 INFO kablam! --> src/math3d.rs:53:5 Nov 06 16:15:05.705 INFO kablam! | Nov 06 16:15:05.705 INFO kablam! 53 | / pub fn Length(&self)-> f32{ Nov 06 16:15:05.705 INFO kablam! 54 | | let mut value:f32=self.x*self.x+self.y*self.y+self.z*self.z; Nov 06 16:15:05.705 INFO kablam! 55 | | value.sqrt() Nov 06 16:15:05.705 INFO kablam! 56 | | } Nov 06 16:15:05.705 INFO kablam! | |_____^ Nov 06 16:15:05.705 INFO kablam! Nov 06 16:15:05.705 INFO kablam! warning: method `SquaredLength` should have a snake case name such as `squared_length` Nov 06 16:15:05.705 INFO kablam! --> src/math3d.rs:58:5 Nov 06 16:15:05.705 INFO kablam! | Nov 06 16:15:05.705 INFO kablam! 58 | / pub fn SquaredLength(&self)-> f32{ Nov 06 16:15:05.705 INFO kablam! 59 | | let mut value:f32=self.x*self.x+self.y*self.y+self.z*self.z; Nov 06 16:15:05.705 INFO kablam! 60 | | value Nov 06 16:15:05.705 INFO kablam! 61 | | } Nov 06 16:15:05.705 INFO kablam! | |_____^ Nov 06 16:15:05.705 INFO kablam! Nov 06 16:15:05.705 INFO kablam! warning: method `ToI32` should have a snake case name such as `to_i32` Nov 06 16:15:05.705 INFO kablam! --> src/math3d.rs:63:5 Nov 06 16:15:05.705 INFO kablam! | Nov 06 16:15:05.705 INFO kablam! 63 | / pub fn ToI32(&self)->Vec3D{ Nov 06 16:15:05.705 INFO kablam! 64 | | Vec3D{x:self.x as i32,y:self.y as i32,z:self.z as i32} Nov 06 16:15:05.705 INFO kablam! 65 | | } Nov 06 16:15:05.705 INFO kablam! | |_____^ Nov 06 16:15:05.705 INFO kablam! Nov 06 16:15:05.708 INFO kablam! warning: method `PointAtParameter` should have a snake case name such as `point_at_parameter` Nov 06 16:15:05.708 INFO kablam! --> src/math3d.rs:82:5 Nov 06 16:15:05.708 INFO kablam! | Nov 06 16:15:05.708 INFO kablam! 82 | / pub fn PointAtParameter(&self,t:f32) -> v3f{ Nov 06 16:15:05.708 INFO kablam! 83 | | let v=VecMul3D(&self.direction,t); Nov 06 16:15:05.708 INFO kablam! 84 | | let r=VecAdd3D(&self.origin,&v); Nov 06 16:15:05.708 INFO kablam! 85 | | r Nov 06 16:15:05.708 INFO kablam! 86 | | } Nov 06 16:15:05.708 INFO kablam! | |_____^ Nov 06 16:15:05.708 INFO kablam! Nov 06 16:15:05.708 INFO kablam! warning: function `VecDot3D` should have a snake case name such as `vec_dot3_d` Nov 06 16:15:05.708 INFO kablam! --> src/math3d.rs:90:1 Nov 06 16:15:05.708 INFO kablam! | Nov 06 16:15:05.708 INFO kablam! 90 | / pub fn VecDot3D(v1:&Vec3D,v2:&Vec3D)-> f32{ Nov 06 16:15:05.708 INFO kablam! 91 | | (v1.x*v2.x+v1.y*v2.y+v1.z*v2.z) Nov 06 16:15:05.708 INFO kablam! 92 | | } Nov 06 16:15:05.708 INFO kablam! | |_^ Nov 06 16:15:05.708 INFO kablam! Nov 06 16:15:05.708 INFO kablam! warning: function `VecCross3D` should have a snake case name such as `vec_cross3_d` Nov 06 16:15:05.708 INFO kablam! --> src/math3d.rs:94:1 Nov 06 16:15:05.708 INFO kablam! | Nov 06 16:15:05.708 INFO kablam! 94 | / pub fn VecCross3D(v1:&Vec3D,v2:&Vec3D)-> Vec3D{ Nov 06 16:15:05.708 INFO kablam! 95 | | let x=v1.y*v2.z-v1.z*v2.y; Nov 06 16:15:05.708 INFO kablam! 96 | | let y=-(v1.x*v2.z)-v1.z*v2.x; Nov 06 16:15:05.708 INFO kablam! 97 | | let z=v1.x*v2.y-v1.y*v2.x; Nov 06 16:15:05.708 INFO kablam! 98 | | Nov 06 16:15:05.708 INFO kablam! 99 | | Vec3D{x:x,y:y,z:z} Nov 06 16:15:05.708 INFO kablam! 100 | | } Nov 06 16:15:05.708 INFO kablam! | |_^ Nov 06 16:15:05.708 INFO kablam! Nov 06 16:15:05.708 INFO kablam! warning: function `VecAdd3D` should have a snake case name such as `vec_add3_d` Nov 06 16:15:05.708 INFO kablam! --> src/math3d.rs:102:1 Nov 06 16:15:05.708 INFO kablam! | Nov 06 16:15:05.708 INFO kablam! 102 | / pub fn VecAdd3D(v1:&Vec3D,v2:&Vec3D)-> Vec3D{ Nov 06 16:15:05.708 INFO kablam! 103 | | Vec3D{x:v1.x+v2.x,y:v1.y+v2.y,z:v1.z+v2.z} Nov 06 16:15:05.708 INFO kablam! 104 | | } Nov 06 16:15:05.708 INFO kablam! | |_^ Nov 06 16:15:05.708 INFO kablam! Nov 06 16:15:05.708 INFO kablam! warning: function `VecSub3D` should have a snake case name such as `vec_sub3_d` Nov 06 16:15:05.708 INFO kablam! --> src/math3d.rs:106:1 Nov 06 16:15:05.708 INFO kablam! | Nov 06 16:15:05.708 INFO kablam! 106 | / pub fn VecSub3D(v1:&Vec3D,v2:&Vec3D)-> Vec3D{ Nov 06 16:15:05.708 INFO kablam! 107 | | Vec3D{x:v1.x-v2.x,y:v1.y-v2.y,z:v1.z-v2.z} Nov 06 16:15:05.709 INFO kablam! 108 | | } Nov 06 16:15:05.709 INFO kablam! | |_^ Nov 06 16:15:05.709 INFO kablam! Nov 06 16:15:05.709 INFO kablam! warning: function `VecMul3D` should have a snake case name such as `vec_mul3_d` Nov 06 16:15:05.709 INFO kablam! --> src/math3d.rs:110:1 Nov 06 16:15:05.709 INFO kablam! | Nov 06 16:15:05.709 INFO kablam! 110 | / pub fn VecMul3D(v:&Vec3D,f:f32)->Vec3D{ Nov 06 16:15:05.709 INFO kablam! 111 | | Vec3D{x:v.x*f,y:v.y*f,z:v.z*f} Nov 06 16:15:05.709 INFO kablam! 112 | | } Nov 06 16:15:05.709 INFO kablam! | |_^ Nov 06 16:15:05.709 INFO kablam! Nov 06 16:15:05.709 INFO kablam! warning: function `VecMulVec3D` should have a snake case name such as `vec_mul_vec3_d` Nov 06 16:15:05.709 INFO kablam! --> src/math3d.rs:114:1 Nov 06 16:15:05.709 INFO kablam! | Nov 06 16:15:05.709 INFO kablam! 114 | / pub fn VecMulVec3D(v1:&Vec3D,v2:&Vec3D)->Vec3D{ Nov 06 16:15:05.709 INFO kablam! 115 | | Vec3D{x:v1.x*v2.x,y:v1.y*v2.y,z:v1.z*v2.z} Nov 06 16:15:05.709 INFO kablam! 116 | | } Nov 06 16:15:05.709 INFO kablam! | |_^ Nov 06 16:15:05.709 INFO kablam! Nov 06 16:15:05.709 INFO kablam! warning: function `VecDiv3D` should have a snake case name such as `vec_div3_d` Nov 06 16:15:05.709 INFO kablam! --> src/math3d.rs:118:1 Nov 06 16:15:05.709 INFO kablam! | Nov 06 16:15:05.709 INFO kablam! 118 | / pub fn VecDiv3D(v:&v3f,f:f32)->v3f{ Nov 06 16:15:05.709 INFO kablam! 119 | | Nov 06 16:15:05.709 INFO kablam! 120 | | //this sucks I'll use an epsilon next time I promise Nov 06 16:15:05.709 INFO kablam! 121 | | if f!=0.0 { Nov 06 16:15:05.709 INFO kablam! ... | Nov 06 16:15:05.709 INFO kablam! 126 | | } Nov 06 16:15:05.709 INFO kablam! 127 | | } Nov 06 16:15:05.709 INFO kablam! | |_^ Nov 06 16:15:05.709 INFO kablam! Nov 06 16:15:05.709 INFO kablam! warning: function `VecNorm3D` should have a snake case name such as `vec_norm3_d` Nov 06 16:15:05.709 INFO kablam! --> src/math3d.rs:129:1 Nov 06 16:15:05.709 INFO kablam! | Nov 06 16:15:05.709 INFO kablam! 129 | / pub fn VecNorm3D(v:&v3f)->v3f{ Nov 06 16:15:05.709 INFO kablam! 130 | | let length=v.Length(); Nov 06 16:15:05.709 INFO kablam! 131 | | VecDiv3D(v,length) Nov 06 16:15:05.709 INFO kablam! 132 | | } Nov 06 16:15:05.709 INFO kablam! | |_^ Nov 06 16:15:05.709 INFO kablam! Nov 06 16:15:05.709 INFO kablam! warning: function `Refrect` should have a snake case name such as `refrect` Nov 06 16:15:05.709 INFO kablam! --> src/math3d.rs:134:1 Nov 06 16:15:05.709 INFO kablam! | Nov 06 16:15:05.709 INFO kablam! 134 | / pub fn Refrect(v:&v3f,n:&v3f)->v3f{ Nov 06 16:15:05.709 INFO kablam! 135 | | let result=VecDot3D(&v,&n)*2.0; Nov 06 16:15:05.709 INFO kablam! 136 | | let nn=VecMul3D(&n,result); Nov 06 16:15:05.709 INFO kablam! 137 | | VecSub3D(&v,&nn) Nov 06 16:15:05.709 INFO kablam! 138 | | } Nov 06 16:15:05.709 INFO kablam! | |_^ Nov 06 16:15:05.709 INFO kablam! Nov 06 16:15:05.709 INFO kablam! warning: function `GetColor` should have a snake case name such as `get_color` Nov 06 16:15:05.709 INFO kablam! --> src/math3d.rs:190:5 Nov 06 16:15:05.709 INFO kablam! | Nov 06 16:15:05.709 INFO kablam! 190 | / pub fn GetColor(mut ray:Ray,world:& World,depth:i16)->v3f{ Nov 06 16:15:05.709 INFO kablam! 191 | | Nov 06 16:15:05.709 INFO kablam! 192 | | let b:bool; Nov 06 16:15:05.709 INFO kablam! 193 | | Nov 06 16:15:05.709 INFO kablam! ... | Nov 06 16:15:05.709 INFO kablam! 243 | | Nov 06 16:15:05.709 INFO kablam! 244 | | } Nov 06 16:15:05.709 INFO kablam! | |_____^ Nov 06 16:15:05.709 INFO kablam! Nov 06 16:15:05.709 INFO kablam! warning: function `HitSphere` should have a snake case name such as `hit_sphere` Nov 06 16:15:05.709 INFO kablam! --> src/math3d.rs:246:1 Nov 06 16:15:05.709 INFO kablam! | Nov 06 16:15:05.709 INFO kablam! 246 | / pub fn HitSphere(center:v3f,radius:f32,r:Ray)->f32 { Nov 06 16:15:05.709 INFO kablam! 247 | | let oc=VecSub3D(&r.origin,¢er); Nov 06 16:15:05.709 INFO kablam! 248 | | let a=VecDot3D(&r.direction,&r.direction); Nov 06 16:15:05.709 INFO kablam! 249 | | let b=2.0*VecDot3D(&oc,&r.direction); Nov 06 16:15:05.709 INFO kablam! ... | Nov 06 16:15:05.709 INFO kablam! 258 | | Nov 06 16:15:05.709 INFO kablam! 259 | | } Nov 06 16:15:05.709 INFO kablam! | |_^ Nov 06 16:15:05.709 INFO kablam! Nov 06 16:15:05.709 INFO kablam! warning: method `Hit` should have a snake case name such as `hit` Nov 06 16:15:05.709 INFO kablam! --> src/math3d.rs:276:9 Nov 06 16:15:05.709 INFO kablam! | Nov 06 16:15:05.709 INFO kablam! 276 | / fn Hit(&self,r:Ray,t_min:f32,t_max:f32,rec:& mut HitRecord)->bool{ Nov 06 16:15:05.709 INFO kablam! 277 | | Nov 06 16:15:05.709 INFO kablam! 278 | | let mut hit_anything:bool=false; Nov 06 16:15:05.710 INFO kablam! 279 | | Nov 06 16:15:05.710 INFO kablam! ... | Nov 06 16:15:05.710 INFO kablam! 307 | | //return None; Nov 06 16:15:05.710 INFO kablam! 308 | | } Nov 06 16:15:05.710 INFO kablam! | |_________^ Nov 06 16:15:05.710 INFO kablam! Nov 06 16:15:05.716 INFO kablam! warning: method `GetRay` should have a snake case name such as `get_ray` Nov 06 16:15:05.716 INFO kablam! --> src/math3d.rs:336:5 Nov 06 16:15:05.716 INFO kablam! | Nov 06 16:15:05.716 INFO kablam! 336 | / pub fn GetRay(&self,u:f32,v:f32)->Ray{ Nov 06 16:15:05.716 INFO kablam! 337 | | let mut v1=VecMul3D(&self.horizontal,u); Nov 06 16:15:05.716 INFO kablam! 338 | | let v2=VecMul3D(&self.vertical,v); Nov 06 16:15:05.716 INFO kablam! 339 | | Nov 06 16:15:05.716 INFO kablam! ... | Nov 06 16:15:05.716 INFO kablam! 348 | | r Nov 06 16:15:05.716 INFO kablam! 349 | | } Nov 06 16:15:05.716 INFO kablam! | |_____^ Nov 06 16:15:05.716 INFO kablam! Nov 06 16:15:05.716 INFO kablam! warning: function `RandomInUnitDisk` should have a snake case name such as `random_in_unit_disk` Nov 06 16:15:05.716 INFO kablam! --> src/math3d.rs:354:1 Nov 06 16:15:05.716 INFO kablam! | Nov 06 16:15:05.716 INFO kablam! 354 | / pub fn RandomInUnitDisk()->v3f { Nov 06 16:15:05.716 INFO kablam! 355 | | Nov 06 16:15:05.716 INFO kablam! 356 | | let mut do_loop=true; Nov 06 16:15:05.716 INFO kablam! 357 | | let mut p=v3f::new(); Nov 06 16:15:05.716 INFO kablam! ... | Nov 06 16:15:05.716 INFO kablam! 375 | | Nov 06 16:15:05.716 INFO kablam! 376 | | } Nov 06 16:15:05.716 INFO kablam! | |_^ Nov 06 16:15:05.716 INFO kablam! Nov 06 16:15:05.716 INFO kablam! warning: method `GetRayOld` should have a snake case name such as `get_ray_old` Nov 06 16:15:05.716 INFO kablam! --> src/math3d.rs:436:5 Nov 06 16:15:05.716 INFO kablam! | Nov 06 16:15:05.716 INFO kablam! 436 | / pub fn GetRayOld(&self,u:f32,v:f32)->Ray{ Nov 06 16:15:05.716 INFO kablam! 437 | | let mut v1=VecMul3D(&self.horizontal,u); Nov 06 16:15:05.716 INFO kablam! 438 | | let v2=VecMul3D(&self.vertical,v); Nov 06 16:15:05.716 INFO kablam! 439 | | Nov 06 16:15:05.716 INFO kablam! ... | Nov 06 16:15:05.716 INFO kablam! 448 | | r Nov 06 16:15:05.716 INFO kablam! 449 | | } Nov 06 16:15:05.716 INFO kablam! | |_____^ Nov 06 16:15:05.716 INFO kablam! Nov 06 16:15:05.716 INFO kablam! warning: method `GetRay` should have a snake case name such as `get_ray` Nov 06 16:15:05.716 INFO kablam! --> src/math3d.rs:451:5 Nov 06 16:15:05.716 INFO kablam! | Nov 06 16:15:05.716 INFO kablam! 451 | / pub fn GetRay(&self,u:f32,v:f32)->Ray{ Nov 06 16:15:05.716 INFO kablam! 452 | | Nov 06 16:15:05.716 INFO kablam! 453 | | let rd_=RandomInUnitDisk(); Nov 06 16:15:05.716 INFO kablam! 454 | | let rd=VecMul3D(&rd_,self.lens_radius); Nov 06 16:15:05.716 INFO kablam! ... | Nov 06 16:15:05.716 INFO kablam! 475 | | r Nov 06 16:15:05.717 INFO kablam! 476 | | } Nov 06 16:15:05.717 INFO kablam! | |_____^ Nov 06 16:15:05.717 INFO kablam! Nov 06 16:15:05.717 INFO kablam! warning: function `RandomInUnitSphere` should have a snake case name such as `random_in_unit_sphere` Nov 06 16:15:05.717 INFO kablam! --> src/math3d.rs:480:1 Nov 06 16:15:05.717 INFO kablam! | Nov 06 16:15:05.717 INFO kablam! 480 | / pub fn RandomInUnitSphere()->v3f{ Nov 06 16:15:05.717 INFO kablam! 481 | | let mut p=v3f{x:0.0,y:0.0,z:0.0}; Nov 06 16:15:05.717 INFO kablam! 482 | | loop { Nov 06 16:15:05.717 INFO kablam! 483 | | let r1=thread_rng().gen_range(0.0,1.0); Nov 06 16:15:05.717 INFO kablam! ... | Nov 06 16:15:05.717 INFO kablam! 490 | | p Nov 06 16:15:05.717 INFO kablam! 491 | | } Nov 06 16:15:05.717 INFO kablam! | |_^ Nov 06 16:15:05.717 INFO kablam! Nov 06 16:15:05.717 INFO kablam! warning: trait method `Scatter` should have a snake case name such as `scatter` Nov 06 16:15:05.717 INFO kablam! --> src/math3d.rs:494:5 Nov 06 16:15:05.717 INFO kablam! | Nov 06 16:15:05.717 INFO kablam! 494 | fn Scatter(&self,r_in:&Ray,rec:&HitRecord,attenuation:&mut v3f,scattered:&mut Ray)->bool; Nov 06 16:15:05.717 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.717 INFO kablam! Nov 06 16:15:05.717 INFO kablam! warning: function `Reflect` should have a snake case name such as `reflect` Nov 06 16:15:05.717 INFO kablam! --> src/math3d.rs:573:1 Nov 06 16:15:05.717 INFO kablam! | Nov 06 16:15:05.717 INFO kablam! 573 | / pub fn Reflect(v:&v3f,n:&v3f)->v3f{ Nov 06 16:15:05.717 INFO kablam! 574 | | let dot=2.0*VecDot3D(v,n); Nov 06 16:15:05.717 INFO kablam! 575 | | let t=VecMul3D(n,dot); Nov 06 16:15:05.717 INFO kablam! 576 | | VecSub3D(v,&t) Nov 06 16:15:05.717 INFO kablam! 577 | | } Nov 06 16:15:05.717 INFO kablam! | |_^ Nov 06 16:15:05.717 INFO kablam! Nov 06 16:15:05.717 INFO kablam! warning: function `Refract` should have a snake case name such as `refract` Nov 06 16:15:05.717 INFO kablam! --> src/math3d.rs:579:1 Nov 06 16:15:05.717 INFO kablam! | Nov 06 16:15:05.717 INFO kablam! 579 | / pub fn Refract(v:&v3f,n:&v3f,ni_over_nt:f32,refracted:& mut v3f)-> bool{ Nov 06 16:15:05.717 INFO kablam! 580 | | Nov 06 16:15:05.717 INFO kablam! 581 | | let uv=VecNorm3D(v); Nov 06 16:15:05.717 INFO kablam! 582 | | Nov 06 16:15:05.717 INFO kablam! ... | Nov 06 16:15:05.717 INFO kablam! 612 | | false Nov 06 16:15:05.717 INFO kablam! 613 | | } Nov 06 16:15:05.717 INFO kablam! | |_^ Nov 06 16:15:05.717 INFO kablam! Nov 06 16:15:05.717 INFO kablam! warning: function `Schlick` should have a snake case name such as `schlick` Nov 06 16:15:05.717 INFO kablam! --> src/math3d.rs:615:1 Nov 06 16:15:05.717 INFO kablam! | Nov 06 16:15:05.717 INFO kablam! 615 | / pub fn Schlick(cosine:f32,ref_idx:f32)->f32{ Nov 06 16:15:05.717 INFO kablam! 616 | | let mut r0=(1.0-ref_idx)/(1.0+ref_idx); Nov 06 16:15:05.717 INFO kablam! 617 | | r0=r0*r0; Nov 06 16:15:05.717 INFO kablam! 618 | | return r0+ ( (1.0-r0)*( (1.0-cosine).powf(5.0) ) ); Nov 06 16:15:05.717 INFO kablam! 619 | | } Nov 06 16:15:05.717 INFO kablam! | |_^ Nov 06 16:15:05.717 INFO kablam! Nov 06 16:15:05.717 INFO kablam! warning: function `CreateRandomScene` should have a snake case name such as `create_random_scene` Nov 06 16:15:05.717 INFO kablam! --> src/main.rs:10:1 Nov 06 16:15:05.717 INFO kablam! | Nov 06 16:15:05.717 INFO kablam! 10 | / pub fn CreateRandomScene(world:& mut math3d::World){ Nov 06 16:15:05.717 INFO kablam! 11 | | let n=500; Nov 06 16:15:05.717 INFO kablam! 12 | | Nov 06 16:15:05.717 INFO kablam! 13 | | } Nov 06 16:15:05.717 INFO kablam! | |_^ Nov 06 16:15:05.717 INFO kablam! Nov 06 16:15:05.717 INFO kablam! warning: type `v3f` should have a camel case name such as `V3f` Nov 06 16:15:05.717 INFO kablam! --> src/main.rs:16:5 Nov 06 16:15:05.717 INFO kablam! | Nov 06 16:15:05.717 INFO kablam! 16 | type v3f=math3d::Vec3D; Nov 06 16:15:05.717 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.717 INFO kablam! Nov 06 16:15:05.717 INFO kablam! warning: type `v3i` should have a camel case name such as `V3i` Nov 06 16:15:05.717 INFO kablam! --> src/main.rs:17:5 Nov 06 16:15:05.717 INFO kablam! | Nov 06 16:15:05.717 INFO kablam! 17 | type v3i=math3d::Vec3D; Nov 06 16:15:05.717 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.717 INFO kablam! Nov 06 16:15:05.717 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 16:15:05.717 INFO kablam! --> src/main.rs:38:5 Nov 06 16:15:05.717 INFO kablam! | Nov 06 16:15:05.717 INFO kablam! 38 | writeln!(buffer,"P3"); Nov 06 16:15:05.717 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.718 INFO kablam! | Nov 06 16:15:05.718 INFO kablam! = note: #[warn(unused_must_use)] on by default Nov 06 16:15:05.718 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 16:15:05.718 INFO kablam! = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Nov 06 16:15:05.718 INFO kablam! Nov 06 16:15:05.718 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 16:15:05.718 INFO kablam! --> src/main.rs:39:5 Nov 06 16:15:05.718 INFO kablam! | Nov 06 16:15:05.718 INFO kablam! 39 | writeln!(buffer,"{} {}",nx,ny); Nov 06 16:15:05.718 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.718 INFO kablam! | Nov 06 16:15:05.718 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 16:15:05.718 INFO kablam! = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Nov 06 16:15:05.718 INFO kablam! Nov 06 16:15:05.718 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 16:15:05.718 INFO kablam! --> src/main.rs:40:5 Nov 06 16:15:05.718 INFO kablam! | Nov 06 16:15:05.718 INFO kablam! 40 | writeln!(buffer,"255"); Nov 06 16:15:05.718 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.718 INFO kablam! | Nov 06 16:15:05.718 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 16:15:05.718 INFO kablam! = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Nov 06 16:15:05.718 INFO kablam! Nov 06 16:15:05.724 INFO kablam! warning: unused `std::result::Result` that must be used Nov 06 16:15:05.724 INFO kablam! --> src/main.rs:149:17 Nov 06 16:15:05.724 INFO kablam! | Nov 06 16:15:05.724 INFO kablam! 149 | writeln!(buffer,"{} {} {}",iclr.x,iclr.y,iclr.z); Nov 06 16:15:05.724 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 06 16:15:05.724 INFO kablam! | Nov 06 16:15:05.724 INFO kablam! = note: this `Result` may be an `Err` variant, which should be handled Nov 06 16:15:05.724 INFO kablam! = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Nov 06 16:15:05.724 INFO kablam! Nov 06 16:15:05.748 INFO kablam! Finished dev [unoptimized + debuginfo] target(s) in 1.11s Nov 06 16:15:05.748 INFO kablam! su: No module specific data is present Nov 06 16:15:06.600 INFO running `"docker" "rm" "-f" "44d899f7f5f63cd177e17c471520661f6e88c5456d0e38e3a8c13ac6d9dfe705"` Nov 06 16:15:06.869 INFO blam! 44d899f7f5f63cd177e17c471520661f6e88c5456d0e38e3a8c13ac6d9dfe705