[INFO] updating cached repository beltegeuse/pbrt_rs [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/beltegeuse/pbrt_rs [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/beltegeuse/pbrt_rs" "work/ex/clippy-test-run/sources/stable/gh/beltegeuse/pbrt_rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/beltegeuse/pbrt_rs'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/beltegeuse/pbrt_rs" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/beltegeuse/pbrt_rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/beltegeuse/pbrt_rs'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 5d75ecf101a9e05c7dab9e0c63efcb56f895d3a5 [INFO] sha for GitHub repo beltegeuse/pbrt_rs: 5d75ecf101a9e05c7dab9e0c63efcb56f895d3a5 [INFO] validating manifest of beltegeuse/pbrt_rs on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of beltegeuse/pbrt_rs on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing beltegeuse/pbrt_rs [INFO] finished frobbing beltegeuse/pbrt_rs [INFO] frobbed toml for beltegeuse/pbrt_rs written to work/ex/clippy-test-run/sources/stable/gh/beltegeuse/pbrt_rs/Cargo.toml [INFO] started frobbing beltegeuse/pbrt_rs [INFO] finished frobbing beltegeuse/pbrt_rs [INFO] frobbed toml for beltegeuse/pbrt_rs written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/beltegeuse/pbrt_rs/Cargo.toml [INFO] crate beltegeuse/pbrt_rs has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting beltegeuse/pbrt_rs against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/beltegeuse/pbrt_rs:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] b4b45504aed63daad4ef35f3a2050084391f6ffa06df905ae6776a26fa64859b [INFO] running `"docker" "start" "-a" "b4b45504aed63daad4ef35f3a2050084391f6ffa06df905ae6776a26fa64859b"` [INFO] [stderr] Compiling rustc-demangle v0.1.10 [INFO] [stderr] Compiling syn v0.14.9 [INFO] [stderr] Checking cgmath v0.16.1 [INFO] [stderr] Checking env_logger v0.6.0 [INFO] [stderr] Compiling backtrace v0.3.13 [INFO] [stderr] Compiling error-chain v0.12.0 [INFO] [stderr] Compiling cargo_metadata v0.6.4 [INFO] [stderr] Compiling skeptic v0.13.4 [INFO] [stderr] Compiling pest_generator v2.0.0 [INFO] [stderr] Compiling pest_derive v2.0.1 [INFO] [stderr] Compiling ply-rs v0.1.1 [INFO] [stderr] Checking pbrt_rs v0.0.1 (/opt/crater/workdir) [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/lib.rs:843:21 [INFO] [stderr] | [INFO] [stderr] 843 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::deprecated_cfg_attr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/lib.rs:874:21 [INFO] [stderr] | [INFO] [stderr] 874 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/lib.rs:907:21 [INFO] [stderr] | [INFO] [stderr] 907 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/lib.rs:843:21 [INFO] [stderr] | [INFO] [stderr] 843 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::deprecated_cfg_attr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/lib.rs:874:21 [INFO] [stderr] | [INFO] [stderr] 874 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/lib.rs:907:21 [INFO] [stderr] | [INFO] [stderr] 907 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:449:62 [INFO] [stderr] | [INFO] [stderr] 449 | remove_default!(param, "eta", Param::RGB(0.19999069, 0.9220846, 1.0998759)); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.199_990_69` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:449:74 [INFO] [stderr] | [INFO] [stderr] 449 | remove_default!(param, "eta", Param::RGB(0.19999069, 0.9220846, 1.0998759)); [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.922_084_6` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:449:85 [INFO] [stderr] | [INFO] [stderr] 449 | remove_default!(param, "eta", Param::RGB(0.19999069, 0.9220846, 1.0998759)); [INFO] [stderr] | ^^^^^^^^^ help: consider: `1.099_875_9` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:450:64 [INFO] [stderr] | [INFO] [stderr] 450 | let k = remove_default!(param, "k", Param::RGB(3.9046354, 2.4476333, 2.1376526)); [INFO] [stderr] | ^^^^^^^^^ help: consider: `3.904_635_4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:450:75 [INFO] [stderr] | [INFO] [stderr] 450 | let k = remove_default!(param, "k", Param::RGB(3.9046354, 2.4476333, 2.1376526)); [INFO] [stderr] | ^^^^^^^^^ help: consider: `2.447_633_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:450:86 [INFO] [stderr] | [INFO] [stderr] 450 | let k = remove_default!(param, "k", Param::RGB(3.9046354, 2.4476333, 2.1376526)); [INFO] [stderr] | ^^^^^^^^^ help: consider: `2.137_652_6` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:449:62 [INFO] [stderr] | [INFO] [stderr] 449 | remove_default!(param, "eta", Param::RGB(0.19999069, 0.9220846, 1.0998759)); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.199_990_69` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:449:74 [INFO] [stderr] | [INFO] [stderr] 449 | remove_default!(param, "eta", Param::RGB(0.19999069, 0.9220846, 1.0998759)); [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.922_084_6` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:449:85 [INFO] [stderr] | [INFO] [stderr] 449 | remove_default!(param, "eta", Param::RGB(0.19999069, 0.9220846, 1.0998759)); [INFO] [stderr] | ^^^^^^^^^ help: consider: `1.099_875_9` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:450:64 [INFO] [stderr] | [INFO] [stderr] 450 | let k = remove_default!(param, "k", Param::RGB(3.9046354, 2.4476333, 2.1376526)); [INFO] [stderr] | ^^^^^^^^^ help: consider: `3.904_635_4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:450:75 [INFO] [stderr] | [INFO] [stderr] 450 | let k = remove_default!(param, "k", Param::RGB(3.9046354, 2.4476333, 2.1376526)); [INFO] [stderr] | ^^^^^^^^^ help: consider: `2.447_633_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:450:86 [INFO] [stderr] | [INFO] [stderr] 450 | let k = remove_default!(param, "k", Param::RGB(3.9046354, 2.4476333, 2.1376526)); [INFO] [stderr] | ^^^^^^^^^ help: consider: `2.137_652_6` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:595:21 [INFO] [stderr] | [INFO] [stderr] 595 | let mut f = match std::fs::File::open(filename.clone()) { [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `to_rgb` [INFO] [stderr] --> src/lib.rs:189:5 [INFO] [stderr] | [INFO] [stderr] 189 | fn to_rgb(self) -> (f32, f32, f32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `to_vector2` [INFO] [stderr] --> src/lib.rs:229:5 [INFO] [stderr] | [INFO] [stderr] 229 | fn to_vector2(self) -> Vec> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:595:21 [INFO] [stderr] | [INFO] [stderr] 595 | let mut f = match std::fs::File::open(filename.clone()) { [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `to_rgb` [INFO] [stderr] --> src/lib.rs:189:5 [INFO] [stderr] | [INFO] [stderr] 189 | fn to_rgb(self) -> (f32, f32, f32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `to_vector2` [INFO] [stderr] --> src/lib.rs:229:5 [INFO] [stderr] | [INFO] [stderr] 229 | fn to_vector2(self) -> Vec> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/lib.rs:33:55 [INFO] [stderr] | [INFO] [stderr] 33 | let not_opening: bool = rule_pair.as_str() != String::from("["); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `"["` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/lib.rs:34:55 [INFO] [stderr] | [INFO] [stderr] 34 | let not_closing: bool = rule_pair.as_str() != String::from("]"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `"]"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/lib.rs:52:27 [INFO] [stderr] | [INFO] [stderr] 52 | if lbrack.as_str() == String::from("[") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `"["` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/lib.rs:57:33 [INFO] [stderr] | [INFO] [stderr] 57 | if pair.as_str() == String::from("]") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `"]"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/lib.rs:66:22 [INFO] [stderr] | [INFO] [stderr] 66 | .expect(&format!("parsing error on parameter: {}", value)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("parsing error on parameter: {}", value))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:165:17 [INFO] [stderr] | [INFO] [stderr] 165 | fn to_float(self) -> Vec { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:176:16 [INFO] [stderr] | [INFO] [stderr] 176 | fn to_name(self) -> String { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:189:15 [INFO] [stderr] | [INFO] [stderr] 189 | fn to_rgb(self) -> (f32, f32, f32) { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:200:19 [INFO] [stderr] | [INFO] [stderr] 200 | fn to_integer(self) -> Vec { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:211:19 [INFO] [stderr] | [INFO] [stderr] 211 | fn to_vector3(self) -> Vec> { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:229:19 [INFO] [stderr] | [INFO] [stderr] 229 | fn to_vector2(self) -> Vec> { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:244:16 [INFO] [stderr] | [INFO] [stderr] 244 | fn to_bool(self) -> bool { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 30 [INFO] [stderr] --> src/lib.rs:425:5 [INFO] [stderr] | [INFO] [stderr] 425 | / fn new(pairs: pest::iterators::Pair, unamed: bool) -> Option<(String, Self)> { [INFO] [stderr] 426 | | let (name, mut param) = parse_parameters(pairs); [INFO] [stderr] 427 | | // TODO: Need to clone to avoid borrower checker [INFO] [stderr] 428 | | let bsdf_type = if unamed { [INFO] [stderr] ... | [INFO] [stderr] 534 | | } [INFO] [stderr] 535 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/lib.rs:556:53 [INFO] [stderr] | [INFO] [stderr] 556 | let points = points.into_iter().map(|v| Point3::from_vec(v)).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Point3::from_vec` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:688:26 [INFO] [stderr] | [INFO] [stderr] 688 | let new_matrix = self.matrix.last().unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.matrix.last().unwrap()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:701:9 [INFO] [stderr] | [INFO] [stderr] 701 | self.matrix.last().unwrap().clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.matrix.last().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 37 [INFO] [stderr] --> src/lib.rs:795:1 [INFO] [stderr] | [INFO] [stderr] 795 | / pub fn read_pbrt_file( [INFO] [stderr] 796 | | path: &str, [INFO] [stderr] 797 | | working_dir: &std::path::Path, [INFO] [stderr] 798 | | scene_info: &mut Scene, [INFO] [stderr] ... | [INFO] [stderr] 1050 | | info!("Time for parsing file: {:?}", Instant::now() - now); [INFO] [stderr] 1051 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/lib.rs:803:50 [INFO] [stderr] | [INFO] [stderr] 803 | let file = std::fs::File::open(path.clone()).expect(&format!("Impossible to open {}", path)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Impossible to open {}", path))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/lib.rs:803:36 [INFO] [stderr] | [INFO] [stderr] 803 | let file = std::fs::File::open(path.clone()).expect(&format!("Impossible to open {}", path)); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 803 | let file = std::fs::File::open(&(*path).clone()).expect(&format!("Impossible to open {}", path)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 803 | let file = std::fs::File::open(&str::clone(path)).expect(&format!("Impossible to open {}", path)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:909:25 [INFO] [stderr] | [INFO] [stderr] 909 | left.x.clone(), left.y.clone(), left.z.clone(), 0.0, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `left.x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:909:41 [INFO] [stderr] | [INFO] [stderr] 909 | left.x.clone(), left.y.clone(), left.z.clone(), 0.0, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `left.y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:909:57 [INFO] [stderr] | [INFO] [stderr] 909 | left.x.clone(), left.y.clone(), left.z.clone(), 0.0, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `left.z` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:910:25 [INFO] [stderr] | [INFO] [stderr] 910 | new_up.x.clone(), new_up.y.clone(), new_up.z.clone(), 0.0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `new_up.x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:910:43 [INFO] [stderr] | [INFO] [stderr] 910 | new_up.x.clone(), new_up.y.clone(), new_up.z.clone(), 0.0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `new_up.y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:910:61 [INFO] [stderr] | [INFO] [stderr] 910 | new_up.x.clone(), new_up.y.clone(), new_up.z.clone(), 0.0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `new_up.z` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:911:25 [INFO] [stderr] | [INFO] [stderr] 911 | dir.x.clone(), dir.y.clone(), dir.z.clone(), 0.0, [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `dir.x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:911:40 [INFO] [stderr] | [INFO] [stderr] 911 | dir.x.clone(), dir.y.clone(), dir.z.clone(), 0.0, [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `dir.y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:911:55 [INFO] [stderr] | [INFO] [stderr] 911 | dir.x.clone(), dir.y.clone(), dir.z.clone(), 0.0, [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `dir.z` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `pbrt_rs`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/lib.rs:33:55 [INFO] [stderr] | [INFO] [stderr] 33 | let not_opening: bool = rule_pair.as_str() != String::from("["); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `"["` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/lib.rs:34:55 [INFO] [stderr] | [INFO] [stderr] 34 | let not_closing: bool = rule_pair.as_str() != String::from("]"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `"]"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/lib.rs:52:27 [INFO] [stderr] | [INFO] [stderr] 52 | if lbrack.as_str() == String::from("[") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `"["` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/lib.rs:57:33 [INFO] [stderr] | [INFO] [stderr] 57 | if pair.as_str() == String::from("]") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `"]"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/lib.rs:66:22 [INFO] [stderr] | [INFO] [stderr] 66 | .expect(&format!("parsing error on parameter: {}", value)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("parsing error on parameter: {}", value))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:165:17 [INFO] [stderr] | [INFO] [stderr] 165 | fn to_float(self) -> Vec { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:176:16 [INFO] [stderr] | [INFO] [stderr] 176 | fn to_name(self) -> String { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:189:15 [INFO] [stderr] | [INFO] [stderr] 189 | fn to_rgb(self) -> (f32, f32, f32) { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:200:19 [INFO] [stderr] | [INFO] [stderr] 200 | fn to_integer(self) -> Vec { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:211:19 [INFO] [stderr] | [INFO] [stderr] 211 | fn to_vector3(self) -> Vec> { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:229:19 [INFO] [stderr] | [INFO] [stderr] 229 | fn to_vector2(self) -> Vec> { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:244:16 [INFO] [stderr] | [INFO] [stderr] 244 | fn to_bool(self) -> bool { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 30 [INFO] [stderr] --> src/lib.rs:425:5 [INFO] [stderr] | [INFO] [stderr] 425 | / fn new(pairs: pest::iterators::Pair, unamed: bool) -> Option<(String, Self)> { [INFO] [stderr] 426 | | let (name, mut param) = parse_parameters(pairs); [INFO] [stderr] 427 | | // TODO: Need to clone to avoid borrower checker [INFO] [stderr] 428 | | let bsdf_type = if unamed { [INFO] [stderr] ... | [INFO] [stderr] 534 | | } [INFO] [stderr] 535 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/lib.rs:556:53 [INFO] [stderr] | [INFO] [stderr] 556 | let points = points.into_iter().map(|v| Point3::from_vec(v)).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Point3::from_vec` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:688:26 [INFO] [stderr] | [INFO] [stderr] 688 | let new_matrix = self.matrix.last().unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.matrix.last().unwrap()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:701:9 [INFO] [stderr] | [INFO] [stderr] 701 | self.matrix.last().unwrap().clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.matrix.last().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 37 [INFO] [stderr] --> src/lib.rs:795:1 [INFO] [stderr] | [INFO] [stderr] 795 | / pub fn read_pbrt_file( [INFO] [stderr] 796 | | path: &str, [INFO] [stderr] 797 | | working_dir: &std::path::Path, [INFO] [stderr] 798 | | scene_info: &mut Scene, [INFO] [stderr] ... | [INFO] [stderr] 1050 | | info!("Time for parsing file: {:?}", Instant::now() - now); [INFO] [stderr] 1051 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/lib.rs:803:50 [INFO] [stderr] | [INFO] [stderr] 803 | let file = std::fs::File::open(path.clone()).expect(&format!("Impossible to open {}", path)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Impossible to open {}", path))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/lib.rs:803:36 [INFO] [stderr] | [INFO] [stderr] 803 | let file = std::fs::File::open(path.clone()).expect(&format!("Impossible to open {}", path)); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 803 | let file = std::fs::File::open(&(*path).clone()).expect(&format!("Impossible to open {}", path)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 803 | let file = std::fs::File::open(&str::clone(path)).expect(&format!("Impossible to open {}", path)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:909:25 [INFO] [stderr] | [INFO] [stderr] 909 | left.x.clone(), left.y.clone(), left.z.clone(), 0.0, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `left.x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:909:41 [INFO] [stderr] | [INFO] [stderr] 909 | left.x.clone(), left.y.clone(), left.z.clone(), 0.0, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `left.y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:909:57 [INFO] [stderr] | [INFO] [stderr] 909 | left.x.clone(), left.y.clone(), left.z.clone(), 0.0, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `left.z` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:910:25 [INFO] [stderr] | [INFO] [stderr] 910 | new_up.x.clone(), new_up.y.clone(), new_up.z.clone(), 0.0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `new_up.x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:910:43 [INFO] [stderr] | [INFO] [stderr] 910 | new_up.x.clone(), new_up.y.clone(), new_up.z.clone(), 0.0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `new_up.y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:910:61 [INFO] [stderr] | [INFO] [stderr] 910 | new_up.x.clone(), new_up.y.clone(), new_up.z.clone(), 0.0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `new_up.z` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:911:25 [INFO] [stderr] | [INFO] [stderr] 911 | dir.x.clone(), dir.y.clone(), dir.z.clone(), 0.0, [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `dir.x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:911:40 [INFO] [stderr] | [INFO] [stderr] 911 | dir.x.clone(), dir.y.clone(), dir.z.clone(), 0.0, [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `dir.y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:911:55 [INFO] [stderr] | [INFO] [stderr] 911 | dir.x.clone(), dir.y.clone(), dir.z.clone(), 0.0, [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `dir.z` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `pbrt_rs`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "b4b45504aed63daad4ef35f3a2050084391f6ffa06df905ae6776a26fa64859b"` [INFO] running `"docker" "rm" "-f" "b4b45504aed63daad4ef35f3a2050084391f6ffa06df905ae6776a26fa64859b"` [INFO] [stdout] b4b45504aed63daad4ef35f3a2050084391f6ffa06df905ae6776a26fa64859b