[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#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRaibows%2FMLinRust" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-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-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Raibows/MLinRust on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 64dd3871174f3ad6b728e32e6ba912ee78ba0a2116ac7a0f25a0327013e1b3ad
[INFO] running `Command { std: "docker" "start" "-a" "64dd3871174f3ad6b728e32e6ba912ee78ba0a2116ac7a0f25a0327013e1b3ad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "64dd3871174f3ad6b728e32e6ba912ee78ba0a2116ac7a0f25a0327013e1b3ad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "64dd3871174f3ad6b728e32e6ba912ee78ba0a2116ac7a0f25a0327013e1b3ad", kill_on_drop: false }`
[INFO] [stdout] 64dd3871174f3ad6b728e32e6ba912ee78ba0a2116ac7a0f25a0327013e1b3ad
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bafe44d0856cd5814706797fb98fd9d3647bced1d3e0a8353313a6c08f50e158
[INFO] running `Command { std: "docker" "start" "-a" "bafe44d0856cd5814706797fb98fd9d3647bced1d3e0a8353313a6c08f50e158", 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.61s
[INFO] running `Command { std: "docker" "inspect" "bafe44d0856cd5814706797fb98fd9d3647bced1d3e0a8353313a6c08f50e158", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bafe44d0856cd5814706797fb98fd9d3647bced1d3e0a8353313a6c08f50e158", kill_on_drop: false }`
[INFO] [stdout] bafe44d0856cd5814706797fb98fd9d3647bced1d3e0a8353313a6c08f50e158
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 287ae0d5755827632c3722fc42c8734cbf816a3f6cebf75a9aa25ad8f4caf19d
[INFO] running `Command { std: "docker" "start" "-a" "287ae0d5755827632c3722fc42c8734cbf816a3f6cebf75a9aa25ad8f4caf19d", 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.76s
[INFO] running `Command { std: "docker" "inspect" "287ae0d5755827632c3722fc42c8734cbf816a3f6cebf75a9aa25ad8f4caf19d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "287ae0d5755827632c3722fc42c8734cbf816a3f6cebf75a9aa25ad8f4caf19d", kill_on_drop: false }`
[INFO] [stdout] 287ae0d5755827632c3722fc42c8734cbf816a3f6cebf75a9aa25ad8f4caf19d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5542275c48a5117ea3c2f124b7fcbf58103f30aa7d3a68c8b2a6e430f2f7fafe
[INFO] running `Command { std: "docker" "start" "-a" "5542275c48a5117ea3c2f124b7fcbf58103f30aa7d3a68c8b2a6e430f2f7fafe", 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.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mlinrust-56abfb352d4aa9aa)
[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 model::decision_tree::test::test_synthetic_samples ... ok
[INFO] [stdout] test model::knn::test::test_knn ... ok
[INFO] [stdout] test model::knn::test::test_kdtree ... ok
[INFO] [stdout] test model::knn::test::test_brute_force_search ... ok
[INFO] [stdout] test model::naive_bayes::test::test_gaussian_pdf ... ok
[INFO] [stdout] test dataset::utils::test::test_normalize_dataset ... ok
[INFO] [stdout] test model::kmeans::test::test_kmeans ... ok
[INFO] [stdout] test model::logistic_regression::test::test_with_synthetic_data ... 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 ndarray::ops::test::test_index ... ok
[INFO] [stdout] test model::svm::test::test_with_2d_points ... ok
[INFO] [stdout] test model::naive_bayes::test::test_unknown_feature ... ok
[INFO] [stdout] test ndarray::ops::test::test_ops_add ... ok
[INFO] [stdout] test ndarray::ops::test::test_ops_inplace ... 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 ndarray::test::test_permute_intrinsic ... ok
[INFO] [stdout] test ndarray::test::test_repeat ... 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 model::nn::linear::test::test_back_propagation ... 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_softmax ... ok
[INFO] [stdout] test ndarray::utils::test::test_mean_std_min_max ... ok
[INFO] [stdout] test ndarray::utils::test::test_sum_ndarray ... ok
[INFO] [stdout] test dataset::car_price_dataset::test::test_process ... FAILED
[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 model::decision_tree::test::test_iris_dataset ... 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 dataset::utils::test::test ... 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-56abfb352d4aa9aa` (signal: 9, SIGKILL: kill)
[INFO] running `Command { std: "docker" "inspect" "5542275c48a5117ea3c2f124b7fcbf58103f30aa7d3a68c8b2a6e430f2f7fafe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5542275c48a5117ea3c2f124b7fcbf58103f30aa7d3a68c8b2a6e430f2f7fafe", kill_on_drop: false }`
[INFO] [stdout] 5542275c48a5117ea3c2f124b7fcbf58103f30aa7d3a68c8b2a6e430f2f7fafe
