[INFO] cloning repository https://github.com/ZiaulKarim-hub/fastest-decision-tree
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ZiaulKarim-hub/fastest-decision-tree" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZiaulKarim-hub%2Ffastest-decision-tree", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZiaulKarim-hub%2Ffastest-decision-tree'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1ac191d3d2091ec6cd64935a9f4ab696ad5a6615
[INFO] testing ZiaulKarim-hub/fastest-decision-tree against beta-2026-03-05 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZiaulKarim-hub%2Ffastest-decision-tree" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ZiaulKarim-hub/fastest-decision-tree
[INFO] finished tweaking git repo https://github.com/ZiaulKarim-hub/fastest-decision-tree
[INFO] tweaked toml for git repo https://github.com/ZiaulKarim-hub/fastest-decision-tree written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ZiaulKarim-hub/fastest-decision-tree on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ZiaulKarim-hub/fastest-decision-tree 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" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ef65080dada063489ba3c535e3813422b7ede51ec88f527ac2bd8136d3e579a3
[INFO] running `Command { std: "docker" "start" "-a" "ef65080dada063489ba3c535e3813422b7ede51ec88f527ac2bd8136d3e579a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ef65080dada063489ba3c535e3813422b7ede51ec88f527ac2bd8136d3e579a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ef65080dada063489ba3c535e3813422b7ede51ec88f527ac2bd8136d3e579a3", kill_on_drop: false }`
[INFO] [stdout] ef65080dada063489ba3c535e3813422b7ede51ec88f527ac2bd8136d3e579a3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 42271dc51988a95e09fa9a79bb7cee27d645d93578b30f6037970ebe6abe68da
[INFO] running `Command { std: "docker" "start" "-a" "42271dc51988a95e09fa9a79bb7cee27d645d93578b30f6037970ebe6abe68da", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling fastest-decision-tree v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::arch::x86_64::*`
[INFO] [stdout]  --> src/simd/gini_simd.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::arch::x86_64::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/api/classifier.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Io(#[from] std::io::Error),
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/api/classifier.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Serialization(#[from] bincode::Error),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/api/classifier.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     InvalidInput(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/api/config.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     InvalidValue(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn n_categories(&self) -> u16 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     pub fn as_slice(&self) -> &[u16] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:237:5
[INFO] [stdout]     |
[INFO] [stdout] 237 |     pub unsafe fn get_unchecked(&self, index: usize) -> u16 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:241:5
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn push(&mut self, value: u16) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/data/dataset.rs:318:5
[INFO] [stdout]     |
[INFO] [stdout] 318 |     pub fn with_capacity(capacity: usize, n_classes: u8) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/data/dataset.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 342 |     pub fn from_slice(values: &[u8], n_classes: u8) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:352:5
[INFO] [stdout]     |
[INFO] [stdout] 352 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:357:5
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:362:5
[INFO] [stdout]     |
[INFO] [stdout] 362 |     pub fn n_classes(&self) -> u8 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     pub fn as_slice(&self) -> &[u8] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:372:5
[INFO] [stdout]     |
[INFO] [stdout] 372 |     pub unsafe fn get_unchecked(&self, index: usize) -> u8 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:376:5
[INFO] [stdout]     |
[INFO] [stdout] 376 |     pub fn push(&mut self, value: u8) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/data/dataset.rs:442:5
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn with_capacity(capacity: usize) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/data/dataset.rs:467:5
[INFO] [stdout]     |
[INFO] [stdout] 467 |     pub fn from_slice(values: &[f32]) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:489:5
[INFO] [stdout]     |
[INFO] [stdout] 489 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:494:5
[INFO] [stdout]     |
[INFO] [stdout] 494 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:499:5
[INFO] [stdout]     |
[INFO] [stdout] 499 |     pub fn as_slice(&self) -> &[f32] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:504:5
[INFO] [stdout]     |
[INFO] [stdout] 504 |     pub unsafe fn get_unchecked(&self, index: usize) -> f32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:508:5
[INFO] [stdout]     |
[INFO] [stdout] 508 |     pub fn push(&mut self, value: f32) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> src/data/dataset.rs:605:27
[INFO] [stdout]     |
[INFO] [stdout] 605 |     pub fn from_row_major(X: &[Vec<f32>], y: &[u8], n_classes: u8) -> Self {
[INFO] [stdout]     |                           ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> src/data/dataset.rs:640:9
[INFO] [stdout]     |
[INFO] [stdout] 640 |         X: &[f32],
[INFO] [stdout]     |         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/data/dataset.rs:779:5
[INFO] [stdout]     |
[INFO] [stdout] 779 |     pub numeric_features: Vec<Vec<f32>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/data/dataset.rs:780:5
[INFO] [stdout]     |
[INFO] [stdout] 780 |     pub categorical_features: Vec<(Vec<u16>, u16)>, // (data, n_categories)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/data/dataset.rs:781:5
[INFO] [stdout]     |
[INFO] [stdout] 781 |     pub labels: Vec<u8>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/data/dataset.rs:782:5
[INFO] [stdout]     |
[INFO] [stdout] 782 |     pub n_classes: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/data/dataset.rs:783:5
[INFO] [stdout]     |
[INFO] [stdout] 783 |     pub sample_weights: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/data/histogram.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/preprocessing/imputer.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn new() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.77s
[INFO] running `Command { std: "docker" "inspect" "42271dc51988a95e09fa9a79bb7cee27d645d93578b30f6037970ebe6abe68da", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "42271dc51988a95e09fa9a79bb7cee27d645d93578b30f6037970ebe6abe68da", kill_on_drop: false }`
[INFO] [stdout] 42271dc51988a95e09fa9a79bb7cee27d645d93578b30f6037970ebe6abe68da
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 02c2bcdd1507cab0865ee02076c29f10ebffebc73a709f57ab840c53981974c0
[INFO] running `Command { std: "docker" "start" "-a" "02c2bcdd1507cab0865ee02076c29f10ebffebc73a709f57ab840c53981974c0", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling zerocopy v0.8.37
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling zmij v1.0.18
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling clap_lex v0.7.7
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling clap_builder v4.5.56
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling clap v4.5.56
[INFO] [stderr]    Compiling zerocopy-derive v0.8.37
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling fastest-decision-tree v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::arch::x86_64::*`
[INFO] [stdout]  --> src/simd/gini_simd.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::arch::x86_64::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/api/classifier.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Io(#[from] std::io::Error),
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/api/classifier.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Serialization(#[from] bincode::Error),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/api/classifier.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     InvalidInput(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/api/config.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     InvalidValue(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn n_categories(&self) -> u16 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     pub fn as_slice(&self) -> &[u16] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:237:5
[INFO] [stdout]     |
[INFO] [stdout] 237 |     pub unsafe fn get_unchecked(&self, index: usize) -> u16 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:241:5
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn push(&mut self, value: u16) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/data/dataset.rs:318:5
[INFO] [stdout]     |
[INFO] [stdout] 318 |     pub fn with_capacity(capacity: usize, n_classes: u8) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/data/dataset.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 342 |     pub fn from_slice(values: &[u8], n_classes: u8) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:352:5
[INFO] [stdout]     |
[INFO] [stdout] 352 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:357:5
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:362:5
[INFO] [stdout]     |
[INFO] [stdout] 362 |     pub fn n_classes(&self) -> u8 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     pub fn as_slice(&self) -> &[u8] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:372:5
[INFO] [stdout]     |
[INFO] [stdout] 372 |     pub unsafe fn get_unchecked(&self, index: usize) -> u8 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:376:5
[INFO] [stdout]     |
[INFO] [stdout] 376 |     pub fn push(&mut self, value: u8) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/data/dataset.rs:442:5
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn with_capacity(capacity: usize) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/data/dataset.rs:467:5
[INFO] [stdout]     |
[INFO] [stdout] 467 |     pub fn from_slice(values: &[f32]) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:489:5
[INFO] [stdout]     |
[INFO] [stdout] 489 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:494:5
[INFO] [stdout]     |
[INFO] [stdout] 494 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:499:5
[INFO] [stdout]     |
[INFO] [stdout] 499 |     pub fn as_slice(&self) -> &[f32] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:504:5
[INFO] [stdout]     |
[INFO] [stdout] 504 |     pub unsafe fn get_unchecked(&self, index: usize) -> f32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:508:5
[INFO] [stdout]     |
[INFO] [stdout] 508 |     pub fn push(&mut self, value: f32) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> src/data/dataset.rs:605:27
[INFO] [stdout]     |
[INFO] [stdout] 605 |     pub fn from_row_major(X: &[Vec<f32>], y: &[u8], n_classes: u8) -> Self {
[INFO] [stdout]     |                           ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> src/data/dataset.rs:640:9
[INFO] [stdout]     |
[INFO] [stdout] 640 |         X: &[f32],
[INFO] [stdout]     |         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/data/dataset.rs:779:5
[INFO] [stdout]     |
[INFO] [stdout] 779 |     pub numeric_features: Vec<Vec<f32>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/data/dataset.rs:780:5
[INFO] [stdout]     |
[INFO] [stdout] 780 |     pub categorical_features: Vec<(Vec<u16>, u16)>, // (data, n_categories)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/data/dataset.rs:781:5
[INFO] [stdout]     |
[INFO] [stdout] 781 |     pub labels: Vec<u8>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/data/dataset.rs:782:5
[INFO] [stdout]     |
[INFO] [stdout] 782 |     pub n_classes: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/data/dataset.rs:783:5
[INFO] [stdout]     |
[INFO] [stdout] 783 |     pub sample_weights: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/data/histogram.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/preprocessing/imputer.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn new() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling proptest v1.9.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stdout] warning: unused import: `TreeConfig`
[INFO] [stdout]  --> tests/integration_test.rs:4:64
[INFO] [stdout]   |
[INFO] [stdout] 4 |     ClassWeights, DecisionTreeBuilder, DecisionTreeClassifier, TreeConfig,
[INFO] [stdout]   |                                                                ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_xor_data` is never used
[INFO] [stdout]   --> tests/integration_test.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn generate_xor_data(n_samples: usize) -> (Vec<f32>, Vec<u8>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]   --> tests/integration_test.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut X = Vec::with_capacity(n_samples * n_features);
[INFO] [stdout]    |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]   --> tests/integration_test.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut X = Vec::with_capacity(n_samples * 2);
[INFO] [stdout]    |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]   --> tests/integration_test.rs:71:10
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let (X, y) = generate_linearly_separable(100, 2);
[INFO] [stdout]    |          ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]   --> tests/integration_test.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut X = Vec::new();
[INFO] [stdout]    |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> tests/integration_test.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut X = Vec::with_capacity(n_samples * n_features);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> tests/integration_test.rs:151:13
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let mut X = Vec::with_capacity(n_samples * n_features);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> tests/integration_test.rs:195:10
[INFO] [stdout]     |
[INFO] [stdout] 195 |     let (X, y) = generate_linearly_separable(100, 5);
[INFO] [stdout]     |          ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> tests/integration_test.rs:226:10
[INFO] [stdout]     |
[INFO] [stdout] 226 |     let (X, y) = generate_linearly_separable(200, 3);
[INFO] [stdout]     |          ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> tests/integration_test.rs:251:13
[INFO] [stdout]     |
[INFO] [stdout] 251 |     let mut X = Vec::new();
[INFO] [stdout]     |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> tests/integration_test.rs:273:13
[INFO] [stdout]     |
[INFO] [stdout] 273 |     let mut X = Vec::with_capacity(n_samples * n_features);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> tests/integration_test.rs:305:13
[INFO] [stdout]     |
[INFO] [stdout] 305 |     let mut X = Vec::new();
[INFO] [stdout]     |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> tests/integration_test.rs:330:10
[INFO] [stdout]     |
[INFO] [stdout] 330 |     let (X, y) = generate_linearly_separable(100, 2);
[INFO] [stdout]     |          ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> tests/integration_test.rs:353:10
[INFO] [stdout]     |
[INFO] [stdout] 353 |     let (X, y) = generate_linearly_separable(100, 5);
[INFO] [stdout]     |          ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClassWeights`
[INFO] [stdout]    --> src/api/classifier.rs:234:30
[INFO] [stdout]     |
[INFO] [stdout] 234 |     use crate::api::config::{ClassWeights, TreeConfig};
[INFO] [stdout]     |                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::arch::x86_64::*`
[INFO] [stdout]  --> src/simd/gini_simd.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::arch::x86_64::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded`
[INFO] [stdout]    --> src/preprocessing/encoder.rs:290:14
[INFO] [stdout]     |
[INFO] [stdout] 290 |         let (encoded, n_features) = encoder.fit_transform(&labels);
[INFO] [stdout]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/api/classifier.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Io(#[from] std::io::Error),
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/api/classifier.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Serialization(#[from] bincode::Error),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/api/classifier.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     InvalidInput(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/api/config.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     InvalidValue(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn n_categories(&self) -> u16 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     pub fn as_slice(&self) -> &[u16] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:237:5
[INFO] [stdout]     |
[INFO] [stdout] 237 |     pub unsafe fn get_unchecked(&self, index: usize) -> u16 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:241:5
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn push(&mut self, value: u16) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/data/dataset.rs:318:5
[INFO] [stdout]     |
[INFO] [stdout] 318 |     pub fn with_capacity(capacity: usize, n_classes: u8) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/data/dataset.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 342 |     pub fn from_slice(values: &[u8], n_classes: u8) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:352:5
[INFO] [stdout]     |
[INFO] [stdout] 352 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:357:5
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:362:5
[INFO] [stdout]     |
[INFO] [stdout] 362 |     pub fn n_classes(&self) -> u8 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     pub fn as_slice(&self) -> &[u8] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:372:5
[INFO] [stdout]     |
[INFO] [stdout] 372 |     pub unsafe fn get_unchecked(&self, index: usize) -> u8 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:376:5
[INFO] [stdout]     |
[INFO] [stdout] 376 |     pub fn push(&mut self, value: u8) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/data/dataset.rs:442:5
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn with_capacity(capacity: usize) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/data/dataset.rs:467:5
[INFO] [stdout]     |
[INFO] [stdout] 467 |     pub fn from_slice(values: &[f32]) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:489:5
[INFO] [stdout]     |
[INFO] [stdout] 489 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:494:5
[INFO] [stdout]     |
[INFO] [stdout] 494 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:499:5
[INFO] [stdout]     |
[INFO] [stdout] 499 |     pub fn as_slice(&self) -> &[f32] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:504:5
[INFO] [stdout]     |
[INFO] [stdout] 504 |     pub unsafe fn get_unchecked(&self, index: usize) -> f32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/data/dataset.rs:508:5
[INFO] [stdout]     |
[INFO] [stdout] 508 |     pub fn push(&mut self, value: f32) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> src/data/dataset.rs:605:27
[INFO] [stdout]     |
[INFO] [stdout] 605 |     pub fn from_row_major(X: &[Vec<f32>], y: &[u8], n_classes: u8) -> Self {
[INFO] [stdout]     |                           ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> src/data/dataset.rs:640:9
[INFO] [stdout]     |
[INFO] [stdout] 640 |         X: &[f32],
[INFO] [stdout]     |         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/data/dataset.rs:779:5
[INFO] [stdout]     |
[INFO] [stdout] 779 |     pub numeric_features: Vec<Vec<f32>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/data/dataset.rs:780:5
[INFO] [stdout]     |
[INFO] [stdout] 780 |     pub categorical_features: Vec<(Vec<u16>, u16)>, // (data, n_categories)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/data/dataset.rs:781:5
[INFO] [stdout]     |
[INFO] [stdout] 781 |     pub labels: Vec<u8>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/data/dataset.rs:782:5
[INFO] [stdout]     |
[INFO] [stdout] 782 |     pub n_classes: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/data/dataset.rs:783:5
[INFO] [stdout]     |
[INFO] [stdout] 783 |     pub sample_weights: Vec<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> src/data/dataset.rs:841:13
[INFO] [stdout]     |
[INFO] [stdout] 841 |         let X = vec![
[INFO] [stdout]     |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> src/data/dataset.rs:860:13
[INFO] [stdout]     |
[INFO] [stdout] 860 |         let X = vec![
[INFO] [stdout]     |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/data/histogram.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/preprocessing/imputer.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn new() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:105:17
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let mut X = Vec::new();
[INFO] [stdout]     |                 ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let mut X = Vec::new();
[INFO] [stdout]     |                 ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 28.68s
[INFO] running `Command { std: "docker" "inspect" "02c2bcdd1507cab0865ee02076c29f10ebffebc73a709f57ab840c53981974c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "02c2bcdd1507cab0865ee02076c29f10ebffebc73a709f57ab840c53981974c0", kill_on_drop: false }`
[INFO] [stdout] 02c2bcdd1507cab0865ee02076c29f10ebffebc73a709f57ab840c53981974c0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7c41d43f04cc7a4368d6bace90fdd9e09aa03a9f69de580aa2f3980ef66390c2
[INFO] running `Command { std: "docker" "start" "-a" "7c41d43f04cc7a4368d6bace90fdd9e09aa03a9f69de580aa2f3980ef66390c2", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::arch::x86_64::*`
[INFO] [stderr]  --> src/simd/gini_simd.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::arch::x86_64::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/api/classifier.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     Io(#[from] std::io::Error),
[INFO] [stderr]    |     ^^
[INFO] [stderr]    |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> src/lib.rs:70:9
[INFO] [stderr]    |
[INFO] [stderr] 70 | #![warn(missing_docs)]
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/api/classifier.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 |     Serialization(#[from] bincode::Error),
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/api/classifier.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     InvalidInput(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/api/config.rs:155:5
[INFO] [stderr]     |
[INFO] [stderr] 155 |     InvalidValue(String),
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/data/dataset.rs:217:5
[INFO] [stderr]     |
[INFO] [stderr] 217 |     pub fn len(&self) -> usize {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/data/dataset.rs:222:5
[INFO] [stderr]     |
[INFO] [stderr] 222 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/data/dataset.rs:227:5
[INFO] [stderr]     |
[INFO] [stderr] 227 |     pub fn n_categories(&self) -> u16 {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/data/dataset.rs:232:5
[INFO] [stderr]     |
[INFO] [stderr] 232 |     pub fn as_slice(&self) -> &[u16] {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/data/dataset.rs:237:5
[INFO] [stderr]     |
[INFO] [stderr] 237 |     pub unsafe fn get_unchecked(&self, index: usize) -> u16 {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/data/dataset.rs:241:5
[INFO] [stderr]     |
[INFO] [stderr] 241 |     pub fn push(&mut self, value: u16) {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]    --> src/data/dataset.rs:318:5
[INFO] [stderr]     |
[INFO] [stderr] 318 |     pub fn with_capacity(capacity: usize, n_classes: u8) -> Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]    --> src/data/dataset.rs:342:5
[INFO] [stderr]     |
[INFO] [stderr] 342 |     pub fn from_slice(values: &[u8], n_classes: u8) -> Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/data/dataset.rs:352:5
[INFO] [stderr]     |
[INFO] [stderr] 352 |     pub fn len(&self) -> usize {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/data/dataset.rs:357:5
[INFO] [stderr]     |
[INFO] [stderr] 357 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/data/dataset.rs:362:5
[INFO] [stderr]     |
[INFO] [stderr] 362 |     pub fn n_classes(&self) -> u8 {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/data/dataset.rs:367:5
[INFO] [stderr]     |
[INFO] [stderr] 367 |     pub fn as_slice(&self) -> &[u8] {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/data/dataset.rs:372:5
[INFO] [stderr]     |
[INFO] [stderr] 372 |     pub unsafe fn get_unchecked(&self, index: usize) -> u8 {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/data/dataset.rs:376:5
[INFO] [stderr]     |
[INFO] [stderr] 376 |     pub fn push(&mut self, value: u8) {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]    --> src/data/dataset.rs:442:5
[INFO] [stderr]     |
[INFO] [stderr] 442 |     pub fn with_capacity(capacity: usize) -> Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]    --> src/data/dataset.rs:467:5
[INFO] [stderr]     |
[INFO] [stderr] 467 |     pub fn from_slice(values: &[f32]) -> Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/data/dataset.rs:489:5
[INFO] [stderr]     |
[INFO] [stderr] 489 |     pub fn len(&self) -> usize {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/data/dataset.rs:494:5
[INFO] [stderr]     |
[INFO] [stderr] 494 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/data/dataset.rs:499:5
[INFO] [stderr]     |
[INFO] [stderr] 499 |     pub fn as_slice(&self) -> &[f32] {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/data/dataset.rs:504:5
[INFO] [stderr]     |
[INFO] [stderr] 504 |     pub unsafe fn get_unchecked(&self, index: usize) -> f32 {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/data/dataset.rs:508:5
[INFO] [stderr]     |
[INFO] [stderr] 508 |     pub fn push(&mut self, value: f32) {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> src/data/dataset.rs:605:27
[INFO] [stderr]     |
[INFO] [stderr] 605 |     pub fn from_row_major(X: &[Vec<f32>], y: &[u8], n_classes: u8) -> Self {
[INFO] [stderr]     |                           ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> src/data/dataset.rs:640:9
[INFO] [stderr]     |
[INFO] [stderr] 640 |         X: &[f32],
[INFO] [stderr]     |         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/data/dataset.rs:779:5
[INFO] [stderr]     |
[INFO] [stderr] 779 |     pub numeric_features: Vec<Vec<f32>>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/data/dataset.rs:780:5
[INFO] [stderr]     |
[INFO] [stderr] 780 |     pub categorical_features: Vec<(Vec<u16>, u16)>, // (data, n_categories)
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/data/dataset.rs:781:5
[INFO] [stderr]     |
[INFO] [stderr] 781 |     pub labels: Vec<u8>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/data/dataset.rs:782:5
[INFO] [stderr]     |
[INFO] [stderr] 782 |     pub n_classes: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/data/dataset.rs:783:5
[INFO] [stderr]     |
[INFO] [stderr] 783 |     pub sample_weights: Vec<f32>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]   --> src/data/histogram.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn new() -> Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]    --> src/preprocessing/imputer.rs:212:5
[INFO] [stderr]     |
[INFO] [stderr] 212 |     pub fn new() -> Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `fastest-decision-tree` (lib) generated 35 warnings (run `cargo fix --lib -p fastest-decision-tree` to apply 1 suggestion)
[INFO] [stderr] warning: unused import: `TreeConfig`
[INFO] [stderr]  --> tests/integration_test.rs:4:64
[INFO] [stderr]   |
[INFO] [stderr] 4 |     ClassWeights, DecisionTreeBuilder, DecisionTreeClassifier, TreeConfig,
[INFO] [stderr]   |                                                                ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_xor_data` is never used
[INFO] [stderr]   --> tests/integration_test.rs:31:4
[INFO] [stderr]    |
[INFO] [stderr] 31 | fn generate_xor_data(n_samples: usize) -> (Vec<f32>, Vec<u8>) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]   --> tests/integration_test.rs:10:13
[INFO] [stderr]    |
[INFO] [stderr] 10 |     let mut X = Vec::with_capacity(n_samples * n_features);
[INFO] [stderr]    |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]   --> tests/integration_test.rs:32:13
[INFO] [stderr]    |
[INFO] [stderr] 32 |     let mut X = Vec::with_capacity(n_samples * 2);
[INFO] [stderr]    |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]   --> tests/integration_test.rs:71:10
[INFO] [stderr]    |
[INFO] [stderr] 71 |     let (X, y) = generate_linearly_separable(100, 2);
[INFO] [stderr]    |          ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]   --> tests/integration_test.rs:86:13
[INFO] [stderr]    |
[INFO] [stderr] 86 |     let mut X = Vec::new();
[INFO] [stderr]    |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> tests/integration_test.rs:115:13
[INFO] [stderr]     |
[INFO] [stderr] 115 |     let mut X = Vec::with_capacity(n_samples * n_features);
[INFO] [stderr]     |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> tests/integration_test.rs:151:13
[INFO] [stderr]     |
[INFO] [stderr] 151 |     let mut X = Vec::with_capacity(n_samples * n_features);
[INFO] [stderr]     |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> tests/integration_test.rs:195:10
[INFO] [stderr]     |
[INFO] [stderr] 195 |     let (X, y) = generate_linearly_separable(100, 5);
[INFO] [stderr]     |          ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> tests/integration_test.rs:226:10
[INFO] [stderr]     |
[INFO] [stderr] 226 |     let (X, y) = generate_linearly_separable(200, 3);
[INFO] [stderr]     |          ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> tests/integration_test.rs:251:13
[INFO] [stderr]     |
[INFO] [stderr] 251 |     let mut X = Vec::new();
[INFO] [stderr]     |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> tests/integration_test.rs:273:13
[INFO] [stderr]     |
[INFO] [stderr] 273 |     let mut X = Vec::with_capacity(n_samples * n_features);
[INFO] [stderr]     |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> tests/integration_test.rs:305:13
[INFO] [stderr]     |
[INFO] [stderr] 305 |     let mut X = Vec::new();
[INFO] [stderr]     |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> tests/integration_test.rs:330:10
[INFO] [stderr]     |
[INFO] [stderr] 330 |     let (X, y) = generate_linearly_separable(100, 2);
[INFO] [stderr]     |          ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> tests/integration_test.rs:353:10
[INFO] [stderr]     |
[INFO] [stderr] 353 |     let (X, y) = generate_linearly_separable(100, 5);
[INFO] [stderr]     |          ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: `fastest-decision-tree` (test "integration_test") generated 15 warnings (run `cargo fix --test "integration_test" -p fastest-decision-tree` to apply 1 suggestion)
[INFO] [stderr] warning: unused import: `ClassWeights`
[INFO] [stderr]    --> src/api/classifier.rs:234:30
[INFO] [stderr]     |
[INFO] [stderr] 234 |     use crate::api::config::{ClassWeights, TreeConfig};
[INFO] [stderr]     |                              ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::arch::x86_64::*`
[INFO] [stderr]  --> src/simd/gini_simd.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::arch::x86_64::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `encoded`
[INFO] [stderr]    --> src/preprocessing/encoder.rs:290:14
[INFO] [stderr]     |
[INFO] [stderr] 290 |         let (encoded, n_features) = encoder.fit_transform(&labels);
[INFO] [stderr]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> src/data/dataset.rs:841:13
[INFO] [stderr]     |
[INFO] [stderr] 841 |         let X = vec![
[INFO] [stderr]     |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> src/data/dataset.rs:860:13
[INFO] [stderr]     |
[INFO] [stderr] 860 |         let X = vec![
[INFO] [stderr]     |             ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:105:17
[INFO] [stderr]     |
[INFO] [stderr] 105 |         let mut X = Vec::new();
[INFO] [stderr]     |                 ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:136:17
[INFO] [stderr]     |
[INFO] [stderr] 136 |         let mut X = Vec::new();
[INFO] [stderr]     |                 ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: `fastest-decision-tree` (lib test) generated 41 warnings (34 duplicates) (run `cargo fix --lib -p fastest-decision-tree --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fastest_decision_tree-847311520e0cf819)
[INFO] [stdout] 
[INFO] [stdout] running 71 tests
[INFO] [stdout] test data::dataset::tests::test_aligned_feature_column ... ok
[INFO] [stdout] test data::histogram::tests::test_binning ... ok
[INFO] [stdout] test data::dataset::tests::test_balanced_weights ... ok
[INFO] [stdout] test api::classifier::tests::test_batch_prediction ... ok
[INFO] [stdout] test api::builder::tests::test_builder_balanced ... ok
[INFO] [stdout] test api::builder::tests::test_builder_basic ... ok
[INFO] [stdout] test api::builder::tests::test_fit_2d ... ok
[INFO] [stdout] test data::histogram::tests::test_histogram_building ... ok
[INFO] [stdout] test api::classifier::tests::test_score ... ok
[INFO] [stdout] test data::dataset::tests::test_dataset_from_row_major ... ok
[INFO] [stdout] test preprocessing::binner::tests::test_bin_to_threshold ... ok
[INFO] [stdout] test api::config::tests::test_validation_errors ... ok
[INFO] [stdout] test preprocessing::binner::tests::test_fast_binner ... ok
[INFO] [stdout] test api::config::tests::test_builder_pattern ... ok
[INFO] [stdout] test api::config::tests::test_default_config ... ok
[INFO] [stdout] test preprocessing::binner::tests::test_quantile_binning ... ok
[INFO] [stdout] test api::classifier::tests::test_single_prediction ... ok
[INFO] [stdout] test api::builder::tests::test_builder_with_pruning ... ok
[INFO] [stdout] test data::histogram::tests::test_histogram_subtraction ... ok
[INFO] [stdout] test preprocessing::binner::tests::test_uniform_binning ... ok
[INFO] [stdout] test preprocessing::encoder::tests::test_label_encoder ... ok
[INFO] [stdout] test preprocessing::encoder::tests::test_onehot_drop_first ... ok
[INFO] [stdout] test preprocessing::encoder::tests::test_label_encoder_inverse ... ok
[INFO] [stdout] test preprocessing::imputer::tests::test_mean_imputation ... ok
[INFO] [stdout] test preprocessing::imputer::tests::test_constant_imputation ... ok
[INFO] [stdout] test preprocessing::encoder::tests::test_onehot_encoder ... ok
[INFO] [stdout] test preprocessing::imputer::tests::test_missing_indicator ... ok
[INFO] [stdout] test simd::gini_simd::tests::test_gini_simd_pure ... ok
[INFO] [stdout] test preprocessing::encoder::tests::test_target_encoder ... ok
[INFO] [stdout] test api::classifier::tests::test_predict_proba ... ok
[INFO] [stdout] test simd::batch_inference::tests::test_batch_simd ... ok
[INFO] [stdout] test preprocessing::imputer::tests::test_median_imputation ... ok
[INFO] [stdout] test simd::gini_simd::tests::test_gini_simd_balanced ... ok
[INFO] [stdout] test simd::batch_inference::tests::test_batch_with_remainder ... ok
[INFO] [stdout] test simd::gini_simd::tests::test_gini_simd_multiclass ... ok
[INFO] [stdout] test simd::batch_inference::tests::test_batch_interleaved ... ok
[INFO] [stdout] test simd::gini_simd::tests::test_accumulator ... ok
[INFO] [stdout] test api::builder::tests::test_convenience_functions ... ok
[INFO] [stdout] test simd::gini_simd::tests::test_weighted_split ... ok
[INFO] [stdout] test api::classifier::tests::test_save_load ... ok
[INFO] [stdout] test training::depth_optimizer::tests::test_create_folds ... ok
[INFO] [stdout] test training::gini::tests::test_accumulator ... ok
[INFO] [stdout] test training::gini::tests::test_gini_balanced ... ok
[INFO] [stdout] test training::gini::tests::test_impurity_decrease ... ok
[INFO] [stdout] test tests::test_preprocessing ... ok
[INFO] [stdout] test training::pruning::tests::test_prune_with_high_alpha ... ok
[INFO] [stdout] test training::splitter::tests::test_find_best_split ... ok
[INFO] [stdout] test training::depth_optimizer::tests::test_split_folds ... ok
[INFO] [stdout] test training::gini::tests::test_gini_binary ... ok
[INFO] [stdout] test training::gini::tests::test_gini_multiclass ... ok
[INFO] [stdout] test training::splitter::tests::test_histogram_subtraction ... ok
[INFO] [stdout] test training::gini::tests::test_gini_pure ... ok
[INFO] [stdout] test training::pruning::tests::test_count_leaves ... ok
[INFO] [stdout] test training::pruning::tests::test_pruning_path ... ok
[INFO] [stdout] test tests::test_imbalanced_data ... ok
[INFO] [stdout] test tests::test_end_to_end ... ok
[INFO] [stdout] test training::splitter::tests::test_partition_samples ... ok
[INFO] [stdout] test tree::flat_tree::tests::test_simple_prediction ... ok
[INFO] [stdout] test training::tree_builder::tests::test_build_simple_tree ... ok
[INFO] [stdout] test tree::inference::tests::test_predict_batch ... ok
[INFO] [stdout] test tree::node::tests::test_inference_node_size ... ok
[INFO] [stdout] test tree::inference::tests::test_predict_single ... ok
[INFO] [stdout] test tree::inference::tests::test_predict_batch_into ... ok
[INFO] [stdout] test tree::node::tests::test_branchless_direction ... ok
[INFO] [stdout] test training::tree_builder::tests::test_max_depth_respected ... ok
[INFO] [stdout] test training::tree_builder::tests::test_pure_node_becomes_leaf ... ok
[INFO] [stdout] test tree::flat_tree::tests::test_batch_prediction ... ok
[INFO] [stdout] test tree::flat_tree::tests::test_branchless_prediction ... ok
[INFO] [stdout] test tree::inference::tests::test_predict_bounded ... ok
[INFO] [stdout] test training::depth_optimizer::tests::test_find_optimal_depth ... ok
[INFO] [stdout] test tree::node::tests::test_node_stats_gini ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 71 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_test.rs (/opt/rustwide/target/debug/deps/integration_test-6c96ee8e8c02305f)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test test_pure_node_early_stop ... ok
[INFO] [stdout] test test_single_feature ... ok
[INFO] [stdout] test test_perfect_split ... ok
[INFO] [stdout] test test_batch_vs_single_consistency ... ok
[INFO] [stdout] test test_min_samples_constraints ... ok
[INFO] [stdout] test test_simple_nonlinear ... ok
[INFO] [stdout] test test_save_load ... ok
[INFO] [stdout] test test_imbalanced_with_balanced_weights ... ok
[INFO] [stdout] test test_multiclass ... ok
[INFO] [stdout] test test_different_depths ... ok
[INFO] [stdout] test test_many_features ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests fastest_decision_tree
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test src/api/builder.rs - api::builder::DecisionTreeBuilder (line 16) ... ignored
[INFO] [stdout] test src/lib.rs - (line 54) ... ok
[INFO] [stdout] test src/lib.rs - (line 12) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - (line 12) stdout ----
[INFO] [stdout] Test executable failed (exit status: 101).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] 
[INFO] [stdout] thread 'main' (213) panicked at src/lib.rs:29:23:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Io(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" })
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b302a78cf0a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5b302a78cf0a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5b302a78cf0a - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5b302a78cf0a - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5b302a79f6ba - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5b302a79f6ba - core[10b6fa85044e1869]::fmt::write
[INFO] [stdout]    6:     0x5b302a791052 - std[b80a194dd3c418bb]::io::default_write_fmt::<std[b80a194dd3c418bb]::sys::stdio::unix::Stderr>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5b302a791052 - <std[b80a194dd3c418bb]::sys::stdio::unix::Stderr as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5b302a774ccf - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5b302a774ccf - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5b302a786451 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:319:9
[INFO] [stdout]   11:     0x5b302a7866cb - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:825:13
[INFO] [stdout]   12:     0x5b302a774d88 - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:698:13
[INFO] [stdout]   13:     0x5b302a76c949 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   14:     0x5b302a77590d - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stdout]   15:     0x5b302a79ff6c - core[10b6fa85044e1869]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:80:14
[INFO] [stdout]   16:     0x5b302a79fce2 - core[10b6fa85044e1869]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/result.rs:1867:5
[INFO] [stdout]   17:     0x5b302a6d6742 - rust_out::main::_doctest_main_src_lib_rs_12_0::hdb4db2355d0bc964
[INFO] [stdout]   18:     0x5b302a6d62a6 - rust_out::main::hbc8fb3ef9073494f
[INFO] [stdout]   19:     0x5b302a6d2663 - core::ops::function::FnOnce::call_once::h8578f0c031e386ae
[INFO] [stdout]   20:     0x5b302a6d2516 - std::sys::backtrace::__rust_begin_short_backtrace::hb54d2daf111ce867
[INFO] [stdout]   21:     0x5b302a6d2489 - std::rt::lang_start::{{closure}}::h94e8fd5c8cccecfa
[INFO] [stdout]   22:     0x5b302a7859a4 - <&dyn core[10b6fa85044e1869]::ops::function::Fn<(), Output = i32> + core[10b6fa85044e1869]::panic::unwind_safe::RefUnwindSafe + core[10b6fa85044e1869]::marker::Sync as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   23:     0x5b302a7859a4 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<&dyn core[10b6fa85044e1869]::ops::function::Fn<(), Output = i32> + core[10b6fa85044e1869]::panic::unwind_safe::RefUnwindSafe + core[10b6fa85044e1869]::marker::Sync, i32>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   24:     0x5b302a7859a4 - std[b80a194dd3c418bb]::panicking::catch_unwind::<i32, &dyn core[10b6fa85044e1869]::ops::function::Fn<(), Output = i32> + core[10b6fa85044e1869]::panic::unwind_safe::RefUnwindSafe + core[10b6fa85044e1869]::marker::Sync>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   25:     0x5b302a7859a4 - std[b80a194dd3c418bb]::panic::catch_unwind::<&dyn core[10b6fa85044e1869]::ops::function::Fn<(), Output = i32> + core[10b6fa85044e1869]::panic::unwind_safe::RefUnwindSafe + core[10b6fa85044e1869]::marker::Sync, i32>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   26:     0x5b302a7859a4 - std[b80a194dd3c418bb]::rt::lang_start_internal::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/rt.rs:175:24
[INFO] [stdout]   27:     0x5b302a7859a4 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<std[b80a194dd3c418bb]::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5b302a7859a4 - std[b80a194dd3c418bb]::panicking::catch_unwind::<isize, std[b80a194dd3c418bb]::rt::lang_start_internal::{closure#0}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5b302a7859a4 - std[b80a194dd3c418bb]::panic::catch_unwind::<std[b80a194dd3c418bb]::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5b302a7859a4 - std[b80a194dd3c418bb]::rt::lang_start_internal
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/rt.rs:171:5
[INFO] [stdout]   31:     0x5b302a6d2471 - std::rt::lang_start::h7f170e4d70be7fa1
[INFO] [stdout]   32:     0x5b302a6d7845 - main
[INFO] [stdout]   33:     0x723774e4e1ca - <unknown>
[INFO] [stdout]   34:     0x723774e4e28b - __libc_start_main
[INFO] [stdout]   35:     0x5b302a6cbb75 - _start
[INFO] [stdout]   36:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - (line 12)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.65s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "7c41d43f04cc7a4368d6bace90fdd9e09aa03a9f69de580aa2f3980ef66390c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7c41d43f04cc7a4368d6bace90fdd9e09aa03a9f69de580aa2f3980ef66390c2", kill_on_drop: false }`
[INFO] [stdout] 7c41d43f04cc7a4368d6bace90fdd9e09aa03a9f69de580aa2f3980ef66390c2
