[INFO] crate extended-collections 0.5.0 is already in cache [INFO] extracting crate extended-collections 0.5.0 into work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/reg/extended-collections/0.5.0 [INFO] extracting crate extended-collections 0.5.0 into work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/reg/extended-collections/0.5.0 [INFO] validating manifest of extended-collections-0.5.0 on toolchain master#60960a260f7b5c695fd0717311d72ce62dd4eb43 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of extended-collections-0.5.0 on toolchain try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing extended-collections-0.5.0 [INFO] finished frobbing extended-collections-0.5.0 [INFO] frobbed toml for extended-collections-0.5.0 written to work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/reg/extended-collections/0.5.0/Cargo.toml [INFO] started frobbing extended-collections-0.5.0 [INFO] finished frobbing extended-collections-0.5.0 [INFO] frobbed toml for extended-collections-0.5.0 written to work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/reg/extended-collections/0.5.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking extended-collections-0.5.0 against try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 for pr-63376 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-63376/worker-6/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/reg/extended-collections/0.5.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 4629d872a993be1a7f7610dd1d5b4e59302cb7752f61a42dd3f677a1bcfc855f [INFO] running `"docker" "start" "-a" "4629d872a993be1a7f7610dd1d5b4e59302cb7752f61a42dd3f677a1bcfc855f"` [INFO] [stderr] Checking memoffset v0.1.0 [INFO] [stderr] Checking crossbeam-utils v0.2.2 [INFO] [stderr] Checking bincode v1.1.4 [INFO] [stderr] Checking serde_test v1.0.99 [INFO] [stderr] Checking crossbeam-epoch v0.2.0 [INFO] [stderr] Checking probabilistic-collections v0.3.0 [INFO] [stderr] Checking extended-collections v0.5.0 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bp_tree/pager.rs:44:32 [INFO] [stderr] | [INFO] [stderr] 44 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lsm_tree/compaction/mod.rs:15:33 [INFO] [stderr] | [INFO] [stderr] 15 | pub type CompactionIter = Iterator>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lsm_tree/mod.rs:44:32 [INFO] [stderr] | [INFO] [stderr] 44 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bp_tree/pager.rs:44:32 [INFO] [stderr] | [INFO] [stderr] 44 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lsm_tree/compaction/mod.rs:15:33 [INFO] [stderr] | [INFO] [stderr] 15 | pub type CompactionIter = Iterator>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lsm_tree/mod.rs:44:32 [INFO] [stderr] | [INFO] [stderr] 44 | fn cause(&self) -> Option<&error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/bp_tree/pager.rs:46:48 [INFO] [stderr] | [INFO] [stderr] 46 | Error::IOError(ref error) => error.cause(), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/bp_tree/pager.rs:47:51 [INFO] [stderr] | [INFO] [stderr] 47 | Error::SerdeError(ref error) => error.cause(), [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/lsm_tree/mod.rs:46:48 [INFO] [stderr] | [INFO] [stderr] 46 | Error::IOError(ref error) => error.cause(), [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/lsm_tree/mod.rs:47:51 [INFO] [stderr] | [INFO] [stderr] 47 | Error::SerdeError(ref error) => error.cause(), [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/arena.rs:93:21 [INFO] [stderr] | [INFO] [stderr] 93 | let mut last_chunk = &mut self.chunks[chunk_count - 1]; [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/bp_tree/pager.rs:46:48 [INFO] [stderr] | [INFO] [stderr] 46 | Error::IOError(ref error) => error.cause(), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/bp_tree/pager.rs:47:51 [INFO] [stderr] | [INFO] [stderr] 47 | Error::SerdeError(ref error) => error.cause(), [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/bp_tree/map.rs:399:30 [INFO] [stderr] | [INFO] [stderr] 399 | let (mut removed_key, removed_pointer) = sibling_internal_node.remove_at(0, false); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/bp_tree/map.rs:410:30 [INFO] [stderr] | [INFO] [stderr] 410 | let (mut removed_key, removed_pointer) = sibling_internal_node.remove_at(remove_index, true); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/lsm_tree/mod.rs:46:48 [INFO] [stderr] | [INFO] [stderr] 46 | Error::IOError(ref error) => error.cause(), [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/lsm_tree/mod.rs:47:51 [INFO] [stderr] | [INFO] [stderr] 47 | Error::SerdeError(ref error) => error.cause(), [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lsm_tree/compaction/leveled.rs:357:17 [INFO] [stderr] | [INFO] [stderr] 357 | let mut should_merge = |metadata_snapshot: &LeveledMetadata, index: usize| { [INFO] [stderr] | ----^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lsm_tree/compaction/leveled.rs:402:21 [INFO] [stderr] | [INFO] [stderr] 402 | let mut compaction_iter = LeveledIter::new( [INFO] [stderr] | ----^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] error[E0499]: cannot borrow `*tree` as mutable more than once at a time [INFO] [stderr] --> src/radix/node.rs:39:22 [INFO] [stderr] | [INFO] [stderr] 36 | fn get_mut_inner(tree: &mut Tree, byte: u8) -> &mut Tree { [INFO] [stderr] | - let's call the lifetime of this reference `'1` [INFO] [stderr] 37 | / match tree { [INFO] [stderr] 38 | | Some(ref mut node) if node.key[0] != byte => get_mut_inner(&mut node.next, byte), [INFO] [stderr] | | ------------ first mutable borrow occurs here [INFO] [stderr] 39 | | _ => tree, [INFO] [stderr] | | ^^^^ second mutable borrow occurs here [INFO] [stderr] 40 | | } [INFO] [stderr] | |_____________- returning this value requires that `tree.0` is borrowed for `'1` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/radix/tree.rs:18:17 [INFO] [stderr] | [INFO] [stderr] 18 | let mut child = Node::new(key.split_at(split_index).1.to_vec(), Some(value)); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning[E0499]: cannot borrow `*next_link.next` as mutable more than once at a time [INFO] [stderr] --> src/skiplist/list.rs:157:25 [INFO] [stderr] | [INFO] [stderr] 155 | curr_node = &mut mem::replace( [INFO] [stderr] | ------------ first borrow later used by call [INFO] [stderr] 156 | &mut next_link, [INFO] [stderr] | -------------- first mutable borrow occurs here [INFO] [stderr] 157 | (*next_link.next).get_pointer_mut(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0499]: cannot borrow `*next_link.next` as mutable more than once at a time [INFO] [stderr] --> src/skiplist/list.rs:210:25 [INFO] [stderr] | [INFO] [stderr] 208 | curr_node = &mut mem::replace( [INFO] [stderr] | ------------ first borrow later used by call [INFO] [stderr] 209 | &mut next_link, [INFO] [stderr] | -------------- first mutable borrow occurs here [INFO] [stderr] 210 | (*next_link.next).get_pointer_mut(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*next_link.next` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/list.rs:325:25 [INFO] [stderr] | [INFO] [stderr] 323 | curr_node = &mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 324 | &mut next_link, [INFO] [stderr] | -------------- mutable borrow occurs here [INFO] [stderr] 325 | (*next_link.next).get_pointer(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0499]: cannot borrow `*next_link.next` as mutable more than once at a time [INFO] [stderr] --> src/skiplist/list.rs:366:25 [INFO] [stderr] | [INFO] [stderr] 364 | curr_node = &mut mem::replace( [INFO] [stderr] | ------------ first borrow later used by call [INFO] [stderr] 365 | &mut next_link, [INFO] [stderr] | -------------- first mutable borrow occurs here [INFO] [stderr] 366 | (*next_link.next).get_pointer_mut(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*curr_node` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/list.rs:430:21 [INFO] [stderr] | [INFO] [stderr] 428 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 429 | &mut curr_node, [INFO] [stderr] | -------------- mutable borrow occurs here [INFO] [stderr] 430 | (*curr_node).get_pointer(0).next, [INFO] [stderr] | ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*self.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/list.rs:493:17 [INFO] [stderr] | [INFO] [stderr] 491 | Node::deallocate(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 492 | &mut self.head, [INFO] [stderr] | -------------- mutable borrow occurs here [INFO] [stderr] 493 | (*self.head).get_pointer(0).next, [INFO] [stderr] | ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*self.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/list.rs:498:21 [INFO] [stderr] | [INFO] [stderr] 496 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 497 | &mut self.head, [INFO] [stderr] | -------------- mutable borrow occurs here [INFO] [stderr] 498 | (*self.head).get_pointer(0).next, [INFO] [stderr] | ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*self.current` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/list.rs:562:21 [INFO] [stderr] | [INFO] [stderr] 560 | Node::deallocate(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 561 | &mut self.current, [INFO] [stderr] | ----------------- mutable borrow occurs here [INFO] [stderr] 562 | (*self.current).get_pointer(0).next, [INFO] [stderr] | ^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*self.current` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/list.rs:577:21 [INFO] [stderr] | [INFO] [stderr] 575 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 576 | &mut self.current, [INFO] [stderr] | ----------------- mutable borrow occurs here [INFO] [stderr] 577 | (*self.current).get_pointer(0).next, [INFO] [stderr] | ^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `**self.current` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/list.rs:606:50 [INFO] [stderr] | [INFO] [stderr] 606 | mem::replace(&mut self.current, &(**self.current).get_pointer(0).next); [INFO] [stderr] | ------------ ----------------- ^^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0499]: cannot borrow `**self.current` as mutable more than once at a time [INFO] [stderr] --> src/skiplist/list.rs:637:26 [INFO] [stderr] | [INFO] [stderr] 635 | mem::replace( [INFO] [stderr] | ------------ first borrow later used by call [INFO] [stderr] 636 | &mut self.current, [INFO] [stderr] | ----------------- first mutable borrow occurs here [INFO] [stderr] 637 | &mut (**self.current).get_pointer_mut(0).next, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0499]: cannot borrow `**next_node` as mutable more than once at a time [INFO] [stderr] --> src/skiplist/map.rs:155:25 [INFO] [stderr] | [INFO] [stderr] 153 | curr_node = mem::replace( [INFO] [stderr] | ------------ first borrow later used by call [INFO] [stderr] 154 | &mut next_node, [INFO] [stderr] | -------------- first mutable borrow occurs here [INFO] [stderr] 155 | (**next_node).get_pointer_mut(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0499]: cannot borrow `**next_node` as mutable more than once at a time [INFO] [stderr] --> src/skiplist/map.rs:216:25 [INFO] [stderr] | [INFO] [stderr] 214 | curr_node = mem::replace( [INFO] [stderr] | ------------ first borrow later used by call [INFO] [stderr] 215 | &mut next_node, [INFO] [stderr] | -------------- first mutable borrow occurs here [INFO] [stderr] 216 | (**next_node).get_pointer_mut(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `**next_node` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:288:25 [INFO] [stderr] | [INFO] [stderr] 286 | curr_node = mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 287 | &mut next_node, [INFO] [stderr] | -------------- mutable borrow occurs here [INFO] [stderr] 288 | (**next_node).get_pointer(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0499]: cannot borrow `**next_node` as mutable more than once at a time [INFO] [stderr] --> src/skiplist/map.rs:332:25 [INFO] [stderr] | [INFO] [stderr] 330 | curr_node = mem::replace( [INFO] [stderr] | ------------ first borrow later used by call [INFO] [stderr] 331 | &mut next_node, [INFO] [stderr] | -------------- first mutable borrow occurs here [INFO] [stderr] 332 | (**next_node).get_pointer_mut(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*curr_node` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:394:58 [INFO] [stderr] | [INFO] [stderr] 394 | Node::free(mem::replace(&mut curr_node, *(*curr_node).get_pointer(0))); [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `**next_node` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:426:25 [INFO] [stderr] | [INFO] [stderr] 424 | curr_node = mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 425 | &mut next_node, [INFO] [stderr] | -------------- mutable borrow occurs here [INFO] [stderr] 426 | (**next_node).get_pointer(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `**next_node` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:469:25 [INFO] [stderr] | [INFO] [stderr] 467 | curr_node = mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 468 | &mut next_node, [INFO] [stderr] | -------------- mutable borrow occurs here [INFO] [stderr] 469 | (**next_node).get_pointer(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `**next_node` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:535:25 [INFO] [stderr] | [INFO] [stderr] 533 | curr_node = mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 534 | &mut next_node, [INFO] [stderr] | -------------- mutable borrow occurs here [INFO] [stderr] 535 | (**next_node).get_pointer(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:586:59 [INFO] [stderr] | [INFO] [stderr] 586 | let left_head = mem::replace(&mut left.head, *(*left.head).get_pointer(0)); [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:587:61 [INFO] [stderr] | [INFO] [stderr] 587 | let right_head = mem::replace(&mut right.head, *(*right.head).get_pointer(0)); [INFO] [stderr] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:601:38 [INFO] [stderr] | [INFO] [stderr] 599 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 600 | &mut right.head, [INFO] [stderr] | --------------- mutable borrow occurs here [INFO] [stderr] 601 | *(*right.head).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:605:94 [INFO] [stderr] | [INFO] [stderr] 605 | cmp::Ordering::Less => next_node = mem::replace(&mut left.head, *(*left.head).get_pointer(0)), [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:606:98 [INFO] [stderr] | [INFO] [stderr] 606 | cmp::Ordering::Greater => next_node = mem::replace(&mut right.head, *(*right.head).get_pointer(0)), [INFO] [stderr] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:609:81 [INFO] [stderr] | [INFO] [stderr] 609 | (true, false) => next_node = mem::replace(&mut right.head, *(*right.head).get_pointer(0)), [INFO] [stderr] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:610:80 [INFO] [stderr] | [INFO] [stderr] 610 | (false, true) => next_node = mem::replace(&mut left.head, *(*left.head).get_pointer(0)), [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:661:59 [INFO] [stderr] | [INFO] [stderr] 661 | let left_head = mem::replace(&mut left.head, *(*left.head).get_pointer(0)); [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:662:61 [INFO] [stderr] | [INFO] [stderr] 662 | let right_head = mem::replace(&mut right.head, *(*right.head).get_pointer(0)); [INFO] [stderr] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:674:75 [INFO] [stderr] | [INFO] [stderr] 674 | next_node = mem::replace(&mut left.head, *(*left.head).get_pointer(0)); [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:675:75 [INFO] [stderr] | [INFO] [stderr] 675 | Node::free(mem::replace(&mut right.head, *(*right.head).get_pointer(0))); [INFO] [stderr] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:680:38 [INFO] [stderr] | [INFO] [stderr] 678 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 679 | &mut left.head, [INFO] [stderr] | -------------- mutable borrow occurs here [INFO] [stderr] 680 | *(*left.head).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:687:38 [INFO] [stderr] | [INFO] [stderr] 685 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 686 | &mut right.head, [INFO] [stderr] | --------------- mutable borrow occurs here [INFO] [stderr] 687 | *(*right.head).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:694:67 [INFO] [stderr] | [INFO] [stderr] 694 | Node::free(mem::replace(&mut right.head, *(*right.head).get_pointer(0))); [INFO] [stderr] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:698:66 [INFO] [stderr] | [INFO] [stderr] 698 | Node::free(mem::replace(&mut left.head, *(*left.head).get_pointer(0))); [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:730:59 [INFO] [stderr] | [INFO] [stderr] 730 | let left_head = mem::replace(&mut left.head, *(*left.head).get_pointer(0)); [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:731:61 [INFO] [stderr] | [INFO] [stderr] 731 | let right_head = mem::replace(&mut right.head, *(*right.head).get_pointer(0)); [INFO] [stderr] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:745:38 [INFO] [stderr] | [INFO] [stderr] 743 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 744 | &mut left.head, [INFO] [stderr] | -------------- mutable borrow occurs here [INFO] [stderr] 745 | *(*left.head).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:749:38 [INFO] [stderr] | [INFO] [stderr] 747 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 748 | &mut right.head, [INFO] [stderr] | --------------- mutable borrow occurs here [INFO] [stderr] 749 | *(*right.head).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:753:94 [INFO] [stderr] | [INFO] [stderr] 753 | cmp::Ordering::Less => next_node = mem::replace(&mut left.head, *(*left.head).get_pointer(0)), [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:758:42 [INFO] [stderr] | [INFO] [stderr] 756 | next_node = mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 757 | &mut right.head, [INFO] [stderr] | --------------- mutable borrow occurs here [INFO] [stderr] 758 | *(*right.head).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:763:42 [INFO] [stderr] | [INFO] [stderr] 761 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 762 | &mut right.head, [INFO] [stderr] | --------------- mutable borrow occurs here [INFO] [stderr] 763 | *(*right.head).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:774:34 [INFO] [stderr] | [INFO] [stderr] 772 | next_node = mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 773 | &mut right.head, [INFO] [stderr] | --------------- mutable borrow occurs here [INFO] [stderr] 774 | *(*right.head).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:779:34 [INFO] [stderr] | [INFO] [stderr] 777 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 778 | &mut right.head, [INFO] [stderr] | --------------- mutable borrow occurs here [INFO] [stderr] 779 | *(*right.head).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:787:30 [INFO] [stderr] | [INFO] [stderr] 785 | next_node = mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 786 | &mut right.head, [INFO] [stderr] | --------------- mutable borrow occurs here [INFO] [stderr] 787 | *(*right.head).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*self.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:920:60 [INFO] [stderr] | [INFO] [stderr] 920 | Node::deallocate(mem::replace(&mut self.head, *(*self.head).get_pointer(0))); [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*self.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:922:58 [INFO] [stderr] | [INFO] [stderr] 922 | Node::free(mem::replace(&mut self.head, *(*self.head).get_pointer(0))); [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*self.current` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:987:22 [INFO] [stderr] | [INFO] [stderr] 985 | Node::deallocate(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 986 | &mut self.current, [INFO] [stderr] | ----------------- mutable borrow occurs here [INFO] [stderr] 987 | *(*self.current).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*self.current` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:1002:22 [INFO] [stderr] | [INFO] [stderr] 1000 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 1001 | &mut self.current, [INFO] [stderr] | ----------------- mutable borrow occurs here [INFO] [stderr] 1002 | *(*self.current).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `**self.current` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:1034:51 [INFO] [stderr] | [INFO] [stderr] 1034 | mem::replace(&mut self.current, &*(**self.current).get_pointer(0)); [INFO] [stderr] | ------------ ----------------- ^^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0499]: cannot borrow `**self.current` as mutable more than once at a time [INFO] [stderr] --> src/skiplist/map.rs:1065:55 [INFO] [stderr] | [INFO] [stderr] 1065 | mem::replace(&mut self.current, &mut *(**self.current).get_pointer_mut(0)); [INFO] [stderr] | ------------ ----------------- ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | first mutable borrow occurs here [INFO] [stderr] | first borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/treap/implicit_tree.rs:33:21 [INFO] [stderr] | [INFO] [stderr] 33 | let mut res = split(&mut node.left, index, left_inclusive); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/treap/tree.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | let mut ret; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/treap/tree.rs:38:25 [INFO] [stderr] | [INFO] [stderr] 38 | let mut res = split(&mut node.left, key); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0499, E0502. [INFO] [stderr] For more information about an error, try `rustc --explain E0499`. [INFO] [stderr] error: Could not compile `extended-collections`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/arena.rs:93:21 [INFO] [stderr] | [INFO] [stderr] 93 | let mut last_chunk = &mut self.chunks[chunk_count - 1]; [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/bp_tree/map.rs:399:30 [INFO] [stderr] | [INFO] [stderr] 399 | let (mut removed_key, removed_pointer) = sibling_internal_node.remove_at(0, false); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/bp_tree/map.rs:410:30 [INFO] [stderr] | [INFO] [stderr] 410 | let (mut removed_key, removed_pointer) = sibling_internal_node.remove_at(remove_index, true); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lsm_tree/compaction/leveled.rs:357:17 [INFO] [stderr] | [INFO] [stderr] 357 | let mut should_merge = |metadata_snapshot: &LeveledMetadata, index: usize| { [INFO] [stderr] | ----^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lsm_tree/compaction/leveled.rs:402:21 [INFO] [stderr] | [INFO] [stderr] 402 | let mut compaction_iter = LeveledIter::new( [INFO] [stderr] | ----^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] error[E0499]: cannot borrow `*tree` as mutable more than once at a time [INFO] [stderr] --> src/radix/node.rs:39:22 [INFO] [stderr] | [INFO] [stderr] 36 | fn get_mut_inner(tree: &mut Tree, byte: u8) -> &mut Tree { [INFO] [stderr] | - let's call the lifetime of this reference `'1` [INFO] [stderr] 37 | / match tree { [INFO] [stderr] 38 | | Some(ref mut node) if node.key[0] != byte => get_mut_inner(&mut node.next, byte), [INFO] [stderr] | | ------------ first mutable borrow occurs here [INFO] [stderr] 39 | | _ => tree, [INFO] [stderr] | | ^^^^ second mutable borrow occurs here [INFO] [stderr] 40 | | } [INFO] [stderr] | |_____________- returning this value requires that `tree.0` is borrowed for `'1` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/radix/tree.rs:18:17 [INFO] [stderr] | [INFO] [stderr] 18 | let mut child = Node::new(key.split_at(split_index).1.to_vec(), Some(value)); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning[E0499]: cannot borrow `*next_link.next` as mutable more than once at a time [INFO] [stderr] --> src/skiplist/list.rs:157:25 [INFO] [stderr] | [INFO] [stderr] 155 | curr_node = &mut mem::replace( [INFO] [stderr] | ------------ first borrow later used by call [INFO] [stderr] 156 | &mut next_link, [INFO] [stderr] | -------------- first mutable borrow occurs here [INFO] [stderr] 157 | (*next_link.next).get_pointer_mut(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0499]: cannot borrow `*next_link.next` as mutable more than once at a time [INFO] [stderr] --> src/skiplist/list.rs:210:25 [INFO] [stderr] | [INFO] [stderr] 208 | curr_node = &mut mem::replace( [INFO] [stderr] | ------------ first borrow later used by call [INFO] [stderr] 209 | &mut next_link, [INFO] [stderr] | -------------- first mutable borrow occurs here [INFO] [stderr] 210 | (*next_link.next).get_pointer_mut(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*next_link.next` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/list.rs:325:25 [INFO] [stderr] | [INFO] [stderr] 323 | curr_node = &mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 324 | &mut next_link, [INFO] [stderr] | -------------- mutable borrow occurs here [INFO] [stderr] 325 | (*next_link.next).get_pointer(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0499]: cannot borrow `*next_link.next` as mutable more than once at a time [INFO] [stderr] --> src/skiplist/list.rs:366:25 [INFO] [stderr] | [INFO] [stderr] 364 | curr_node = &mut mem::replace( [INFO] [stderr] | ------------ first borrow later used by call [INFO] [stderr] 365 | &mut next_link, [INFO] [stderr] | -------------- first mutable borrow occurs here [INFO] [stderr] 366 | (*next_link.next).get_pointer_mut(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*curr_node` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/list.rs:430:21 [INFO] [stderr] | [INFO] [stderr] 428 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 429 | &mut curr_node, [INFO] [stderr] | -------------- mutable borrow occurs here [INFO] [stderr] 430 | (*curr_node).get_pointer(0).next, [INFO] [stderr] | ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*self.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/list.rs:493:17 [INFO] [stderr] | [INFO] [stderr] 491 | Node::deallocate(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 492 | &mut self.head, [INFO] [stderr] | -------------- mutable borrow occurs here [INFO] [stderr] 493 | (*self.head).get_pointer(0).next, [INFO] [stderr] | ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*self.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/list.rs:498:21 [INFO] [stderr] | [INFO] [stderr] 496 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 497 | &mut self.head, [INFO] [stderr] | -------------- mutable borrow occurs here [INFO] [stderr] 498 | (*self.head).get_pointer(0).next, [INFO] [stderr] | ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*self.current` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/list.rs:562:21 [INFO] [stderr] | [INFO] [stderr] 560 | Node::deallocate(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 561 | &mut self.current, [INFO] [stderr] | ----------------- mutable borrow occurs here [INFO] [stderr] 562 | (*self.current).get_pointer(0).next, [INFO] [stderr] | ^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*self.current` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/list.rs:577:21 [INFO] [stderr] | [INFO] [stderr] 575 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 576 | &mut self.current, [INFO] [stderr] | ----------------- mutable borrow occurs here [INFO] [stderr] 577 | (*self.current).get_pointer(0).next, [INFO] [stderr] | ^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `**self.current` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/list.rs:606:50 [INFO] [stderr] | [INFO] [stderr] 606 | mem::replace(&mut self.current, &(**self.current).get_pointer(0).next); [INFO] [stderr] | ------------ ----------------- ^^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0499]: cannot borrow `**self.current` as mutable more than once at a time [INFO] [stderr] --> src/skiplist/list.rs:637:26 [INFO] [stderr] | [INFO] [stderr] 635 | mem::replace( [INFO] [stderr] | ------------ first borrow later used by call [INFO] [stderr] 636 | &mut self.current, [INFO] [stderr] | ----------------- first mutable borrow occurs here [INFO] [stderr] 637 | &mut (**self.current).get_pointer_mut(0).next, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0499]: cannot borrow `*next_link.next` as mutable more than once at a time [INFO] [stderr] --> src/skiplist/list.rs:714:21 [INFO] [stderr] | [INFO] [stderr] 712 | curr_node = &mut mem::replace( [INFO] [stderr] | ------------ first borrow later used by call [INFO] [stderr] 713 | &mut next_link, [INFO] [stderr] | -------------- first mutable borrow occurs here [INFO] [stderr] 714 | (*next_link.next).get_pointer_mut(0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0499]: cannot borrow `*next_link.next` as mutable more than once at a time [INFO] [stderr] --> src/skiplist/list.rs:726:25 [INFO] [stderr] | [INFO] [stderr] 724 | curr_node = &mut mem::replace( [INFO] [stderr] | ------------ first borrow later used by call [INFO] [stderr] 725 | &mut next_link, [INFO] [stderr] | -------------- first mutable borrow occurs here [INFO] [stderr] 726 | (*next_link.next).get_pointer_mut(0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0499]: cannot borrow `**next_node` as mutable more than once at a time [INFO] [stderr] --> src/skiplist/map.rs:155:25 [INFO] [stderr] | [INFO] [stderr] 153 | curr_node = mem::replace( [INFO] [stderr] | ------------ first borrow later used by call [INFO] [stderr] 154 | &mut next_node, [INFO] [stderr] | -------------- first mutable borrow occurs here [INFO] [stderr] 155 | (**next_node).get_pointer_mut(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0499]: cannot borrow `**next_node` as mutable more than once at a time [INFO] [stderr] --> src/skiplist/map.rs:216:25 [INFO] [stderr] | [INFO] [stderr] 214 | curr_node = mem::replace( [INFO] [stderr] | ------------ first borrow later used by call [INFO] [stderr] 215 | &mut next_node, [INFO] [stderr] | -------------- first mutable borrow occurs here [INFO] [stderr] 216 | (**next_node).get_pointer_mut(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `**next_node` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:288:25 [INFO] [stderr] | [INFO] [stderr] 286 | curr_node = mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 287 | &mut next_node, [INFO] [stderr] | -------------- mutable borrow occurs here [INFO] [stderr] 288 | (**next_node).get_pointer(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0499]: cannot borrow `**next_node` as mutable more than once at a time [INFO] [stderr] --> src/skiplist/map.rs:332:25 [INFO] [stderr] | [INFO] [stderr] 330 | curr_node = mem::replace( [INFO] [stderr] | ------------ first borrow later used by call [INFO] [stderr] 331 | &mut next_node, [INFO] [stderr] | -------------- first mutable borrow occurs here [INFO] [stderr] 332 | (**next_node).get_pointer_mut(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*curr_node` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:394:58 [INFO] [stderr] | [INFO] [stderr] 394 | Node::free(mem::replace(&mut curr_node, *(*curr_node).get_pointer(0))); [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `**next_node` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:426:25 [INFO] [stderr] | [INFO] [stderr] 424 | curr_node = mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 425 | &mut next_node, [INFO] [stderr] | -------------- mutable borrow occurs here [INFO] [stderr] 426 | (**next_node).get_pointer(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `**next_node` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:469:25 [INFO] [stderr] | [INFO] [stderr] 467 | curr_node = mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 468 | &mut next_node, [INFO] [stderr] | -------------- mutable borrow occurs here [INFO] [stderr] 469 | (**next_node).get_pointer(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `**next_node` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:535:25 [INFO] [stderr] | [INFO] [stderr] 533 | curr_node = mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 534 | &mut next_node, [INFO] [stderr] | -------------- mutable borrow occurs here [INFO] [stderr] 535 | (**next_node).get_pointer(curr_height), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:586:59 [INFO] [stderr] | [INFO] [stderr] 586 | let left_head = mem::replace(&mut left.head, *(*left.head).get_pointer(0)); [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:587:61 [INFO] [stderr] | [INFO] [stderr] 587 | let right_head = mem::replace(&mut right.head, *(*right.head).get_pointer(0)); [INFO] [stderr] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:601:38 [INFO] [stderr] | [INFO] [stderr] 599 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 600 | &mut right.head, [INFO] [stderr] | --------------- mutable borrow occurs here [INFO] [stderr] 601 | *(*right.head).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:605:94 [INFO] [stderr] | [INFO] [stderr] 605 | cmp::Ordering::Less => next_node = mem::replace(&mut left.head, *(*left.head).get_pointer(0)), [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:606:98 [INFO] [stderr] | [INFO] [stderr] 606 | cmp::Ordering::Greater => next_node = mem::replace(&mut right.head, *(*right.head).get_pointer(0)), [INFO] [stderr] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:609:81 [INFO] [stderr] | [INFO] [stderr] 609 | (true, false) => next_node = mem::replace(&mut right.head, *(*right.head).get_pointer(0)), [INFO] [stderr] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:610:80 [INFO] [stderr] | [INFO] [stderr] 610 | (false, true) => next_node = mem::replace(&mut left.head, *(*left.head).get_pointer(0)), [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:661:59 [INFO] [stderr] | [INFO] [stderr] 661 | let left_head = mem::replace(&mut left.head, *(*left.head).get_pointer(0)); [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:662:61 [INFO] [stderr] | [INFO] [stderr] 662 | let right_head = mem::replace(&mut right.head, *(*right.head).get_pointer(0)); [INFO] [stderr] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:674:75 [INFO] [stderr] | [INFO] [stderr] 674 | next_node = mem::replace(&mut left.head, *(*left.head).get_pointer(0)); [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:675:75 [INFO] [stderr] | [INFO] [stderr] 675 | Node::free(mem::replace(&mut right.head, *(*right.head).get_pointer(0))); [INFO] [stderr] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:680:38 [INFO] [stderr] | [INFO] [stderr] 678 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 679 | &mut left.head, [INFO] [stderr] | -------------- mutable borrow occurs here [INFO] [stderr] 680 | *(*left.head).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:687:38 [INFO] [stderr] | [INFO] [stderr] 685 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 686 | &mut right.head, [INFO] [stderr] | --------------- mutable borrow occurs here [INFO] [stderr] 687 | *(*right.head).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:694:67 [INFO] [stderr] | [INFO] [stderr] 694 | Node::free(mem::replace(&mut right.head, *(*right.head).get_pointer(0))); [INFO] [stderr] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:698:66 [INFO] [stderr] | [INFO] [stderr] 698 | Node::free(mem::replace(&mut left.head, *(*left.head).get_pointer(0))); [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:730:59 [INFO] [stderr] | [INFO] [stderr] 730 | let left_head = mem::replace(&mut left.head, *(*left.head).get_pointer(0)); [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:731:61 [INFO] [stderr] | [INFO] [stderr] 731 | let right_head = mem::replace(&mut right.head, *(*right.head).get_pointer(0)); [INFO] [stderr] | ------------ --------------- ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:745:38 [INFO] [stderr] | [INFO] [stderr] 743 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 744 | &mut left.head, [INFO] [stderr] | -------------- mutable borrow occurs here [INFO] [stderr] 745 | *(*left.head).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:749:38 [INFO] [stderr] | [INFO] [stderr] 747 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 748 | &mut right.head, [INFO] [stderr] | --------------- mutable borrow occurs here [INFO] [stderr] 749 | *(*right.head).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*left.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:753:94 [INFO] [stderr] | [INFO] [stderr] 753 | cmp::Ordering::Less => next_node = mem::replace(&mut left.head, *(*left.head).get_pointer(0)), [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:758:42 [INFO] [stderr] | [INFO] [stderr] 756 | next_node = mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 757 | &mut right.head, [INFO] [stderr] | --------------- mutable borrow occurs here [INFO] [stderr] 758 | *(*right.head).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:763:42 [INFO] [stderr] | [INFO] [stderr] 761 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 762 | &mut right.head, [INFO] [stderr] | --------------- mutable borrow occurs here [INFO] [stderr] 763 | *(*right.head).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:774:34 [INFO] [stderr] | [INFO] [stderr] 772 | next_node = mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 773 | &mut right.head, [INFO] [stderr] | --------------- mutable borrow occurs here [INFO] [stderr] 774 | *(*right.head).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:779:34 [INFO] [stderr] | [INFO] [stderr] 777 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 778 | &mut right.head, [INFO] [stderr] | --------------- mutable borrow occurs here [INFO] [stderr] 779 | *(*right.head).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*right.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:787:30 [INFO] [stderr] | [INFO] [stderr] 785 | next_node = mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 786 | &mut right.head, [INFO] [stderr] | --------------- mutable borrow occurs here [INFO] [stderr] 787 | *(*right.head).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*self.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:920:60 [INFO] [stderr] | [INFO] [stderr] 920 | Node::deallocate(mem::replace(&mut self.head, *(*self.head).get_pointer(0))); [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*self.head` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:922:58 [INFO] [stderr] | [INFO] [stderr] 922 | Node::free(mem::replace(&mut self.head, *(*self.head).get_pointer(0))); [INFO] [stderr] | ------------ -------------- ^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*self.current` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:987:22 [INFO] [stderr] | [INFO] [stderr] 985 | Node::deallocate(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 986 | &mut self.current, [INFO] [stderr] | ----------------- mutable borrow occurs here [INFO] [stderr] 987 | *(*self.current).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*self.current` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:1002:22 [INFO] [stderr] | [INFO] [stderr] 1000 | Node::free(mem::replace( [INFO] [stderr] | ------------ mutable borrow later used by call [INFO] [stderr] 1001 | &mut self.current, [INFO] [stderr] | ----------------- mutable borrow occurs here [INFO] [stderr] 1002 | *(*self.current).get_pointer(0), [INFO] [stderr] | ^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `**self.current` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/skiplist/map.rs:1034:51 [INFO] [stderr] | [INFO] [stderr] 1034 | mem::replace(&mut self.current, &*(**self.current).get_pointer(0)); [INFO] [stderr] | ------------ ----------------- ^^^^^^^^^^^^^^^^ immutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | mutable borrow occurs here [INFO] [stderr] | mutable borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0499]: cannot borrow `**self.current` as mutable more than once at a time [INFO] [stderr] --> src/skiplist/map.rs:1065:55 [INFO] [stderr] | [INFO] [stderr] 1065 | mem::replace(&mut self.current, &mut *(**self.current).get_pointer_mut(0)); [INFO] [stderr] | ------------ ----------------- ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stderr] | | | [INFO] [stderr] | | first mutable borrow occurs here [INFO] [stderr] | first borrow later used by call [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/treap/implicit_tree.rs:33:21 [INFO] [stderr] | [INFO] [stderr] 33 | let mut res = split(&mut node.left, index, left_inclusive); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/treap/tree.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | let mut ret; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/treap/tree.rs:38:25 [INFO] [stderr] | [INFO] [stderr] 38 | let mut res = split(&mut node.left, key); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0499, E0502. [INFO] [stderr] For more information about an error, try `rustc --explain E0499`. [INFO] [stderr] error: Could not compile `extended-collections`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "4629d872a993be1a7f7610dd1d5b4e59302cb7752f61a42dd3f677a1bcfc855f"` [INFO] running `"docker" "rm" "-f" "4629d872a993be1a7f7610dd1d5b4e59302cb7752f61a42dd3f677a1bcfc855f"` [INFO] [stdout] 4629d872a993be1a7f7610dd1d5b4e59302cb7752f61a42dd3f677a1bcfc855f