[INFO] updating cached repository Vogte999/analysis-calculatr [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/Vogte999/analysis-calculatr [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/Vogte999/analysis-calculatr" "work/ex/clippy-test-run/sources/stable/gh/Vogte999/analysis-calculatr"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/Vogte999/analysis-calculatr'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/Vogte999/analysis-calculatr" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Vogte999/analysis-calculatr"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Vogte999/analysis-calculatr'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 9d56acfdb11bf03cba1575051b1ea3a7059ab936 [INFO] sha for GitHub repo Vogte999/analysis-calculatr: 9d56acfdb11bf03cba1575051b1ea3a7059ab936 [INFO] validating manifest of Vogte999/analysis-calculatr 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 Vogte999/analysis-calculatr 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 Vogte999/analysis-calculatr [INFO] finished frobbing Vogte999/analysis-calculatr [INFO] frobbed toml for Vogte999/analysis-calculatr written to work/ex/clippy-test-run/sources/stable/gh/Vogte999/analysis-calculatr/Cargo.toml [INFO] started frobbing Vogte999/analysis-calculatr [INFO] finished frobbing Vogte999/analysis-calculatr [INFO] frobbed toml for Vogte999/analysis-calculatr written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Vogte999/analysis-calculatr/Cargo.toml [INFO] crate Vogte999/analysis-calculatr 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 Vogte999/analysis-calculatr 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-2/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/Vogte999/analysis-calculatr:/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] f65147403a2d3d92a83047730dfa5bfb69ca4665a3cc1b3151ba70aa92181ae4 [INFO] running `"docker" "start" "-a" "f65147403a2d3d92a83047730dfa5bfb69ca4665a3cc1b3151ba70aa92181ae4"` [INFO] [stderr] Checking analysis-calculatr v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/fmath.rs:1:23 [INFO] [stderr] | [INFO] [stderr] 1 | static ACCURACY:f64 = 100000.0; [INFO] [stderr] | ^^^^^^^^ help: consider: `100_000.0` [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/fmath.rs:1:23 [INFO] [stderr] | [INFO] [stderr] 1 | static ACCURACY:f64 = 100000.0; [INFO] [stderr] | ^^^^^^^^ help: consider: `100_000.0` [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: unused variable: `a` [INFO] [stderr] --> src/main.rs:51:22 [INFO] [stderr] | [INFO] [stderr] 51 | for (a, n) in response_0 { [INFO] [stderr] | ^ help: consider using `_a` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/main.rs:92:31 [INFO] [stderr] | [INFO] [stderr] 92 | }else if let Some(value) = fractions.get(&input[7..input.len()-3]) { //search for function in memory [INFO] [stderr] | ^^^^^ help: consider using `_value` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/main.rs:104:31 [INFO] [stderr] | [INFO] [stderr] 104 | }else if let Some(value) = fractions.get(&input[0..1]) { [INFO] [stderr] | ^^^^^ help: consider using `_value` instead [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/function_parser.rs:19:104 [INFO] [stderr] | [INFO] [stderr] 19 | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '0' => {state = 3; memory = (c.to_digit(10).unwrap() as f64, 0); dezplace = 10}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(c.to_digit(10).unwrap())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/function_parser.rs:26:98 [INFO] [stderr] | [INFO] [stderr] 26 | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' => {state = 3; memory = (c.to_digit(10).unwrap() as f64, 0)}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(c.to_digit(10).unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/function_parser.rs:49:51 [INFO] [stderr] | [INFO] [stderr] 49 | memory = (memory.0*10.0 + c.to_digit(10).unwrap() as f64, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(c.to_digit(10).unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/function_parser.rs:95:46 [INFO] [stderr] | [INFO] [stderr] 95 | memory = (memory.0 + (c.to_digit(10).unwrap() as f64)/(dezplace as f64), 0); dezplace = dezplace * 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(c.to_digit(10).unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/function_parser.rs:95:102 [INFO] [stderr] | [INFO] [stderr] 95 | memory = (memory.0 + (c.to_digit(10).unwrap() as f64)/(dezplace as f64), 0); dezplace = dezplace * 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `dezplace *= 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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/function_parser.rs:116:28 [INFO] [stderr] | [INFO] [stderr] 116 | pub fn func_to_string(func:&Vec<(f64, isize)>)->String{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[(f64, isize)]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `func` [INFO] [stderr] --> src/function_parser.rs:118:14 [INFO] [stderr] | [INFO] [stderr] 118 | for i in 0 .. (func.len()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 118 | for (i, ) in func.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/function_parser.rs:121:16 [INFO] [stderr] | [INFO] [stderr] 121 | if func[i].0 != - 1.0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(func[i].0 - - 1.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/function_parser.rs:121:16 [INFO] [stderr] | [INFO] [stderr] 121 | if func[i].0 != - 1.0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/function_parser.rs:126:16 [INFO] [stderr] | [INFO] [stderr] 126 | if (func[i].0 != 1.0) || (func[i].1 == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(func[i].0 - 1.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/function_parser.rs:126:16 [INFO] [stderr] | [INFO] [stderr] 126 | if (func[i].0 != 1.0) || (func[i].1 == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/function_parser.rs:129:19 [INFO] [stderr] | [INFO] [stderr] 129 | } else if (func[i].0 != 1.0) || (func[i].1 == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(func[i].0 - 1.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/function_parser.rs:129:19 [INFO] [stderr] | [INFO] [stderr] 129 | } else if (func[i].0 != 1.0) || (func[i].1 == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/function_parser.rs:143:33 [INFO] [stderr] | [INFO] [stderr] 143 | pub fn fraction_to_string(func: &(Vec<(f64, isize)>, Vec<(f64, isize)>)) -> String{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/main.rs:51:22 [INFO] [stderr] | [INFO] [stderr] 51 | for (a, n) in response_0 { [INFO] [stderr] | ^ help: consider using `_a` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/main.rs:92:31 [INFO] [stderr] | [INFO] [stderr] 92 | }else if let Some(value) = fractions.get(&input[7..input.len()-3]) { //search for function in memory [INFO] [stderr] | ^^^^^ help: consider using `_value` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/main.rs:104:31 [INFO] [stderr] | [INFO] [stderr] 104 | }else if let Some(value) = fractions.get(&input[0..1]) { [INFO] [stderr] | ^^^^^ help: consider using `_value` instead [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/function_parser.rs:201:43 [INFO] [stderr] | [INFO] [stderr] 201 | }else if (n == middle) && (vec1.len() == 0) && !middle_counter{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `vec1.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: length comparison to zero [INFO] [stderr] --> src/function_parser.rs:227:12 [INFO] [stderr] | [INFO] [stderr] 227 | if merged.len() == 0{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `merged.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/function_parser.rs:251:100 [INFO] [stderr] | [INFO] [stderr] 251 | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '0' => {x = x*10.0 + c.to_digit(10).unwrap() as f64; state = 0}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(c.to_digit(10).unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/function_parser.rs:258:87 [INFO] [stderr] | [INFO] [stderr] 258 | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '0' => {x = x + (c.to_digit(10).unwrap() as f64)/(dezplace as f64); dezplace = dezplace * 10}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `x += (c.to_digit(10).unwrap() as f64)/(dezplace as f64)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/function_parser.rs:258:95 [INFO] [stderr] | [INFO] [stderr] 258 | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '0' => {x = x + (c.to_digit(10).unwrap() as f64)/(dezplace as f64); dezplace = dezplace * 10}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(c.to_digit(10).unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/function_parser.rs:258:147 [INFO] [stderr] | [INFO] [stderr] 258 | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '0' => {x = x + (c.to_digit(10).unwrap() as f64)/(dezplace as f64); dezplace = dezplace * 10}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `dezplace *= 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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/function_parser.rs:269:42 [INFO] [stderr] | [INFO] [stderr] 269 | pub fn into_fraction_representation(func:&Vec<(f64, isize)>) -> (Vec<(f64, isize)>, Vec<(f64, isize)>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[(f64, isize)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/function_parser.rs:269:65 [INFO] [stderr] | [INFO] [stderr] 269 | pub fn into_fraction_representation(func:&Vec<(f64, isize)>) -> (Vec<(f64, isize)>, Vec<(f64, isize)>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/function_parser.rs:298:8 [INFO] [stderr] | [INFO] [stderr] 298 | if numerator.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `numerator.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/fmath.rs:5:20 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn derive(func:&Vec<(f64, isize)>)->Vec<(f64, isize)>{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[(f64, isize)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/fmath.rs:22:30 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn get_y_for(x:f64, func:&Vec<(f64, isize)>)->f64{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[(f64, isize)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/fmath.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | result = result + (a * x.powf(n as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `result += (a * x.powf(n as f64))` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/fmath.rs:32:23 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn get_zeros(func:&Vec<(f64, isize)>)->Vec{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[(f64, isize)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/fmath.rs:65:25 [INFO] [stderr] | [INFO] [stderr] 65 | if ((values.len() >= 1) && (new_zero != values[values.len()-1])) || (values.len() == 0){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!values.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/fmath.rs:65:48 [INFO] [stderr] | [INFO] [stderr] 65 | if ((values.len() >= 1) && (new_zero != values[values.len()-1])) || (values.len() == 0){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(new_zero - values[values.len()-1]).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/fmath.rs:65:48 [INFO] [stderr] | [INFO] [stderr] 65 | if ((values.len() >= 1) && (new_zero != values[values.len()-1])) || (values.len() == 0){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/fmath.rs:65:89 [INFO] [stderr] | [INFO] [stderr] 65 | if ((values.len() >= 1) && (new_zero != values[values.len()-1])) || (values.len() == 0){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `values.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/fmath.rs:77:17 [INFO] [stderr] | [INFO] [stderr] 77 | if ((values.len() >= 1) && (new_zero != values[values.len()-1])) || (values.len() == 0){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!values.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/fmath.rs:77:40 [INFO] [stderr] | [INFO] [stderr] 77 | if ((values.len() >= 1) && (new_zero != values[values.len()-1])) || (values.len() == 0){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(new_zero - values[values.len()-1]).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/fmath.rs:77:40 [INFO] [stderr] | [INFO] [stderr] 77 | if ((values.len() >= 1) && (new_zero != values[values.len()-1])) || (values.len() == 0){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/fmath.rs:77:81 [INFO] [stderr] | [INFO] [stderr] 77 | if ((values.len() >= 1) && (new_zero != values[values.len()-1])) || (values.len() == 0){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `values.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/fmath.rs:87:33 [INFO] [stderr] | [INFO] [stderr] 87 | fn newton_alg(x_start:f64, func:&Vec<(f64, isize)>)->(f64, bool){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[(f64, isize)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:280:21 [INFO] [stderr] | [INFO] [stderr] 280 | cursor_pos = cursor_pos + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cursor_pos += 1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:289:21 [INFO] [stderr] | [INFO] [stderr] 289 | cursor_pos = cursor_pos - 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cursor_pos -= 1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:295:21 [INFO] [stderr] | [INFO] [stderr] 295 | cursor_pos = cursor_pos + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cursor_pos += 1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:304:25 [INFO] [stderr] | [INFO] [stderr] 304 | cursor_pos = cursor_pos - 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cursor_pos -= 1` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:331:34 [INFO] [stderr] | [INFO] [stderr] 331 | fn string_with_superscript(input:&String)->String{ [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `analysis-calculatr`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/function_parser.rs:19:104 [INFO] [stderr] | [INFO] [stderr] 19 | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '0' => {state = 3; memory = (c.to_digit(10).unwrap() as f64, 0); dezplace = 10}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(c.to_digit(10).unwrap())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/function_parser.rs:26:98 [INFO] [stderr] | [INFO] [stderr] 26 | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' => {state = 3; memory = (c.to_digit(10).unwrap() as f64, 0)}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(c.to_digit(10).unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/function_parser.rs:49:51 [INFO] [stderr] | [INFO] [stderr] 49 | memory = (memory.0*10.0 + c.to_digit(10).unwrap() as f64, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(c.to_digit(10).unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/function_parser.rs:95:46 [INFO] [stderr] | [INFO] [stderr] 95 | memory = (memory.0 + (c.to_digit(10).unwrap() as f64)/(dezplace as f64), 0); dezplace = dezplace * 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(c.to_digit(10).unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/function_parser.rs:95:102 [INFO] [stderr] | [INFO] [stderr] 95 | memory = (memory.0 + (c.to_digit(10).unwrap() as f64)/(dezplace as f64), 0); dezplace = dezplace * 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `dezplace *= 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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/function_parser.rs:116:28 [INFO] [stderr] | [INFO] [stderr] 116 | pub fn func_to_string(func:&Vec<(f64, isize)>)->String{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[(f64, isize)]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `func` [INFO] [stderr] --> src/function_parser.rs:118:14 [INFO] [stderr] | [INFO] [stderr] 118 | for i in 0 .. (func.len()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 118 | for (i, ) in func.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/function_parser.rs:121:16 [INFO] [stderr] | [INFO] [stderr] 121 | if func[i].0 != - 1.0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(func[i].0 - - 1.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/function_parser.rs:121:16 [INFO] [stderr] | [INFO] [stderr] 121 | if func[i].0 != - 1.0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/function_parser.rs:126:16 [INFO] [stderr] | [INFO] [stderr] 126 | if (func[i].0 != 1.0) || (func[i].1 == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(func[i].0 - 1.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/function_parser.rs:126:16 [INFO] [stderr] | [INFO] [stderr] 126 | if (func[i].0 != 1.0) || (func[i].1 == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/function_parser.rs:129:19 [INFO] [stderr] | [INFO] [stderr] 129 | } else if (func[i].0 != 1.0) || (func[i].1 == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(func[i].0 - 1.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/function_parser.rs:129:19 [INFO] [stderr] | [INFO] [stderr] 129 | } else if (func[i].0 != 1.0) || (func[i].1 == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/function_parser.rs:143:33 [INFO] [stderr] | [INFO] [stderr] 143 | pub fn fraction_to_string(func: &(Vec<(f64, isize)>, Vec<(f64, isize)>)) -> String{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/function_parser.rs:201:43 [INFO] [stderr] | [INFO] [stderr] 201 | }else if (n == middle) && (vec1.len() == 0) && !middle_counter{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `vec1.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: length comparison to zero [INFO] [stderr] --> src/function_parser.rs:227:12 [INFO] [stderr] | [INFO] [stderr] 227 | if merged.len() == 0{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `merged.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/function_parser.rs:251:100 [INFO] [stderr] | [INFO] [stderr] 251 | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '0' => {x = x*10.0 + c.to_digit(10).unwrap() as f64; state = 0}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(c.to_digit(10).unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/function_parser.rs:258:87 [INFO] [stderr] | [INFO] [stderr] 258 | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '0' => {x = x + (c.to_digit(10).unwrap() as f64)/(dezplace as f64); dezplace = dezplace * 10}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `x += (c.to_digit(10).unwrap() as f64)/(dezplace as f64)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/function_parser.rs:258:95 [INFO] [stderr] | [INFO] [stderr] 258 | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '0' => {x = x + (c.to_digit(10).unwrap() as f64)/(dezplace as f64); dezplace = dezplace * 10}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(c.to_digit(10).unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/function_parser.rs:258:147 [INFO] [stderr] | [INFO] [stderr] 258 | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '0' => {x = x + (c.to_digit(10).unwrap() as f64)/(dezplace as f64); dezplace = dezplace * 10}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `dezplace *= 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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/function_parser.rs:269:42 [INFO] [stderr] | [INFO] [stderr] 269 | pub fn into_fraction_representation(func:&Vec<(f64, isize)>) -> (Vec<(f64, isize)>, Vec<(f64, isize)>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[(f64, isize)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/function_parser.rs:269:65 [INFO] [stderr] | [INFO] [stderr] 269 | pub fn into_fraction_representation(func:&Vec<(f64, isize)>) -> (Vec<(f64, isize)>, Vec<(f64, isize)>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/function_parser.rs:298:8 [INFO] [stderr] | [INFO] [stderr] 298 | if numerator.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `numerator.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/fmath.rs:5:20 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn derive(func:&Vec<(f64, isize)>)->Vec<(f64, isize)>{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[(f64, isize)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/fmath.rs:22:30 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn get_y_for(x:f64, func:&Vec<(f64, isize)>)->f64{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[(f64, isize)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/fmath.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | result = result + (a * x.powf(n as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `result += (a * x.powf(n as f64))` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/fmath.rs:32:23 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn get_zeros(func:&Vec<(f64, isize)>)->Vec{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[(f64, isize)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/fmath.rs:65:25 [INFO] [stderr] | [INFO] [stderr] 65 | if ((values.len() >= 1) && (new_zero != values[values.len()-1])) || (values.len() == 0){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!values.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/fmath.rs:65:48 [INFO] [stderr] | [INFO] [stderr] 65 | if ((values.len() >= 1) && (new_zero != values[values.len()-1])) || (values.len() == 0){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(new_zero - values[values.len()-1]).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/fmath.rs:65:48 [INFO] [stderr] | [INFO] [stderr] 65 | if ((values.len() >= 1) && (new_zero != values[values.len()-1])) || (values.len() == 0){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/fmath.rs:65:89 [INFO] [stderr] | [INFO] [stderr] 65 | if ((values.len() >= 1) && (new_zero != values[values.len()-1])) || (values.len() == 0){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `values.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/fmath.rs:77:17 [INFO] [stderr] | [INFO] [stderr] 77 | if ((values.len() >= 1) && (new_zero != values[values.len()-1])) || (values.len() == 0){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!values.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/fmath.rs:77:40 [INFO] [stderr] | [INFO] [stderr] 77 | if ((values.len() >= 1) && (new_zero != values[values.len()-1])) || (values.len() == 0){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(new_zero - values[values.len()-1]).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/fmath.rs:77:40 [INFO] [stderr] | [INFO] [stderr] 77 | if ((values.len() >= 1) && (new_zero != values[values.len()-1])) || (values.len() == 0){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/fmath.rs:77:81 [INFO] [stderr] | [INFO] [stderr] 77 | if ((values.len() >= 1) && (new_zero != values[values.len()-1])) || (values.len() == 0){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `values.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/fmath.rs:87:33 [INFO] [stderr] | [INFO] [stderr] 87 | fn newton_alg(x_start:f64, func:&Vec<(f64, isize)>)->(f64, bool){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[(f64, isize)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:280:21 [INFO] [stderr] | [INFO] [stderr] 280 | cursor_pos = cursor_pos + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cursor_pos += 1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:289:21 [INFO] [stderr] | [INFO] [stderr] 289 | cursor_pos = cursor_pos - 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cursor_pos -= 1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:295:21 [INFO] [stderr] | [INFO] [stderr] 295 | cursor_pos = cursor_pos + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cursor_pos += 1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:304:25 [INFO] [stderr] | [INFO] [stderr] 304 | cursor_pos = cursor_pos - 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cursor_pos -= 1` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:331:34 [INFO] [stderr] | [INFO] [stderr] 331 | fn string_with_superscript(input:&String)->String{ [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `analysis-calculatr`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "f65147403a2d3d92a83047730dfa5bfb69ca4665a3cc1b3151ba70aa92181ae4"` [INFO] running `"docker" "rm" "-f" "f65147403a2d3d92a83047730dfa5bfb69ca4665a3cc1b3151ba70aa92181ae4"` [INFO] [stdout] f65147403a2d3d92a83047730dfa5bfb69ca4665a3cc1b3151ba70aa92181ae4