[INFO] fetching crate mlinrust 0.1.0...
[INFO] testing mlinrust-0.1.0 against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] extracting crate mlinrust 0.1.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate mlinrust 0.1.0
[INFO] finished tweaking crates.io crate mlinrust 0.1.0
[INFO] tweaked toml for crates.io crate mlinrust 0.1.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate mlinrust 0.1.0 on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate mlinrust 0.1.0 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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ef676a506beefb493c5bd6ada062d603e1c7f8769dbf8901736d3f82996dc362
[INFO] running `Command { std: "docker" "start" "-a" "ef676a506beefb493c5bd6ada062d603e1c7f8769dbf8901736d3f82996dc362", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ef676a506beefb493c5bd6ada062d603e1c7f8769dbf8901736d3f82996dc362", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ef676a506beefb493c5bd6ada062d603e1c7f8769dbf8901736d3f82996dc362", kill_on_drop: false }`
[INFO] [stdout] ef676a506beefb493c5bd6ada062d603e1c7f8769dbf8901736d3f82996dc362
[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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] b4c8728e45c72065a6a95efc47fcdb89ab99f165ea00a6bb3a37fcf844ae7e12
[INFO] running `Command { std: "docker" "start" "-a" "b4c8728e45c72065a6a95efc47fcdb89ab99f165ea00a6bb3a37fcf844ae7e12", kill_on_drop: false }`
[INFO] [stderr]    Compiling mlinrust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/model/decision_tree.rs:97:51
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut node = self.root.as_ref().unwrap().clone();
[INFO] [stdout]    |                                                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `Box<Node<T>>` does not implement `Clone`, so calling `clone` on `&Box<Node<T>>` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout] 97 -         let mut node = self.root.as_ref().unwrap().clone();
[INFO] [stdout] 97 +         let mut node = self.root.as_ref().unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/model/decision_tree.rs:101:52
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 node = &node.left.as_ref().unwrap().clone();
[INFO] [stdout]     |                                                    ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Box<Node<T>>` does not implement `Clone`, so calling `clone` on `&Box<Node<T>>` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 101 -                 node = &node.left.as_ref().unwrap().clone();
[INFO] [stdout] 101 +                 node = &node.left.as_ref().unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/model/decision_tree.rs:103:53
[INFO] [stdout]     |
[INFO] [stdout] 103 |                 node = &node.right.as_ref().unwrap().clone();
[INFO] [stdout]     |                                                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Box<Node<T>>` does not implement `Clone`, so calling `clone` on `&Box<Node<T>>` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 103 -                 node = &node.right.as_ref().unwrap().clone();
[INFO] [stdout] 103 +                 node = &node.right.as_ref().unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/model/knn.rs:310:20
[INFO] [stdout]     |
[INFO] [stdout] 310 |     pub fn nearest(&self, query: &Vec<f32>) -> Vec<QueryRecord<T>> {
[INFO] [stdout]     |                    ^^^^^                           ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 310 |     pub fn nearest(&self, query: &Vec<f32>) -> Vec<QueryRecord<'_, T>> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.46s
[INFO] running `Command { std: "docker" "inspect" "b4c8728e45c72065a6a95efc47fcdb89ab99f165ea00a6bb3a37fcf844ae7e12", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b4c8728e45c72065a6a95efc47fcdb89ab99f165ea00a6bb3a37fcf844ae7e12", kill_on_drop: false }`
[INFO] [stdout] b4c8728e45c72065a6a95efc47fcdb89ab99f165ea00a6bb3a37fcf844ae7e12
[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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] a8f323c5c1c33bc621d5de477615e88d8d0ddbe741915d17ea8201cd8f0a4aa6
[INFO] running `Command { std: "docker" "start" "-a" "a8f323c5c1c33bc621d5de477615e88d8d0ddbe741915d17ea8201cd8f0a4aa6", kill_on_drop: false }`
[INFO] [stderr]    Compiling mlinrust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/model/decision_tree.rs:97:51
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut node = self.root.as_ref().unwrap().clone();
[INFO] [stdout]    |                                                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `Box<Node<T>>` does not implement `Clone`, so calling `clone` on `&Box<Node<T>>` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout] 97 -         let mut node = self.root.as_ref().unwrap().clone();
[INFO] [stdout] 97 +         let mut node = self.root.as_ref().unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/model/decision_tree.rs:101:52
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 node = &node.left.as_ref().unwrap().clone();
[INFO] [stdout]     |                                                    ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Box<Node<T>>` does not implement `Clone`, so calling `clone` on `&Box<Node<T>>` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 101 -                 node = &node.left.as_ref().unwrap().clone();
[INFO] [stdout] 101 +                 node = &node.left.as_ref().unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/model/decision_tree.rs:103:53
[INFO] [stdout]     |
[INFO] [stdout] 103 |                 node = &node.right.as_ref().unwrap().clone();
[INFO] [stdout]     |                                                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Box<Node<T>>` does not implement `Clone`, so calling `clone` on `&Box<Node<T>>` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 103 -                 node = &node.right.as_ref().unwrap().clone();
[INFO] [stdout] 103 +                 node = &node.right.as_ref().unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/model/knn.rs:310:20
[INFO] [stdout]     |
[INFO] [stdout] 310 |     pub fn nearest(&self, query: &Vec<f32>) -> Vec<QueryRecord<T>> {
[INFO] [stdout]     |                    ^^^^^                           ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 310 |     pub fn nearest(&self, query: &Vec<f32>) -> Vec<QueryRecord<'_, T>> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/model/decision_tree.rs:97:51
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut node = self.root.as_ref().unwrap().clone();
[INFO] [stdout]    |                                                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `Box<Node<T>>` does not implement `Clone`, so calling `clone` on `&Box<Node<T>>` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout] 97 -         let mut node = self.root.as_ref().unwrap().clone();
[INFO] [stdout] 97 +         let mut node = self.root.as_ref().unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/model/decision_tree.rs:101:52
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 node = &node.left.as_ref().unwrap().clone();
[INFO] [stdout]     |                                                    ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Box<Node<T>>` does not implement `Clone`, so calling `clone` on `&Box<Node<T>>` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 101 -                 node = &node.left.as_ref().unwrap().clone();
[INFO] [stdout] 101 +                 node = &node.left.as_ref().unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/model/decision_tree.rs:103:53
[INFO] [stdout]     |
[INFO] [stdout] 103 |                 node = &node.right.as_ref().unwrap().clone();
[INFO] [stdout]     |                                                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Box<Node<T>>` does not implement `Clone`, so calling `clone` on `&Box<Node<T>>` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 103 -                 node = &node.right.as_ref().unwrap().clone();
[INFO] [stdout] 103 +                 node = &node.right.as_ref().unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/model/knn.rs:310:20
[INFO] [stdout]     |
[INFO] [stdout] 310 |     pub fn nearest(&self, query: &Vec<f32>) -> Vec<QueryRecord<T>> {
[INFO] [stdout]     |                    ^^^^^                           ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 310 |     pub fn nearest(&self, query: &Vec<f32>) -> Vec<QueryRecord<'_, T>> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.56s
[INFO] running `Command { std: "docker" "inspect" "a8f323c5c1c33bc621d5de477615e88d8d0ddbe741915d17ea8201cd8f0a4aa6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a8f323c5c1c33bc621d5de477615e88d8d0ddbe741915d17ea8201cd8f0a4aa6", kill_on_drop: false }`
[INFO] [stdout] a8f323c5c1c33bc621d5de477615e88d8d0ddbe741915d17ea8201cd8f0a4aa6
[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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 372a2dff2a0edc7ddd4b232853692815ca5cbaf7c00638ad2e317ff473b0d7fe
[INFO] running `Command { std: "docker" "start" "-a" "372a2dff2a0edc7ddd4b232853692815ca5cbaf7c00638ad2e317ff473b0d7fe", kill_on_drop: false }`
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]   --> src/model/decision_tree.rs:97:51
[INFO] [stderr]    |
[INFO] [stderr] 97 |         let mut node = self.root.as_ref().unwrap().clone();
[INFO] [stderr]    |                                                   ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: the type `Box<Node<T>>` does not implement `Clone`, so calling `clone` on `&Box<Node<T>>` copies the reference, which does not do anything and can be removed
[INFO] [stderr]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]    |
[INFO] [stderr] 97 -         let mut node = self.root.as_ref().unwrap().clone();
[INFO] [stderr] 97 +         let mut node = self.root.as_ref().unwrap();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/model/decision_tree.rs:101:52
[INFO] [stderr]     |
[INFO] [stderr] 101 |                 node = &node.left.as_ref().unwrap().clone();
[INFO] [stderr]     |                                                    ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `Box<Node<T>>` does not implement `Clone`, so calling `clone` on `&Box<Node<T>>` copies the reference, which does not do anything and can be removed
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 101 -                 node = &node.left.as_ref().unwrap().clone();
[INFO] [stderr] 101 +                 node = &node.left.as_ref().unwrap();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/model/decision_tree.rs:103:53
[INFO] [stderr]     |
[INFO] [stderr] 103 |                 node = &node.right.as_ref().unwrap().clone();
[INFO] [stderr]     |                                                     ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `Box<Node<T>>` does not implement `Clone`, so calling `clone` on `&Box<Node<T>>` copies the reference, which does not do anything and can be removed
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 103 -                 node = &node.right.as_ref().unwrap().clone();
[INFO] [stderr] 103 +                 node = &node.right.as_ref().unwrap();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/model/knn.rs:310:20
[INFO] [stderr]     |
[INFO] [stderr] 310 |     pub fn nearest(&self, query: &Vec<f32>) -> Vec<QueryRecord<T>> {
[INFO] [stderr]     |                    ^^^^^                           ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                    |
[INFO] [stderr]     |                    the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 310 |     pub fn nearest(&self, query: &Vec<f32>) -> Vec<QueryRecord<'_, T>> {
[INFO] [stderr]     |                                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: `mlinrust` (lib) generated 4 warnings (run `cargo fix --lib -p mlinrust` to apply 4 suggestions)
[INFO] [stderr] warning: `mlinrust` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/mlinrust/265aa4a2c8df8637/deps/mlinrust-265aa4a2c8df8637)
[INFO] [stdout] 
[INFO] [stdout] running 42 tests
[INFO] [stdout] test dataset::car_price_dataset::test::test_impute_value ... ok
[INFO] [stdout] test dataset::test::test_split_dataset ... ok
[INFO] [stdout] test dataset::utils::test::test_normalize_dataset ... ok
[INFO] [stdout] test model::knn::test::test_brute_force_search ... ok
[INFO] [stdout] test model::decision_tree::test::test_synthetic_samples ... ok
[INFO] [stdout] test model::knn::test::test_knn ... ok
[INFO] [stdout] test model::kmeans::test::test_kmeans ... ok
[INFO] [stdout] test model::linear_regression::test::test_with_synthetic_data ... ok
[INFO] [stdout] test model::naive_bayes::test::test_gaussian_pdf ... ok
[INFO] [stdout] test model::logistic_regression::test::test_with_synthetic_data ... ok
[INFO] [stdout] test model::nn::linear::test::test_back_propagation ... ok
[INFO] [stdout] test model::knn::test::test_kdtree ... ok
[INFO] [stdout] test ndarray::ops::test::test_index ... ok
[INFO] [stdout] test ndarray::ops::test::test_ops_add ... ok
[INFO] [stdout] test model::naive_bayes::test::test_unknown_feature ... ok
[INFO] [stdout] test ndarray::ops::test::test_ops_multiply_by_float ... ok
[INFO] [stdout] test model::nn::test::test_nn_forward_backward ... ok
[INFO] [stdout] test ndarray::ops::test::test_ops_inplace ... ok
[INFO] [stdout] test ndarray::ops::test::test_ops_multiply_by_ndarray ... ok
[INFO] [stdout] test ndarray::ops::test::test_ops_sub ... ok
[INFO] [stdout] test ndarray::test::test_fmt_display ... ok
[INFO] [stdout] test model::svm::test::test_with_2d_points ... ok
[INFO] [stdout] test ndarray::test::test_new ... ok
[INFO] [stdout] test ndarray::test::test_permute ... ok
[INFO] [stdout] test ndarray::test::test_permute_intrinsic ... ok
[INFO] [stdout] test dataset::dataloader::test::test_dataloader_iterator ... ok
[INFO] [stdout] test ndarray::test::test_repeat ... ok
[INFO] [stdout] test ndarray::utils::test::test_activation_functions ... ok
[INFO] [stdout] test ndarray::utils::test::test_softmax ... ok
[INFO] [stdout] test ndarray::utils::test::test_sum_ndarray ... ok
[INFO] [stdout] test utils::test::test_rand ... ok
[INFO] [stdout] test dataset::test::test_dataset_iter ... FAILED
[INFO] [stdout] test dataset::test::test_dataset_load_profiling ... FAILED
[INFO] [stdout] test dataset::utils::test::test ... FAILED
[INFO] [stdout] test model::decision_tree::test::test_car_price_regression_dataset ... FAILED
[INFO] [stdout] test model::decision_tree::test::test_mobile_phone_price_dataset ... FAILED
[INFO] [stdout] test model::decision_tree::test::test_iris_dataset ... FAILED
[INFO] [stdout] test dataset::car_price_dataset::test::test_process ... FAILED
[INFO] [stdout] test ndarray::utils::test::test_mean_std_min_max ... ok
[INFO] [stdout] test ndarray::utils::test::test_argmax ... ok
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/build/mlinrust/265aa4a2c8df8637/deps/mlinrust-265aa4a2c8df8637` (signal: 9, SIGKILL: kill)
[INFO] running `Command { std: "docker" "inspect" "372a2dff2a0edc7ddd4b232853692815ca5cbaf7c00638ad2e317ff473b0d7fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "372a2dff2a0edc7ddd4b232853692815ca5cbaf7c00638ad2e317ff473b0d7fe", kill_on_drop: false }`
[INFO] [stdout] 372a2dff2a0edc7ddd4b232853692815ca5cbaf7c00638ad2e317ff473b0d7fe
