[INFO] cloning repository https://github.com/SE-691-Graphing-Calculator/esoteric_nonsense [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/SE-691-Graphing-Calculator/esoteric_nonsense" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSE-691-Graphing-Calculator%2Fesoteric_nonsense", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSE-691-Graphing-Calculator%2Fesoteric_nonsense'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] eebb8c856f69aabade6ff0ad99095d0dd967dc3a [INFO] testing SE-691-Graphing-Calculator/esoteric_nonsense against beta-2022-04-10 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSE-691-Graphing-Calculator%2Fesoteric_nonsense" "/workspace/builds/worker-14/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-14/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/SE-691-Graphing-Calculator/esoteric_nonsense on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/SE-691-Graphing-Calculator/esoteric_nonsense [INFO] finished tweaking git repo https://github.com/SE-691-Graphing-Calculator/esoteric_nonsense [INFO] tweaked toml for git repo https://github.com/SE-691-Graphing-Calculator/esoteric_nonsense written to /workspace/builds/worker-14/source/Cargo.toml [INFO] crate git repo https://github.com/SE-691-Graphing-Calculator/esoteric_nonsense already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: file found to be present in multiple build targets: /workspace/builds/worker-14/source/src/main.rs [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 9be4266226af1ebbe843c75236ae515ecfff0a57e1ea67466926585a330c00e3 [INFO] running `Command { std: "docker" "start" "-a" "9be4266226af1ebbe843c75236ae515ecfff0a57e1ea67466926585a330c00e3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9be4266226af1ebbe843c75236ae515ecfff0a57e1ea67466926585a330c00e3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9be4266226af1ebbe843c75236ae515ecfff0a57e1ea67466926585a330c00e3", kill_on_drop: false }` [INFO] [stdout] 9be4266226af1ebbe843c75236ae515ecfff0a57e1ea67466926585a330c00e3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 53cb9e8c9540a1c1bbed78fc672a2c48ecb7429cefb02023d4738fbae4d71fdf [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "53cb9e8c9540a1c1bbed78fc672a2c48ecb7429cefb02023d4738fbae4d71fdf", kill_on_drop: false }` [INFO] [stderr] warning: file found to be present in multiple build targets: /opt/rustwide/workdir/src/main.rs [INFO] [stderr] Compiling libc v0.2.86 [INFO] [stderr] Compiling getrandom v0.2.2 [INFO] [stderr] Compiling rand_core v0.6.1 [INFO] [stderr] Compiling rand_chacha v0.3.0 [INFO] [stderr] Compiling rand v0.8.3 [INFO] [stderr] Compiling eq_solve v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `y_lower` [INFO] [stdout] --> src/main.rs:163:85 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn func_of_x (expression: String, x_lower: f64, x_upper: f64, x_precision: f64, y_lower: f64, y_upper: f64) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_lower` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_upper` [INFO] [stdout] --> src/main.rs:163:99 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn func_of_x (expression: String, x_lower: f64, x_upper: f64, x_precision: f64, y_lower: f64, y_upper: f64) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `result` is never read [INFO] [stdout] --> src/matrix.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | let mut result: String = "".to_string(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rr_mat_b` [INFO] [stdout] --> src/matrix.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | let rr_mat_b = &mut r_mat_b; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rr_mat_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_lower` [INFO] [stdout] --> src/main.rs:163:85 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn func_of_x (expression: String, x_lower: f64, x_upper: f64, x_precision: f64, y_lower: f64, y_upper: f64) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_lower` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_upper` [INFO] [stdout] --> src/main.rs:163:99 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn func_of_x (expression: String, x_lower: f64, x_upper: f64, x_precision: f64, y_lower: f64, y_upper: f64) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/matrix.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | let mut is_float_a: bool; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/matrix.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | let mut is_float_a: bool; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/matrix.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | let mut is_float_b: bool; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `result` is never read [INFO] [stdout] --> src/matrix.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | let mut result: String = "".to_string(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rr_mat_b` [INFO] [stdout] --> src/matrix.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | let rr_mat_b = &mut r_mat_b; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rr_mat_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:49:27 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 49 | let op_c_str: &CStr = unsafe { CStr::from_ptr(op_ptr) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] = note: `#[allow(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:50:30 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 49 | let op_c_str: &CStr = unsafe { CStr::from_ptr(op_ptr) }; [INFO] [stdout] 50 | let cmd_1_c_str: &CStr = unsafe { CStr::from_ptr(cmd_1_ptr) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:51:30 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 51 | let mat_1_c_str: &CStr = unsafe { CStr::from_ptr(mat_1_ptr) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:52:30 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 52 | let cmd_2_c_str: &CStr = unsafe { CStr::from_ptr(cmd_2_ptr) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:53:30 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 53 | let mat_2_c_str: &CStr = unsafe { CStr::from_ptr(mat_2_ptr) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:55:32 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 55 | let b_empty_c_str: &CStr = unsafe { CStr::from_ptr(b_empty) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:73:34 [INFO] [stdout] | [INFO] [stdout] 72 | pub unsafe extern "C" fn conversions(conversion_type: *const c_char, from_unit: *const c_char, to_unit: *const c_char, units: f64) -> f64 { [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 73 | let conv_type_c_str: &CStr = unsafe { CStr::from_ptr(conversion_type) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:74:34 [INFO] [stdout] | [INFO] [stdout] 72 | pub unsafe extern "C" fn conversions(conversion_type: *const c_char, from_unit: *const c_char, to_unit: *const c_char, units: f64) -> f64 { [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 73 | let conv_type_c_str: &CStr = unsafe { CStr::from_ptr(conversion_type) }; [INFO] [stdout] 74 | let from_unit_c_str: &CStr = unsafe { CStr::from_ptr(from_unit) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:75:32 [INFO] [stdout] | [INFO] [stdout] 72 | pub unsafe extern "C" fn conversions(conversion_type: *const c_char, from_unit: *const c_char, to_unit: *const c_char, units: f64) -> f64 { [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 75 | let to_unit_c_str: &CStr = unsafe { CStr::from_ptr(to_unit) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:88:30 [INFO] [stdout] | [INFO] [stdout] 87 | pub unsafe extern "C" fn calculate_for_graph(expression_input: *const c_char, some_x: f64) -> f64 { [INFO] [stdout] | ------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 88 | let input_c_str: &CStr = unsafe { CStr::from_ptr(expression_input) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:97:30 [INFO] [stdout] | [INFO] [stdout] 96 | pub unsafe extern "C" fn calculate(input: *const c_char) -> f64 { [INFO] [stdout] | --------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 97 | let input_c_str: &CStr = unsafe { CStr::from_ptr(input)}; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:104:30 [INFO] [stdout] | [INFO] [stdout] 103 | pub unsafe extern "C" fn calculate_string(input: *const c_char) -> *mut c_char { [INFO] [stdout] | ------------------------------------------------------------------------------ because it's nested under this `unsafe` fn [INFO] [stdout] 104 | let input_c_str: &CStr = unsafe { CStr::from_ptr(input)}; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `main` [INFO] [stdout] --> src/main.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `WholeNumber` [INFO] [stdout] --> src/s_y.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | WholeNumber(i64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/s_y.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Debug, Clone, PartialEq)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/matrix.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | let mut is_float_a: bool; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `to_string_ast` [INFO] [stdout] --> src/s_y.rs:622:12 [INFO] [stdout] | [INFO] [stdout] 622 | pub fn to_string_ast(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `lower_upper_decomposition` [INFO] [stdout] --> src/matrix.rs:179:8 [INFO] [stdout] | [INFO] [stdout] 179 | pub fn lower_upper_decomposition(matrix: &Vec>) -> (Vec>, Vec>, Vec>, Vec>,) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pivotize_matrix` [INFO] [stdout] --> src/matrix.rs:211:8 [INFO] [stdout] | [INFO] [stdout] 211 | pub fn pivotize_matrix(matrix: &Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `identity_matrix` [INFO] [stdout] --> src/matrix.rs:241:8 [INFO] [stdout] | [INFO] [stdout] 241 | pub fn identity_matrix(n: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_square` [INFO] [stdout] --> src/matrix.rs:498:8 [INFO] [stdout] | [INFO] [stdout] 498 | pub fn is_square(matrix: &Vec>) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_rref_compat` [INFO] [stdout] --> src/matrix.rs:502:8 [INFO] [stdout] | [INFO] [stdout] 502 | pub fn is_rref_compat(matrix: &Vec>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/matrix.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | let mut is_float_a: bool; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/matrix.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | let mut is_float_b: bool; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:49:27 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 49 | let op_c_str: &CStr = unsafe { CStr::from_ptr(op_ptr) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] = note: `#[allow(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:50:30 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 49 | let op_c_str: &CStr = unsafe { CStr::from_ptr(op_ptr) }; [INFO] [stdout] 50 | let cmd_1_c_str: &CStr = unsafe { CStr::from_ptr(cmd_1_ptr) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:51:30 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 51 | let mat_1_c_str: &CStr = unsafe { CStr::from_ptr(mat_1_ptr) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:52:30 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 52 | let cmd_2_c_str: &CStr = unsafe { CStr::from_ptr(cmd_2_ptr) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:53:30 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 53 | let mat_2_c_str: &CStr = unsafe { CStr::from_ptr(mat_2_ptr) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:55:32 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 55 | let b_empty_c_str: &CStr = unsafe { CStr::from_ptr(b_empty) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:73:34 [INFO] [stdout] | [INFO] [stdout] 72 | pub unsafe extern "C" fn conversions(conversion_type: *const c_char, from_unit: *const c_char, to_unit: *const c_char, units: f64) -> f64 { [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 73 | let conv_type_c_str: &CStr = unsafe { CStr::from_ptr(conversion_type) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:74:34 [INFO] [stdout] | [INFO] [stdout] 72 | pub unsafe extern "C" fn conversions(conversion_type: *const c_char, from_unit: *const c_char, to_unit: *const c_char, units: f64) -> f64 { [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 73 | let conv_type_c_str: &CStr = unsafe { CStr::from_ptr(conversion_type) }; [INFO] [stdout] 74 | let from_unit_c_str: &CStr = unsafe { CStr::from_ptr(from_unit) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:75:32 [INFO] [stdout] | [INFO] [stdout] 72 | pub unsafe extern "C" fn conversions(conversion_type: *const c_char, from_unit: *const c_char, to_unit: *const c_char, units: f64) -> f64 { [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 75 | let to_unit_c_str: &CStr = unsafe { CStr::from_ptr(to_unit) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:88:30 [INFO] [stdout] | [INFO] [stdout] 87 | pub unsafe extern "C" fn calculate_for_graph(expression_input: *const c_char, some_x: f64) -> f64 { [INFO] [stdout] | ------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 88 | let input_c_str: &CStr = unsafe { CStr::from_ptr(expression_input) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:97:30 [INFO] [stdout] | [INFO] [stdout] 96 | pub unsafe extern "C" fn calculate(input: *const c_char) -> f64 { [INFO] [stdout] | --------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 97 | let input_c_str: &CStr = unsafe { CStr::from_ptr(input)}; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:104:30 [INFO] [stdout] | [INFO] [stdout] 103 | pub unsafe extern "C" fn calculate_string(input: *const c_char) -> *mut c_char { [INFO] [stdout] | ------------------------------------------------------------------------------ because it's nested under this `unsafe` fn [INFO] [stdout] 104 | let input_c_str: &CStr = unsafe { CStr::from_ptr(input)}; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `WholeNumber` [INFO] [stdout] --> src/s_y.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | WholeNumber(i64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/s_y.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Debug, Clone, PartialEq)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `to_string_ast` [INFO] [stdout] --> src/s_y.rs:622:12 [INFO] [stdout] | [INFO] [stdout] 622 | pub fn to_string_ast(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `lower_upper_decomposition` [INFO] [stdout] --> src/matrix.rs:179:8 [INFO] [stdout] | [INFO] [stdout] 179 | pub fn lower_upper_decomposition(matrix: &Vec>) -> (Vec>, Vec>, Vec>, Vec>,) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pivotize_matrix` [INFO] [stdout] --> src/matrix.rs:211:8 [INFO] [stdout] | [INFO] [stdout] 211 | pub fn pivotize_matrix(matrix: &Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `identity_matrix` [INFO] [stdout] --> src/matrix.rs:241:8 [INFO] [stdout] | [INFO] [stdout] 241 | pub fn identity_matrix(n: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_square` [INFO] [stdout] --> src/matrix.rs:498:8 [INFO] [stdout] | [INFO] [stdout] 498 | pub fn is_square(matrix: &Vec>) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_rref_compat` [INFO] [stdout] --> src/matrix.rs:502:8 [INFO] [stdout] | [INFO] [stdout] 502 | pub fn is_rref_compat(matrix: &Vec>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 26 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 11.91s [INFO] running `Command { std: "docker" "inspect" "53cb9e8c9540a1c1bbed78fc672a2c48ecb7429cefb02023d4738fbae4d71fdf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "53cb9e8c9540a1c1bbed78fc672a2c48ecb7429cefb02023d4738fbae4d71fdf", kill_on_drop: false }` [INFO] [stdout] 53cb9e8c9540a1c1bbed78fc672a2c48ecb7429cefb02023d4738fbae4d71fdf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 3d545c56b2ba95579713b00176867100baa0d61f9c08ddc025277279c118e233 [INFO] running `Command { std: "docker" "start" "-a" "3d545c56b2ba95579713b00176867100baa0d61f9c08ddc025277279c118e233", kill_on_drop: false }` [INFO] [stderr] warning: file found to be present in multiple build targets: /opt/rustwide/workdir/src/main.rs [INFO] [stderr] Compiling eq_solve v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `y_lower` [INFO] [stdout] --> src/main.rs:163:85 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn func_of_x (expression: String, x_lower: f64, x_upper: f64, x_precision: f64, y_lower: f64, y_upper: f64) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_lower` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_upper` [INFO] [stdout] --> src/main.rs:163:99 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn func_of_x (expression: String, x_lower: f64, x_upper: f64, x_precision: f64, y_lower: f64, y_upper: f64) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `result` is never read [INFO] [stdout] --> src/matrix.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | let mut result: String = "".to_string(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rr_mat_b` [INFO] [stdout] --> src/matrix.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | let rr_mat_b = &mut r_mat_b; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rr_mat_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/matrix.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | let mut is_float_a: bool; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/matrix.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | let mut is_float_a: bool; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/matrix.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | let mut is_float_b: bool; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_lower` [INFO] [stdout] --> src/main.rs:163:85 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn func_of_x (expression: String, x_lower: f64, x_upper: f64, x_precision: f64, y_lower: f64, y_upper: f64) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_lower` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_upper` [INFO] [stdout] --> src/main.rs:163:99 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn func_of_x (expression: String, x_lower: f64, x_upper: f64, x_precision: f64, y_lower: f64, y_upper: f64) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_upper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `result` is never read [INFO] [stdout] --> src/matrix.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | let mut result: String = "".to_string(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rr_mat_b` [INFO] [stdout] --> src/matrix.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | let rr_mat_b = &mut r_mat_b; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rr_mat_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/matrix.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | let mut is_float_a: bool; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/matrix.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | let mut is_float_a: bool; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/matrix.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | let mut is_float_b: bool; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:49:27 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 49 | let op_c_str: &CStr = unsafe { CStr::from_ptr(op_ptr) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] = note: `#[allow(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:50:30 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 49 | let op_c_str: &CStr = unsafe { CStr::from_ptr(op_ptr) }; [INFO] [stdout] 50 | let cmd_1_c_str: &CStr = unsafe { CStr::from_ptr(cmd_1_ptr) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:51:30 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 51 | let mat_1_c_str: &CStr = unsafe { CStr::from_ptr(mat_1_ptr) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:52:30 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 52 | let cmd_2_c_str: &CStr = unsafe { CStr::from_ptr(cmd_2_ptr) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:53:30 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 53 | let mat_2_c_str: &CStr = unsafe { CStr::from_ptr(mat_2_ptr) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:55:32 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 55 | let b_empty_c_str: &CStr = unsafe { CStr::from_ptr(b_empty) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:73:34 [INFO] [stdout] | [INFO] [stdout] 72 | pub unsafe extern "C" fn conversions(conversion_type: *const c_char, from_unit: *const c_char, to_unit: *const c_char, units: f64) -> f64 { [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 73 | let conv_type_c_str: &CStr = unsafe { CStr::from_ptr(conversion_type) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:74:34 [INFO] [stdout] | [INFO] [stdout] 72 | pub unsafe extern "C" fn conversions(conversion_type: *const c_char, from_unit: *const c_char, to_unit: *const c_char, units: f64) -> f64 { [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 73 | let conv_type_c_str: &CStr = unsafe { CStr::from_ptr(conversion_type) }; [INFO] [stdout] 74 | let from_unit_c_str: &CStr = unsafe { CStr::from_ptr(from_unit) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:75:32 [INFO] [stdout] | [INFO] [stdout] 72 | pub unsafe extern "C" fn conversions(conversion_type: *const c_char, from_unit: *const c_char, to_unit: *const c_char, units: f64) -> f64 { [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 75 | let to_unit_c_str: &CStr = unsafe { CStr::from_ptr(to_unit) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:88:30 [INFO] [stdout] | [INFO] [stdout] 87 | pub unsafe extern "C" fn calculate_for_graph(expression_input: *const c_char, some_x: f64) -> f64 { [INFO] [stdout] | ------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 88 | let input_c_str: &CStr = unsafe { CStr::from_ptr(expression_input) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:97:30 [INFO] [stdout] | [INFO] [stdout] 96 | pub unsafe extern "C" fn calculate(input: *const c_char) -> f64 { [INFO] [stdout] | --------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 97 | let input_c_str: &CStr = unsafe { CStr::from_ptr(input)}; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:104:30 [INFO] [stdout] | [INFO] [stdout] 103 | pub unsafe extern "C" fn calculate_string(input: *const c_char) -> *mut c_char { [INFO] [stdout] | ------------------------------------------------------------------------------ because it's nested under this `unsafe` fn [INFO] [stdout] 104 | let input_c_str: &CStr = unsafe { CStr::from_ptr(input)}; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `WholeNumber` [INFO] [stdout] --> src/s_y.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | WholeNumber(i64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/s_y.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Debug, Clone, PartialEq)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:49:27 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 49 | let op_c_str: &CStr = unsafe { CStr::from_ptr(op_ptr) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] = note: `#[allow(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:50:30 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 49 | let op_c_str: &CStr = unsafe { CStr::from_ptr(op_ptr) }; [INFO] [stdout] 50 | let cmd_1_c_str: &CStr = unsafe { CStr::from_ptr(cmd_1_ptr) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:51:30 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 51 | let mat_1_c_str: &CStr = unsafe { CStr::from_ptr(mat_1_ptr) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:52:30 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 52 | let cmd_2_c_str: &CStr = unsafe { CStr::from_ptr(cmd_2_ptr) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:53:30 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 53 | let mat_2_c_str: &CStr = unsafe { CStr::from_ptr(mat_2_ptr) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:55:32 [INFO] [stdout] | [INFO] [stdout] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 55 | let b_empty_c_str: &CStr = unsafe { CStr::from_ptr(b_empty) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:73:34 [INFO] [stdout] | [INFO] [stdout] 72 | pub unsafe extern "C" fn conversions(conversion_type: *const c_char, from_unit: *const c_char, to_unit: *const c_char, units: f64) -> f64 { [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 73 | let conv_type_c_str: &CStr = unsafe { CStr::from_ptr(conversion_type) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:74:34 [INFO] [stdout] | [INFO] [stdout] 72 | pub unsafe extern "C" fn conversions(conversion_type: *const c_char, from_unit: *const c_char, to_unit: *const c_char, units: f64) -> f64 { [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 73 | let conv_type_c_str: &CStr = unsafe { CStr::from_ptr(conversion_type) }; [INFO] [stdout] 74 | let from_unit_c_str: &CStr = unsafe { CStr::from_ptr(from_unit) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:75:32 [INFO] [stdout] | [INFO] [stdout] 72 | pub unsafe extern "C" fn conversions(conversion_type: *const c_char, from_unit: *const c_char, to_unit: *const c_char, units: f64) -> f64 { [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] ... [INFO] [stdout] 75 | let to_unit_c_str: &CStr = unsafe { CStr::from_ptr(to_unit) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:88:30 [INFO] [stdout] | [INFO] [stdout] 87 | pub unsafe extern "C" fn calculate_for_graph(expression_input: *const c_char, some_x: f64) -> f64 { [INFO] [stdout] | ------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 88 | let input_c_str: &CStr = unsafe { CStr::from_ptr(expression_input) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:97:30 [INFO] [stdout] | [INFO] [stdout] 96 | pub unsafe extern "C" fn calculate(input: *const c_char) -> f64 { [INFO] [stdout] | --------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stdout] 97 | let input_c_str: &CStr = unsafe { CStr::from_ptr(input)}; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/main.rs:104:30 [INFO] [stdout] | [INFO] [stdout] 103 | pub unsafe extern "C" fn calculate_string(input: *const c_char) -> *mut c_char { [INFO] [stdout] | ------------------------------------------------------------------------------ because it's nested under this `unsafe` fn [INFO] [stdout] 104 | let input_c_str: &CStr = unsafe { CStr::from_ptr(input)}; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `WholeNumber` [INFO] [stdout] --> src/s_y.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | WholeNumber(i64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/s_y.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Debug, Clone, PartialEq)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 20 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 20 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 4.73s [INFO] [stderr] Executable unittests src/main.rs (/opt/rustwide/target/debug/deps/calc-97ee2c5a494e1241) [INFO] [stderr] Executable unittests src/main.rs (/opt/rustwide/target/debug/deps/eq_solve-5cfdf755e99fdc57) [INFO] running `Command { std: "docker" "inspect" "3d545c56b2ba95579713b00176867100baa0d61f9c08ddc025277279c118e233", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3d545c56b2ba95579713b00176867100baa0d61f9c08ddc025277279c118e233", kill_on_drop: false }` [INFO] [stdout] 3d545c56b2ba95579713b00176867100baa0d61f9c08ddc025277279c118e233 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 230ca93107d886ddba649b1188e5ac53202539bac6552e635c0130adc83ed28f [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "230ca93107d886ddba649b1188e5ac53202539bac6552e635c0130adc83ed28f", kill_on_drop: false }` [INFO] [stderr] warning: file found to be present in multiple build targets: /opt/rustwide/workdir/src/main.rs [INFO] [stderr] warning: unused variable: `y_lower` [INFO] [stderr] --> src/main.rs:163:85 [INFO] [stderr] | [INFO] [stderr] 163 | pub fn func_of_x (expression: String, x_lower: f64, x_upper: f64, x_precision: f64, y_lower: f64, y_upper: f64) -> Vec { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_lower` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y_upper` [INFO] [stderr] --> src/main.rs:163:99 [INFO] [stderr] | [INFO] [stderr] 163 | pub fn func_of_x (expression: String, x_lower: f64, x_upper: f64, x_precision: f64, y_lower: f64, y_upper: f64) -> Vec { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_upper` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `result` is never read [INFO] [stderr] --> src/matrix.rs:6:13 [INFO] [stderr] | [INFO] [stderr] 6 | let mut result: String = "".to_string(); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rr_mat_b` [INFO] [stderr] --> src/matrix.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | let rr_mat_b = &mut r_mat_b; [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rr_mat_b` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/matrix.rs:9:13 [INFO] [stderr] | [INFO] [stderr] 9 | let mut is_float_a: bool; [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: variable does not need to be mutable [INFO] [stderr] --> src/matrix.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | let mut is_float_a: bool; [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/matrix.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | let mut is_float_b: bool; [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/main.rs:49:27 [INFO] [stderr] | [INFO] [stderr] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] 49 | let op_c_str: &CStr = unsafe { CStr::from_ptr(op_ptr) }; [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] = note: `#[allow(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/main.rs:50:30 [INFO] [stderr] | [INFO] [stderr] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] 49 | let op_c_str: &CStr = unsafe { CStr::from_ptr(op_ptr) }; [INFO] [stderr] 50 | let cmd_1_c_str: &CStr = unsafe { CStr::from_ptr(cmd_1_ptr) }; [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/main.rs:51:30 [INFO] [stderr] | [INFO] [stderr] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 51 | let mat_1_c_str: &CStr = unsafe { CStr::from_ptr(mat_1_ptr) }; [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/main.rs:52:30 [INFO] [stderr] | [INFO] [stderr] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 52 | let cmd_2_c_str: &CStr = unsafe { CStr::from_ptr(cmd_2_ptr) }; [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/main.rs:53:30 [INFO] [stderr] | [INFO] [stderr] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 53 | let mat_2_c_str: &CStr = unsafe { CStr::from_ptr(mat_2_ptr) }; [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/main.rs:55:32 [INFO] [stderr] | [INFO] [stderr] 48 | pub unsafe extern "C" fn matrices(op_ptr: *const c_char, cmd_1_ptr: *const c_char, mat_1_ptr: *const c_char, cmd_2_ptr: *const c_char, mat_2_ptr: *const c_char, scalar_1: f64, scalar_2: f64, b_empty: *const c_char) -> *mut c_cha... [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 55 | let b_empty_c_str: &CStr = unsafe { CStr::from_ptr(b_empty) }; [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/main.rs:73:34 [INFO] [stderr] | [INFO] [stderr] 72 | pub unsafe extern "C" fn conversions(conversion_type: *const c_char, from_unit: *const c_char, to_unit: *const c_char, units: f64) -> f64 { [INFO] [stderr] | ----------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] 73 | let conv_type_c_str: &CStr = unsafe { CStr::from_ptr(conversion_type) }; [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/main.rs:74:34 [INFO] [stderr] | [INFO] [stderr] 72 | pub unsafe extern "C" fn conversions(conversion_type: *const c_char, from_unit: *const c_char, to_unit: *const c_char, units: f64) -> f64 { [INFO] [stderr] | ----------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] 73 | let conv_type_c_str: &CStr = unsafe { CStr::from_ptr(conversion_type) }; [INFO] [stderr] 74 | let from_unit_c_str: &CStr = unsafe { CStr::from_ptr(from_unit) }; [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/main.rs:75:32 [INFO] [stderr] | [INFO] [stderr] 72 | pub unsafe extern "C" fn conversions(conversion_type: *const c_char, from_unit: *const c_char, to_unit: *const c_char, units: f64) -> f64 { [INFO] [stderr] | ----------------------------------------------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] ... [INFO] [stderr] 75 | let to_unit_c_str: &CStr = unsafe { CStr::from_ptr(to_unit) }; [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/main.rs:88:30 [INFO] [stderr] | [INFO] [stderr] 87 | pub unsafe extern "C" fn calculate_for_graph(expression_input: *const c_char, some_x: f64) -> f64 { [INFO] [stderr] | ------------------------------------------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] 88 | let input_c_str: &CStr = unsafe { CStr::from_ptr(expression_input) }; [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/main.rs:97:30 [INFO] [stderr] | [INFO] [stderr] 96 | pub unsafe extern "C" fn calculate(input: *const c_char) -> f64 { [INFO] [stderr] | --------------------------------------------------------------- because it's nested under this `unsafe` fn [INFO] [stderr] 97 | let input_c_str: &CStr = unsafe { CStr::from_ptr(input)}; [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/main.rs:104:30 [INFO] [stderr] | [INFO] [stderr] 103 | pub unsafe extern "C" fn calculate_string(input: *const c_char) -> *mut c_char { [INFO] [stderr] | ------------------------------------------------------------------------------ because it's nested under this `unsafe` fn [INFO] [stderr] 104 | let input_c_str: &CStr = unsafe { CStr::from_ptr(input)}; [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: this `unsafe` block does contain unsafe operations, but those are already allowed in an `unsafe fn` [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `WholeNumber` [INFO] [stderr] --> src/s_y.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | WholeNumber(i64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/s_y.rs:5:10 [INFO] [stderr] | [INFO] [stderr] 5 | #[derive(Debug, Clone, PartialEq)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `eq_solve` (bin "eq_solve" test) generated 20 warnings [INFO] [stderr] warning: `eq_solve` (lib test) generated 20 warnings (20 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/calc-97ee2c5a494e1241) [INFO] [stdout] [INFO] [stdout] running 51 tests [INFO] [stdout] test tests::test_det_c ... ok [INFO] [stdout] test tests::test_determinant_a ... ok [INFO] [stdout] test tests::test_divide ... ok [INFO] [stdout] test tests::test_ident_matrix_1 ... ok [INFO] [stdout] test tests::multiply_before_add ... ok [INFO] [stdout] test tests::test_det_b ... ok [INFO] [stdout] test tests::parenthesis_overrides_divide_before_add ... ok [INFO] [stdout] test tests::test_ident_matrix_3 ... ok [INFO] [stdout] test tests::test_is_rref_compat_false ... ok [INFO] [stdout] test tests::test_is_rref_compat_true ... ok [INFO] [stdout] test tests::test_is_square_false ... ok [INFO] [stdout] test tests::divide_before_subtract ... ok [INFO] [stdout] test tests::test_cos ... ok [INFO] [stdout] test tests::divide_before_add ... ok [INFO] [stdout] test tests::test_lu_decomp_permute ... ok [INFO] [stdout] test tests::test_lu_decomp_upper ... ok [INFO] [stdout] test tests::test_lu_decomp_lower ... ok [INFO] [stdout] test tests::test_is_square_true ... ok [INFO] [stdout] test tests::test_log ... ok [INFO] [stdout] test tests::test_ln ... ok [INFO] [stdout] test tests::test_matrix_add ... ok [INFO] [stdout] test tests::test_matrix_from_string ... ok [INFO] [stdout] test tests::test_matrix_multiplication ... ok [INFO] [stdout] test tests::test_matrix_subtract ... ok [INFO] [stdout] test tests::test_multiply ... ok [INFO] [stdout] test tests::test_lu_decom_prime ... ok [INFO] [stdout] test tests::test_abs ... ok [INFO] [stdout] test tests::parenthesis_overrides_multiply_before_subtract ... ok [INFO] [stdout] test tests::parenthesis_overrides_divide_before_subtract ... ok [INFO] [stdout] test tests::test_add ... ok [INFO] [stdout] test tests::powers_before_everything ... ok [INFO] [stdout] test tests::test_sin ... ok [INFO] [stdout] test tests::test_sqrt ... ok [INFO] [stdout] test tests::parenthesis_overrides_multiply_before_add ... ok [INFO] [stdout] test tests::test_subtract ... ok [INFO] [stdout] test tests::test_tan ... ok [INFO] [stdout] test tests::test_perm_b ... ok [INFO] [stdout] test tests::test_perm_c ... ok [INFO] [stdout] test tests::test_permanent_a ... ok [INFO] [stdout] test tests::test_pivot_matrix ... ok [INFO] [stdout] test tests::test_power ... ok [INFO] [stdout] test tests::test_transpose ... ok [INFO] [stdout] test tests::test_zero_matrix_a ... ok [INFO] [stdout] test tests::test_reduced_row_echelon ... ok [INFO] [stdout] test tests::test_scalar_mult ... ok [INFO] [stdout] test tests::test_sec ... ok [INFO] [stdout] test tests::test_string_from_matrix ... ok [INFO] [stdout] test tests::test_zero_matrix_b ... ok [INFO] [stdout] test tests::test_zero_matrix_c ... ok [INFO] [stdout] test tests::parenthesis_overrides_powers_before_everything ... ok [INFO] [stdout] test tests::multiply_before_subtract ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 51 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/eq_solve-5cfdf755e99fdc57) [INFO] [stdout] [INFO] [stdout] running 51 tests [INFO] [stdout] test tests::multiply_before_add ... ok [INFO] [stdout] test tests::test_determinant_a ... ok [INFO] [stdout] test tests::test_divide ... ok [INFO] [stdout] test tests::parenthesis_overrides_powers_before_everything ... ok [INFO] [stdout] test tests::parenthesis_overrides_multiply_before_subtract ... ok [INFO] [stdout] test tests::parenthesis_overrides_divide_before_subtract ... ok [INFO] [stdout] test tests::powers_before_everything ... ok [INFO] [stdout] test tests::test_abs ... ok [INFO] [stdout] test tests::divide_before_subtract ... ok [INFO] [stdout] test tests::divide_before_add ... ok [INFO] [stdout] test tests::parenthesis_overrides_divide_before_add ... ok [INFO] [stdout] test tests::test_det_c ... ok [INFO] [stdout] test tests::multiply_before_subtract ... ok [INFO] [stdout] test tests::test_det_b ... ok [INFO] [stdout] test tests::test_lu_decomp_lower ... ok [INFO] [stdout] test tests::parenthesis_overrides_multiply_before_add ... ok [INFO] [stdout] test tests::test_lu_decom_prime ... ok [INFO] [stdout] test tests::test_matrix_add ... ok [INFO] [stdout] test tests::test_lu_decomp_upper ... ok [INFO] [stdout] test tests::test_matrix_from_string ... ok [INFO] [stdout] test tests::test_matrix_subtract ... ok [INFO] [stdout] test tests::test_matrix_multiplication ... ok [INFO] [stdout] test tests::test_perm_b ... ok [INFO] [stdout] test tests::test_multiply ... ok [INFO] [stdout] test tests::test_permanent_a ... ok [INFO] [stdout] test tests::test_perm_c ... ok [INFO] [stdout] test tests::test_pivot_matrix ... ok [INFO] [stdout] test tests::test_reduced_row_echelon ... ok [INFO] [stdout] test tests::test_power ... ok [INFO] [stdout] test tests::test_sec ... ok [INFO] [stdout] test tests::test_scalar_mult ... ok [INFO] [stdout] test tests::test_sin ... ok [INFO] [stdout] test tests::test_string_from_matrix ... ok [INFO] [stdout] test tests::test_sqrt ... ok [INFO] [stdout] test tests::test_is_square_true ... ok [INFO] [stdout] test tests::test_add ... ok [INFO] [stdout] test tests::test_log ... ok [INFO] [stdout] test tests::test_is_rref_compat_true ... ok [INFO] [stdout] test tests::test_lu_decomp_permute ... ok [INFO] [stdout] test tests::test_is_square_false ... ok [INFO] [stdout] test tests::test_subtract ... ok [INFO] [stdout] test tests::test_tan ... ok [INFO] [stdout] test tests::test_is_rref_compat_false ... ok [INFO] [stdout] test tests::test_transpose ... ok [INFO] [stdout] test tests::test_zero_matrix_c ... ok [INFO] [stdout] test tests::test_ident_matrix_1 ... ok [INFO] [stdout] test tests::test_zero_matrix_a ... ok [INFO] [stdout] test tests::test_zero_matrix_b ... ok [INFO] [stdout] test tests::test_cos ... ok [INFO] [stdout] test tests::test_ln ... ok [INFO] [stdout] test tests::test_ident_matrix_3 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 51 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "230ca93107d886ddba649b1188e5ac53202539bac6552e635c0130adc83ed28f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "230ca93107d886ddba649b1188e5ac53202539bac6552e635c0130adc83ed28f", kill_on_drop: false }` [INFO] [stdout] 230ca93107d886ddba649b1188e5ac53202539bac6552e635c0130adc83ed28f