[INFO] crate ConExpression 0.1.0 is already in cache [INFO] extracting crate ConExpression 0.1.0 into work/ex/clippy-test-run/sources/stable/reg/ConExpression/0.1.0 [INFO] extracting crate ConExpression 0.1.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/ConExpression/0.1.0 [INFO] validating manifest of ConExpression-0.1.0 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 ConExpression-0.1.0 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 ConExpression-0.1.0 [INFO] finished frobbing ConExpression-0.1.0 [INFO] frobbed toml for ConExpression-0.1.0 written to work/ex/clippy-test-run/sources/stable/reg/ConExpression/0.1.0/Cargo.toml [INFO] started frobbing ConExpression-0.1.0 [INFO] finished frobbing ConExpression-0.1.0 [INFO] frobbed toml for ConExpression-0.1.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/ConExpression/0.1.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [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 ConExpression-0.1.0 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/reg/ConExpression/0.1.0:/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] a4085101526be9db2e8463bc2e2d916430904f6d806ce22db915c0d665b05042 [INFO] running `"docker" "start" "-a" "a4085101526be9db2e8463bc2e2d916430904f6d806ce22db915c0d665b05042"` [INFO] [stderr] Checking ConExpression v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: crate `ConExpression` should have a snake case name such as `con_expression` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:133:13 [INFO] [stderr] | [INFO] [stderr] 133 | calculation: calculation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `calculation` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:133:13 [INFO] [stderr] | [INFO] [stderr] 133 | calculation: calculation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `calculation` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: crate `ConExpression` should have a snake case name such as `con_expression` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: function `test_assert__ok` should have a snake case name such as `test_assert_ok` [INFO] [stderr] --> src/lib.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | / fn test_assert__ok() { [INFO] [stderr] 16 | | assert!(1 == 1); [INFO] [stderr] 17 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `==` [INFO] [stderr] --> src/lib.rs:16:17 [INFO] [stderr] | [INFO] [stderr] 16 | assert!(1 == 1); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::eq_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] warning: function `test_assert__failed` should have a snake case name such as `test_assert_failed` [INFO] [stderr] --> src/lib.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / fn test_assert__failed() { [INFO] [stderr] 21 | | assert!(1 == 2, "1不等于2"); [INFO] [stderr] 22 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function `test_assert_eq__ok` should have a snake case name such as `test_assert_eq_ok` [INFO] [stderr] --> src/lib.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | / fn test_assert_eq__ok() { [INFO] [stderr] 26 | | assert_eq!(1, 1); [INFO] [stderr] 27 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function `test_assert_eq__failed` should have a snake case name such as `test_assert_eq_failed` [INFO] [stderr] --> src/lib.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / fn test_assert_eq__failed() { [INFO] [stderr] 31 | | assert_eq!(1, 2); [INFO] [stderr] 32 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function `test_assert_ne__ok` should have a snake case name such as `test_assert_ne_ok` [INFO] [stderr] --> src/lib.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | / fn test_assert_ne__ok() { [INFO] [stderr] 36 | | assert_ne!(1, 2); [INFO] [stderr] 37 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function `test_assert_ne__failed` should have a snake case name such as `test_assert_ne_failed` [INFO] [stderr] --> src/lib.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | / fn test_assert_ne__failed() { [INFO] [stderr] 41 | | assert_ne!(1, 1); [INFO] [stderr] 42 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function `test_assert_should_panic__ok` should have a snake case name such as `test_assert_should_panic_ok` [INFO] [stderr] --> src/lib.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | / fn test_assert_should_panic__ok() { [INFO] [stderr] 47 | | println!("★★★test_assert_should_panic__ok: it will panic something!\n"); [INFO] [stderr] 48 | | panic!("panic something!"); [INFO] [stderr] 49 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function `test_assert_should_panic__failed` should have a snake case name such as `test_assert_should_panic_failed` [INFO] [stderr] --> src/lib.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | / fn test_assert_should_panic__failed() { [INFO] [stderr] 54 | | println!("★★★test_assert_should_panic__failed: it will panic otherthing!\n"); [INFO] [stderr] 55 | | panic!("panic otherthing!"); [INFO] [stderr] 56 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function `test_assert_should_panic__failed_no_panic` should have a snake case name such as `test_assert_should_panic_failed_no_panic` [INFO] [stderr] --> src/lib.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | / fn test_assert_should_panic__failed_no_panic() { [INFO] [stderr] 61 | | println!("★★★test_assert_should_panic__failed_no_panic: it won't panic anything!\n"); [INFO] [stderr] 62 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `ConExpression`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/main.rs:440:12 [INFO] [stderr] | [INFO] [stderr] 440 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 441 | | if random_number == 3 { [INFO] [stderr] 442 | | println!("Take a break day! Remember to stay hydrated."); [INFO] [stderr] 443 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 446 | | } [INFO] [stderr] 447 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 440 | } else if random_number == 3 { [INFO] [stderr] 441 | println!("Take a break day! Remember to stay hydrated."); [INFO] [stderr] 442 | } else { [INFO] [stderr] 443 | println!("Today, run for {} minutes!", [INFO] [stderr] 444 | expensive_result.value(intensity)); [INFO] [stderr] 445 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/main.rs:270:5 [INFO] [stderr] | [INFO] [stderr] 270 | println!(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_code)] on by default [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused variable: `one` [INFO] [stderr] --> src/hashmap/mod.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | let one = map.get("One"); [INFO] [stderr] | ^^^ help: consider using `_one` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/main.rs:117:9 [INFO] [stderr] | [INFO] [stderr] 117 | let f = File::open(filename)?; [INFO] [stderr] | ^ help: consider using `_f` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `robot_agent_bm` [INFO] [stderr] --> src/main.rs:265:9 [INFO] [stderr] | [INFO] [stderr] 265 | let robot_agent_bm: &'static str = "R1"; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using `_robot_agent_bm` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `robot_device_id` [INFO] [stderr] --> src/main.rs:266:9 [INFO] [stderr] | [INFO] [stderr] 266 | let robot_device_id: &'static str = "99"; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using `_robot_device_id` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `home` [INFO] [stderr] --> src/main.rs:329:9 [INFO] [stderr] | [INFO] [stderr] 329 | let home = "127.0.0.1".parse::().unwrap(); [INFO] [stderr] | ^^^^ help: consider using `_home` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `derection` is never read [INFO] [stderr] --> src/icontract/mod.rs:81:17 [INFO] [stderr] | [INFO] [stderr] 81 | let mut derection: i32 = 0; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/main.rs:440:12 [INFO] [stderr] | [INFO] [stderr] 440 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 441 | | if random_number == 3 { [INFO] [stderr] 442 | | println!("Take a break day! Remember to stay hydrated."); [INFO] [stderr] 443 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 446 | | } [INFO] [stderr] 447 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 440 | } else if random_number == 3 { [INFO] [stderr] 441 | println!("Take a break day! Remember to stay hydrated."); [INFO] [stderr] 442 | } else { [INFO] [stderr] 443 | println!("Today, run for {} minutes!", [INFO] [stderr] 444 | expensive_result.value(intensity)); [INFO] [stderr] 445 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hashmap/mod.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | let mut scores: HashMap<_, _> = keys.iter().zip(values.iter()).collect(); [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: variant is never constructed: `V6` [INFO] [stderr] --> src/main.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | V6, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `V6` [INFO] [stderr] --> src/main.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | V6 [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `V6` [INFO] [stderr] --> src/main.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | V6 [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `simulated_expensive_calculation` [INFO] [stderr] --> src/main.rs:515:1 [INFO] [stderr] | [INFO] [stderr] 515 | fn simulated_expensive_calculation(intensity:i32)->i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: crate `ConExpression` should have a snake case name such as `con_expression` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable `numberIndex` should have a snake case name such as `number_index` [INFO] [stderr] --> src/math/mod.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | let mut numberIndex = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the variable `couter` is used as a loop counter. Consider using `for (couter, item) in list.iter().enumerate()` or similar iterators [INFO] [stderr] --> src/math/mod.rs:4:17 [INFO] [stderr] | [INFO] [stderr] 4 | for item in list.iter() { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: trait `iinstruction` should have a camel case name such as `Iinstruction` [INFO] [stderr] --> src/icontract/mod.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | / pub trait iinstruction { [INFO] [stderr] 2 | | fn toInstruction(&self) -> String { [INFO] [stderr] 3 | | String::from("not impliment...") [INFO] [stderr] 4 | | } [INFO] [stderr] 5 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait method `toInstruction` should have a snake case name such as `to_instruction` [INFO] [stderr] --> src/icontract/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | / fn toInstruction(&self) -> String { [INFO] [stderr] 3 | | String::from("not impliment...") [INFO] [stderr] 4 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: trait `ichannel` should have a camel case name such as `Ichannel` [INFO] [stderr] --> src/icontract/mod.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | / pub trait ichannel { [INFO] [stderr] 8 | | /// 发送消息的抽象方法 [INFO] [stderr] 9 | | /// 参数: [INFO] [stderr] 10 | | /// instruction: 要发送的指令 [INFO] [stderr] ... | [INFO] [stderr] 13 | | fn send(instruction: &iinstruction) -> (bool, String); [INFO] [stderr] 14 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: type `Instruction_OCR` should have a camel case name such as `InstructionOcr` [INFO] [stderr] --> src/icontract/mod.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | / pub struct Instruction_OCR { [INFO] [stderr] 19 | | /* [INFO] [stderr] 20 | | R##DA={0}##DN=##CID={1}##TY=2##TID={2}##SC={3}##DR={4}##PID={5}##V={6}##BC={7}##AID={8}##T=0##E=##TM={9:yyyyMMddHHmmss}^^ [INFO] [stderr] 21 | | {0}: 采集器编号 [INFO] [stderr] ... | [INFO] [stderr] 41 | | pub time: String, [INFO] [stderr] 42 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: type `Instruction_Temp` should have a camel case name such as `InstructionTemp` [INFO] [stderr] --> src/icontract/mod.rs:46:1 [INFO] [stderr] | [INFO] [stderr] 46 | / pub struct Instruction_Temp { [INFO] [stderr] 47 | | /* [INFO] [stderr] 48 | | R##DA={0}##DN=##CID={1}##TY=3##TID={2}##SC={3}##DR={4}##PID={5}##V={6}##SV={7}##LV={8}##IX={9}##IY={10}##BC={11}##T=0##E=##TM={12:yyyyMMddHHmmss}^^ [INFO] [stderr] 49 | | {0} : 采集器编号 [INFO] [stderr] ... | [INFO] [stderr] 76 | | pub time: String, [INFO] [stderr] 77 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/icontract/mod.rs:81:9 [INFO] [stderr] | [INFO] [stderr] 81 | / let mut derection: i32 = 0; [INFO] [stderr] 82 | | if self.derection { [INFO] [stderr] 83 | | derection = 1; [INFO] [stderr] 84 | | } else { [INFO] [stderr] 85 | | derection = 0; [INFO] [stderr] 86 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let derection = if self.derection { 1 } else { 0 };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [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: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | self.width = self.width + 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.width += 10` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/main.rs:270:5 [INFO] [stderr] | [INFO] [stderr] 270 | println!(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_code)] on by default [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:262:5 [INFO] [stderr] | [INFO] [stderr] 262 | file.read_to_string(&mut content); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:468:5 [INFO] [stderr] | [INFO] [stderr] 468 | rect.height = rect.height + 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `rect.height += 10` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: unused variable: `one` [INFO] [stderr] --> src/hashmap/mod.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | let one = map.get("One"); [INFO] [stderr] | ^^^ help: consider using `_one` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/main.rs:117:9 [INFO] [stderr] | [INFO] [stderr] 117 | let f = File::open(filename)?; [INFO] [stderr] | ^ help: consider using `_f` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `robot_agent_bm` [INFO] [stderr] --> src/main.rs:265:9 [INFO] [stderr] | [INFO] [stderr] 265 | let robot_agent_bm: &'static str = "R1"; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using `_robot_agent_bm` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `robot_device_id` [INFO] [stderr] --> src/main.rs:266:9 [INFO] [stderr] | [INFO] [stderr] 266 | let robot_device_id: &'static str = "99"; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using `_robot_device_id` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `home` [INFO] [stderr] --> src/main.rs:329:9 [INFO] [stderr] | [INFO] [stderr] 329 | let home = "127.0.0.1".parse::().unwrap(); [INFO] [stderr] | ^^^^ help: consider using `_home` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `derection` is never read [INFO] [stderr] --> src/icontract/mod.rs:81:17 [INFO] [stderr] | [INFO] [stderr] 81 | let mut derection: i32 = 0; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hashmap/mod.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | let mut scores: HashMap<_, _> = keys.iter().zip(values.iter()).collect(); [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: variant is never constructed: `V6` [INFO] [stderr] --> src/main.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | V6, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `V6` [INFO] [stderr] --> src/main.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | V6 [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `V6` [INFO] [stderr] --> src/main.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | V6 [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `simulated_expensive_calculation` [INFO] [stderr] --> src/main.rs:515:1 [INFO] [stderr] | [INFO] [stderr] 515 | fn simulated_expensive_calculation(intensity:i32)->i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: crate `ConExpression` should have a snake case name such as `con_expression` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable `numberIndex` should have a snake case name such as `number_index` [INFO] [stderr] --> src/math/mod.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | let mut numberIndex = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the variable `couter` is used as a loop counter. Consider using `for (couter, item) in list.iter().enumerate()` or similar iterators [INFO] [stderr] --> src/math/mod.rs:4:17 [INFO] [stderr] | [INFO] [stderr] 4 | for item in list.iter() { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: trait `iinstruction` should have a camel case name such as `Iinstruction` [INFO] [stderr] --> src/icontract/mod.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | / pub trait iinstruction { [INFO] [stderr] 2 | | fn toInstruction(&self) -> String { [INFO] [stderr] 3 | | String::from("not impliment...") [INFO] [stderr] 4 | | } [INFO] [stderr] 5 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait method `toInstruction` should have a snake case name such as `to_instruction` [INFO] [stderr] --> src/icontract/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | / fn toInstruction(&self) -> String { [INFO] [stderr] 3 | | String::from("not impliment...") [INFO] [stderr] 4 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: trait `ichannel` should have a camel case name such as `Ichannel` [INFO] [stderr] --> src/icontract/mod.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | / pub trait ichannel { [INFO] [stderr] 8 | | /// 发送消息的抽象方法 [INFO] [stderr] 9 | | /// 参数: [INFO] [stderr] 10 | | /// instruction: 要发送的指令 [INFO] [stderr] ... | [INFO] [stderr] 13 | | fn send(instruction: &iinstruction) -> (bool, String); [INFO] [stderr] 14 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: type `Instruction_OCR` should have a camel case name such as `InstructionOcr` [INFO] [stderr] --> src/icontract/mod.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | / pub struct Instruction_OCR { [INFO] [stderr] 19 | | /* [INFO] [stderr] 20 | | R##DA={0}##DN=##CID={1}##TY=2##TID={2}##SC={3}##DR={4}##PID={5}##V={6}##BC={7}##AID={8}##T=0##E=##TM={9:yyyyMMddHHmmss}^^ [INFO] [stderr] 21 | | {0}: 采集器编号 [INFO] [stderr] ... | [INFO] [stderr] 41 | | pub time: String, [INFO] [stderr] 42 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: type `Instruction_Temp` should have a camel case name such as `InstructionTemp` [INFO] [stderr] --> src/icontract/mod.rs:46:1 [INFO] [stderr] | [INFO] [stderr] 46 | / pub struct Instruction_Temp { [INFO] [stderr] 47 | | /* [INFO] [stderr] 48 | | R##DA={0}##DN=##CID={1}##TY=3##TID={2}##SC={3}##DR={4}##PID={5}##V={6}##SV={7}##LV={8}##IX={9}##IY={10}##BC={11}##T=0##E=##TM={12:yyyyMMddHHmmss}^^ [INFO] [stderr] 49 | | {0} : 采集器编号 [INFO] [stderr] ... | [INFO] [stderr] 76 | | pub time: String, [INFO] [stderr] 77 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/icontract/mod.rs:81:9 [INFO] [stderr] | [INFO] [stderr] 81 | / let mut derection: i32 = 0; [INFO] [stderr] 82 | | if self.derection { [INFO] [stderr] 83 | | derection = 1; [INFO] [stderr] 84 | | } else { [INFO] [stderr] 85 | | derection = 0; [INFO] [stderr] 86 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let derection = if self.derection { 1 } else { 0 };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [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: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | self.width = self.width + 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.width += 10` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:262:5 [INFO] [stderr] | [INFO] [stderr] 262 | file.read_to_string(&mut content); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:468:5 [INFO] [stderr] | [INFO] [stderr] 468 | rect.height = rect.height + 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `rect.height += 10` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "a4085101526be9db2e8463bc2e2d916430904f6d806ce22db915c0d665b05042"` [INFO] running `"docker" "rm" "-f" "a4085101526be9db2e8463bc2e2d916430904f6d806ce22db915c0d665b05042"` [INFO] [stdout] a4085101526be9db2e8463bc2e2d916430904f6d806ce22db915c0d665b05042