[INFO] cloning repository https://github.com/Raibows/MLinRust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Raibows/MLinRust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRaibows%2FMLinRust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRaibows%2FMLinRust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b46f0e240a38fb62e4947c627f3c48945131ae82
[INFO] testing Raibows/MLinRust against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRaibows%2FMLinRust" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Raibows/MLinRust
[INFO] finished tweaking git repo https://github.com/Raibows/MLinRust
[INFO] tweaked toml for git repo https://github.com/Raibows/MLinRust written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Raibows/MLinRust on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Raibows/MLinRust 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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f36ce1bbb562cf40798058dc1c67dcdfc689ec854126980562d931a543ce377b
[INFO] running `Command { std: "docker" "start" "-a" "f36ce1bbb562cf40798058dc1c67dcdfc689ec854126980562d931a543ce377b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f36ce1bbb562cf40798058dc1c67dcdfc689ec854126980562d931a543ce377b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f36ce1bbb562cf40798058dc1c67dcdfc689ec854126980562d931a543ce377b", kill_on_drop: false }`
[INFO] [stdout] f36ce1bbb562cf40798058dc1c67dcdfc689ec854126980562d931a543ce377b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e08eaff8f2017c7251cc1584db4c9b4b27cbd7de598f9d8ba8132dd5fe710011
[INFO] running `Command { std: "docker" "start" "-a" "e08eaff8f2017c7251cc1584db4c9b4b27cbd7de598f9d8ba8132dd5fe710011", 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.36s
[INFO] running `Command { std: "docker" "inspect" "e08eaff8f2017c7251cc1584db4c9b4b27cbd7de598f9d8ba8132dd5fe710011", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e08eaff8f2017c7251cc1584db4c9b4b27cbd7de598f9d8ba8132dd5fe710011", kill_on_drop: false }`
[INFO] [stdout] e08eaff8f2017c7251cc1584db4c9b4b27cbd7de598f9d8ba8132dd5fe710011
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 679d414172c30da64f14566a9bd464de270f003f5ef56ee775701473f44b312e
[INFO] running `Command { std: "docker" "start" "-a" "679d414172c30da64f14566a9bd464de270f003f5ef56ee775701473f44b312e", 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.11s
[INFO] running `Command { std: "docker" "inspect" "679d414172c30da64f14566a9bd464de270f003f5ef56ee775701473f44b312e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "679d414172c30da64f14566a9bd464de270f003f5ef56ee775701473f44b312e", kill_on_drop: false }`
[INFO] [stdout] 679d414172c30da64f14566a9bd464de270f003f5ef56ee775701473f44b312e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2be2a472845eba3ff2e88786748ab3fb3fbca64eba60cae3bd5daf624da83a23
[INFO] running `Command { std: "docker" "start" "-a" "2be2a472845eba3ff2e88786748ab3fb3fbca64eba60cae3bd5daf624da83a23", 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.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mlinrust-265aa4a2c8df8637)
[INFO] [stdout] 
[INFO] [stdout] running 42 tests
[INFO] [stdout] test dataset::dataloader::test::test_dataloader_iterator ... ok
[INFO] [stdout] test dataset::test::test_split_dataset ... ok
[INFO] [stdout] test dataset::car_price_dataset::test::test_impute_value ... ok
[INFO] [stdout] test dataset::utils::test::test_normalize_dataset ... ok
[INFO] [stdout] test model::kmeans::test::test_kmeans ... ok
[INFO] [stdout] test model::naive_bayes::test::test_gaussian_pdf ... ok
[INFO] [stdout] test model::knn::test::test_knn ... ok
[INFO] [stdout] test model::logistic_regression::test::test_with_synthetic_data ... ok
[INFO] [stdout] test ndarray::ops::test::test_index ... ok
[INFO] [stdout] test model::knn::test::test_brute_force_search ... ok
[INFO] [stdout] test model::knn::test::test_kdtree ... ok
[INFO] [stdout] test model::linear_regression::test::test_with_synthetic_data ... ok
[INFO] [stdout] test model::nn::test::test_nn_forward_backward ... ok
[INFO] [stdout] test model::naive_bayes::test::test_unknown_feature ... ok
[INFO] [stdout] test model::nn::linear::test::test_back_propagation ... ok
[INFO] [stdout] test ndarray::ops::test::test_ops_add ... ok
[INFO] [stdout] test ndarray::ops::test::test_ops_multiply_by_float ... 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 model::decision_tree::test::test_synthetic_samples ... ok
[INFO] [stdout] test ndarray::test::test_fmt_display ... 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 ndarray::utils::test::test_activation_functions ... ok
[INFO] [stdout] test ndarray::utils::test::test_argmax ... ok
[INFO] [stdout] test ndarray::utils::test::test_mean_std_min_max ... ok
[INFO] [stdout] test ndarray::utils::test::test_softmax ... ok
[INFO] [stdout] test ndarray::utils::test::test_sum_ndarray ... ok
[INFO] [stdout] test ndarray::test::test_repeat ... ok
[INFO] [stdout] test ndarray::ops::test::test_ops_inplace ... ok
[INFO] [stdout] test model::svm::test::test_with_2d_points ... 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::car_price_dataset::test::test_process ... FAILED
[INFO] [stdout] test model::decision_tree::test::test_car_price_regression_dataset ... FAILED
[INFO] [stdout] test model::decision_tree::test::test_iris_dataset ... FAILED
[INFO] [stdout] test dataset::utils::test::test ... FAILED
[INFO] [stdout] test model::decision_tree::test::test_mobile_phone_price_dataset ... FAILED
[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/deps/mlinrust-265aa4a2c8df8637` (signal: 9, SIGKILL: kill)
[INFO] running `Command { std: "docker" "inspect" "2be2a472845eba3ff2e88786748ab3fb3fbca64eba60cae3bd5daf624da83a23", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2be2a472845eba3ff2e88786748ab3fb3fbca64eba60cae3bd5daf624da83a23", kill_on_drop: false }`
[INFO] [stdout] 2be2a472845eba3ff2e88786748ab3fb3fbca64eba60cae3bd5daf624da83a23
