[INFO] updating cached repository mttmartin/anneal_predictor [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/mttmartin/anneal_predictor [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/mttmartin/anneal_predictor" "work/ex/clippy-test-run/sources/stable/gh/mttmartin/anneal_predictor"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/mttmartin/anneal_predictor'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/mttmartin/anneal_predictor" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/mttmartin/anneal_predictor"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/mttmartin/anneal_predictor'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 8015bc6eaafedea32d296c1982070e2073c44112 [INFO] sha for GitHub repo mttmartin/anneal_predictor: 8015bc6eaafedea32d296c1982070e2073c44112 [INFO] validating manifest of mttmartin/anneal_predictor 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 mttmartin/anneal_predictor 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 mttmartin/anneal_predictor [INFO] finished frobbing mttmartin/anneal_predictor [INFO] frobbed toml for mttmartin/anneal_predictor written to work/ex/clippy-test-run/sources/stable/gh/mttmartin/anneal_predictor/Cargo.toml [INFO] started frobbing mttmartin/anneal_predictor [INFO] finished frobbing mttmartin/anneal_predictor [INFO] frobbed toml for mttmartin/anneal_predictor written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/mttmartin/anneal_predictor/Cargo.toml [INFO] crate mttmartin/anneal_predictor 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 mttmartin/anneal_predictor against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/mttmartin/anneal_predictor:/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 -Dclippy::into_iter_on_array" "-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] c62a42546c4b3a0d9e6e857c10b3abfadc34927a014c793c386d52b59945d715 [INFO] running `"docker" "start" "-a" "c62a42546c4b3a0d9e6e857c10b3abfadc34927a014c793c386d52b59945d715"` [INFO] [stderr] Checking anneal_predictor v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/main.rs:279:3 [INFO] [stderr] | [INFO] [stderr] 279 | deltaG [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/main.rs:278:16 [INFO] [stderr] | [INFO] [stderr] 278 | let deltaG = deltaH - self.temperature * deltaS; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/main.rs:287:3 [INFO] [stderr] | [INFO] [stderr] 287 | deltaGinit [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/main.rs:286:20 [INFO] [stderr] | [INFO] [stderr] 286 | let deltaGinit = deltaH - (self.temperature*deltaS); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/main.rs:292:3 [INFO] [stderr] | [INFO] [stderr] 292 | deltaGinit [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/main.rs:291:20 [INFO] [stderr] | [INFO] [stderr] 291 | let deltaGinit = deltaH - (self.temperature*deltaS); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/main.rs:279:3 [INFO] [stderr] | [INFO] [stderr] 279 | deltaG [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/main.rs:278:16 [INFO] [stderr] | [INFO] [stderr] 278 | let deltaG = deltaH - self.temperature * deltaS; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/main.rs:287:3 [INFO] [stderr] | [INFO] [stderr] 287 | deltaGinit [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/main.rs:286:20 [INFO] [stderr] | [INFO] [stderr] 286 | let deltaGinit = deltaH - (self.temperature*deltaS); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/main.rs:292:3 [INFO] [stderr] | [INFO] [stderr] 292 | deltaGinit [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/main.rs:291:20 [INFO] [stderr] | [INFO] [stderr] 291 | let deltaGinit = deltaH - (self.temperature*deltaS); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: method `deltaG_dinucleotide` should have a snake case name such as `delta_g_dinucleotide` [INFO] [stderr] --> src/main.rs:8:2 [INFO] [stderr] | [INFO] [stderr] 8 | fn deltaG_dinucleotide(&self, substr1_initial: String, substr2_initial: String) -> f64 { [INFO] [stderr] | _____^ [INFO] [stderr] 9 | | let mut deltaS = 0.0; [INFO] [stderr] 10 | | let mut deltaH = 0.0; [INFO] [stderr] 11 | | [INFO] [stderr] ... | [INFO] [stderr] 279 | | deltaG [INFO] [stderr] 280 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 70 [INFO] [stderr] --> src/main.rs:8:2 [INFO] [stderr] | [INFO] [stderr] 8 | fn deltaG_dinucleotide(&self, substr1_initial: String, substr2_initial: String) -> f64 { [INFO] [stderr] | _____^ [INFO] [stderr] 9 | | let mut deltaS = 0.0; [INFO] [stderr] 10 | | let mut deltaH = 0.0; [INFO] [stderr] 11 | | [INFO] [stderr] ... | [INFO] [stderr] 279 | | deltaG [INFO] [stderr] 280 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: method `deltaG_dinucleotide` should have a snake case name such as `delta_g_dinucleotide` [INFO] [stderr] --> src/main.rs:8:2 [INFO] [stderr] | [INFO] [stderr] 8 | fn deltaG_dinucleotide(&self, substr1_initial: String, substr2_initial: String) -> f64 { [INFO] [stderr] | _____^ [INFO] [stderr] 9 | | let mut deltaS = 0.0; [INFO] [stderr] 10 | | let mut deltaH = 0.0; [INFO] [stderr] 11 | | [INFO] [stderr] ... | [INFO] [stderr] 279 | | deltaG [INFO] [stderr] 280 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:13:3 [INFO] [stderr] | [INFO] [stderr] 13 | let mut substr2 = substr2_initial.clone(); [INFO] [stderr] | _________^ [INFO] [stderr] 14 | | if substr1 == "AC" || substr1 == "AG" || substr1 == "TG" || substr1 == "TC" || substr1 == "CC" { [INFO] [stderr] 15 | | // Assuming that this is physically valid [INFO] [stderr] 16 | | // let t = s.chars().rev().collect::(); [INFO] [stderr] 17 | | substr1 = substr1_initial.chars().rev().collect::(); [INFO] [stderr] 18 | | substr2 = substr2_initial.chars().rev().collect::(); [INFO] [stderr] 19 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let substr2 = if substr1 == "AC" || substr1 == "AG" || substr1 == "TG" || substr1 == "TC" || substr1 == "CC" { ..; substr2_initial.chars().rev().collect::() } else { substr2_initial.clone() };` [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: variable `deltaS` should have a snake case name such as `delta_s` [INFO] [stderr] --> src/main.rs:9:7 [INFO] [stderr] | [INFO] [stderr] 9 | let mut deltaS = 0.0; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `deltaH` should have a snake case name such as `delta_h` [INFO] [stderr] --> src/main.rs:10:7 [INFO] [stderr] | [INFO] [stderr] 10 | let mut deltaH = 0.0; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/main.rs:124:48 [INFO] [stderr] | [INFO] [stderr] 124 | } else if substr1 == "CA" && substr2 == "GG" { [INFO] [stderr] | ______________________________________________________^ [INFO] [stderr] 125 | | deltaS = -9.6; [INFO] [stderr] 126 | | deltaH = -2.9; [INFO] [stderr] 127 | | } else if substr1 == "CG" && substr2 == "GA" { [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/main.rs:121:48 [INFO] [stderr] | [INFO] [stderr] 121 | } else if substr1 == "AG" && substr2 == "TA" { [INFO] [stderr] | ______________________________________________________^ [INFO] [stderr] 122 | | deltaS = -9.6; [INFO] [stderr] 123 | | deltaH = -2.9; [INFO] [stderr] 124 | | } else if substr1 == "CA" && substr2 == "GG" { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: this `if` has the same condition as a previous if [INFO] [stderr] --> src/main.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | } else if substr1 == "GA" && substr2 == "CT" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::ifs_same_cond)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/main.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | } else if substr1 == "GA" && substr2 == "CT" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ifs_same_cond [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 70 [INFO] [stderr] --> src/main.rs:8:2 [INFO] [stderr] | [INFO] [stderr] 8 | fn deltaG_dinucleotide(&self, substr1_initial: String, substr2_initial: String) -> f64 { [INFO] [stderr] | _____^ [INFO] [stderr] 9 | | let mut deltaS = 0.0; [INFO] [stderr] 10 | | let mut deltaH = 0.0; [INFO] [stderr] 11 | | [INFO] [stderr] ... | [INFO] [stderr] 279 | | deltaG [INFO] [stderr] 280 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:277:3 [INFO] [stderr] | [INFO] [stderr] 277 | deltaS = deltaS/1000.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `deltaS /= 1000.0` [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: variable `deltaG` should have a snake case name such as `delta_g` [INFO] [stderr] --> src/main.rs:278:7 [INFO] [stderr] | [INFO] [stderr] 278 | let deltaG = deltaH - self.temperature * deltaS; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `initiation_termination_deltaG` should have a snake case name such as `initiation_termination_delta_g` [INFO] [stderr] --> src/main.rs:282:1 [INFO] [stderr] | [INFO] [stderr] 282 | / fn initiation_termination_deltaG(&self, template_nucleotide: String, oligo_nucleotide: String) -> f64 { [INFO] [stderr] 283 | | if (template_nucleotide == "A" && oligo_nucleotide == "T") || (template_nucleotide == "T" && oligo_nucleotide == "A") { [INFO] [stderr] 284 | | let deltaH = 9.62; [INFO] [stderr] 285 | | let deltaS = 17.15/1000.0; [INFO] [stderr] ... | [INFO] [stderr] 296 | | } [INFO] [stderr] 297 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `deltaH` should have a snake case name such as `delta_h` [INFO] [stderr] --> src/main.rs:284:7 [INFO] [stderr] | [INFO] [stderr] 284 | let deltaH = 9.62; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `deltaS` should have a snake case name such as `delta_s` [INFO] [stderr] --> src/main.rs:285:7 [INFO] [stderr] | [INFO] [stderr] 285 | let deltaS = 17.15/1000.0; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `deltaGinit` should have a snake case name such as `delta_ginit` [INFO] [stderr] --> src/main.rs:286:7 [INFO] [stderr] | [INFO] [stderr] 286 | let deltaGinit = deltaH - (self.temperature*deltaS); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `deltaH` should have a snake case name such as `delta_h` [INFO] [stderr] --> src/main.rs:289:7 [INFO] [stderr] | [INFO] [stderr] 289 | let deltaH = 0.4184; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `deltaS` should have a snake case name such as `delta_s` [INFO] [stderr] --> src/main.rs:290:7 [INFO] [stderr] | [INFO] [stderr] 290 | let deltaS = -11.72/1000.0; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `deltaGinit` should have a snake case name such as `delta_ginit` [INFO] [stderr] --> src/main.rs:291:7 [INFO] [stderr] | [INFO] [stderr] 291 | let deltaGinit = deltaH - (self.temperature*deltaS); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `calc_deltaG` should have a snake case name such as `calc_delta_g` [INFO] [stderr] --> src/main.rs:299:1 [INFO] [stderr] | [INFO] [stderr] 299 | / fn calc_deltaG(&self, template_piece: String) -> f64{ [INFO] [stderr] 300 | | let mut deltaG = 0.0; [INFO] [stderr] 301 | | println!("template piece: {:?}", template_piece); [INFO] [stderr] 302 | | for i in 0..(self.oligo.len()-1) { [INFO] [stderr] ... | [INFO] [stderr] 317 | | deltaG [INFO] [stderr] 318 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `deltaG` should have a snake case name such as `delta_g` [INFO] [stderr] --> src/main.rs:300:6 [INFO] [stderr] | [INFO] [stderr] 300 | let mut deltaG = 0.0; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `initiation_deltaG` should have a snake case name such as `initiation_delta_g` [INFO] [stderr] --> src/main.rs:303:7 [INFO] [stderr] | [INFO] [stderr] 303 | let mut initiation_deltaG = 0.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `dinucleotide_deltaG` should have a snake case name such as `dinucleotide_delta_g` [INFO] [stderr] --> src/main.rs:306:7 [INFO] [stderr] | [INFO] [stderr] 306 | let mut dinucleotide_deltaG = self.deltaG_dinucleotide(template_dinucleotide.clone(), oligo_dinucleotide.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `lowest_deltaG` should have a snake case name such as `lowest_delta_g` [INFO] [stderr] --> src/main.rs:320:2 [INFO] [stderr] | [INFO] [stderr] 320 | fn lowest_deltaG(&self) -> f64 { [INFO] [stderr] | _____^ [INFO] [stderr] 321 | | let mut lowestDeltaG = 0.0; [INFO] [stderr] 322 | | for i in 0..(self.template.len() - self.oligo.len()) { [INFO] [stderr] 323 | | let template_piece = self.template[i..(self.oligo.len()+i)].to_string(); [INFO] [stderr] ... | [INFO] [stderr] 329 | | lowestDeltaG [INFO] [stderr] 330 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variable `lowestDeltaG` should have a snake case name such as `lowest_delta_g` [INFO] [stderr] --> src/main.rs:321:7 [INFO] [stderr] | [INFO] [stderr] 321 | let mut lowestDeltaG = 0.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `currentDeltaG` should have a snake case name such as `current_delta_g` [INFO] [stderr] --> src/main.rs:324:8 [INFO] [stderr] | [INFO] [stderr] 324 | let currentDeltaG = self.calc_deltaG(template_piece); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `lowest_delta_G` should have a snake case name such as `lowest_delta_g` [INFO] [stderr] --> src/main.rs:339:6 [INFO] [stderr] | [INFO] [stderr] 339 | let lowest_delta_G = simulation.lowest_deltaG(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `anneal_predictor`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:13:3 [INFO] [stderr] | [INFO] [stderr] 13 | let mut substr2 = substr2_initial.clone(); [INFO] [stderr] | _________^ [INFO] [stderr] 14 | | if substr1 == "AC" || substr1 == "AG" || substr1 == "TG" || substr1 == "TC" || substr1 == "CC" { [INFO] [stderr] 15 | | // Assuming that this is physically valid [INFO] [stderr] 16 | | // let t = s.chars().rev().collect::(); [INFO] [stderr] 17 | | substr1 = substr1_initial.chars().rev().collect::(); [INFO] [stderr] 18 | | substr2 = substr2_initial.chars().rev().collect::(); [INFO] [stderr] 19 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let substr2 = if substr1 == "AC" || substr1 == "AG" || substr1 == "TG" || substr1 == "TC" || substr1 == "CC" { ..; substr2_initial.chars().rev().collect::() } else { substr2_initial.clone() };` [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: variable `deltaS` should have a snake case name such as `delta_s` [INFO] [stderr] --> src/main.rs:9:7 [INFO] [stderr] | [INFO] [stderr] 9 | let mut deltaS = 0.0; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `deltaH` should have a snake case name such as `delta_h` [INFO] [stderr] --> src/main.rs:10:7 [INFO] [stderr] | [INFO] [stderr] 10 | let mut deltaH = 0.0; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/main.rs:124:48 [INFO] [stderr] | [INFO] [stderr] 124 | } else if substr1 == "CA" && substr2 == "GG" { [INFO] [stderr] | ______________________________________________________^ [INFO] [stderr] 125 | | deltaS = -9.6; [INFO] [stderr] 126 | | deltaH = -2.9; [INFO] [stderr] 127 | | } else if substr1 == "CG" && substr2 == "GA" { [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/main.rs:121:48 [INFO] [stderr] | [INFO] [stderr] 121 | } else if substr1 == "AG" && substr2 == "TA" { [INFO] [stderr] | ______________________________________________________^ [INFO] [stderr] 122 | | deltaS = -9.6; [INFO] [stderr] 123 | | deltaH = -2.9; [INFO] [stderr] 124 | | } else if substr1 == "CA" && substr2 == "GG" { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: this `if` has the same condition as a previous if [INFO] [stderr] --> src/main.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | } else if substr1 == "GA" && substr2 == "CT" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::ifs_same_cond)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/main.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | } else if substr1 == "GA" && substr2 == "CT" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ifs_same_cond [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:277:3 [INFO] [stderr] | [INFO] [stderr] 277 | deltaS = deltaS/1000.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `deltaS /= 1000.0` [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: variable `deltaG` should have a snake case name such as `delta_g` [INFO] [stderr] --> src/main.rs:278:7 [INFO] [stderr] | [INFO] [stderr] 278 | let deltaG = deltaH - self.temperature * deltaS; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `initiation_termination_deltaG` should have a snake case name such as `initiation_termination_delta_g` [INFO] [stderr] --> src/main.rs:282:1 [INFO] [stderr] | [INFO] [stderr] 282 | / fn initiation_termination_deltaG(&self, template_nucleotide: String, oligo_nucleotide: String) -> f64 { [INFO] [stderr] 283 | | if (template_nucleotide == "A" && oligo_nucleotide == "T") || (template_nucleotide == "T" && oligo_nucleotide == "A") { [INFO] [stderr] 284 | | let deltaH = 9.62; [INFO] [stderr] 285 | | let deltaS = 17.15/1000.0; [INFO] [stderr] ... | [INFO] [stderr] 296 | | } [INFO] [stderr] 297 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `deltaH` should have a snake case name such as `delta_h` [INFO] [stderr] --> src/main.rs:284:7 [INFO] [stderr] | [INFO] [stderr] 284 | let deltaH = 9.62; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `deltaS` should have a snake case name such as `delta_s` [INFO] [stderr] --> src/main.rs:285:7 [INFO] [stderr] | [INFO] [stderr] 285 | let deltaS = 17.15/1000.0; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `deltaGinit` should have a snake case name such as `delta_ginit` [INFO] [stderr] --> src/main.rs:286:7 [INFO] [stderr] | [INFO] [stderr] 286 | let deltaGinit = deltaH - (self.temperature*deltaS); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `deltaH` should have a snake case name such as `delta_h` [INFO] [stderr] --> src/main.rs:289:7 [INFO] [stderr] | [INFO] [stderr] 289 | let deltaH = 0.4184; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `deltaS` should have a snake case name such as `delta_s` [INFO] [stderr] --> src/main.rs:290:7 [INFO] [stderr] | [INFO] [stderr] 290 | let deltaS = -11.72/1000.0; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `deltaGinit` should have a snake case name such as `delta_ginit` [INFO] [stderr] --> src/main.rs:291:7 [INFO] [stderr] | [INFO] [stderr] 291 | let deltaGinit = deltaH - (self.temperature*deltaS); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `calc_deltaG` should have a snake case name such as `calc_delta_g` [INFO] [stderr] --> src/main.rs:299:1 [INFO] [stderr] | [INFO] [stderr] 299 | / fn calc_deltaG(&self, template_piece: String) -> f64{ [INFO] [stderr] 300 | | let mut deltaG = 0.0; [INFO] [stderr] 301 | | println!("template piece: {:?}", template_piece); [INFO] [stderr] 302 | | for i in 0..(self.oligo.len()-1) { [INFO] [stderr] ... | [INFO] [stderr] 317 | | deltaG [INFO] [stderr] 318 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable `deltaG` should have a snake case name such as `delta_g` [INFO] [stderr] --> src/main.rs:300:6 [INFO] [stderr] | [INFO] [stderr] 300 | let mut deltaG = 0.0; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `initiation_deltaG` should have a snake case name such as `initiation_delta_g` [INFO] [stderr] --> src/main.rs:303:7 [INFO] [stderr] | [INFO] [stderr] 303 | let mut initiation_deltaG = 0.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `dinucleotide_deltaG` should have a snake case name such as `dinucleotide_delta_g` [INFO] [stderr] --> src/main.rs:306:7 [INFO] [stderr] | [INFO] [stderr] 306 | let mut dinucleotide_deltaG = self.deltaG_dinucleotide(template_dinucleotide.clone(), oligo_dinucleotide.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `lowest_deltaG` should have a snake case name such as `lowest_delta_g` [INFO] [stderr] --> src/main.rs:320:2 [INFO] [stderr] | [INFO] [stderr] 320 | fn lowest_deltaG(&self) -> f64 { [INFO] [stderr] | _____^ [INFO] [stderr] 321 | | let mut lowestDeltaG = 0.0; [INFO] [stderr] 322 | | for i in 0..(self.template.len() - self.oligo.len()) { [INFO] [stderr] 323 | | let template_piece = self.template[i..(self.oligo.len()+i)].to_string(); [INFO] [stderr] ... | [INFO] [stderr] 329 | | lowestDeltaG [INFO] [stderr] 330 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variable `lowestDeltaG` should have a snake case name such as `lowest_delta_g` [INFO] [stderr] --> src/main.rs:321:7 [INFO] [stderr] | [INFO] [stderr] 321 | let mut lowestDeltaG = 0.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `currentDeltaG` should have a snake case name such as `current_delta_g` [INFO] [stderr] --> src/main.rs:324:8 [INFO] [stderr] | [INFO] [stderr] 324 | let currentDeltaG = self.calc_deltaG(template_piece); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `lowest_delta_G` should have a snake case name such as `lowest_delta_g` [INFO] [stderr] --> src/main.rs:339:6 [INFO] [stderr] | [INFO] [stderr] 339 | let lowest_delta_G = simulation.lowest_deltaG(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `lowest_delta_G` should have a snake case name such as `lowest_delta_g` [INFO] [stderr] --> src/main.rs:354:7 [INFO] [stderr] | [INFO] [stderr] 354 | let lowest_delta_G = simulation.lowest_deltaG(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `anneal_predictor`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "c62a42546c4b3a0d9e6e857c10b3abfadc34927a014c793c386d52b59945d715"` [INFO] running `"docker" "rm" "-f" "c62a42546c4b3a0d9e6e857c10b3abfadc34927a014c793c386d52b59945d715"` [INFO] [stdout] c62a42546c4b3a0d9e6e857c10b3abfadc34927a014c793c386d52b59945d715