[INFO] cloning repository https://github.com/simonvandel/fcbf [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/simonvandel/fcbf" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsimonvandel%2Ffcbf", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsimonvandel%2Ffcbf'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 08439f0dc2e4d00fb8a3d6391842d47cdfe54178 [INFO] checking simonvandel/fcbf against master#30840c53f414b753cb08f14620906572f88dda4b for pr-123531 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsimonvandel%2Ffcbf" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/simonvandel/fcbf on toolchain 30840c53f414b753cb08f14620906572f88dda4b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30840c53f414b753cb08f14620906572f88dda4b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/simonvandel/fcbf [INFO] finished tweaking git repo https://github.com/simonvandel/fcbf [INFO] tweaked toml for git repo https://github.com/simonvandel/fcbf written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/simonvandel/fcbf 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" "+30840c53f414b753cb08f14620906572f88dda4b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [ERROR] this task or one of its parent failed! [ERROR] no output for 300 seconds [ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace. [INFO] checking simonvandel/fcbf against try#18fb860b8a8e7ca508746882328061d0fe352543 for pr-123531 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsimonvandel%2Ffcbf" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/simonvandel/fcbf on toolchain 18fb860b8a8e7ca508746882328061d0fe352543 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+18fb860b8a8e7ca508746882328061d0fe352543" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/simonvandel/fcbf [INFO] finished tweaking git repo https://github.com/simonvandel/fcbf [INFO] tweaked toml for git repo https://github.com/simonvandel/fcbf written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/simonvandel/fcbf 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" "+18fb860b8a8e7ca508746882328061d0fe352543" "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] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded env_logger v0.5.9 [INFO] [stderr] Downloaded serde v1.0.45 [INFO] [stderr] Downloaded noisy_float v0.1.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+18fb860b8a8e7ca508746882328061d0fe352543" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4c4b37cfce4a3932a4c3101e7cb50c1bb9279f8b7a813a5365b5704522707003 [INFO] running `Command { std: "docker" "start" "-a" "4c4b37cfce4a3932a4c3101e7cb50c1bb9279f8b7a813a5365b5704522707003", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4c4b37cfce4a3932a4c3101e7cb50c1bb9279f8b7a813a5365b5704522707003", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4c4b37cfce4a3932a4c3101e7cb50c1bb9279f8b7a813a5365b5704522707003", kill_on_drop: false }` [INFO] [stdout] 4c4b37cfce4a3932a4c3101e7cb50c1bb9279f8b7a813a5365b5704522707003 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+18fb860b8a8e7ca508746882328061d0fe352543" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b10dc1bf3222939a864ce7a7a26a4c4a2f5490bd74a9e05dfd41734f3c9fdf9a [INFO] running `Command { std: "docker" "start" "-a" "b10dc1bf3222939a864ce7a7a26a4c4a2f5490bd74a9e05dfd41734f3c9fdf9a", kill_on_drop: false }` [INFO] [stderr] Checking libc v0.2.40 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking num-traits v0.2.2 [INFO] [stderr] Checking ucd-util v0.1.1 [INFO] [stderr] Compiling matrixmultiply v0.1.14 [INFO] [stderr] Compiling regex v0.2.11 [INFO] [stderr] Checking lazy_static v1.0.0 [INFO] [stderr] Compiling ndarray v0.11.2 [INFO] [stderr] Checking unreachable v1.0.0 [INFO] [stderr] Checking either v1.5.0 [INFO] [stderr] Checking thread_local v0.3.5 [INFO] [stderr] Checking regex-syntax v0.5.6 [INFO] [stderr] Checking utf8-ranges v1.0.0 [INFO] [stderr] Checking rawpointer v0.1.0 [INFO] [stderr] Checking cfg-if v0.1.3 [INFO] [stderr] Checking quick-error v1.2.1 [INFO] [stderr] Checking itertools v0.7.8 [INFO] [stderr] Checking unreachable v0.1.1 [INFO] [stderr] Checking log v0.4.1 [INFO] [stderr] Checking humantime v1.1.1 [INFO] [stderr] Checking serde v1.0.45 [INFO] [stderr] Checking memchr v2.0.1 [INFO] [stderr] Checking atty v0.2.10 [INFO] [stderr] Checking termcolor v0.3.6 [INFO] [stderr] Checking aho-corasick v0.6.4 [INFO] [stderr] Checking csv-core v0.1.4 [INFO] [stderr] Checking rand v0.4.2 [INFO] [stderr] Checking indexmap v1.0.1 [INFO] [stderr] Checking fnv v1.0.6 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking num-complex v0.1.43 [INFO] [stderr] Checking float-cmp v0.4.0 [INFO] [stderr] Checking noisy_float v0.1.4 [INFO] [stderr] Checking ordered-float v0.5.0 [INFO] [stderr] Checking env_logger v0.5.9 [INFO] [stderr] Checking quickcheck v0.6.2 [INFO] [stderr] Checking csv v1.0.0-beta.5 [INFO] [stderr] Checking fcbf v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `ApproxEq`, `Ulps` [INFO] [stdout] --> src/information_theory.rs:127:27 [INFO] [stdout] | [INFO] [stdout] 127 | use self::float_cmp::{ApproxEq, ApproxEqRatio, Ulps}; [INFO] [stdout] | ^^^^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `nll` has been stable since 1.63.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(nll)] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/information_theory.rs:168:46 [INFO] [stdout] | [INFO] [stdout] 168 | return TestResult::discard();; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `nll` has been stable since 1.63.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(nll)] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cacher` [INFO] [stdout] --> src/main.rs:31:37 [INFO] [stdout] | [INFO] [stdout] 31 | fn symmetric_uncertainty_cached<'a>(cacher: &mut MyCacher, x: &'a Col<'a>, y: &'a Col<'a>) -> ValueType { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cacher` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `x` does not live long enough [INFO] [stdout] --> src/main.rs:106:26 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn fcbf<'x>( [INFO] [stdout] | -- lifetime `'x` defined here [INFO] [stdout] 92 | x: ArrayView<'x, ValueType, Ix2>, [INFO] [stdout] | - binding `x` declared here [INFO] [stdout] ... [INFO] [stdout] 106 | let cols: Vec = x.gencolumns() [INFO] [stdout] | ^ borrowed value does not live long enough [INFO] [stdout] ... [INFO] [stdout] 110 | / Col { [INFO] [stdout] 111 | | idx, [INFO] [stdout] 112 | | values: f_i, [INFO] [stdout] 113 | | }}).collect(); [INFO] [stdout] | |_________- returning this value requires that `x` is borrowed for `'x` [INFO] [stdout] ... [INFO] [stdout] 172 | } [INFO] [stdout] | - `x` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `c` does not live long enough [INFO] [stdout] --> src/main.rs:118:64 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn fcbf<'x>( [INFO] [stdout] | -- lifetime `'x` defined here [INFO] [stdout] ... [INFO] [stdout] 117 | for c in cols { [INFO] [stdout] | - binding `c` declared here [INFO] [stdout] 118 | let su_i_c = symmetric_uncertainty_cached(&mut cacher, &c, &f_y); [INFO] [stdout] | ------------------------------------------^^------- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `c` is borrowed for `'x` [INFO] [stdout] ... [INFO] [stdout] 122 | } [INFO] [stdout] | - `c` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `f_y` does not live long enough [INFO] [stdout] --> src/main.rs:118:68 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn fcbf<'x>( [INFO] [stdout] | -- lifetime `'x` defined here [INFO] [stdout] ... [INFO] [stdout] 103 | let f_y = Col{idx: x.cols(), values: y}; [INFO] [stdout] | --- binding `f_y` declared here [INFO] [stdout] ... [INFO] [stdout] 118 | let su_i_c = symmetric_uncertainty_cached(&mut cacher, &c, &f_y); [INFO] [stdout] | ----------------------------------------------^^^^- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `f_y` is borrowed for `'x` [INFO] [stdout] ... [INFO] [stdout] 172 | } [INFO] [stdout] | - `f_y` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `c` because it is borrowed [INFO] [stdout] --> src/main.rs:120:38 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn fcbf<'x>( [INFO] [stdout] | -- lifetime `'x` defined here [INFO] [stdout] ... [INFO] [stdout] 117 | for c in cols { [INFO] [stdout] | - binding `c` declared here [INFO] [stdout] 118 | let su_i_c = symmetric_uncertainty_cached(&mut cacher, &c, &f_y); [INFO] [stdout] | --------------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | borrow of `c` occurs here [INFO] [stdout] | argument requires that `c` is borrowed for `'x` [INFO] [stdout] 119 | if su_i_c >= threshold { [INFO] [stdout] 120 | s_list.push(Feature{col: c, su_target: su_i_c}); [INFO] [stdout] | ^ move out of `c` occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `s_list` does not live long enough [INFO] [stdout] --> src/main.rs:130:27 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn fcbf<'x>( [INFO] [stdout] | -- lifetime `'x` defined here [INFO] [stdout] ... [INFO] [stdout] 100 | let mut s_list: Vec = Vec::new(); [INFO] [stdout] | ---------- binding `s_list` declared here [INFO] [stdout] ... [INFO] [stdout] 130 | while let Some(f_p) = s_list.get(cur_feature_idx) { [INFO] [stdout] | ^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | borrowed value does not live long enough [INFO] [stdout] | argument requires that `s_list` is borrowed for `'x` [INFO] [stdout] ... [INFO] [stdout] 172 | } [INFO] [stdout] | - `s_list` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `s_list` does not live long enough [INFO] [stdout] --> src/main.rs:132:26 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn fcbf<'x>( [INFO] [stdout] | -- lifetime `'x` defined here [INFO] [stdout] ... [INFO] [stdout] 100 | let mut s_list: Vec = Vec::new(); [INFO] [stdout] | ---------- binding `s_list` declared here [INFO] [stdout] ... [INFO] [stdout] 132 | let unexplored = s_list.iter().skip(cur_feature_idx + 1).filter(|f_q| { [INFO] [stdout] | ^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | borrowed value does not live long enough [INFO] [stdout] | argument requires that `s_list` is borrowed for `'x` [INFO] [stdout] ... [INFO] [stdout] 172 | } [INFO] [stdout] | - `s_list` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `f_y` does not live long enough [INFO] [stdout] --> src/main.rs:138:86 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn fcbf<'x>( [INFO] [stdout] | -- lifetime `'x` defined here [INFO] [stdout] ... [INFO] [stdout] 132 | let unexplored = s_list.iter().skip(cur_feature_idx + 1).filter(|f_q| { [INFO] [stdout] | ----- value captured here [INFO] [stdout] ... [INFO] [stdout] 138 | let f_q_su_target = symmetric_uncertainty_cached(&mut cacher, &f_q.col, &f_y); [INFO] [stdout] | -----------------------------------------------------^^^- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `f_y` is borrowed for `'x` [INFO] [stdout] ... [INFO] [stdout] 172 | } [INFO] [stdout] | - `f_y` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0506]: cannot assign to `s_list` because it is borrowed [INFO] [stdout] --> src/main.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn fcbf<'x>( [INFO] [stdout] | -- lifetime `'x` defined here [INFO] [stdout] ... [INFO] [stdout] 130 | while let Some(f_p) = s_list.get(cur_feature_idx) { [INFO] [stdout] | --------------------------- [INFO] [stdout] | | [INFO] [stdout] | `s_list` is borrowed here [INFO] [stdout] | argument requires that `s_list` is borrowed for `'x` [INFO] [stdout] ... [INFO] [stdout] 153 | s_list = new_s_list.clone(); [INFO] [stdout] | ^^^^^^ `s_list` is assigned to here but it was already borrowed [INFO] [stdout] | [INFO] [stdout] = note: borrow occurs due to deref coercion to `[Feature<'_>]` [INFO] [stdout] note: deref defined here [INFO] [stdout] --> /rustc/18fb860b8a8e7ca508746882328061d0fe352543/library/alloc/src/vec/mod.rs:2784:5 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `s_list` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/main.rs:159:5 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn fcbf<'x>( [INFO] [stdout] | -- lifetime `'x` defined here [INFO] [stdout] ... [INFO] [stdout] 130 | while let Some(f_p) = s_list.get(cur_feature_idx) { [INFO] [stdout] | --------------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | argument requires that `s_list` is borrowed for `'x` [INFO] [stdout] ... [INFO] [stdout] 159 | s_list.sort_by(|a, b| { [INFO] [stdout] | ^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cacher` [INFO] [stdout] --> src/main.rs:31:37 [INFO] [stdout] | [INFO] [stdout] 31 | fn symmetric_uncertainty_cached<'a>(cacher: &mut MyCacher, x: &'a Col<'a>, y: &'a Col<'a>) -> ValueType { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cacher` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 9 previous errors; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0502, E0505, E0506, E0597. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stderr] error: could not compile `fcbf` (bin "fcbf") due to 10 previous errors; 2 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0597]: `x` does not live long enough [INFO] [stdout] --> src/main.rs:106:26 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn fcbf<'x>( [INFO] [stdout] | -- lifetime `'x` defined here [INFO] [stdout] 92 | x: ArrayView<'x, ValueType, Ix2>, [INFO] [stdout] | - binding `x` declared here [INFO] [stdout] ... [INFO] [stdout] 106 | let cols: Vec = x.gencolumns() [INFO] [stdout] | ^ borrowed value does not live long enough [INFO] [stdout] ... [INFO] [stdout] 110 | / Col { [INFO] [stdout] 111 | | idx, [INFO] [stdout] 112 | | values: f_i, [INFO] [stdout] 113 | | }}).collect(); [INFO] [stdout] | |_________- returning this value requires that `x` is borrowed for `'x` [INFO] [stdout] ... [INFO] [stdout] 172 | } [INFO] [stdout] | - `x` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `c` does not live long enough [INFO] [stdout] --> src/main.rs:118:64 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn fcbf<'x>( [INFO] [stdout] | -- lifetime `'x` defined here [INFO] [stdout] ... [INFO] [stdout] 117 | for c in cols { [INFO] [stdout] | - binding `c` declared here [INFO] [stdout] 118 | let su_i_c = symmetric_uncertainty_cached(&mut cacher, &c, &f_y); [INFO] [stdout] | ------------------------------------------^^------- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `c` is borrowed for `'x` [INFO] [stdout] ... [INFO] [stdout] 122 | } [INFO] [stdout] | - `c` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `f_y` does not live long enough [INFO] [stdout] --> src/main.rs:118:68 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn fcbf<'x>( [INFO] [stdout] | -- lifetime `'x` defined here [INFO] [stdout] ... [INFO] [stdout] 103 | let f_y = Col{idx: x.cols(), values: y}; [INFO] [stdout] | --- binding `f_y` declared here [INFO] [stdout] ... [INFO] [stdout] 118 | let su_i_c = symmetric_uncertainty_cached(&mut cacher, &c, &f_y); [INFO] [stdout] | ----------------------------------------------^^^^- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `f_y` is borrowed for `'x` [INFO] [stdout] ... [INFO] [stdout] 172 | } [INFO] [stdout] | - `f_y` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `c` because it is borrowed [INFO] [stdout] --> src/main.rs:120:38 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn fcbf<'x>( [INFO] [stdout] | -- lifetime `'x` defined here [INFO] [stdout] ... [INFO] [stdout] 117 | for c in cols { [INFO] [stdout] | - binding `c` declared here [INFO] [stdout] 118 | let su_i_c = symmetric_uncertainty_cached(&mut cacher, &c, &f_y); [INFO] [stdout] | --------------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | borrow of `c` occurs here [INFO] [stdout] | argument requires that `c` is borrowed for `'x` [INFO] [stdout] 119 | if su_i_c >= threshold { [INFO] [stdout] 120 | s_list.push(Feature{col: c, su_target: su_i_c}); [INFO] [stdout] | ^ move out of `c` occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `s_list` does not live long enough [INFO] [stdout] --> src/main.rs:130:27 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn fcbf<'x>( [INFO] [stdout] | -- lifetime `'x` defined here [INFO] [stdout] ... [INFO] [stdout] 100 | let mut s_list: Vec = Vec::new(); [INFO] [stdout] | ---------- binding `s_list` declared here [INFO] [stdout] ... [INFO] [stdout] 130 | while let Some(f_p) = s_list.get(cur_feature_idx) { [INFO] [stdout] | ^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | borrowed value does not live long enough [INFO] [stdout] | argument requires that `s_list` is borrowed for `'x` [INFO] [stdout] ... [INFO] [stdout] 172 | } [INFO] [stdout] | - `s_list` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `s_list` does not live long enough [INFO] [stdout] --> src/main.rs:132:26 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn fcbf<'x>( [INFO] [stdout] | -- lifetime `'x` defined here [INFO] [stdout] ... [INFO] [stdout] 100 | let mut s_list: Vec = Vec::new(); [INFO] [stdout] | ---------- binding `s_list` declared here [INFO] [stdout] ... [INFO] [stdout] 132 | let unexplored = s_list.iter().skip(cur_feature_idx + 1).filter(|f_q| { [INFO] [stdout] | ^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | borrowed value does not live long enough [INFO] [stdout] | argument requires that `s_list` is borrowed for `'x` [INFO] [stdout] ... [INFO] [stdout] 172 | } [INFO] [stdout] | - `s_list` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `f_y` does not live long enough [INFO] [stdout] --> src/main.rs:138:86 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn fcbf<'x>( [INFO] [stdout] | -- lifetime `'x` defined here [INFO] [stdout] ... [INFO] [stdout] 132 | let unexplored = s_list.iter().skip(cur_feature_idx + 1).filter(|f_q| { [INFO] [stdout] | ----- value captured here [INFO] [stdout] ... [INFO] [stdout] 138 | let f_q_su_target = symmetric_uncertainty_cached(&mut cacher, &f_q.col, &f_y); [INFO] [stdout] | -----------------------------------------------------^^^- [INFO] [stdout] | | | [INFO] [stdout] | | borrowed value does not live long enough [INFO] [stdout] | argument requires that `f_y` is borrowed for `'x` [INFO] [stdout] ... [INFO] [stdout] 172 | } [INFO] [stdout] | - `f_y` dropped here while still borrowed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0506]: cannot assign to `s_list` because it is borrowed [INFO] [stdout] --> src/main.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn fcbf<'x>( [INFO] [stdout] | -- lifetime `'x` defined here [INFO] [stdout] ... [INFO] [stdout] 130 | while let Some(f_p) = s_list.get(cur_feature_idx) { [INFO] [stdout] | --------------------------- [INFO] [stdout] | | [INFO] [stdout] | `s_list` is borrowed here [INFO] [stdout] | argument requires that `s_list` is borrowed for `'x` [INFO] [stdout] ... [INFO] [stdout] 153 | s_list = new_s_list.clone(); [INFO] [stdout] | ^^^^^^ `s_list` is assigned to here but it was already borrowed [INFO] [stdout] | [INFO] [stdout] = note: borrow occurs due to deref coercion to `[Feature<'_>]` [INFO] [stdout] note: deref defined here [INFO] [stdout] --> /rustc/18fb860b8a8e7ca508746882328061d0fe352543/library/alloc/src/vec/mod.rs:2784:5 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `s_list` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/main.rs:159:5 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn fcbf<'x>( [INFO] [stdout] | -- lifetime `'x` defined here [INFO] [stdout] ... [INFO] [stdout] 130 | while let Some(f_p) = s_list.get(cur_feature_idx) { [INFO] [stdout] | --------------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | argument requires that `s_list` is borrowed for `'x` [INFO] [stdout] ... [INFO] [stdout] 159 | s_list.sort_by(|a, b| { [INFO] [stdout] | ^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 9 previous errors; 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0502, E0505, E0506, E0597. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stderr] error: could not compile `fcbf` (bin "fcbf" test) due to 10 previous errors; 4 warnings emitted [INFO] running `Command { std: "docker" "inspect" "b10dc1bf3222939a864ce7a7a26a4c4a2f5490bd74a9e05dfd41734f3c9fdf9a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b10dc1bf3222939a864ce7a7a26a4c4a2f5490bd74a9e05dfd41734f3c9fdf9a", kill_on_drop: false }` [INFO] [stdout] b10dc1bf3222939a864ce7a7a26a4c4a2f5490bd74a9e05dfd41734f3c9fdf9a