[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 try#f47dd4da3ae8c32c9e65d307bfe640b143e674df for pr-77526 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsimonvandel%2Ffcbf" "/workspace/builds/worker-10/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-10/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/simonvandel/fcbf on toolchain f47dd4da3ae8c32c9e65d307bfe640b143e674df [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "read-manifest" "--manifest-path" "Cargo.toml", 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-10/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: "/workspace/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded noisy_float v0.1.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8544eda87beee1680ffe7845104d29fc0050385a25d0c2c06cdd79f6ded189db [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "8544eda87beee1680ffe7845104d29fc0050385a25d0c2c06cdd79f6ded189db", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8544eda87beee1680ffe7845104d29fc0050385a25d0c2c06cdd79f6ded189db", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8544eda87beee1680ffe7845104d29fc0050385a25d0c2c06cdd79f6ded189db", kill_on_drop: false }` [INFO] [stdout] 8544eda87beee1680ffe7845104d29fc0050385a25d0c2c06cdd79f6ded189db [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4483e507b8d5887c5878cf173756ef3dada7348e3e098326a9848a4ea2edd54e [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "4483e507b8d5887c5878cf173756ef3dada7348e3e098326a9848a4ea2edd54e", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling matrixmultiply v0.1.14 [INFO] [stderr] Checking rawpointer v0.1.0 [INFO] [stderr] Compiling ndarray v0.11.2 [INFO] [stderr] Checking serde v1.0.45 [INFO] [stderr] Checking fnv v1.0.6 [INFO] [stderr] Checking atty v0.2.10 [INFO] [stderr] Checking unreachable v1.0.0 [INFO] [stderr] Checking regex-syntax v0.5.6 [INFO] [stderr] Checking itertools v0.7.8 [INFO] [stderr] Checking log v0.4.1 [INFO] [stderr] Checking csv-core v0.1.4 [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 thread_local v0.3.5 [INFO] [stderr] Checking regex v0.2.11 [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: 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: 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] ... [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] 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] 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] 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] 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] 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] | borrow of `s_list` occurs 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] | ^^^^^^ assignment to borrowed `s_list` occurs here [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; 1 warning 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` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [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] ... [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] 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] 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] 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] 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] 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] | borrow of `s_list` occurs 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] | ^^^^^^ assignment to borrowed `s_list` occurs here [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; 3 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: build failed [INFO] running `Command { std: "docker" "inspect" "4483e507b8d5887c5878cf173756ef3dada7348e3e098326a9848a4ea2edd54e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4483e507b8d5887c5878cf173756ef3dada7348e3e098326a9848a4ea2edd54e", kill_on_drop: false }` [INFO] [stdout] 4483e507b8d5887c5878cf173756ef3dada7348e3e098326a9848a4ea2edd54e