[INFO] updating cached repository uranixcz/resource_mng [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/uranixcz/resource_mng [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/uranixcz/resource_mng" "work/ex/clippy-test-run/sources/stable/gh/uranixcz/resource_mng"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/uranixcz/resource_mng'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/uranixcz/resource_mng" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/uranixcz/resource_mng"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/uranixcz/resource_mng'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 6a385c6014f64b32e8eb591ac214f9a5ba0bac1e [INFO] sha for GitHub repo uranixcz/resource_mng: 6a385c6014f64b32e8eb591ac214f9a5ba0bac1e [INFO] validating manifest of uranixcz/resource_mng 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 uranixcz/resource_mng 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 uranixcz/resource_mng [INFO] finished frobbing uranixcz/resource_mng [INFO] frobbed toml for uranixcz/resource_mng written to work/ex/clippy-test-run/sources/stable/gh/uranixcz/resource_mng/Cargo.toml [INFO] started frobbing uranixcz/resource_mng [INFO] finished frobbing uranixcz/resource_mng [INFO] frobbed toml for uranixcz/resource_mng written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/uranixcz/resource_mng/Cargo.toml [INFO] crate uranixcz/resource_mng 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 uranixcz/resource_mng against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/uranixcz/resource_mng:/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] ed45a4b811c82aa0dd717b9161a10cae4848afcaec1070bc0a25e7ff2b6dc4dd [INFO] running `"docker" "start" "-a" "ed45a4b811c82aa0dd717b9161a10cae4848afcaec1070bc0a25e7ff2b6dc4dd"` [INFO] [stderr] Checking resource-mng v0.1.3 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:181:5 [INFO] [stderr] | [INFO] [stderr] 181 | return code; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `code` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:181:5 [INFO] [stderr] | [INFO] [stderr] 181 | return code; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `code` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:31:64 [INFO] [stderr] | [INFO] [stderr] 31 | fn manufacture(&mut self, material: &mut Material, amount: &usize) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:39:36 [INFO] [stderr] | [INFO] [stderr] 39 | fn deliver (&mut self, amount: &usize) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | instance.materials.insert(new_id.clone(),Material{ [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `new_id` [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:113:30 [INFO] [stderr] | [INFO] [stderr] 113 | instance.products.insert(new_id.clone(), Product{ [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `new_id` [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: length comparison to zero [INFO] [stderr] --> src/lib.rs:130:8 [INFO] [stderr] | [INFO] [stderr] 130 | if products.len() == 0 { panic!("no products in database");} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `products.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:157:35 [INFO] [stderr] | [INFO] [stderr] 157 | instance.materials.insert(prod.variants.material_and_amount.0.clone(), material); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `prod.variants.material_and_amount.0` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:31:64 [INFO] [stderr] | [INFO] [stderr] 31 | fn manufacture(&mut self, material: &mut Material, amount: &usize) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:39:36 [INFO] [stderr] | [INFO] [stderr] 39 | fn deliver (&mut self, amount: &usize) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/lib.rs:206:5 [INFO] [stderr] | [INFO] [stderr] 206 | instance.materials.get(id).unwrap().demand [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&instance.materials[id]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/lib.rs:211:5 [INFO] [stderr] | [INFO] [stderr] 211 | instance.materials.get(id).unwrap().supply [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&instance.materials[id]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:224:52 [INFO] [stderr] | [INFO] [stderr] 224 | pub fn get_product_types (instance: &Instance, id: &usize) -> ProductVariant { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:225:5 [INFO] [stderr] | [INFO] [stderr] 225 | instance.products.get(id).unwrap().variants.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `instance.products.get(id).unwrap().variants` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/lib.rs:225:5 [INFO] [stderr] | [INFO] [stderr] 225 | instance.products.get(id).unwrap().variants.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&instance.products[id]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:228:60 [INFO] [stderr] | [INFO] [stderr] 228 | pub fn tst_set_product_supply(instance: &mut Instance, id: &usize, count: usize) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:232:50 [INFO] [stderr] | [INFO] [stderr] 232 | pub fn tst_get_material(instance: &Instance, id: &usize) -> Material { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:233:5 [INFO] [stderr] | [INFO] [stderr] 233 | instance.materials.get(id).unwrap().clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*instance.materials.get(id).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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/lib.rs:233:5 [INFO] [stderr] | [INFO] [stderr] 233 | instance.materials.get(id).unwrap().clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&instance.materials[id]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:93:35 [INFO] [stderr] | [INFO] [stderr] 93 | instance.materials.insert(new_id.clone(),Material{ [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `new_id` [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:113:30 [INFO] [stderr] | [INFO] [stderr] 113 | instance.products.insert(new_id.clone(), Product{ [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `new_id` [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: length comparison to zero [INFO] [stderr] --> src/lib.rs:130:8 [INFO] [stderr] | [INFO] [stderr] 130 | if products.len() == 0 { panic!("no products in database");} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `products.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:157:35 [INFO] [stderr] | [INFO] [stderr] 157 | instance.materials.insert(prod.variants.material_and_amount.0.clone(), material); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `prod.variants.material_and_amount.0` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/lib.rs:206:5 [INFO] [stderr] | [INFO] [stderr] 206 | instance.materials.get(id).unwrap().demand [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&instance.materials[id]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/lib.rs:211:5 [INFO] [stderr] | [INFO] [stderr] 211 | instance.materials.get(id).unwrap().supply [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&instance.materials[id]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:224:52 [INFO] [stderr] | [INFO] [stderr] 224 | pub fn get_product_types (instance: &Instance, id: &usize) -> ProductVariant { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:225:5 [INFO] [stderr] | [INFO] [stderr] 225 | instance.products.get(id).unwrap().variants.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `instance.products.get(id).unwrap().variants` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/lib.rs:225:5 [INFO] [stderr] | [INFO] [stderr] 225 | instance.products.get(id).unwrap().variants.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&instance.products[id]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:228:60 [INFO] [stderr] | [INFO] [stderr] 228 | pub fn tst_set_product_supply(instance: &mut Instance, id: &usize, count: usize) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:232:50 [INFO] [stderr] | [INFO] [stderr] 232 | pub fn tst_get_material(instance: &Instance, id: &usize) -> Material { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:233:5 [INFO] [stderr] | [INFO] [stderr] 233 | instance.materials.get(id).unwrap().clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*instance.materials.get(id).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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/lib.rs:233:5 [INFO] [stderr] | [INFO] [stderr] 233 | instance.materials.get(id).unwrap().clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&instance.materials[id]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/lib.rs:255:20 [INFO] [stderr] | [INFO] [stderr] 255 | assert_eq!(instance.materials.get(&1234).unwrap().supply, 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&instance.materials[&1234]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/lib.rs:270:20 [INFO] [stderr] | [INFO] [stderr] 270 | assert_eq!(instance.products.get(&12345).unwrap().variants.material_and_amount.1, 10); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&instance.products[&12345]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/event_generator.rs:40:38 [INFO] [stderr] | [INFO] [stderr] 40 | material_id: 999999998 //should not be displayed [INFO] [stderr] | ^^^^^^^^^ help: consider: `999_999_998` [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/event_generator.rs:127:34 [INFO] [stderr] | [INFO] [stderr] 127 | material_id: 999999999, //should not be displayed [INFO] [stderr] | ^^^^^^^^^ help: consider: `999_999_999` [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/event_generator.rs:40:38 [INFO] [stderr] | [INFO] [stderr] 40 | material_id: 999999998 //should not be displayed [INFO] [stderr] | ^^^^^^^^^ help: consider: `999_999_998` [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/event_generator.rs:127:34 [INFO] [stderr] | [INFO] [stderr] 127 | material_id: 999999999, //should not be displayed [INFO] [stderr] | ^^^^^^^^^ help: consider: `999_999_999` [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/event_generator.rs:40:38 [INFO] [stderr] | [INFO] [stderr] 40 | material_id: 999999998 //should not be displayed [INFO] [stderr] | ^^^^^^^^^ help: consider: `999_999_998` [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/event_generator.rs:127:34 [INFO] [stderr] | [INFO] [stderr] 127 | material_id: 999999999, //should not be displayed [INFO] [stderr] | ^^^^^^^^^ help: consider: `999_999_999` [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/event_generator.rs:40:38 [INFO] [stderr] | [INFO] [stderr] 40 | material_id: 999999998 //should not be displayed [INFO] [stderr] | ^^^^^^^^^ help: consider: `999_999_998` [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/event_generator.rs:127:34 [INFO] [stderr] | [INFO] [stderr] 127 | material_id: 999999999, //should not be displayed [INFO] [stderr] | ^^^^^^^^^ help: consider: `999_999_999` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/event_generator.rs:29:45 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn run(instance: &mut Instance, fn_num: &u8, rng: &mut ThreadRng, max_values: &usize) -> Result { [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/event_generator.rs:29:83 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn run(instance: &mut Instance, fn_num: &u8, rng: &mut ThreadRng, max_values: &usize) -> Result { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/event_generator.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / match fn_num { [INFO] [stderr] 31 | | &0 => { //add material [INFO] [stderr] 32 | | let name = rng.gen::() as usize; [INFO] [stderr] 33 | | let supply = rng.gen::() % max_values; [INFO] [stderr] ... | [INFO] [stderr] 131 | | _ => Err(255) //"No such function" [INFO] [stderr] 132 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 30 | match *fn_num { [INFO] [stderr] 31 | 0 => { //add material [INFO] [stderr] 32 | let name = rng.gen::() as usize; [INFO] [stderr] 33 | let supply = rng.gen::() % max_values; [INFO] [stderr] 34 | match add_material(instance, name, supply) { [INFO] [stderr] 35 | 0 => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/event_generator.rs:50:31 [INFO] [stderr] | [INFO] [stderr] 50 | let material_id = tst_get_materials(instance).iter().enumerate() [INFO] [stderr] | _______________________________^ [INFO] [stderr] 51 | | .nth(rnd_index) [INFO] [stderr] 52 | | .unwrap() [INFO] [stderr] 53 | | .1 [INFO] [stderr] 54 | | .0.clone(); [INFO] [stderr] | |__________________________^ [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] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 50 | let material_id = *tst_get_materials(instance).iter().enumerate() [INFO] [stderr] 51 | .nth(rnd_index) [INFO] [stderr] 52 | .unwrap() [INFO] [stderr] 53 | .1 [INFO] [stderr] 54 | .0; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/event_generator.rs:56:47 [INFO] [stderr] | [INFO] [stderr] 56 | match add_product(instance, name, material_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `material_id` [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/event_generator.rs:73:22 [INFO] [stderr] | [INFO] [stderr] 73 | let id = tst_get_products(instance).iter().enumerate() [INFO] [stderr] | ______________________^ [INFO] [stderr] 74 | | .nth(rnd_index) [INFO] [stderr] 75 | | .unwrap() [INFO] [stderr] 76 | | .1 [INFO] [stderr] 77 | | .0.clone(); [INFO] [stderr] | |__________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 73 | let id = *tst_get_products(instance).iter().enumerate() [INFO] [stderr] 74 | .nth(rnd_index) [INFO] [stderr] 75 | .unwrap() [INFO] [stderr] 76 | .1 [INFO] [stderr] 77 | .0; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/event_generator.rs:80:20 [INFO] [stderr] | [INFO] [stderr] 80 | tmp1 = tmp.0.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `tmp.0` [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/event_generator.rs:87:31 [INFO] [stderr] | [INFO] [stderr] 87 | name: id.clone(), [INFO] [stderr] | ^^^^^^^^^^ help: try removing the `clone` call: `id` [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/event_generator.rs:94:31 [INFO] [stderr] | [INFO] [stderr] 94 | name: id.clone(), [INFO] [stderr] | ^^^^^^^^^^ help: try removing the `clone` call: `id` [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/event_generator.rs:101:31 [INFO] [stderr] | [INFO] [stderr] 101 | name: id.clone(), [INFO] [stderr] | ^^^^^^^^^^ help: try removing the `clone` call: `id` [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/event_generator.rs:117:24 [INFO] [stderr] | [INFO] [stderr] 117 | let name = tst_get_materials(instance).iter().enumerate() [INFO] [stderr] | ________________________^ [INFO] [stderr] 118 | | .nth(rnd_index) [INFO] [stderr] 119 | | .unwrap() [INFO] [stderr] 120 | | .1 [INFO] [stderr] 121 | | .0.clone(); [INFO] [stderr] | |__________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 117 | let name = *tst_get_materials(instance).iter().enumerate() [INFO] [stderr] 118 | .nth(rnd_index) [INFO] [stderr] 119 | .unwrap() [INFO] [stderr] 120 | .1 [INFO] [stderr] 121 | .0; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/event_generator.rs:135:71 [INFO] [stderr] | [INFO] [stderr] 135 | pub fn init(instance: &mut Instance, rng: &mut ThreadRng, max_values: &usize, cycles: &usize) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/event_generator.rs:135:87 [INFO] [stderr] | [INFO] [stderr] 135 | pub fn init(instance: &mut Instance, rng: &mut ThreadRng, max_values: &usize, cycles: &usize) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/event_generator.rs:151:31 [INFO] [stderr] | [INFO] [stderr] 151 | let material_id = tst_get_materials(instance).iter().enumerate() [INFO] [stderr] | _______________________________^ [INFO] [stderr] 152 | | .nth(rnd_index) [INFO] [stderr] 153 | | .unwrap() [INFO] [stderr] 154 | | .1 [INFO] [stderr] 155 | | .0.clone(); [INFO] [stderr] | |__________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 151 | let material_id = *tst_get_materials(instance).iter().enumerate() [INFO] [stderr] 152 | .nth(rnd_index) [INFO] [stderr] 153 | .unwrap() [INFO] [stderr] 154 | .1 [INFO] [stderr] 155 | .0; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/event_generator.rs:157:41 [INFO] [stderr] | [INFO] [stderr] 157 | add_product(instance, name, material_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `material_id` [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/maincz.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | / let millis: u64; [INFO] [stderr] 32 | | if args.len() == 3 { [INFO] [stderr] 33 | | cycles = args[1].parse().unwrap(); [INFO] [stderr] 34 | | millis = args[2].parse().unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 37 | | millis = 0; [INFO] [stderr] 38 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let millis = if args.len() == 3 { ..; args[2].parse().unwrap() } else { ..; 0 };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/maincz.rs:123:25 [INFO] [stderr] | [INFO] [stderr] 123 | / match result.code { [INFO] [stderr] 124 | | &4 => { [INFO] [stderr] 125 | | println!("[{}] Výroba {} produktů \"{}\" ZAMÍTNUTA. \ [INFO] [stderr] 126 | | Materiál \"{}\" není k dispozici; nedostatkovost: {}", num, result.amount, result.name, result.material_id, [INFO] [stderr] ... | [INFO] [stderr] 138 | | get_material_scarcity(instance, &result.material_id)), [INFO] [stderr] 139 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 123 | match *result.code { [INFO] [stderr] 124 | 4 => { [INFO] [stderr] 125 | println!("[{}] Výroba {} produktů \"{}\" ZAMÍTNUTA. \ [INFO] [stderr] 126 | Materiál \"{}\" není k dispozici; nedostatkovost: {}", num, result.amount, result.name, result.material_id, [INFO] [stderr] 127 | get_material_scarcity(instance, &result.material_id)); [INFO] [stderr] 128 | failed_no_supply +=1; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/event_generator.rs:29:45 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn run(instance: &mut Instance, fn_num: &u8, rng: &mut ThreadRng, max_values: &usize) -> Result { [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/event_generator.rs:29:83 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn run(instance: &mut Instance, fn_num: &u8, rng: &mut ThreadRng, max_values: &usize) -> Result { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/event_generator.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / match fn_num { [INFO] [stderr] 31 | | &0 => { //add material [INFO] [stderr] 32 | | let name = rng.gen::() as usize; [INFO] [stderr] 33 | | let supply = rng.gen::() % max_values; [INFO] [stderr] ... | [INFO] [stderr] 131 | | _ => Err(255) //"No such function" [INFO] [stderr] 132 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 30 | match *fn_num { [INFO] [stderr] 31 | 0 => { //add material [INFO] [stderr] 32 | let name = rng.gen::() as usize; [INFO] [stderr] 33 | let supply = rng.gen::() % max_values; [INFO] [stderr] 34 | match add_material(instance, name, supply) { [INFO] [stderr] 35 | 0 => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/event_generator.rs:50:31 [INFO] [stderr] | [INFO] [stderr] 50 | let material_id = tst_get_materials(instance).iter().enumerate() [INFO] [stderr] | _______________________________^ [INFO] [stderr] 51 | | .nth(rnd_index) [INFO] [stderr] 52 | | .unwrap() [INFO] [stderr] 53 | | .1 [INFO] [stderr] 54 | | .0.clone(); [INFO] [stderr] | |__________________________^ [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] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 50 | let material_id = *tst_get_materials(instance).iter().enumerate() [INFO] [stderr] 51 | .nth(rnd_index) [INFO] [stderr] 52 | .unwrap() [INFO] [stderr] 53 | .1 [INFO] [stderr] 54 | .0; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/event_generator.rs:56:47 [INFO] [stderr] | [INFO] [stderr] 56 | match add_product(instance, name, material_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `material_id` [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/event_generator.rs:73:22 [INFO] [stderr] | [INFO] [stderr] 73 | let id = tst_get_products(instance).iter().enumerate() [INFO] [stderr] | ______________________^ [INFO] [stderr] 74 | | .nth(rnd_index) [INFO] [stderr] 75 | | .unwrap() [INFO] [stderr] 76 | | .1 [INFO] [stderr] 77 | | .0.clone(); [INFO] [stderr] | |__________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 73 | let id = *tst_get_products(instance).iter().enumerate() [INFO] [stderr] 74 | .nth(rnd_index) [INFO] [stderr] 75 | .unwrap() [INFO] [stderr] 76 | .1 [INFO] [stderr] 77 | .0; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/event_generator.rs:80:20 [INFO] [stderr] | [INFO] [stderr] 80 | tmp1 = tmp.0.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `tmp.0` [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/event_generator.rs:87:31 [INFO] [stderr] | [INFO] [stderr] 87 | name: id.clone(), [INFO] [stderr] | ^^^^^^^^^^ help: try removing the `clone` call: `id` [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/event_generator.rs:94:31 [INFO] [stderr] | [INFO] [stderr] 94 | name: id.clone(), [INFO] [stderr] | ^^^^^^^^^^ help: try removing the `clone` call: `id` [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/event_generator.rs:101:31 [INFO] [stderr] | [INFO] [stderr] 101 | name: id.clone(), [INFO] [stderr] | ^^^^^^^^^^ help: try removing the `clone` call: `id` [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/event_generator.rs:117:24 [INFO] [stderr] | [INFO] [stderr] 117 | let name = tst_get_materials(instance).iter().enumerate() [INFO] [stderr] | ________________________^ [INFO] [stderr] 118 | | .nth(rnd_index) [INFO] [stderr] 119 | | .unwrap() [INFO] [stderr] 120 | | .1 [INFO] [stderr] 121 | | .0.clone(); [INFO] [stderr] | |__________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 117 | let name = *tst_get_materials(instance).iter().enumerate() [INFO] [stderr] 118 | .nth(rnd_index) [INFO] [stderr] 119 | .unwrap() [INFO] [stderr] 120 | .1 [INFO] [stderr] 121 | .0; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/event_generator.rs:135:71 [INFO] [stderr] | [INFO] [stderr] 135 | pub fn init(instance: &mut Instance, rng: &mut ThreadRng, max_values: &usize, cycles: &usize) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/event_generator.rs:135:87 [INFO] [stderr] | [INFO] [stderr] 135 | pub fn init(instance: &mut Instance, rng: &mut ThreadRng, max_values: &usize, cycles: &usize) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/event_generator.rs:151:31 [INFO] [stderr] | [INFO] [stderr] 151 | let material_id = tst_get_materials(instance).iter().enumerate() [INFO] [stderr] | _______________________________^ [INFO] [stderr] 152 | | .nth(rnd_index) [INFO] [stderr] 153 | | .unwrap() [INFO] [stderr] 154 | | .1 [INFO] [stderr] 155 | | .0.clone(); [INFO] [stderr] | |__________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 151 | let material_id = *tst_get_materials(instance).iter().enumerate() [INFO] [stderr] 152 | .nth(rnd_index) [INFO] [stderr] 153 | .unwrap() [INFO] [stderr] 154 | .1 [INFO] [stderr] 155 | .0; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/event_generator.rs:157:41 [INFO] [stderr] | [INFO] [stderr] 157 | add_product(instance, name, material_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `material_id` [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/maincz.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | / let millis: u64; [INFO] [stderr] 32 | | if args.len() == 3 { [INFO] [stderr] 33 | | cycles = args[1].parse().unwrap(); [INFO] [stderr] 34 | | millis = args[2].parse().unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 37 | | millis = 0; [INFO] [stderr] 38 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let millis = if args.len() == 3 { ..; args[2].parse().unwrap() } else { ..; 0 };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/maincz.rs:123:25 [INFO] [stderr] | [INFO] [stderr] 123 | / match result.code { [INFO] [stderr] 124 | | &4 => { [INFO] [stderr] 125 | | println!("[{}] Výroba {} produktů \"{}\" ZAMÍTNUTA. \ [INFO] [stderr] 126 | | Materiál \"{}\" není k dispozici; nedostatkovost: {}", num, result.amount, result.name, result.material_id, [INFO] [stderr] ... | [INFO] [stderr] 138 | | get_material_scarcity(instance, &result.material_id)), [INFO] [stderr] 139 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 123 | match *result.code { [INFO] [stderr] 124 | 4 => { [INFO] [stderr] 125 | println!("[{}] Výroba {} produktů \"{}\" ZAMÍTNUTA. \ [INFO] [stderr] 126 | Materiál \"{}\" není k dispozici; nedostatkovost: {}", num, result.amount, result.name, result.material_id, [INFO] [stderr] 127 | get_material_scarcity(instance, &result.material_id)); [INFO] [stderr] 128 | failed_no_supply +=1; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/event_generator.rs:29:45 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn run(instance: &mut Instance, fn_num: &u8, rng: &mut ThreadRng, max_values: &usize) -> Result { [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/event_generator.rs:29:83 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn run(instance: &mut Instance, fn_num: &u8, rng: &mut ThreadRng, max_values: &usize) -> Result { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/event_generator.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / match fn_num { [INFO] [stderr] 31 | | &0 => { //add material [INFO] [stderr] 32 | | let name = rng.gen::() as usize; [INFO] [stderr] 33 | | let supply = rng.gen::() % max_values; [INFO] [stderr] ... | [INFO] [stderr] 131 | | _ => Err(255) //"No such function" [INFO] [stderr] 132 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 30 | match *fn_num { [INFO] [stderr] 31 | 0 => { //add material [INFO] [stderr] 32 | let name = rng.gen::() as usize; [INFO] [stderr] 33 | let supply = rng.gen::() % max_values; [INFO] [stderr] 34 | match add_material(instance, name, supply) { [INFO] [stderr] 35 | 0 => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/event_generator.rs:50:31 [INFO] [stderr] | [INFO] [stderr] 50 | let material_id = tst_get_materials(instance).iter().enumerate() [INFO] [stderr] | _______________________________^ [INFO] [stderr] 51 | | .nth(rnd_index) [INFO] [stderr] 52 | | .unwrap() [INFO] [stderr] 53 | | .1 [INFO] [stderr] 54 | | .0.clone(); [INFO] [stderr] | |__________________________^ [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] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 50 | let material_id = *tst_get_materials(instance).iter().enumerate() [INFO] [stderr] 51 | .nth(rnd_index) [INFO] [stderr] 52 | .unwrap() [INFO] [stderr] 53 | .1 [INFO] [stderr] 54 | .0; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/event_generator.rs:56:47 [INFO] [stderr] | [INFO] [stderr] 56 | match add_product(instance, name, material_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `material_id` [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/event_generator.rs:73:22 [INFO] [stderr] | [INFO] [stderr] 73 | let id = tst_get_products(instance).iter().enumerate() [INFO] [stderr] | ______________________^ [INFO] [stderr] 74 | | .nth(rnd_index) [INFO] [stderr] 75 | | .unwrap() [INFO] [stderr] 76 | | .1 [INFO] [stderr] 77 | | .0.clone(); [INFO] [stderr] | |__________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 73 | let id = *tst_get_products(instance).iter().enumerate() [INFO] [stderr] 74 | .nth(rnd_index) [INFO] [stderr] 75 | .unwrap() [INFO] [stderr] 76 | .1 [INFO] [stderr] 77 | .0; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/event_generator.rs:80:20 [INFO] [stderr] | [INFO] [stderr] 80 | tmp1 = tmp.0.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `tmp.0` [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/event_generator.rs:87:31 [INFO] [stderr] | [INFO] [stderr] 87 | name: id.clone(), [INFO] [stderr] | ^^^^^^^^^^ help: try removing the `clone` call: `id` [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/event_generator.rs:94:31 [INFO] [stderr] | [INFO] [stderr] 94 | name: id.clone(), [INFO] [stderr] | ^^^^^^^^^^ help: try removing the `clone` call: `id` [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/event_generator.rs:101:31 [INFO] [stderr] | [INFO] [stderr] 101 | name: id.clone(), [INFO] [stderr] | ^^^^^^^^^^ help: try removing the `clone` call: `id` [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/event_generator.rs:117:24 [INFO] [stderr] | [INFO] [stderr] 117 | let name = tst_get_materials(instance).iter().enumerate() [INFO] [stderr] | ________________________^ [INFO] [stderr] 118 | | .nth(rnd_index) [INFO] [stderr] 119 | | .unwrap() [INFO] [stderr] 120 | | .1 [INFO] [stderr] 121 | | .0.clone(); [INFO] [stderr] | |__________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 117 | let name = *tst_get_materials(instance).iter().enumerate() [INFO] [stderr] 118 | .nth(rnd_index) [INFO] [stderr] 119 | .unwrap() [INFO] [stderr] 120 | .1 [INFO] [stderr] 121 | .0; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/event_generator.rs:135:71 [INFO] [stderr] | [INFO] [stderr] 135 | pub fn init(instance: &mut Instance, rng: &mut ThreadRng, max_values: &usize, cycles: &usize) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/event_generator.rs:29:45 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn run(instance: &mut Instance, fn_num: &u8, rng: &mut ThreadRng, max_values: &usize) -> Result { [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/event_generator.rs:135:87 [INFO] [stderr] | [INFO] [stderr] 135 | pub fn init(instance: &mut Instance, rng: &mut ThreadRng, max_values: &usize, cycles: &usize) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/event_generator.rs:151:31 [INFO] [stderr] | [INFO] [stderr] 151 | let material_id = tst_get_materials(instance).iter().enumerate() [INFO] [stderr] | _______________________________^ [INFO] [stderr] 152 | | .nth(rnd_index) [INFO] [stderr] 153 | | .unwrap() [INFO] [stderr] 154 | | .1 [INFO] [stderr] 155 | | .0.clone(); [INFO] [stderr] | |__________________________^ [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] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 151 | let material_id = *tst_get_materials(instance).iter().enumerate() [INFO] [stderr] 152 | .nth(rnd_index) [INFO] [stderr] 153 | .unwrap() [INFO] [stderr] 154 | .1 [INFO] [stderr] 155 | .0; [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/event_generator.rs:157:41 [INFO] [stderr] | [INFO] [stderr] 157 | add_product(instance, name, material_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `material_id` [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/event_generator.rs:29:83 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn run(instance: &mut Instance, fn_num: &u8, rng: &mut ThreadRng, max_values: &usize) -> Result { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | / let millis: u64; [INFO] [stderr] 32 | | if args.len() == 3 { [INFO] [stderr] 33 | | cycles = args[1].parse().unwrap(); [INFO] [stderr] 34 | | millis = args[2].parse().unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 37 | | millis = 0; [INFO] [stderr] 38 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let millis = if args.len() == 3 { ..; args[2].parse().unwrap() } else { ..; 0 };` [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/event_generator.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / match fn_num { [INFO] [stderr] 31 | | &0 => { //add material [INFO] [stderr] 32 | | let name = rng.gen::() as usize; [INFO] [stderr] 33 | | let supply = rng.gen::() % max_values; [INFO] [stderr] ... | [INFO] [stderr] 131 | | _ => Err(255) //"No such function" [INFO] [stderr] 132 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 30 | match *fn_num { [INFO] [stderr] 31 | 0 => { //add material [INFO] [stderr] 32 | let name = rng.gen::() as usize; [INFO] [stderr] 33 | let supply = rng.gen::() % max_values; [INFO] [stderr] 34 | match add_material(instance, name, supply) { [INFO] [stderr] 35 | 0 => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/event_generator.rs:50:31 [INFO] [stderr] | [INFO] [stderr] 50 | let material_id = tst_get_materials(instance).iter().enumerate() [INFO] [stderr] | _______________________________^ [INFO] [stderr] 51 | | .nth(rnd_index) [INFO] [stderr] 52 | | .unwrap() [INFO] [stderr] 53 | | .1 [INFO] [stderr] 54 | | .0.clone(); [INFO] [stderr] | |__________________________^ [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] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 50 | let material_id = *tst_get_materials(instance).iter().enumerate() [INFO] [stderr] 51 | .nth(rnd_index) [INFO] [stderr] 52 | .unwrap() [INFO] [stderr] 53 | .1 [INFO] [stderr] 54 | .0; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/event_generator.rs:56:47 [INFO] [stderr] | [INFO] [stderr] 56 | match add_product(instance, name, material_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `material_id` [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/event_generator.rs:73:22 [INFO] [stderr] | [INFO] [stderr] 73 | let id = tst_get_products(instance).iter().enumerate() [INFO] [stderr] | ______________________^ [INFO] [stderr] 74 | | .nth(rnd_index) [INFO] [stderr] 75 | | .unwrap() [INFO] [stderr] 76 | | .1 [INFO] [stderr] 77 | | .0.clone(); [INFO] [stderr] | |__________________________^ [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:123:25 [INFO] [stderr] | [INFO] [stderr] 123 | / match result.code { [INFO] [stderr] 124 | | &4 => { [INFO] [stderr] 125 | | println!("[{}] Manufacturing of {}x products \"{}\" DENIED. \ [INFO] [stderr] 126 | | Material \"{}\" not available; scarcity: {}", num, result.amount, result.name, result.material_id, [INFO] [stderr] ... | [INFO] [stderr] 138 | | get_material_scarcity(instance, &result.material_id)), [INFO] [stderr] 139 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 73 | let id = *tst_get_products(instance).iter().enumerate() [INFO] [stderr] 74 | .nth(rnd_index) [INFO] [stderr] 75 | .unwrap() [INFO] [stderr] 76 | .1 [INFO] [stderr] 77 | .0; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/event_generator.rs:80:20 [INFO] [stderr] | [INFO] [stderr] 80 | tmp1 = tmp.0.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `tmp.0` [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/event_generator.rs:87:31 [INFO] [stderr] | [INFO] [stderr] 87 | name: id.clone(), [INFO] [stderr] | ^^^^^^^^^^ help: try removing the `clone` call: `id` [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/event_generator.rs:94:31 [INFO] [stderr] | [INFO] [stderr] 94 | name: id.clone(), [INFO] [stderr] | ^^^^^^^^^^ help: try removing the `clone` call: `id` [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/event_generator.rs:101:31 [INFO] [stderr] | [INFO] [stderr] 101 | name: id.clone(), [INFO] [stderr] | ^^^^^^^^^^ help: try removing the `clone` call: `id` [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/event_generator.rs:117:24 [INFO] [stderr] | [INFO] [stderr] 117 | let name = tst_get_materials(instance).iter().enumerate() [INFO] [stderr] | ________________________^ [INFO] [stderr] 118 | | .nth(rnd_index) [INFO] [stderr] 119 | | .unwrap() [INFO] [stderr] 120 | | .1 [INFO] [stderr] 121 | | .0.clone(); [INFO] [stderr] | |__________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 117 | let name = *tst_get_materials(instance).iter().enumerate() [INFO] [stderr] 118 | .nth(rnd_index) [INFO] [stderr] 119 | .unwrap() [INFO] [stderr] 120 | .1 [INFO] [stderr] 121 | .0; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/event_generator.rs:135:71 [INFO] [stderr] | [INFO] [stderr] 135 | pub fn init(instance: &mut Instance, rng: &mut ThreadRng, max_values: &usize, cycles: &usize) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/event_generator.rs:135:87 [INFO] [stderr] | [INFO] [stderr] 135 | pub fn init(instance: &mut Instance, rng: &mut ThreadRng, max_values: &usize, cycles: &usize) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/event_generator.rs:151:31 [INFO] [stderr] | [INFO] [stderr] 151 | let material_id = tst_get_materials(instance).iter().enumerate() [INFO] [stderr] | _______________________________^ [INFO] [stderr] 152 | | .nth(rnd_index) [INFO] [stderr] 153 | | .unwrap() [INFO] [stderr] 154 | | .1 [INFO] [stderr] 155 | | .0.clone(); [INFO] [stderr] | |__________________________^ [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 151 | let material_id = *tst_get_materials(instance).iter().enumerate() [INFO] [stderr] 152 | .nth(rnd_index) [INFO] [stderr] 153 | .unwrap() [INFO] [stderr] 154 | .1 [INFO] [stderr] 155 | .0; [INFO] [stderr] | [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 123 | match *result.code { [INFO] [stderr] 124 | 4 => { [INFO] [stderr] 125 | println!("[{}] Manufacturing of {}x products \"{}\" DENIED. \ [INFO] [stderr] 126 | Material \"{}\" not available; scarcity: {}", num, result.amount, result.name, result.material_id, [INFO] [stderr] 127 | get_material_scarcity(instance, &result.material_id)); [INFO] [stderr] 128 | failed_no_supply +=1; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/event_generator.rs:157:41 [INFO] [stderr] | [INFO] [stderr] 157 | add_product(instance, name, material_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `material_id` [INFO] [stderr] [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | / let millis: u64; [INFO] [stderr] 32 | | if args.len() == 3 { [INFO] [stderr] 33 | | cycles = args[1].parse().unwrap(); [INFO] [stderr] 34 | | millis = args[2].parse().unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 37 | | millis = 0; [INFO] [stderr] 38 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let millis = if args.len() == 3 { ..; args[2].parse().unwrap() } else { ..; 0 };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:123:25 [INFO] [stderr] | [INFO] [stderr] 123 | / match result.code { [INFO] [stderr] 124 | | &4 => { [INFO] [stderr] 125 | | println!("[{}] Manufacturing of {}x products \"{}\" DENIED. \ [INFO] [stderr] 126 | | Material \"{}\" not available; scarcity: {}", num, result.amount, result.name, result.material_id, [INFO] [stderr] ... | [INFO] [stderr] 138 | | get_material_scarcity(instance, &result.material_id)), [INFO] [stderr] 139 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 123 | match *result.code { [INFO] [stderr] 124 | 4 => { [INFO] [stderr] 125 | println!("[{}] Manufacturing of {}x products \"{}\" DENIED. \ [INFO] [stderr] 126 | Material \"{}\" not available; scarcity: {}", num, result.amount, result.name, result.material_id, [INFO] [stderr] 127 | get_material_scarcity(instance, &result.material_id)); [INFO] [stderr] 128 | failed_no_supply +=1; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.74s [INFO] running `"docker" "inspect" "ed45a4b811c82aa0dd717b9161a10cae4848afcaec1070bc0a25e7ff2b6dc4dd"` [INFO] running `"docker" "rm" "-f" "ed45a4b811c82aa0dd717b9161a10cae4848afcaec1070bc0a25e7ff2b6dc4dd"` [INFO] [stdout] ed45a4b811c82aa0dd717b9161a10cae4848afcaec1070bc0a25e7ff2b6dc4dd