[INFO] fetching crate extended-collections 0.5.0... [INFO] checking extended-collections-0.5.0 against try#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 for pr-82565 [INFO] extracting crate extended-collections 0.5.0 into /workspace/builds/worker-11/source [INFO] validating manifest of crates.io crate extended-collections 0.5.0 on toolchain 8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate extended-collections 0.5.0 [INFO] finished tweaking crates.io crate extended-collections 0.5.0 [INFO] tweaked toml for crates.io crate extended-collections 0.5.0 written to /workspace/builds/worker-11/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded probabilistic-collections v0.3.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a6352d52623b590901d96f8af6f602edb950089e550f0332b8687d1584463263 [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" "a6352d52623b590901d96f8af6f602edb950089e550f0332b8687d1584463263", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a6352d52623b590901d96f8af6f602edb950089e550f0332b8687d1584463263", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a6352d52623b590901d96f8af6f602edb950089e550f0332b8687d1584463263", kill_on_drop: false }` [INFO] [stdout] a6352d52623b590901d96f8af6f602edb950089e550f0332b8687d1584463263 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 717acc3847433be8ace5a37eb56380904ef84346a29ff69f6ea4ba568e868b18 [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" "717acc3847433be8ace5a37eb56380904ef84346a29ff69f6ea4ba568e868b18", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.124 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Checking siphasher v0.2.3 [INFO] [stderr] Checking scopeguard v0.3.3 [INFO] [stderr] Checking memoffset v0.1.0 [INFO] [stderr] Compiling syn v1.0.63 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking crossbeam-utils v0.2.2 [INFO] [stderr] Checking crossbeam-epoch v0.2.0 [INFO] [stderr] Compiling serde_derive v1.0.124 [INFO] [stderr] Checking bincode v1.3.2 [INFO] [stderr] Checking serde_test v1.0.124 [INFO] [stderr] Checking probabilistic-collections v0.3.0 [INFO] [stderr] Checking extended-collections v0.5.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bp_tree/pager.rs:44:32 [INFO] [stdout] | [INFO] [stdout] 44 | fn cause(&self) -> Option<&error::Error> { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lsm_tree/compaction/mod.rs:15:33 [INFO] [stdout] | [INFO] [stdout] 15 | pub type CompactionIter = Iterator>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lsm_tree/mod.rs:44:32 [INFO] [stdout] | [INFO] [stdout] 44 | fn cause(&self) -> Option<&error::Error> { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bp_tree/pager.rs:44:32 [INFO] [stdout] | [INFO] [stdout] 44 | fn cause(&self) -> Option<&error::Error> { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lsm_tree/compaction/mod.rs:15:33 [INFO] [stdout] | [INFO] [stdout] 15 | pub type CompactionIter = Iterator>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lsm_tree/mod.rs:44:32 [INFO] [stdout] | [INFO] [stdout] 44 | fn cause(&self) -> Option<&error::Error> { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/bp_tree/pager.rs:39:48 [INFO] [stdout] | [INFO] [stdout] 39 | Error::IOError(ref error) => error.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/bp_tree/pager.rs:40:51 [INFO] [stdout] | [INFO] [stdout] 40 | Error::SerdeError(ref error) => error.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/bp_tree/pager.rs:46:48 [INFO] [stdout] | [INFO] [stdout] 46 | Error::IOError(ref error) => error.cause(), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/bp_tree/pager.rs:47:51 [INFO] [stdout] | [INFO] [stdout] 47 | Error::SerdeError(ref error) => error.cause(), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/lsm_tree/mod.rs:39:48 [INFO] [stdout] | [INFO] [stdout] 39 | Error::IOError(ref error) => error.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/lsm_tree/mod.rs:40:51 [INFO] [stdout] | [INFO] [stdout] 40 | Error::SerdeError(ref error) => error.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/lsm_tree/mod.rs:46:48 [INFO] [stdout] | [INFO] [stdout] 46 | Error::IOError(ref error) => error.cause(), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/lsm_tree/mod.rs:47:51 [INFO] [stdout] | [INFO] [stdout] 47 | Error::SerdeError(ref error) => error.cause(), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/bp_tree/pager.rs:39:48 [INFO] [stdout] | [INFO] [stdout] 39 | Error::IOError(ref error) => error.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/bp_tree/pager.rs:40:51 [INFO] [stdout] | [INFO] [stdout] 40 | Error::SerdeError(ref error) => error.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/bp_tree/pager.rs:46:48 [INFO] [stdout] | [INFO] [stdout] 46 | Error::IOError(ref error) => error.cause(), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/bp_tree/pager.rs:47:51 [INFO] [stdout] | [INFO] [stdout] 47 | Error::SerdeError(ref error) => error.cause(), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/lsm_tree/mod.rs:39:48 [INFO] [stdout] | [INFO] [stdout] 39 | Error::IOError(ref error) => error.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/lsm_tree/mod.rs:40:51 [INFO] [stdout] | [INFO] [stdout] 40 | Error::SerdeError(ref error) => error.description(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/lsm_tree/mod.rs:46:48 [INFO] [stdout] | [INFO] [stdout] 46 | Error::IOError(ref error) => error.cause(), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/lsm_tree/mod.rs:47:51 [INFO] [stdout] | [INFO] [stdout] 47 | Error::SerdeError(ref error) => error.cause(), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/arena.rs:93:21 [INFO] [stdout] | [INFO] [stdout] 93 | let mut last_chunk = &mut self.chunks[chunk_count - 1]; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bp_tree/map.rs:399:30 [INFO] [stdout] | [INFO] [stdout] 399 | let (mut removed_key, removed_pointer) = sibling_internal_node.remove_at(0, false); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bp_tree/map.rs:410:30 [INFO] [stdout] | [INFO] [stdout] 410 | let (mut removed_key, removed_pointer) = sibling_internal_node.remove_at(remove_index, true); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lsm_tree/compaction/leveled.rs:357:17 [INFO] [stdout] | [INFO] [stdout] 357 | let mut should_merge = |metadata_snapshot: &LeveledMetadata, index: usize| { [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lsm_tree/compaction/leveled.rs:402:21 [INFO] [stdout] | [INFO] [stdout] 402 | let mut compaction_iter = LeveledIter::new( [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*tree` as mutable more than once at a time [INFO] [stdout] --> src/radix/node.rs:39:22 [INFO] [stdout] | [INFO] [stdout] 36 | fn get_mut_inner(tree: &mut Tree, byte: u8) -> &mut Tree { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 37 | / match tree { [INFO] [stdout] 38 | | Some(ref mut node) if node.key[0] != byte => get_mut_inner(&mut node.next, byte), [INFO] [stdout] | | ------------ first mutable borrow occurs here [INFO] [stdout] 39 | | _ => tree, [INFO] [stdout] | | ^^^^ second mutable borrow occurs here [INFO] [stdout] 40 | | } [INFO] [stdout] | |_____________- returning this value requires that `tree.0` is borrowed for `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/radix/tree.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | let mut child = Node::new(key.split_at(split_index).1.to_vec(), Some(value)); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*next_link.next` as mutable more than once at a time [INFO] [stdout] --> src/skiplist/list.rs:157:25 [INFO] [stdout] | [INFO] [stdout] 155 | curr_node = &mut mem::replace( [INFO] [stdout] | ------------ first borrow later used by call [INFO] [stdout] 156 | &mut next_link, [INFO] [stdout] | -------------- first mutable borrow occurs here [INFO] [stdout] 157 | (*next_link.next).get_pointer_mut(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*next_link.next` as mutable more than once at a time [INFO] [stdout] --> src/skiplist/list.rs:210:25 [INFO] [stdout] | [INFO] [stdout] 208 | curr_node = &mut mem::replace( [INFO] [stdout] | ------------ first borrow later used by call [INFO] [stdout] 209 | &mut next_link, [INFO] [stdout] | -------------- first mutable borrow occurs here [INFO] [stdout] 210 | (*next_link.next).get_pointer_mut(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*next_link.next` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/list.rs:325:25 [INFO] [stdout] | [INFO] [stdout] 323 | curr_node = &mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 324 | &mut next_link, [INFO] [stdout] | -------------- mutable borrow occurs here [INFO] [stdout] 325 | (*next_link.next).get_pointer(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*next_link.next` as mutable more than once at a time [INFO] [stdout] --> src/skiplist/list.rs:366:25 [INFO] [stdout] | [INFO] [stdout] 364 | curr_node = &mut mem::replace( [INFO] [stdout] | ------------ first borrow later used by call [INFO] [stdout] 365 | &mut next_link, [INFO] [stdout] | -------------- first mutable borrow occurs here [INFO] [stdout] 366 | (*next_link.next).get_pointer_mut(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*curr_node` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/list.rs:430:21 [INFO] [stdout] | [INFO] [stdout] 428 | Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 429 | &mut curr_node, [INFO] [stdout] | -------------- mutable borrow occurs here [INFO] [stdout] 430 | (*curr_node).get_pointer(0).next, [INFO] [stdout] | ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/list.rs:493:17 [INFO] [stdout] | [INFO] [stdout] 491 | Node::deallocate(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 492 | &mut self.head, [INFO] [stdout] | -------------- mutable borrow occurs here [INFO] [stdout] 493 | (*self.head).get_pointer(0).next, [INFO] [stdout] | ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/list.rs:498:21 [INFO] [stdout] | [INFO] [stdout] 496 | Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 497 | &mut self.head, [INFO] [stdout] | -------------- mutable borrow occurs here [INFO] [stdout] 498 | (*self.head).get_pointer(0).next, [INFO] [stdout] | ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self.current` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/list.rs:562:21 [INFO] [stdout] | [INFO] [stdout] 560 | Node::deallocate(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 561 | &mut self.current, [INFO] [stdout] | ----------------- mutable borrow occurs here [INFO] [stdout] 562 | (*self.current).get_pointer(0).next, [INFO] [stdout] | ^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self.current` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/list.rs:577:21 [INFO] [stdout] | [INFO] [stdout] 575 | Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 576 | &mut self.current, [INFO] [stdout] | ----------------- mutable borrow occurs here [INFO] [stdout] 577 | (*self.current).get_pointer(0).next, [INFO] [stdout] | ^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `**self.current` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/list.rs:606:50 [INFO] [stdout] | [INFO] [stdout] 606 | mem::replace(&mut self.current, &(**self.current).get_pointer(0).next); [INFO] [stdout] | ------------ ----------------- ^^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `**self.current` as mutable more than once at a time [INFO] [stdout] --> src/skiplist/list.rs:637:26 [INFO] [stdout] | [INFO] [stdout] 635 | mem::replace( [INFO] [stdout] | ------------ first borrow later used by call [INFO] [stdout] 636 | &mut self.current, [INFO] [stdout] | ----------------- first mutable borrow occurs here [INFO] [stdout] 637 | &mut (**self.current).get_pointer_mut(0).next, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `**next_node` as mutable more than once at a time [INFO] [stdout] --> src/skiplist/map.rs:155:25 [INFO] [stdout] | [INFO] [stdout] 153 | curr_node = mem::replace( [INFO] [stdout] | ------------ first borrow later used by call [INFO] [stdout] 154 | &mut next_node, [INFO] [stdout] | -------------- first mutable borrow occurs here [INFO] [stdout] 155 | (**next_node).get_pointer_mut(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `**next_node` as mutable more than once at a time [INFO] [stdout] --> src/skiplist/map.rs:216:25 [INFO] [stdout] | [INFO] [stdout] 214 | curr_node = mem::replace( [INFO] [stdout] | ------------ first borrow later used by call [INFO] [stdout] 215 | &mut next_node, [INFO] [stdout] | -------------- first mutable borrow occurs here [INFO] [stdout] 216 | (**next_node).get_pointer_mut(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `**next_node` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:288:25 [INFO] [stdout] | [INFO] [stdout] 286 | curr_node = mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 287 | &mut next_node, [INFO] [stdout] | -------------- mutable borrow occurs here [INFO] [stdout] 288 | (**next_node).get_pointer(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `**next_node` as mutable more than once at a time [INFO] [stdout] --> src/skiplist/map.rs:332:25 [INFO] [stdout] | [INFO] [stdout] 330 | curr_node = mem::replace( [INFO] [stdout] | ------------ first borrow later used by call [INFO] [stdout] 331 | &mut next_node, [INFO] [stdout] | -------------- first mutable borrow occurs here [INFO] [stdout] 332 | (**next_node).get_pointer_mut(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*curr_node` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:394:58 [INFO] [stdout] | [INFO] [stdout] 394 | Node::free(mem::replace(&mut curr_node, *(*curr_node).get_pointer(0))); [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `**next_node` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:426:25 [INFO] [stdout] | [INFO] [stdout] 424 | curr_node = mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 425 | &mut next_node, [INFO] [stdout] | -------------- mutable borrow occurs here [INFO] [stdout] 426 | (**next_node).get_pointer(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `**next_node` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:469:25 [INFO] [stdout] | [INFO] [stdout] 467 | curr_node = mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 468 | &mut next_node, [INFO] [stdout] | -------------- mutable borrow occurs here [INFO] [stdout] 469 | (**next_node).get_pointer(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `**next_node` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:535:25 [INFO] [stdout] | [INFO] [stdout] 533 | curr_node = mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 534 | &mut next_node, [INFO] [stdout] | -------------- mutable borrow occurs here [INFO] [stdout] 535 | (**next_node).get_pointer(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:586:59 [INFO] [stdout] | [INFO] [stdout] 586 | let left_head = mem::replace(&mut left.head, *(*left.head).get_pointer(0)); [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:587:61 [INFO] [stdout] | [INFO] [stdout] 587 | let right_head = mem::replace(&mut right.head, *(*right.head).get_pointer(0)); [INFO] [stdout] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:601:38 [INFO] [stdout] | [INFO] [stdout] 599 | ... Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 600 | ... &mut right.head, [INFO] [stdout] | --------------- mutable borrow occurs here [INFO] [stdout] 601 | ... *(*right.head).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:605:94 [INFO] [stdout] | [INFO] [stdout] 605 | ... cmp::Ordering::Less => next_node = mem::replace(&mut left.head, *(*left.head).get_pointer(0)), [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:606:98 [INFO] [stdout] | [INFO] [stdout] 606 | ... cmp::Ordering::Greater => next_node = mem::replace(&mut right.head, *(*right.head).get_pointer(0)), [INFO] [stdout] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:609:81 [INFO] [stdout] | [INFO] [stdout] 609 | (true, false) => next_node = mem::replace(&mut right.head, *(*right.head).get_pointer(0)), [INFO] [stdout] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:610:80 [INFO] [stdout] | [INFO] [stdout] 610 | (false, true) => next_node = mem::replace(&mut left.head, *(*left.head).get_pointer(0)), [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:661:59 [INFO] [stdout] | [INFO] [stdout] 661 | let left_head = mem::replace(&mut left.head, *(*left.head).get_pointer(0)); [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:662:61 [INFO] [stdout] | [INFO] [stdout] 662 | let right_head = mem::replace(&mut right.head, *(*right.head).get_pointer(0)); [INFO] [stdout] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:674:75 [INFO] [stdout] | [INFO] [stdout] 674 | ... next_node = mem::replace(&mut left.head, *(*left.head).get_pointer(0)); [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:675:75 [INFO] [stdout] | [INFO] [stdout] 675 | ... Node::free(mem::replace(&mut right.head, *(*right.head).get_pointer(0))); [INFO] [stdout] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:680:38 [INFO] [stdout] | [INFO] [stdout] 678 | ... Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 679 | ... &mut left.head, [INFO] [stdout] | -------------- mutable borrow occurs here [INFO] [stdout] 680 | ... *(*left.head).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:687:38 [INFO] [stdout] | [INFO] [stdout] 685 | ... Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 686 | ... &mut right.head, [INFO] [stdout] | --------------- mutable borrow occurs here [INFO] [stdout] 687 | ... *(*right.head).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:694:67 [INFO] [stdout] | [INFO] [stdout] 694 | Node::free(mem::replace(&mut right.head, *(*right.head).get_pointer(0))); [INFO] [stdout] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:698:66 [INFO] [stdout] | [INFO] [stdout] 698 | Node::free(mem::replace(&mut left.head, *(*left.head).get_pointer(0))); [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:730:59 [INFO] [stdout] | [INFO] [stdout] 730 | let left_head = mem::replace(&mut left.head, *(*left.head).get_pointer(0)); [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:731:61 [INFO] [stdout] | [INFO] [stdout] 731 | let right_head = mem::replace(&mut right.head, *(*right.head).get_pointer(0)); [INFO] [stdout] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:745:38 [INFO] [stdout] | [INFO] [stdout] 743 | ... Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 744 | ... &mut left.head, [INFO] [stdout] | -------------- mutable borrow occurs here [INFO] [stdout] 745 | ... *(*left.head).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:749:38 [INFO] [stdout] | [INFO] [stdout] 747 | ... Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 748 | ... &mut right.head, [INFO] [stdout] | --------------- mutable borrow occurs here [INFO] [stdout] 749 | ... *(*right.head).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:753:94 [INFO] [stdout] | [INFO] [stdout] 753 | ... cmp::Ordering::Less => next_node = mem::replace(&mut left.head, *(*left.head).get_pointer(0)), [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:758:42 [INFO] [stdout] | [INFO] [stdout] 756 | ... next_node = mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 757 | ... &mut right.head, [INFO] [stdout] | --------------- mutable borrow occurs here [INFO] [stdout] 758 | ... *(*right.head).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:763:42 [INFO] [stdout] | [INFO] [stdout] 761 | ... Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 762 | ... &mut right.head, [INFO] [stdout] | --------------- mutable borrow occurs here [INFO] [stdout] 763 | ... *(*right.head).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:774:34 [INFO] [stdout] | [INFO] [stdout] 772 | ... next_node = mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 773 | ... &mut right.head, [INFO] [stdout] | --------------- mutable borrow occurs here [INFO] [stdout] 774 | ... *(*right.head).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:779:34 [INFO] [stdout] | [INFO] [stdout] 777 | ... Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 778 | ... &mut right.head, [INFO] [stdout] | --------------- mutable borrow occurs here [INFO] [stdout] 779 | ... *(*right.head).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:787:30 [INFO] [stdout] | [INFO] [stdout] 785 | next_node = mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 786 | &mut right.head, [INFO] [stdout] | --------------- mutable borrow occurs here [INFO] [stdout] 787 | *(*right.head).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:920:60 [INFO] [stdout] | [INFO] [stdout] 920 | Node::deallocate(mem::replace(&mut self.head, *(*self.head).get_pointer(0))); [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:922:58 [INFO] [stdout] | [INFO] [stdout] 922 | Node::free(mem::replace(&mut self.head, *(*self.head).get_pointer(0))); [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self.current` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:987:22 [INFO] [stdout] | [INFO] [stdout] 985 | Node::deallocate(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 986 | &mut self.current, [INFO] [stdout] | ----------------- mutable borrow occurs here [INFO] [stdout] 987 | *(*self.current).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self.current` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:1002:22 [INFO] [stdout] | [INFO] [stdout] 1000 | Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 1001 | &mut self.current, [INFO] [stdout] | ----------------- mutable borrow occurs here [INFO] [stdout] 1002 | *(*self.current).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `**self.current` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:1034:51 [INFO] [stdout] | [INFO] [stdout] 1034 | mem::replace(&mut self.current, &*(**self.current).get_pointer(0)); [INFO] [stdout] | ------------ ----------------- ^^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `**self.current` as mutable more than once at a time [INFO] [stdout] --> src/skiplist/map.rs:1065:55 [INFO] [stdout] | [INFO] [stdout] 1065 | mem::replace(&mut self.current, &mut *(**self.current).get_pointer_mut(0)); [INFO] [stdout] | ------------ ----------------- ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | first mutable borrow occurs here [INFO] [stdout] | first borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/treap/implicit_tree.rs:33:21 [INFO] [stdout] | [INFO] [stdout] 33 | let mut res = split(&mut node.left, index, left_inclusive); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/arena.rs:93:21 [INFO] [stdout] | [INFO] [stdout] 93 | let mut last_chunk = &mut self.chunks[chunk_count - 1]; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/treap/tree.rs:35:17 [INFO] [stdout] | [INFO] [stdout] 35 | let mut ret; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/treap/tree.rs:38:25 [INFO] [stdout] | [INFO] [stdout] 38 | let mut res = split(&mut node.left, key); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 51 previous errors; 20 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0499, E0502. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0499`. [INFO] [stdout] [INFO] [stderr] error: could not compile `extended-collections` [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: variable does not need to be mutable [INFO] [stdout] --> src/bp_tree/map.rs:399:30 [INFO] [stdout] | [INFO] [stdout] 399 | let (mut removed_key, removed_pointer) = sibling_internal_node.remove_at(0, false); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bp_tree/map.rs:410:30 [INFO] [stdout] | [INFO] [stdout] 410 | let (mut removed_key, removed_pointer) = sibling_internal_node.remove_at(remove_index, true); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lsm_tree/compaction/leveled.rs:357:17 [INFO] [stdout] | [INFO] [stdout] 357 | let mut should_merge = |metadata_snapshot: &LeveledMetadata, index: usize| { [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lsm_tree/compaction/leveled.rs:402:21 [INFO] [stdout] | [INFO] [stdout] 402 | let mut compaction_iter = LeveledIter::new( [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*tree` as mutable more than once at a time [INFO] [stdout] --> src/radix/node.rs:39:22 [INFO] [stdout] | [INFO] [stdout] 36 | fn get_mut_inner(tree: &mut Tree, byte: u8) -> &mut Tree { [INFO] [stdout] | - let's call the lifetime of this reference `'1` [INFO] [stdout] 37 | / match tree { [INFO] [stdout] 38 | | Some(ref mut node) if node.key[0] != byte => get_mut_inner(&mut node.next, byte), [INFO] [stdout] | | ------------ first mutable borrow occurs here [INFO] [stdout] 39 | | _ => tree, [INFO] [stdout] | | ^^^^ second mutable borrow occurs here [INFO] [stdout] 40 | | } [INFO] [stdout] | |_____________- returning this value requires that `tree.0` is borrowed for `'1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/radix/tree.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | let mut child = Node::new(key.split_at(split_index).1.to_vec(), Some(value)); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*next_link.next` as mutable more than once at a time [INFO] [stdout] --> src/skiplist/list.rs:157:25 [INFO] [stdout] | [INFO] [stdout] 155 | curr_node = &mut mem::replace( [INFO] [stdout] | ------------ first borrow later used by call [INFO] [stdout] 156 | &mut next_link, [INFO] [stdout] | -------------- first mutable borrow occurs here [INFO] [stdout] 157 | (*next_link.next).get_pointer_mut(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*next_link.next` as mutable more than once at a time [INFO] [stdout] --> src/skiplist/list.rs:210:25 [INFO] [stdout] | [INFO] [stdout] 208 | curr_node = &mut mem::replace( [INFO] [stdout] | ------------ first borrow later used by call [INFO] [stdout] 209 | &mut next_link, [INFO] [stdout] | -------------- first mutable borrow occurs here [INFO] [stdout] 210 | (*next_link.next).get_pointer_mut(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*next_link.next` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/list.rs:325:25 [INFO] [stdout] | [INFO] [stdout] 323 | curr_node = &mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 324 | &mut next_link, [INFO] [stdout] | -------------- mutable borrow occurs here [INFO] [stdout] 325 | (*next_link.next).get_pointer(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*next_link.next` as mutable more than once at a time [INFO] [stdout] --> src/skiplist/list.rs:366:25 [INFO] [stdout] | [INFO] [stdout] 364 | curr_node = &mut mem::replace( [INFO] [stdout] | ------------ first borrow later used by call [INFO] [stdout] 365 | &mut next_link, [INFO] [stdout] | -------------- first mutable borrow occurs here [INFO] [stdout] 366 | (*next_link.next).get_pointer_mut(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*curr_node` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/list.rs:430:21 [INFO] [stdout] | [INFO] [stdout] 428 | Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 429 | &mut curr_node, [INFO] [stdout] | -------------- mutable borrow occurs here [INFO] [stdout] 430 | (*curr_node).get_pointer(0).next, [INFO] [stdout] | ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/list.rs:493:17 [INFO] [stdout] | [INFO] [stdout] 491 | Node::deallocate(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 492 | &mut self.head, [INFO] [stdout] | -------------- mutable borrow occurs here [INFO] [stdout] 493 | (*self.head).get_pointer(0).next, [INFO] [stdout] | ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/list.rs:498:21 [INFO] [stdout] | [INFO] [stdout] 496 | Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 497 | &mut self.head, [INFO] [stdout] | -------------- mutable borrow occurs here [INFO] [stdout] 498 | (*self.head).get_pointer(0).next, [INFO] [stdout] | ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self.current` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/list.rs:562:21 [INFO] [stdout] | [INFO] [stdout] 560 | Node::deallocate(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 561 | &mut self.current, [INFO] [stdout] | ----------------- mutable borrow occurs here [INFO] [stdout] 562 | (*self.current).get_pointer(0).next, [INFO] [stdout] | ^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self.current` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/list.rs:577:21 [INFO] [stdout] | [INFO] [stdout] 575 | Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 576 | &mut self.current, [INFO] [stdout] | ----------------- mutable borrow occurs here [INFO] [stdout] 577 | (*self.current).get_pointer(0).next, [INFO] [stdout] | ^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `**self.current` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/list.rs:606:50 [INFO] [stdout] | [INFO] [stdout] 606 | mem::replace(&mut self.current, &(**self.current).get_pointer(0).next); [INFO] [stdout] | ------------ ----------------- ^^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `**self.current` as mutable more than once at a time [INFO] [stdout] --> src/skiplist/list.rs:637:26 [INFO] [stdout] | [INFO] [stdout] 635 | mem::replace( [INFO] [stdout] | ------------ first borrow later used by call [INFO] [stdout] 636 | &mut self.current, [INFO] [stdout] | ----------------- first mutable borrow occurs here [INFO] [stdout] 637 | &mut (**self.current).get_pointer_mut(0).next, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*next_link.next` as mutable more than once at a time [INFO] [stdout] --> src/skiplist/list.rs:714:21 [INFO] [stdout] | [INFO] [stdout] 712 | curr_node = &mut mem::replace( [INFO] [stdout] | ------------ first borrow later used by call [INFO] [stdout] 713 | &mut next_link, [INFO] [stdout] | -------------- first mutable borrow occurs here [INFO] [stdout] 714 | (*next_link.next).get_pointer_mut(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*next_link.next` as mutable more than once at a time [INFO] [stdout] --> src/skiplist/list.rs:726:25 [INFO] [stdout] | [INFO] [stdout] 724 | curr_node = &mut mem::replace( [INFO] [stdout] | ------------ first borrow later used by call [INFO] [stdout] 725 | &mut next_link, [INFO] [stdout] | -------------- first mutable borrow occurs here [INFO] [stdout] 726 | (*next_link.next).get_pointer_mut(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `**next_node` as mutable more than once at a time [INFO] [stdout] --> src/skiplist/map.rs:155:25 [INFO] [stdout] | [INFO] [stdout] 153 | curr_node = mem::replace( [INFO] [stdout] | ------------ first borrow later used by call [INFO] [stdout] 154 | &mut next_node, [INFO] [stdout] | -------------- first mutable borrow occurs here [INFO] [stdout] 155 | (**next_node).get_pointer_mut(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `**next_node` as mutable more than once at a time [INFO] [stdout] --> src/skiplist/map.rs:216:25 [INFO] [stdout] | [INFO] [stdout] 214 | curr_node = mem::replace( [INFO] [stdout] | ------------ first borrow later used by call [INFO] [stdout] 215 | &mut next_node, [INFO] [stdout] | -------------- first mutable borrow occurs here [INFO] [stdout] 216 | (**next_node).get_pointer_mut(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `**next_node` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:288:25 [INFO] [stdout] | [INFO] [stdout] 286 | curr_node = mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 287 | &mut next_node, [INFO] [stdout] | -------------- mutable borrow occurs here [INFO] [stdout] 288 | (**next_node).get_pointer(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `**next_node` as mutable more than once at a time [INFO] [stdout] --> src/skiplist/map.rs:332:25 [INFO] [stdout] | [INFO] [stdout] 330 | curr_node = mem::replace( [INFO] [stdout] | ------------ first borrow later used by call [INFO] [stdout] 331 | &mut next_node, [INFO] [stdout] | -------------- first mutable borrow occurs here [INFO] [stdout] 332 | (**next_node).get_pointer_mut(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*curr_node` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:394:58 [INFO] [stdout] | [INFO] [stdout] 394 | Node::free(mem::replace(&mut curr_node, *(*curr_node).get_pointer(0))); [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `**next_node` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:426:25 [INFO] [stdout] | [INFO] [stdout] 424 | curr_node = mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 425 | &mut next_node, [INFO] [stdout] | -------------- mutable borrow occurs here [INFO] [stdout] 426 | (**next_node).get_pointer(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `**next_node` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:469:25 [INFO] [stdout] | [INFO] [stdout] 467 | curr_node = mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 468 | &mut next_node, [INFO] [stdout] | -------------- mutable borrow occurs here [INFO] [stdout] 469 | (**next_node).get_pointer(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `**next_node` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:535:25 [INFO] [stdout] | [INFO] [stdout] 533 | curr_node = mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 534 | &mut next_node, [INFO] [stdout] | -------------- mutable borrow occurs here [INFO] [stdout] 535 | (**next_node).get_pointer(curr_height), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:586:59 [INFO] [stdout] | [INFO] [stdout] 586 | let left_head = mem::replace(&mut left.head, *(*left.head).get_pointer(0)); [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:587:61 [INFO] [stdout] | [INFO] [stdout] 587 | let right_head = mem::replace(&mut right.head, *(*right.head).get_pointer(0)); [INFO] [stdout] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:601:38 [INFO] [stdout] | [INFO] [stdout] 599 | ... Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 600 | ... &mut right.head, [INFO] [stdout] | --------------- mutable borrow occurs here [INFO] [stdout] 601 | ... *(*right.head).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:605:94 [INFO] [stdout] | [INFO] [stdout] 605 | ... cmp::Ordering::Less => next_node = mem::replace(&mut left.head, *(*left.head).get_pointer(0)), [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:606:98 [INFO] [stdout] | [INFO] [stdout] 606 | ... cmp::Ordering::Greater => next_node = mem::replace(&mut right.head, *(*right.head).get_pointer(0)), [INFO] [stdout] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:609:81 [INFO] [stdout] | [INFO] [stdout] 609 | (true, false) => next_node = mem::replace(&mut right.head, *(*right.head).get_pointer(0)), [INFO] [stdout] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:610:80 [INFO] [stdout] | [INFO] [stdout] 610 | (false, true) => next_node = mem::replace(&mut left.head, *(*left.head).get_pointer(0)), [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:661:59 [INFO] [stdout] | [INFO] [stdout] 661 | let left_head = mem::replace(&mut left.head, *(*left.head).get_pointer(0)); [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:662:61 [INFO] [stdout] | [INFO] [stdout] 662 | let right_head = mem::replace(&mut right.head, *(*right.head).get_pointer(0)); [INFO] [stdout] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:674:75 [INFO] [stdout] | [INFO] [stdout] 674 | ... next_node = mem::replace(&mut left.head, *(*left.head).get_pointer(0)); [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:675:75 [INFO] [stdout] | [INFO] [stdout] 675 | ... Node::free(mem::replace(&mut right.head, *(*right.head).get_pointer(0))); [INFO] [stdout] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:680:38 [INFO] [stdout] | [INFO] [stdout] 678 | ... Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 679 | ... &mut left.head, [INFO] [stdout] | -------------- mutable borrow occurs here [INFO] [stdout] 680 | ... *(*left.head).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:687:38 [INFO] [stdout] | [INFO] [stdout] 685 | ... Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 686 | ... &mut right.head, [INFO] [stdout] | --------------- mutable borrow occurs here [INFO] [stdout] 687 | ... *(*right.head).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:694:67 [INFO] [stdout] | [INFO] [stdout] 694 | Node::free(mem::replace(&mut right.head, *(*right.head).get_pointer(0))); [INFO] [stdout] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:698:66 [INFO] [stdout] | [INFO] [stdout] 698 | Node::free(mem::replace(&mut left.head, *(*left.head).get_pointer(0))); [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:730:59 [INFO] [stdout] | [INFO] [stdout] 730 | let left_head = mem::replace(&mut left.head, *(*left.head).get_pointer(0)); [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:731:61 [INFO] [stdout] | [INFO] [stdout] 731 | let right_head = mem::replace(&mut right.head, *(*right.head).get_pointer(0)); [INFO] [stdout] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:745:38 [INFO] [stdout] | [INFO] [stdout] 743 | ... Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 744 | ... &mut left.head, [INFO] [stdout] | -------------- mutable borrow occurs here [INFO] [stdout] 745 | ... *(*left.head).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:749:38 [INFO] [stdout] | [INFO] [stdout] 747 | ... Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 748 | ... &mut right.head, [INFO] [stdout] | --------------- mutable borrow occurs here [INFO] [stdout] 749 | ... *(*right.head).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:753:94 [INFO] [stdout] | [INFO] [stdout] 753 | ... cmp::Ordering::Less => next_node = mem::replace(&mut left.head, *(*left.head).get_pointer(0)), [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:758:42 [INFO] [stdout] | [INFO] [stdout] 756 | ... next_node = mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 757 | ... &mut right.head, [INFO] [stdout] | --------------- mutable borrow occurs here [INFO] [stdout] 758 | ... *(*right.head).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:763:42 [INFO] [stdout] | [INFO] [stdout] 761 | ... Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 762 | ... &mut right.head, [INFO] [stdout] | --------------- mutable borrow occurs here [INFO] [stdout] 763 | ... *(*right.head).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:774:34 [INFO] [stdout] | [INFO] [stdout] 772 | ... next_node = mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 773 | ... &mut right.head, [INFO] [stdout] | --------------- mutable borrow occurs here [INFO] [stdout] 774 | ... *(*right.head).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:779:34 [INFO] [stdout] | [INFO] [stdout] 777 | ... Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 778 | ... &mut right.head, [INFO] [stdout] | --------------- mutable borrow occurs here [INFO] [stdout] 779 | ... *(*right.head).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:787:30 [INFO] [stdout] | [INFO] [stdout] 785 | next_node = mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 786 | &mut right.head, [INFO] [stdout] | --------------- mutable borrow occurs here [INFO] [stdout] 787 | *(*right.head).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:920:60 [INFO] [stdout] | [INFO] [stdout] 920 | Node::deallocate(mem::replace(&mut self.head, *(*self.head).get_pointer(0))); [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self.head` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:922:58 [INFO] [stdout] | [INFO] [stdout] 922 | Node::free(mem::replace(&mut self.head, *(*self.head).get_pointer(0))); [INFO] [stdout] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self.current` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:987:22 [INFO] [stdout] | [INFO] [stdout] 985 | Node::deallocate(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 986 | &mut self.current, [INFO] [stdout] | ----------------- mutable borrow occurs here [INFO] [stdout] 987 | *(*self.current).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self.current` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:1002:22 [INFO] [stdout] | [INFO] [stdout] 1000 | Node::free(mem::replace( [INFO] [stdout] | ------------ mutable borrow later used by call [INFO] [stdout] 1001 | &mut self.current, [INFO] [stdout] | ----------------- mutable borrow occurs here [INFO] [stdout] 1002 | *(*self.current).get_pointer(0), [INFO] [stdout] | ^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `**self.current` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skiplist/map.rs:1034:51 [INFO] [stdout] | [INFO] [stdout] 1034 | mem::replace(&mut self.current, &*(**self.current).get_pointer(0)); [INFO] [stdout] | ------------ ----------------- ^^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | mutable borrow occurs here [INFO] [stdout] | mutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `**self.current` as mutable more than once at a time [INFO] [stdout] --> src/skiplist/map.rs:1065:55 [INFO] [stdout] | [INFO] [stdout] 1065 | mem::replace(&mut self.current, &mut *(**self.current).get_pointer_mut(0)); [INFO] [stdout] | ------------ ----------------- ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] | | | [INFO] [stdout] | | first mutable borrow occurs here [INFO] [stdout] | first borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/treap/implicit_tree.rs:33:21 [INFO] [stdout] | [INFO] [stdout] 33 | let mut res = split(&mut node.left, index, left_inclusive); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/treap/tree.rs:35:17 [INFO] [stdout] | [INFO] [stdout] 35 | let mut ret; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/treap/tree.rs:38:25 [INFO] [stdout] | [INFO] [stdout] 38 | let mut res = split(&mut node.left, key); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 53 previous errors; 20 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0499, E0502. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0499`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "717acc3847433be8ace5a37eb56380904ef84346a29ff69f6ea4ba568e868b18", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "717acc3847433be8ace5a37eb56380904ef84346a29ff69f6ea4ba568e868b18", kill_on_drop: false }` [INFO] [stdout] 717acc3847433be8ace5a37eb56380904ef84346a29ff69f6ea4ba568e868b18