[INFO] cloning repository https://github.com/m0tivus/example-random_forest-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/m0tivus/example-random_forest-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fm0tivus%2Fexample-random_forest-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fm0tivus%2Fexample-random_forest-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1802040e41fa1ed34d293bd07c22c4d90478e9bf [INFO] checking m0tivus/example-random_forest-rust against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fm0tivus%2Fexample-random_forest-rust" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] [stderr] Updating files: 60% (819/1347) Updating files: 61% (822/1347) Updating files: 62% (836/1347) Updating files: 63% (849/1347) Updating files: 64% (863/1347) Updating files: 65% (876/1347) Updating files: 66% (890/1347) Updating files: 67% (903/1347) Updating files: 68% (916/1347) Updating files: 69% (930/1347) Updating files: 70% (943/1347) Updating files: 71% (957/1347) Updating files: 72% (970/1347) Updating files: 73% (984/1347) Updating files: 74% (997/1347) Updating files: 75% (1011/1347) Updating files: 76% (1024/1347) Updating files: 77% (1038/1347) Updating files: 78% (1051/1347) Updating files: 79% (1065/1347) Updating files: 80% (1078/1347) Updating files: 81% (1092/1347) Updating files: 82% (1105/1347) Updating files: 83% (1119/1347) Updating files: 84% (1132/1347) Updating files: 85% (1145/1347) Updating files: 86% (1159/1347) Updating files: 87% (1172/1347) Updating files: 88% (1186/1347) Updating files: 89% (1199/1347) Updating files: 90% (1213/1347) Updating files: 91% (1226/1347) Updating files: 92% (1240/1347) Updating files: 92% (1245/1347) Updating files: 93% (1253/1347) Updating files: 94% (1267/1347) Updating files: 95% (1280/1347) Updating files: 96% (1294/1347) Updating files: 97% (1307/1347) Updating files: 98% (1321/1347) Updating files: 99% (1334/1347) Updating files: 100% (1347/1347) Updating files: 100% (1347/1347), done. [INFO] validating manifest of git repo https://github.com/m0tivus/example-random_forest-rust on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/m0tivus/example-random_forest-rust [INFO] finished tweaking git repo https://github.com/m0tivus/example-random_forest-rust [INFO] tweaked toml for git repo https://github.com/m0tivus/example-random_forest-rust written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/m0tivus/example-random_forest-rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a5684d08539782a0ed919845fce2be51a1540ea6a8f1da4b210fda6552539d69 [INFO] running `Command { std: "docker" "start" "-a" "a5684d08539782a0ed919845fce2be51a1540ea6a8f1da4b210fda6552539d69", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a5684d08539782a0ed919845fce2be51a1540ea6a8f1da4b210fda6552539d69", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a5684d08539782a0ed919845fce2be51a1540ea6a8f1da4b210fda6552539d69", kill_on_drop: false }` [INFO] [stdout] a5684d08539782a0ed919845fce2be51a1540ea6a8f1da4b210fda6552539d69 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 185cb5c8919d1c821e5c4f7fe29cd114894f13ff0ff48a94d437adcde7e37839 [INFO] running `Command { std: "docker" "start" "-a" "185cb5c8919d1c821e5c4f7fe29cd114894f13ff0ff48a94d437adcde7e37839", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.43 [INFO] [stderr] Compiling unicode-ident v1.0.3 [INFO] [stderr] Compiling quote v1.0.21 [INFO] [stderr] Compiling syn v1.0.99 [INFO] [stderr] Compiling serde_derive v1.0.144 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.82 [INFO] [stderr] Compiling serde v1.0.144 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling bumpalo v3.11.0 [INFO] [stderr] Compiling once_cell v1.13.1 [INFO] [stderr] Compiling serde_json v1.0.85 [INFO] [stderr] Checking ryu v1.0.11 [INFO] [stderr] Compiling libc v0.2.132 [INFO] [stderr] Compiling wasm-bindgen v0.2.82 [INFO] [stderr] Checking itoa v1.0.3 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Checking ppv-lite86 v0.2.16 [INFO] [stderr] Checking scoped-tls v1.0.0 [INFO] [stderr] Checking csv-core v0.1.10 [INFO] [stderr] Checking getrandom v0.2.7 [INFO] [stderr] Compiling wasm-bindgen-test-macro v0.3.32 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.82 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.82 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.82 [INFO] [stderr] Checking bstr v0.2.17 [INFO] [stderr] Checking csv v1.1.6 [INFO] [stderr] Checking js-sys v0.3.59 [INFO] [stderr] Checking console_error_panic_hook v0.1.7 [INFO] [stderr] Checking random-forest v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `num_samples` [INFO] [stdout] --> src/random_forest/dtree.rs:94:75 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn get_best_split(&mut self, x: &Vec>, y: &Vec, num_samples: usize, num_features: usize) -> BestSplitStruct{ [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_samples` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_samples` [INFO] [stdout] --> src/dtree.rs:99:75 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn get_best_split(&mut self, x: &Vec>, y: &Vec, num_samples: usize, num_features: usize) -> BestSplitStruct{ [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_samples` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_pred` [INFO] [stdout] --> src/lib.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | let y_pred = rf.predict(&_x_test); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_pred` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `split_dataset` is never used [INFO] [stdout] --> src/lib.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn split_dataset(x: &mut Vec>, y: &mut Vec, train_size: f32) -> (Vec>, Vec, Vec>,Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `accuracy_per_label` is never used [INFO] [stdout] --> src/lib.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn accuracy_per_label(y: &Vec, y_hat: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `accuracy_per_label` is never used [INFO] [stdout] --> src/utils.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn accuracy_per_label(y: &Vec, y_hat: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_vals` is never used [INFO] [stdout] --> src/utils.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn count_vals(arr: &Vec, label: String) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unique_vals` is never used [INFO] [stdout] --> src/utils.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn unique_vals(arr: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unique_vals_f32` is never used [INFO] [stdout] --> src/utils.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn unique_vals_f32(arr: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_column` is never used [INFO] [stdout] --> src/utils.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn get_column(matrix: &Vec>, col: usize) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `accuracy` is never used [INFO] [stdout] --> src/random_forest.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn accuracy(y: &Vec, y_hat: &Vec) -> f32{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/random_forest/dtree.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Node{ [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 30 | pub fn new(fi: usize, th: f32, v: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `split_dataset` is never used [INFO] [stdout] --> src/random_forest/dtree/utils.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn split_dataset(x: &mut Vec>, y: &mut Vec, train_size: f32) -> (Vec>, Vec, Vec>,Vec src/random_forest/dtree/utils.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn accuracy_per_label(y: &Vec, y_hat: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BestSplitStruct` is never constructed [INFO] [stdout] --> src/dtree.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct BestSplitStruct { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BestSplitStruct` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/dtree.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl Node{ [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 35 | pub fn new(fi: usize, th: f32, v: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/dtree.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 56 | impl DecisionTreeClassifier { [INFO] [stdout] | ---------------------------- associated items in this implementation [INFO] [stdout] 57 | pub fn new(mss: usize, md: usize) -> Self{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn build_tree(&mut self, x: &Vec>, y: &Vec, curr_depth: usize) -> Option>{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn get_best_split(&mut self, x: &Vec>, y: &Vec, num_samples: usize, num_features: usize) -> BestSplitStruct{ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub fn gini_index(&mut self, y: &Vec) -> f32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn split(&mut self, x: &Vec>, y: &Vec, feature_index: usize, threshold: f32) -> (Vec>, Vec>, V... [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn information_gain(&mut self, parent: &Vec, l_child: &Vec, r_child: &Vec) -> f32{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | pub fn calculate_leaf_value(&mut self, y: &Vec ) -> String{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | pub fn fit(&mut self, x: &Vec>, y: &Vec) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn make_prediction(&self, x: &Vec, tree: &Option>) -> String{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn predict(&self, x: &Vec>) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `split_dataset` is never used [INFO] [stdout] --> src/dtree/utils.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn split_dataset(x: &mut Vec>, y: &mut Vec, train_size: f32) -> (Vec>, Vec, Vec>,Vec src/dtree/utils.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn accuracy_per_label(y: &Vec, y_hat: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_vals` is never used [INFO] [stdout] --> src/dtree/utils.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn count_vals(arr: &Vec, label: String) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unique_vals` is never used [INFO] [stdout] --> src/dtree/utils.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn unique_vals(arr: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unique_vals_f32` is never used [INFO] [stdout] --> src/dtree/utils.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn unique_vals_f32(arr: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_column` is never used [INFO] [stdout] --> src/dtree/utils.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn get_column(matrix: &Vec>, col: usize) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking wasm-bindgen-futures v0.4.32 [INFO] [stderr] Checking wasm-bindgen-test v0.3.32 [INFO] [stdout] warning: unused variable: `num_samples` [INFO] [stdout] --> src/random_forest/dtree.rs:94:75 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn get_best_split(&mut self, x: &Vec>, y: &Vec, num_samples: usize, num_features: usize) -> BestSplitStruct{ [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_samples` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_samples` [INFO] [stdout] --> src/dtree.rs:99:75 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn get_best_split(&mut self, x: &Vec>, y: &Vec, num_samples: usize, num_features: usize) -> BestSplitStruct{ [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_samples` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_pred` [INFO] [stdout] --> src/lib.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | let y_pred = rf.predict(&_x_test); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_pred` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `split_dataset` is never used [INFO] [stdout] --> src/lib.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn split_dataset(x: &mut Vec>, y: &mut Vec, train_size: f32) -> (Vec>, Vec, Vec>,Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `accuracy_per_label` is never used [INFO] [stdout] --> src/lib.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn accuracy_per_label(y: &Vec, y_hat: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `accuracy_per_label` is never used [INFO] [stdout] --> src/utils.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn accuracy_per_label(y: &Vec, y_hat: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_vals` is never used [INFO] [stdout] --> src/utils.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn count_vals(arr: &Vec, label: String) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unique_vals` is never used [INFO] [stdout] --> src/utils.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn unique_vals(arr: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unique_vals_f32` is never used [INFO] [stdout] --> src/utils.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn unique_vals_f32(arr: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_column` is never used [INFO] [stdout] --> src/utils.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn get_column(matrix: &Vec>, col: usize) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `accuracy` is never used [INFO] [stdout] --> src/random_forest.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn accuracy(y: &Vec, y_hat: &Vec) -> f32{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/random_forest/dtree.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Node{ [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 30 | pub fn new(fi: usize, th: f32, v: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `split_dataset` is never used [INFO] [stdout] --> src/random_forest/dtree/utils.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn split_dataset(x: &mut Vec>, y: &mut Vec, train_size: f32) -> (Vec>, Vec, Vec>,Vec src/random_forest/dtree/utils.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn accuracy_per_label(y: &Vec, y_hat: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BestSplitStruct` is never constructed [INFO] [stdout] --> src/dtree.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct BestSplitStruct { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BestSplitStruct` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/dtree.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl Node{ [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 35 | pub fn new(fi: usize, th: f32, v: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/dtree.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 56 | impl DecisionTreeClassifier { [INFO] [stdout] | ---------------------------- associated items in this implementation [INFO] [stdout] 57 | pub fn new(mss: usize, md: usize) -> Self{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn build_tree(&mut self, x: &Vec>, y: &Vec, curr_depth: usize) -> Option>{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn get_best_split(&mut self, x: &Vec>, y: &Vec, num_samples: usize, num_features: usize) -> BestSplitStruct{ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub fn gini_index(&mut self, y: &Vec) -> f32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn split(&mut self, x: &Vec>, y: &Vec, feature_index: usize, threshold: f32) -> (Vec>, Vec>, V... [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn information_gain(&mut self, parent: &Vec, l_child: &Vec, r_child: &Vec) -> f32{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | pub fn calculate_leaf_value(&mut self, y: &Vec ) -> String{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | pub fn fit(&mut self, x: &Vec>, y: &Vec) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn make_prediction(&self, x: &Vec, tree: &Option>) -> String{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn predict(&self, x: &Vec>) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `split_dataset` is never used [INFO] [stdout] --> src/dtree/utils.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn split_dataset(x: &mut Vec>, y: &mut Vec, train_size: f32) -> (Vec>, Vec, Vec>,Vec src/dtree/utils.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn accuracy_per_label(y: &Vec, y_hat: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_vals` is never used [INFO] [stdout] --> src/dtree/utils.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn count_vals(arr: &Vec, label: String) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unique_vals` is never used [INFO] [stdout] --> src/dtree/utils.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn unique_vals(arr: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unique_vals_f32` is never used [INFO] [stdout] --> src/dtree/utils.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn unique_vals_f32(arr: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_column` is never used [INFO] [stdout] --> src/dtree/utils.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn get_column(matrix: &Vec>, col: usize) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.04s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wasm-bindgen v0.2.82 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "185cb5c8919d1c821e5c4f7fe29cd114894f13ff0ff48a94d437adcde7e37839", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "185cb5c8919d1c821e5c4f7fe29cd114894f13ff0ff48a94d437adcde7e37839", kill_on_drop: false }` [INFO] [stdout] 185cb5c8919d1c821e5c4f7fe29cd114894f13ff0ff48a94d437adcde7e37839 [INFO] checking m0tivus/example-random_forest-rust against try#645bb72776a6a56a1a8f52631a44bd082b2ba509 for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fm0tivus%2Fexample-random_forest-rust" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] [stderr] Updating files: 60% (819/1347) Updating files: 61% (822/1347) Updating files: 62% (836/1347) Updating files: 63% (849/1347) Updating files: 64% (863/1347) Updating files: 65% (876/1347) Updating files: 66% (890/1347) Updating files: 67% (903/1347) Updating files: 68% (916/1347) Updating files: 69% (930/1347) Updating files: 70% (943/1347) Updating files: 71% (957/1347) Updating files: 72% (970/1347) Updating files: 73% (984/1347) Updating files: 74% (997/1347) Updating files: 75% (1011/1347) Updating files: 76% (1024/1347) Updating files: 77% (1038/1347) Updating files: 78% (1051/1347) Updating files: 79% (1065/1347) Updating files: 80% (1078/1347) Updating files: 81% (1092/1347) Updating files: 82% (1105/1347) Updating files: 83% (1119/1347) Updating files: 84% (1132/1347) Updating files: 85% (1145/1347) Updating files: 86% (1159/1347) Updating files: 87% (1172/1347) Updating files: 88% (1186/1347) Updating files: 89% (1199/1347) Updating files: 90% (1213/1347) Updating files: 91% (1226/1347) Updating files: 92% (1240/1347) Updating files: 93% (1253/1347) Updating files: 93% (1265/1347) Updating files: 94% (1267/1347) Updating files: 95% (1280/1347) Updating files: 96% (1294/1347) Updating files: 97% (1307/1347) Updating files: 98% (1321/1347) Updating files: 99% (1334/1347) Updating files: 100% (1347/1347) Updating files: 100% (1347/1347), done. [INFO] validating manifest of git repo https://github.com/m0tivus/example-random_forest-rust on toolchain 645bb72776a6a56a1a8f52631a44bd082b2ba509 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/m0tivus/example-random_forest-rust [INFO] finished tweaking git repo https://github.com/m0tivus/example-random_forest-rust [INFO] tweaked toml for git repo https://github.com/m0tivus/example-random_forest-rust written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/m0tivus/example-random_forest-rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9549d2986fb7a4e8434c3dbb64397174325ac4e716aac1baa9dd0c7b4519f00b [INFO] running `Command { std: "docker" "start" "-a" "9549d2986fb7a4e8434c3dbb64397174325ac4e716aac1baa9dd0c7b4519f00b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9549d2986fb7a4e8434c3dbb64397174325ac4e716aac1baa9dd0c7b4519f00b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9549d2986fb7a4e8434c3dbb64397174325ac4e716aac1baa9dd0c7b4519f00b", kill_on_drop: false }` [INFO] [stdout] 9549d2986fb7a4e8434c3dbb64397174325ac4e716aac1baa9dd0c7b4519f00b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cfc0d82ffdbbe3494cc202d982e5ec6500e20ff881d735b563549624ea9dc070 [INFO] running `Command { std: "docker" "start" "-a" "cfc0d82ffdbbe3494cc202d982e5ec6500e20ff881d735b563549624ea9dc070", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.43 [INFO] [stderr] Compiling unicode-ident v1.0.3 [INFO] [stderr] Compiling quote v1.0.21 [INFO] [stderr] Compiling syn v1.0.99 [INFO] [stderr] Compiling serde_derive v1.0.144 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.82 [INFO] [stderr] Compiling serde v1.0.144 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling once_cell v1.13.1 [INFO] [stderr] Compiling bumpalo v3.11.0 [INFO] [stderr] Compiling serde_json v1.0.85 [INFO] [stderr] Checking ryu v1.0.11 [INFO] [stderr] Checking itoa v1.0.3 [INFO] [stderr] Compiling libc v0.2.132 [INFO] [stderr] Compiling wasm-bindgen v0.2.82 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Checking ppv-lite86 v0.2.16 [INFO] [stderr] Checking scoped-tls v1.0.0 [INFO] [stderr] Checking csv-core v0.1.10 [INFO] [stderr] Checking getrandom v0.2.7 [INFO] [stderr] Compiling wasm-bindgen-test-macro v0.3.32 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.82 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.82 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.82 [INFO] [stderr] Checking bstr v0.2.17 [INFO] [stderr] Checking csv v1.1.6 [INFO] [stderr] Checking js-sys v0.3.59 [INFO] [stderr] Checking console_error_panic_hook v0.1.7 [INFO] [stderr] Checking random-forest v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `num_samples` [INFO] [stdout] --> src/random_forest/dtree.rs:94:75 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn get_best_split(&mut self, x: &Vec>, y: &Vec, num_samples: usize, num_features: usize) -> BestSplitStruct{ [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_samples` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_samples` [INFO] [stdout] --> src/dtree.rs:99:75 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn get_best_split(&mut self, x: &Vec>, y: &Vec, num_samples: usize, num_features: usize) -> BestSplitStruct{ [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_samples` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_pred` [INFO] [stdout] --> src/lib.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | let y_pred = rf.predict(&_x_test); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_pred` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `split_dataset` is never used [INFO] [stdout] --> src/lib.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn split_dataset(x: &mut Vec>, y: &mut Vec, train_size: f32) -> (Vec>, Vec, Vec>,Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `accuracy_per_label` is never used [INFO] [stdout] --> src/lib.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn accuracy_per_label(y: &Vec, y_hat: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `accuracy_per_label` is never used [INFO] [stdout] --> src/utils.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn accuracy_per_label(y: &Vec, y_hat: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_vals` is never used [INFO] [stdout] --> src/utils.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn count_vals(arr: &Vec, label: String) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unique_vals` is never used [INFO] [stdout] --> src/utils.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn unique_vals(arr: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unique_vals_f32` is never used [INFO] [stdout] --> src/utils.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn unique_vals_f32(arr: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_column` is never used [INFO] [stdout] --> src/utils.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn get_column(matrix: &Vec>, col: usize) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `accuracy` is never used [INFO] [stdout] --> src/random_forest.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn accuracy(y: &Vec, y_hat: &Vec) -> f32{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/random_forest/dtree.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Node{ [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 30 | pub fn new(fi: usize, th: f32, v: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `split_dataset` is never used [INFO] [stdout] --> src/random_forest/dtree/utils.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn split_dataset(x: &mut Vec>, y: &mut Vec, train_size: f32) -> (Vec>, Vec, Vec>,Vec src/random_forest/dtree/utils.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn accuracy_per_label(y: &Vec, y_hat: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BestSplitStruct` is never constructed [INFO] [stdout] --> src/dtree.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct BestSplitStruct { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BestSplitStruct` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/dtree.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl Node{ [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 35 | pub fn new(fi: usize, th: f32, v: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/dtree.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 56 | impl DecisionTreeClassifier { [INFO] [stdout] | ---------------------------- associated items in this implementation [INFO] [stdout] 57 | pub fn new(mss: usize, md: usize) -> Self{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn build_tree(&mut self, x: &Vec>, y: &Vec, curr_depth: usize) -> Option>{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn get_best_split(&mut self, x: &Vec>, y: &Vec, num_samples: usize, num_features: usize) -> BestSplitStruct{ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub fn gini_index(&mut self, y: &Vec) -> f32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn split(&mut self, x: &Vec>, y: &Vec, feature_index: usize, threshold: f32) -> (Vec>, Vec>, V... [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn information_gain(&mut self, parent: &Vec, l_child: &Vec, r_child: &Vec) -> f32{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | pub fn calculate_leaf_value(&mut self, y: &Vec ) -> String{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | pub fn fit(&mut self, x: &Vec>, y: &Vec) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn make_prediction(&self, x: &Vec, tree: &Option>) -> String{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn predict(&self, x: &Vec>) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `split_dataset` is never used [INFO] [stdout] --> src/dtree/utils.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn split_dataset(x: &mut Vec>, y: &mut Vec, train_size: f32) -> (Vec>, Vec, Vec>,Vec src/dtree/utils.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn accuracy_per_label(y: &Vec, y_hat: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_vals` is never used [INFO] [stdout] --> src/dtree/utils.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn count_vals(arr: &Vec, label: String) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unique_vals` is never used [INFO] [stdout] --> src/dtree/utils.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn unique_vals(arr: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unique_vals_f32` is never used [INFO] [stdout] --> src/dtree/utils.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn unique_vals_f32(arr: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_column` is never used [INFO] [stdout] --> src/dtree/utils.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn get_column(matrix: &Vec>, col: usize) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking wasm-bindgen-futures v0.4.32 [INFO] [stderr] Checking wasm-bindgen-test v0.3.32 [INFO] [stdout] warning: unused variable: `num_samples` [INFO] [stdout] --> src/random_forest/dtree.rs:94:75 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn get_best_split(&mut self, x: &Vec>, y: &Vec, num_samples: usize, num_features: usize) -> BestSplitStruct{ [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_samples` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_samples` [INFO] [stdout] --> src/dtree.rs:99:75 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn get_best_split(&mut self, x: &Vec>, y: &Vec, num_samples: usize, num_features: usize) -> BestSplitStruct{ [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_samples` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_pred` [INFO] [stdout] --> src/lib.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | let y_pred = rf.predict(&_x_test); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_pred` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `split_dataset` is never used [INFO] [stdout] --> src/lib.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn split_dataset(x: &mut Vec>, y: &mut Vec, train_size: f32) -> (Vec>, Vec, Vec>,Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `accuracy_per_label` is never used [INFO] [stdout] --> src/lib.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn accuracy_per_label(y: &Vec, y_hat: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `accuracy_per_label` is never used [INFO] [stdout] --> src/utils.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn accuracy_per_label(y: &Vec, y_hat: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_vals` is never used [INFO] [stdout] --> src/utils.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn count_vals(arr: &Vec, label: String) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unique_vals` is never used [INFO] [stdout] --> src/utils.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn unique_vals(arr: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unique_vals_f32` is never used [INFO] [stdout] --> src/utils.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn unique_vals_f32(arr: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_column` is never used [INFO] [stdout] --> src/utils.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn get_column(matrix: &Vec>, col: usize) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `accuracy` is never used [INFO] [stdout] --> src/random_forest.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn accuracy(y: &Vec, y_hat: &Vec) -> f32{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/random_forest/dtree.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Node{ [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 30 | pub fn new(fi: usize, th: f32, v: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `split_dataset` is never used [INFO] [stdout] --> src/random_forest/dtree/utils.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn split_dataset(x: &mut Vec>, y: &mut Vec, train_size: f32) -> (Vec>, Vec, Vec>,Vec src/random_forest/dtree/utils.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn accuracy_per_label(y: &Vec, y_hat: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BestSplitStruct` is never constructed [INFO] [stdout] --> src/dtree.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct BestSplitStruct { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BestSplitStruct` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/dtree.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl Node{ [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 35 | pub fn new(fi: usize, th: f32, v: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/dtree.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 56 | impl DecisionTreeClassifier { [INFO] [stdout] | ---------------------------- associated items in this implementation [INFO] [stdout] 57 | pub fn new(mss: usize, md: usize) -> Self{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn build_tree(&mut self, x: &Vec>, y: &Vec, curr_depth: usize) -> Option>{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn get_best_split(&mut self, x: &Vec>, y: &Vec, num_samples: usize, num_features: usize) -> BestSplitStruct{ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub fn gini_index(&mut self, y: &Vec) -> f32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn split(&mut self, x: &Vec>, y: &Vec, feature_index: usize, threshold: f32) -> (Vec>, Vec>, V... [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn information_gain(&mut self, parent: &Vec, l_child: &Vec, r_child: &Vec) -> f32{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | pub fn calculate_leaf_value(&mut self, y: &Vec ) -> String{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | pub fn fit(&mut self, x: &Vec>, y: &Vec) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn make_prediction(&self, x: &Vec, tree: &Option>) -> String{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn predict(&self, x: &Vec>) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `split_dataset` is never used [INFO] [stdout] --> src/dtree/utils.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn split_dataset(x: &mut Vec>, y: &mut Vec, train_size: f32) -> (Vec>, Vec, Vec>,Vec src/dtree/utils.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn accuracy_per_label(y: &Vec, y_hat: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_vals` is never used [INFO] [stdout] --> src/dtree/utils.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn count_vals(arr: &Vec, label: String) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unique_vals` is never used [INFO] [stdout] --> src/dtree/utils.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn unique_vals(arr: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unique_vals_f32` is never used [INFO] [stdout] --> src/dtree/utils.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn unique_vals_f32(arr: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_column` is never used [INFO] [stdout] --> src/dtree/utils.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn get_column(matrix: &Vec>, col: usize) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.25s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wasm-bindgen v0.2.82 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "cfc0d82ffdbbe3494cc202d982e5ec6500e20ff881d735b563549624ea9dc070", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cfc0d82ffdbbe3494cc202d982e5ec6500e20ff881d735b563549624ea9dc070", kill_on_drop: false }` [INFO] [stdout] cfc0d82ffdbbe3494cc202d982e5ec6500e20ff881d735b563549624ea9dc070