Aug 10 20:22:11.429 INFO checking chichunchen/concurrent-cache-conscious-hamt-in-rust against master#f6d43ed84207c7e58f363f46e5a438ff40f2b311 for libc-1 Aug 10 20:22:11.430 INFO running: cargo +f6d43ed84207c7e58f363f46e5a438ff40f2b311-alt check --frozen --all --all-targets Aug 10 20:22:11.430 INFO creating container for: cargo +f6d43ed84207c7e58f363f46e5a438ff40f2b311-alt check --frozen --all --all-targets Aug 10 20:22:11.430 INFO running `"docker" "create" "-v" "/tmp/crater.1MWDwzwqs1IW:/source:ro,Z" "-v" "/home/ec2-user/crater/./work/local/target-dirs/libc-1/worker-2/master#f6d43ed84207c7e58f363f46e5a438ff40f2b311:/target:rw,Z" "-v" "/home/ec2-user/crater/./work/local/cargo-home:/cargo-home:ro,Z" "-v" "/home/ec2-user/crater/./work/local/rustup-home:/rustup-home:ro,Z" "-v" "/home/ec2-user/crater/./work/local/cargo-home/git:/cargo-home/git:rw,Z" "-e" "USER_ID=500" "-e" "CMD=cargo +f6d43ed84207c7e58f363f46e5a438ff40f2b311-alt check --frozen --all --all-targets" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "crater"` Aug 10 20:22:11.724 INFO blam! f1805f1b9d8b3d61f3efaabf9923aeb7e11daf0877aa0115c392546b89b962df Aug 10 20:22:11.726 INFO running `"docker" "start" "-a" "f1805f1b9d8b3d61f3efaabf9923aeb7e11daf0877aa0115c392546b89b962df"` Aug 10 20:22:12.608 INFO kablam! warning: `panic` setting is ignored for `test` profile Aug 10 20:22:12.609 INFO kablam! warning: `panic` setting is ignored for `bench` profile Aug 10 20:22:12.752 INFO kablam! Checking owning_ref v0.2.4 Aug 10 20:22:12.753 INFO kablam! Checking thread-id v3.3.0 Aug 10 20:22:13.429 INFO kablam! Checking parking_lot v0.3.8 Aug 10 20:22:14.547 INFO kablam! Checking chashmap v2.2.0 Aug 10 20:22:15.580 INFO kablam! Checking parallel-hamt-cache-conscious v0.1.0 (file:///source) Aug 10 20:22:16.201 INFO kablam! warning: a macro named `binary_format` has already been exported Aug 10 20:22:16.201 INFO kablam! --> src/rwlock_cchamt.rs:187:1 Aug 10 20:22:16.201 INFO kablam! | Aug 10 20:22:16.201 INFO kablam! 187 | / macro_rules! binary_format { Aug 10 20:22:16.201 INFO kablam! 188 | | ($x:expr) => { Aug 10 20:22:16.201 INFO kablam! 189 | | format!("{:#034b}", $x) Aug 10 20:22:16.201 INFO kablam! 190 | | }; Aug 10 20:22:16.201 INFO kablam! 191 | | } Aug 10 20:22:16.201 INFO kablam! | |_^ `binary_format` already exported Aug 10 20:22:16.201 INFO kablam! | Aug 10 20:22:16.201 INFO kablam! = note: #[warn(duplicate_macro_exports)] on by default Aug 10 20:22:16.201 INFO kablam! = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! Aug 10 20:22:16.201 INFO kablam! = note: for more information, see issue #35896 Aug 10 20:22:16.202 INFO kablam! note: previous macro export is now shadowed Aug 10 20:22:16.202 INFO kablam! --> src/mutex_cchamt.rs:173:1 Aug 10 20:22:16.202 INFO kablam! | Aug 10 20:22:16.202 INFO kablam! 173 | / macro_rules! binary_format { Aug 10 20:22:16.202 INFO kablam! 174 | | ($x:expr) => { Aug 10 20:22:16.202 INFO kablam! 175 | | format!("{:#034b}", $x) Aug 10 20:22:16.202 INFO kablam! 176 | | }; Aug 10 20:22:16.202 INFO kablam! 177 | | } Aug 10 20:22:16.202 INFO kablam! | |_^ Aug 10 20:22:16.203 INFO kablam! Aug 10 20:22:16.203 INFO kablam! warning: a macro named `binary_format` has already been exported Aug 10 20:22:16.203 INFO kablam! --> src/mutex_cchamt.rs:173:1 Aug 10 20:22:16.203 INFO kablam! | Aug 10 20:22:16.203 INFO kablam! 173 | / macro_rules! binary_format { Aug 10 20:22:16.203 INFO kablam! 174 | | ($x:expr) => { Aug 10 20:22:16.203 INFO kablam! 175 | | format!("{:#034b}", $x) Aug 10 20:22:16.203 INFO kablam! 176 | | }; Aug 10 20:22:16.203 INFO kablam! 177 | | } Aug 10 20:22:16.203 INFO kablam! | |_^ `binary_format` already exported Aug 10 20:22:16.203 INFO kablam! | Aug 10 20:22:16.203 INFO kablam! = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! Aug 10 20:22:16.204 INFO kablam! = note: for more information, see issue #35896 Aug 10 20:22:16.204 INFO kablam! note: previous macro export is now shadowed Aug 10 20:22:16.204 INFO kablam! --> src/cchamt.rs:179:1 Aug 10 20:22:16.204 INFO kablam! | Aug 10 20:22:16.204 INFO kablam! 179 | / macro_rules! binary_format { Aug 10 20:22:16.204 INFO kablam! 180 | | ($x:expr) => { Aug 10 20:22:16.204 INFO kablam! 181 | | format!("{:#034b}", $x) Aug 10 20:22:16.204 INFO kablam! 182 | | }; Aug 10 20:22:16.204 INFO kablam! 183 | | } Aug 10 20:22:16.204 INFO kablam! | |_^ Aug 10 20:22:16.204 INFO kablam! Aug 10 20:22:16.394 INFO kablam! warning: a macro named `binary_format` has already been exported Aug 10 20:22:16.394 INFO kablam! --> src/rwlock_cchamt.rs:187:1 Aug 10 20:22:16.394 INFO kablam! | Aug 10 20:22:16.394 INFO kablam! 187 | / macro_rules! binary_format { Aug 10 20:22:16.394 INFO kablam! 188 | | ($x:expr) => { Aug 10 20:22:16.394 INFO kablam! 189 | | format!("{:#034b}", $x) Aug 10 20:22:16.394 INFO kablam! 190 | | }; Aug 10 20:22:16.394 INFO kablam! 191 | | } Aug 10 20:22:16.394 INFO kablam! | |_^ `binary_format` already exported Aug 10 20:22:16.401 INFO kablam! | Aug 10 20:22:16.401 INFO kablam! = note: #[warn(duplicate_macro_exports)] on by default Aug 10 20:22:16.401 INFO kablam! = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! Aug 10 20:22:16.401 INFO kablam! = note: for more information, see issue #35896 Aug 10 20:22:16.401 INFO kablam! note: previous macro export is now shadowed Aug 10 20:22:16.401 INFO kablam! --> src/mutex_cchamt.rs:173:1 Aug 10 20:22:16.401 INFO kablam! | Aug 10 20:22:16.401 INFO kablam! 173 | / macro_rules! binary_format { Aug 10 20:22:16.401 INFO kablam! 174 | | ($x:expr) => { Aug 10 20:22:16.401 INFO kablam! 175 | | format!("{:#034b}", $x) Aug 10 20:22:16.401 INFO kablam! 176 | | }; Aug 10 20:22:16.401 INFO kablam! 177 | | } Aug 10 20:22:16.401 INFO kablam! | |_^ Aug 10 20:22:16.401 INFO kablam! Aug 10 20:22:16.402 INFO kablam! warning: a macro named `binary_format` has already been exported Aug 10 20:22:16.402 INFO kablam! --> src/mutex_cchamt.rs:173:1 Aug 10 20:22:16.402 INFO kablam! | Aug 10 20:22:16.402 INFO kablam! 173 | / macro_rules! binary_format { Aug 10 20:22:16.402 INFO kablam! 174 | | ($x:expr) => { Aug 10 20:22:16.402 INFO kablam! 175 | | format!("{:#034b}", $x) Aug 10 20:22:16.402 INFO kablam! 176 | | }; Aug 10 20:22:16.402 INFO kablam! 177 | | } Aug 10 20:22:16.402 INFO kablam! | |_^ `binary_format` already exported Aug 10 20:22:16.402 INFO kablam! | Aug 10 20:22:16.402 INFO kablam! = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition! Aug 10 20:22:16.403 INFO kablam! = note: for more information, see issue #35896 Aug 10 20:22:16.403 INFO kablam! note: previous macro export is now shadowed Aug 10 20:22:16.403 INFO kablam! --> src/cchamt.rs:179:1 Aug 10 20:22:16.403 INFO kablam! | Aug 10 20:22:16.403 INFO kablam! 179 | / macro_rules! binary_format { Aug 10 20:22:16.403 INFO kablam! 180 | | ($x:expr) => { Aug 10 20:22:16.403 INFO kablam! 181 | | format!("{:#034b}", $x) Aug 10 20:22:16.403 INFO kablam! 182 | | }; Aug 10 20:22:16.403 INFO kablam! 183 | | } Aug 10 20:22:16.403 INFO kablam! | |_^ Aug 10 20:22:16.403 INFO kablam! Aug 10 20:22:17.697 INFO kablam! error[E0502]: cannot borrow `*noderef` as mutable because `noderef.0` is also borrowed as immutable Aug 10 20:22:17.697 INFO kablam! --> src/lockfree_cchamt.rs:148:80 Aug 10 20:22:17.697 INFO kablam! | Aug 10 20:22:17.697 INFO kablam! 147 | } else if let Node::ANode(ref an) = noderef { Aug 10 20:22:17.697 INFO kablam! | ------ immutable borrow occurs here Aug 10 20:22:17.697 INFO kablam! 148 | let fnode = mem.alloc(Node::FNode { frozen: AtomicPtr::new(noderef) }); Aug 10 20:22:17.697 INFO kablam! | ^^^^^^^ mutable borrow occurs here Aug 10 20:22:17.697 INFO kablam! ... Aug 10 20:22:17.697 INFO kablam! 156 | } Aug 10 20:22:17.698 INFO kablam! | - immutable borrow ends here Aug 10 20:22:17.698 INFO kablam! Aug 10 20:22:17.703 INFO kablam! error[E0502]: cannot borrow `*enode` as mutable because `enode.parent` is also borrowed as immutable Aug 10 20:22:17.703 INFO kablam! --> src/lockfree_cchamt.rs:207:40 Aug 10 20:22:17.703 INFO kablam! | Aug 10 20:22:17.703 INFO kablam! 185 | if let Node::ENode { ref parent, parentpos, ref narrow, level, wide: ref mut _wide, .. } = enode { Aug 10 20:22:17.703 INFO kablam! | ---------- immutable borrow occurs here Aug 10 20:22:17.703 INFO kablam! ... Aug 10 20:22:17.703 INFO kablam! 207 | anptr.compare_and_swap(enode, widenode, Ordering::Relaxed); Aug 10 20:22:17.703 INFO kablam! | ^^^^^ mutable borrow occurs here Aug 10 20:22:17.703 INFO kablam! ... Aug 10 20:22:17.703 INFO kablam! 215 | } Aug 10 20:22:17.703 INFO kablam! | - immutable borrow ends here Aug 10 20:22:17.704 INFO kablam! Aug 10 20:22:17.715 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Aug 10 20:22:17.715 INFO kablam! --> src/lockfree_cchamt.rs:262:66 Aug 10 20:22:17.715 INFO kablam! | Aug 10 20:22:17.715 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Aug 10 20:22:17.715 INFO kablam! | ------------ first mutable borrow occurs here Aug 10 20:22:17.715 INFO kablam! ... Aug 10 20:22:17.715 INFO kablam! 262 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, prev) Aug 10 20:22:17.715 INFO kablam! | ^^^ second mutable borrow occurs here Aug 10 20:22:17.715 INFO kablam! ... Aug 10 20:22:17.716 INFO kablam! 353 | } Aug 10 20:22:17.716 INFO kablam! | - first borrow ends here Aug 10 20:22:17.716 INFO kablam! Aug 10 20:22:17.716 INFO kablam! error[E0499]: cannot borrow `*oldref` as mutable more than once at a time Aug 10 20:22:17.716 INFO kablam! --> src/lockfree_cchamt.rs:265:66 Aug 10 20:22:17.716 INFO kablam! | Aug 10 20:22:17.716 INFO kablam! 264 | } else if let Node::ANode(ref mut an) = oldref { Aug 10 20:22:17.716 INFO kablam! | ---------- first mutable borrow occurs here Aug 10 20:22:17.716 INFO kablam! 265 | LockfreeTrie::_insert(mem, key, val, h, lev + 4, oldref, Some(cur)) Aug 10 20:22:17.716 INFO kablam! | ^^^^^^ second mutable borrow occurs here Aug 10 20:22:17.716 INFO kablam! ... Aug 10 20:22:17.716 INFO kablam! 349 | } Aug 10 20:22:17.716 INFO kablam! | - first borrow ends here Aug 10 20:22:17.716 INFO kablam! Aug 10 20:22:17.716 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Aug 10 20:22:17.716 INFO kablam! --> src/lockfree_cchamt.rs:265:79 Aug 10 20:22:17.716 INFO kablam! | Aug 10 20:22:17.717 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Aug 10 20:22:17.717 INFO kablam! | ------------ first mutable borrow occurs here Aug 10 20:22:17.717 INFO kablam! ... Aug 10 20:22:17.717 INFO kablam! 265 | LockfreeTrie::_insert(mem, key, val, h, lev + 4, oldref, Some(cur)) Aug 10 20:22:17.717 INFO kablam! | ^^^ second mutable borrow occurs here Aug 10 20:22:17.717 INFO kablam! ... Aug 10 20:22:17.717 INFO kablam! 353 | } Aug 10 20:22:17.717 INFO kablam! | - first borrow ends here Aug 10 20:22:17.717 INFO kablam! Aug 10 20:22:17.717 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Aug 10 20:22:17.717 INFO kablam! --> src/lockfree_cchamt.rs:282:74 Aug 10 20:22:17.717 INFO kablam! | Aug 10 20:22:17.718 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Aug 10 20:22:17.718 INFO kablam! | ------------ first mutable borrow occurs here Aug 10 20:22:17.718 INFO kablam! ... Aug 10 20:22:17.718 INFO kablam! 282 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, prev) Aug 10 20:22:17.718 INFO kablam! | ^^^ second mutable borrow occurs here Aug 10 20:22:17.718 INFO kablam! ... Aug 10 20:22:17.718 INFO kablam! 353 | } Aug 10 20:22:17.718 INFO kablam! | - first borrow ends here Aug 10 20:22:17.718 INFO kablam! Aug 10 20:22:17.718 INFO kablam! error[E0499]: cannot borrow `*prevref` as mutable more than once at a time Aug 10 20:22:17.718 INFO kablam! --> src/lockfree_cchamt.rs:290:60 Aug 10 20:22:17.718 INFO kablam! | Aug 10 20:22:17.718 INFO kablam! 286 | if let Node::ANode(ref mut prev2) = prevref { Aug 10 20:22:17.718 INFO kablam! | ------------- first mutable borrow occurs here Aug 10 20:22:17.718 INFO kablam! ... Aug 10 20:22:17.718 INFO kablam! 290 | parent: AtomicPtr::new(prevref), Aug 10 20:22:17.718 INFO kablam! | ^^^^^^^ second mutable borrow occurs here Aug 10 20:22:17.718 INFO kablam! ... Aug 10 20:22:17.718 INFO kablam! 312 | } Aug 10 20:22:17.718 INFO kablam! | - first borrow ends here Aug 10 20:22:17.718 INFO kablam! Aug 10 20:22:17.718 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Aug 10 20:22:17.718 INFO kablam! --> src/lockfree_cchamt.rs:292:60 Aug 10 20:22:17.718 INFO kablam! | Aug 10 20:22:17.718 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Aug 10 20:22:17.718 INFO kablam! | ------------ first mutable borrow occurs here Aug 10 20:22:17.718 INFO kablam! ... Aug 10 20:22:17.718 INFO kablam! 292 | narrow: AtomicPtr::new(cur), Aug 10 20:22:17.719 INFO kablam! | ^^^ second mutable borrow occurs here Aug 10 20:22:17.719 INFO kablam! ... Aug 10 20:22:17.719 INFO kablam! 353 | } Aug 10 20:22:17.719 INFO kablam! | - first borrow ends here Aug 10 20:22:17.719 INFO kablam! Aug 10 20:22:17.719 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Aug 10 20:22:17.719 INFO kablam! --> src/lockfree_cchamt.rs:297:63 Aug 10 20:22:17.719 INFO kablam! | Aug 10 20:22:17.719 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Aug 10 20:22:17.719 INFO kablam! | ------------ first mutable borrow occurs here Aug 10 20:22:17.719 INFO kablam! ... Aug 10 20:22:17.719 INFO kablam! 297 | if prev2aptr.compare_and_swap(cur, en, Ordering::Relaxed) == cur { Aug 10 20:22:17.719 INFO kablam! | ^^^ second mutable borrow occurs here Aug 10 20:22:17.719 INFO kablam! ... Aug 10 20:22:17.719 INFO kablam! 353 | } Aug 10 20:22:17.719 INFO kablam! | - first borrow ends here Aug 10 20:22:17.719 INFO kablam! Aug 10 20:22:17.720 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Aug 10 20:22:17.720 INFO kablam! --> src/lockfree_cchamt.rs:297:94 Aug 10 20:22:17.720 INFO kablam! | Aug 10 20:22:17.720 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Aug 10 20:22:17.720 INFO kablam! | ------------ first mutable borrow occurs here Aug 10 20:22:17.720 INFO kablam! ... Aug 10 20:22:17.720 INFO kablam! 297 | if prev2aptr.compare_and_swap(cur, en, Ordering::Relaxed) == cur { Aug 10 20:22:17.720 INFO kablam! | ^^^ second mutable borrow occurs here Aug 10 20:22:17.720 INFO kablam! ... Aug 10 20:22:17.720 INFO kablam! 353 | } Aug 10 20:22:17.720 INFO kablam! | - first borrow ends here Aug 10 20:22:17.720 INFO kablam! Aug 10 20:22:17.720 INFO kablam! error[E0499]: cannot borrow `*prevref` as mutable more than once at a time Aug 10 20:22:17.720 INFO kablam! --> src/lockfree_cchamt.rs:301:100 Aug 10 20:22:17.720 INFO kablam! | Aug 10 20:22:17.720 INFO kablam! 286 | if let Node::ANode(ref mut prev2) = prevref { Aug 10 20:22:17.721 INFO kablam! | ------------- first mutable borrow occurs here Aug 10 20:22:17.721 INFO kablam! ... Aug 10 20:22:17.721 INFO kablam! 301 | LockfreeTrie::_insert(mem, key, val, h, lev, wideref, Some(prevref)) Aug 10 20:22:17.721 INFO kablam! | ^^^^^^^ second mutable borrow occurs here Aug 10 20:22:17.721 INFO kablam! ... Aug 10 20:22:17.721 INFO kablam! 312 | } Aug 10 20:22:17.721 INFO kablam! | - first borrow ends here Aug 10 20:22:17.721 INFO kablam! Aug 10 20:22:17.721 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Aug 10 20:22:17.721 INFO kablam! --> src/lockfree_cchamt.rs:307:82 Aug 10 20:22:17.721 INFO kablam! | Aug 10 20:22:17.721 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Aug 10 20:22:17.721 INFO kablam! | ------------ first mutable borrow occurs here Aug 10 20:22:17.721 INFO kablam! ... Aug 10 20:22:17.721 INFO kablam! 307 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, Some(prevref)) Aug 10 20:22:17.721 INFO kablam! | ^^^ second mutable borrow occurs here Aug 10 20:22:17.721 INFO kablam! ... Aug 10 20:22:17.721 INFO kablam! 353 | } Aug 10 20:22:17.721 INFO kablam! | - first borrow ends here Aug 10 20:22:17.721 INFO kablam! Aug 10 20:22:17.721 INFO kablam! error[E0499]: cannot borrow `*prevref` as mutable more than once at a time Aug 10 20:22:17.722 INFO kablam! --> src/lockfree_cchamt.rs:307:92 Aug 10 20:22:17.722 INFO kablam! | Aug 10 20:22:17.722 INFO kablam! 286 | if let Node::ANode(ref mut prev2) = prevref { Aug 10 20:22:17.722 INFO kablam! | ------------- first mutable borrow occurs here Aug 10 20:22:17.722 INFO kablam! ... Aug 10 20:22:17.722 INFO kablam! 307 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, Some(prevref)) Aug 10 20:22:17.722 INFO kablam! | ^^^^^^^ second mutable borrow occurs here Aug 10 20:22:17.722 INFO kablam! ... Aug 10 20:22:17.722 INFO kablam! 312 | } Aug 10 20:22:17.722 INFO kablam! | - first borrow ends here Aug 10 20:22:17.722 INFO kablam! Aug 10 20:22:17.722 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Aug 10 20:22:17.722 INFO kablam! --> src/lockfree_cchamt.rs:335:74 Aug 10 20:22:17.722 INFO kablam! | Aug 10 20:22:17.722 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Aug 10 20:22:17.722 INFO kablam! | ------------ first mutable borrow occurs here Aug 10 20:22:17.722 INFO kablam! ... Aug 10 20:22:17.722 INFO kablam! 335 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, prev) Aug 10 20:22:17.722 INFO kablam! | ^^^ second mutable borrow occurs here Aug 10 20:22:17.722 INFO kablam! ... Aug 10 20:22:17.722 INFO kablam! 353 | } Aug 10 20:22:17.722 INFO kablam! | - first borrow ends here Aug 10 20:22:17.723 INFO kablam! Aug 10 20:22:17.723 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Aug 10 20:22:17.723 INFO kablam! --> src/lockfree_cchamt.rs:342:66 Aug 10 20:22:17.723 INFO kablam! | Aug 10 20:22:17.723 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Aug 10 20:22:17.723 INFO kablam! | ------------ first mutable borrow occurs here Aug 10 20:22:17.723 INFO kablam! ... Aug 10 20:22:17.723 INFO kablam! 342 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, prev) Aug 10 20:22:17.723 INFO kablam! | ^^^ second mutable borrow occurs here Aug 10 20:22:17.723 INFO kablam! ... Aug 10 20:22:17.723 INFO kablam! 353 | } Aug 10 20:22:17.723 INFO kablam! | - first borrow ends here Aug 10 20:22:17.723 INFO kablam! Aug 10 20:22:17.735 INFO kablam! error[E0502]: cannot borrow `*cur` as mutable because `cur.0` is also borrowed as immutable Aug 10 20:22:17.735 INFO kablam! --> src/lockfree_cchamt.rs:473:38 Aug 10 20:22:17.735 INFO kablam! | Aug 10 20:22:17.735 INFO kablam! 467 | if let Node::ANode(ref cur2) = cur { Aug 10 20:22:17.735 INFO kablam! | -------- immutable borrow occurs here Aug 10 20:22:17.735 INFO kablam! ... Aug 10 20:22:17.735 INFO kablam! 473 | self._inhabit(cache, cur, h, lev); Aug 10 20:22:17.735 INFO kablam! | ^^^ mutable borrow occurs here Aug 10 20:22:17.735 INFO kablam! ... Aug 10 20:22:17.735 INFO kablam! 506 | } Aug 10 20:22:17.735 INFO kablam! | - immutable borrow ends here Aug 10 20:22:17.735 INFO kablam! Aug 10 20:22:17.735 INFO kablam! error[E0502]: cannot borrow `*oldref` as mutable because `oldref.0` is also borrowed as immutable Aug 10 20:22:17.735 INFO kablam! --> src/lockfree_cchamt.rs:480:47 Aug 10 20:22:17.736 INFO kablam! | Aug 10 20:22:17.736 INFO kablam! 479 | } else if let Node::ANode(ref an) = oldref { Aug 10 20:22:17.736 INFO kablam! | ------ immutable borrow occurs here Aug 10 20:22:17.736 INFO kablam! 480 | self._lookup(key, h, lev + 4, oldref, cache, cache_lev) Aug 10 20:22:17.736 INFO kablam! | ^^^^^^ mutable borrow occurs here Aug 10 20:22:17.736 INFO kablam! ... Aug 10 20:22:17.736 INFO kablam! 502 | } Aug 10 20:22:17.736 INFO kablam! | - immutable borrow ends here Aug 10 20:22:17.736 INFO kablam! Aug 10 20:22:17.806 INFO kablam! error: aborting due to 17 previous errors Aug 10 20:22:17.806 INFO kablam! Aug 10 20:22:17.806 INFO kablam! Some errors occurred: E0499, E0502. Aug 10 20:22:17.806 INFO kablam! For more information about an error, try `rustc --explain E0499`. Aug 10 20:22:17.823 INFO kablam! error: Could not compile `parallel-hamt-cache-conscious`. Aug 10 20:22:17.828 INFO kablam! warning: build failed, waiting for other jobs to finish... Aug 10 20:22:18.616 INFO kablam! error[E0502]: cannot borrow `*noderef` as mutable because `noderef.0` is also borrowed as immutable Aug 10 20:22:18.616 INFO kablam! --> src/lockfree_cchamt.rs:148:80 Aug 10 20:22:18.616 INFO kablam! | Aug 10 20:22:18.616 INFO kablam! 147 | } else if let Node::ANode(ref an) = noderef { Aug 10 20:22:18.616 INFO kablam! | ------ immutable borrow occurs here Aug 10 20:22:18.616 INFO kablam! 148 | let fnode = mem.alloc(Node::FNode { frozen: AtomicPtr::new(noderef) }); Aug 10 20:22:18.616 INFO kablam! | ^^^^^^^ mutable borrow occurs here Aug 10 20:22:18.616 INFO kablam! ... Aug 10 20:22:18.616 INFO kablam! 156 | } Aug 10 20:22:18.616 INFO kablam! | - immutable borrow ends here Aug 10 20:22:18.616 INFO kablam! Aug 10 20:22:18.621 INFO kablam! error[E0502]: cannot borrow `*enode` as mutable because `enode.parent` is also borrowed as immutable Aug 10 20:22:18.621 INFO kablam! --> src/lockfree_cchamt.rs:207:40 Aug 10 20:22:18.621 INFO kablam! | Aug 10 20:22:18.621 INFO kablam! 185 | if let Node::ENode { ref parent, parentpos, ref narrow, level, wide: ref mut _wide, .. } = enode { Aug 10 20:22:18.621 INFO kablam! | ---------- immutable borrow occurs here Aug 10 20:22:18.621 INFO kablam! ... Aug 10 20:22:18.621 INFO kablam! 207 | anptr.compare_and_swap(enode, widenode, Ordering::Relaxed); Aug 10 20:22:18.621 INFO kablam! | ^^^^^ mutable borrow occurs here Aug 10 20:22:18.621 INFO kablam! ... Aug 10 20:22:18.621 INFO kablam! 215 | } Aug 10 20:22:18.621 INFO kablam! | - immutable borrow ends here Aug 10 20:22:18.621 INFO kablam! Aug 10 20:22:18.630 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Aug 10 20:22:18.630 INFO kablam! --> src/lockfree_cchamt.rs:262:66 Aug 10 20:22:18.630 INFO kablam! | Aug 10 20:22:18.630 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Aug 10 20:22:18.630 INFO kablam! | ------------ first mutable borrow occurs here Aug 10 20:22:18.630 INFO kablam! ... Aug 10 20:22:18.630 INFO kablam! 262 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, prev) Aug 10 20:22:18.630 INFO kablam! | ^^^ second mutable borrow occurs here Aug 10 20:22:18.630 INFO kablam! ... Aug 10 20:22:18.630 INFO kablam! 353 | } Aug 10 20:22:18.630 INFO kablam! | - first borrow ends here Aug 10 20:22:18.630 INFO kablam! Aug 10 20:22:18.630 INFO kablam! error[E0499]: cannot borrow `*oldref` as mutable more than once at a time Aug 10 20:22:18.630 INFO kablam! --> src/lockfree_cchamt.rs:265:66 Aug 10 20:22:18.630 INFO kablam! | Aug 10 20:22:18.630 INFO kablam! 264 | } else if let Node::ANode(ref mut an) = oldref { Aug 10 20:22:18.630 INFO kablam! | ---------- first mutable borrow occurs here Aug 10 20:22:18.630 INFO kablam! 265 | LockfreeTrie::_insert(mem, key, val, h, lev + 4, oldref, Some(cur)) Aug 10 20:22:18.630 INFO kablam! | ^^^^^^ second mutable borrow occurs here Aug 10 20:22:18.630 INFO kablam! ... Aug 10 20:22:18.630 INFO kablam! 349 | } Aug 10 20:22:18.630 INFO kablam! | - first borrow ends here Aug 10 20:22:18.630 INFO kablam! Aug 10 20:22:18.630 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Aug 10 20:22:18.630 INFO kablam! --> src/lockfree_cchamt.rs:265:79 Aug 10 20:22:18.630 INFO kablam! | Aug 10 20:22:18.630 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Aug 10 20:22:18.630 INFO kablam! | ------------ first mutable borrow occurs here Aug 10 20:22:18.630 INFO kablam! ... Aug 10 20:22:18.631 INFO kablam! 265 | LockfreeTrie::_insert(mem, key, val, h, lev + 4, oldref, Some(cur)) Aug 10 20:22:18.631 INFO kablam! | ^^^ second mutable borrow occurs here Aug 10 20:22:18.631 INFO kablam! ... Aug 10 20:22:18.631 INFO kablam! 353 | } Aug 10 20:22:18.631 INFO kablam! | - first borrow ends here Aug 10 20:22:18.631 INFO kablam! Aug 10 20:22:18.631 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Aug 10 20:22:18.631 INFO kablam! --> src/lockfree_cchamt.rs:282:74 Aug 10 20:22:18.631 INFO kablam! | Aug 10 20:22:18.631 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Aug 10 20:22:18.631 INFO kablam! | ------------ first mutable borrow occurs here Aug 10 20:22:18.631 INFO kablam! ... Aug 10 20:22:18.631 INFO kablam! 282 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, prev) Aug 10 20:22:18.631 INFO kablam! | ^^^ second mutable borrow occurs here Aug 10 20:22:18.631 INFO kablam! ... Aug 10 20:22:18.631 INFO kablam! 353 | } Aug 10 20:22:18.631 INFO kablam! | - first borrow ends here Aug 10 20:22:18.631 INFO kablam! Aug 10 20:22:18.631 INFO kablam! error[E0499]: cannot borrow `*prevref` as mutable more than once at a time Aug 10 20:22:18.631 INFO kablam! --> src/lockfree_cchamt.rs:290:60 Aug 10 20:22:18.631 INFO kablam! | Aug 10 20:22:18.631 INFO kablam! 286 | if let Node::ANode(ref mut prev2) = prevref { Aug 10 20:22:18.631 INFO kablam! | ------------- first mutable borrow occurs here Aug 10 20:22:18.631 INFO kablam! ... Aug 10 20:22:18.631 INFO kablam! 290 | parent: AtomicPtr::new(prevref), Aug 10 20:22:18.631 INFO kablam! | ^^^^^^^ second mutable borrow occurs here Aug 10 20:22:18.631 INFO kablam! ... Aug 10 20:22:18.631 INFO kablam! 312 | } Aug 10 20:22:18.631 INFO kablam! | - first borrow ends here Aug 10 20:22:18.631 INFO kablam! Aug 10 20:22:18.631 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Aug 10 20:22:18.631 INFO kablam! --> src/lockfree_cchamt.rs:292:60 Aug 10 20:22:18.631 INFO kablam! | Aug 10 20:22:18.631 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Aug 10 20:22:18.632 INFO kablam! | ------------ first mutable borrow occurs here Aug 10 20:22:18.632 INFO kablam! ... Aug 10 20:22:18.632 INFO kablam! 292 | narrow: AtomicPtr::new(cur), Aug 10 20:22:18.632 INFO kablam! | ^^^ second mutable borrow occurs here Aug 10 20:22:18.632 INFO kablam! ... Aug 10 20:22:18.632 INFO kablam! 353 | } Aug 10 20:22:18.632 INFO kablam! | - first borrow ends here Aug 10 20:22:18.632 INFO kablam! Aug 10 20:22:18.632 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Aug 10 20:22:18.632 INFO kablam! --> src/lockfree_cchamt.rs:297:63 Aug 10 20:22:18.632 INFO kablam! | Aug 10 20:22:18.632 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Aug 10 20:22:18.632 INFO kablam! | ------------ first mutable borrow occurs here Aug 10 20:22:18.632 INFO kablam! ... Aug 10 20:22:18.632 INFO kablam! 297 | if prev2aptr.compare_and_swap(cur, en, Ordering::Relaxed) == cur { Aug 10 20:22:18.632 INFO kablam! | ^^^ second mutable borrow occurs here Aug 10 20:22:18.632 INFO kablam! ... Aug 10 20:22:18.632 INFO kablam! 353 | } Aug 10 20:22:18.632 INFO kablam! | - first borrow ends here Aug 10 20:22:18.632 INFO kablam! Aug 10 20:22:18.632 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Aug 10 20:22:18.632 INFO kablam! --> src/lockfree_cchamt.rs:297:94 Aug 10 20:22:18.632 INFO kablam! | Aug 10 20:22:18.632 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Aug 10 20:22:18.632 INFO kablam! | ------------ first mutable borrow occurs here Aug 10 20:22:18.632 INFO kablam! ... Aug 10 20:22:18.632 INFO kablam! 297 | if prev2aptr.compare_and_swap(cur, en, Ordering::Relaxed) == cur { Aug 10 20:22:18.632 INFO kablam! | ^^^ second mutable borrow occurs here Aug 10 20:22:18.632 INFO kablam! ... Aug 10 20:22:18.632 INFO kablam! 353 | } Aug 10 20:22:18.632 INFO kablam! | - first borrow ends here Aug 10 20:22:18.632 INFO kablam! Aug 10 20:22:18.632 INFO kablam! error[E0499]: cannot borrow `*prevref` as mutable more than once at a time Aug 10 20:22:18.632 INFO kablam! --> src/lockfree_cchamt.rs:301:100 Aug 10 20:22:18.633 INFO kablam! | Aug 10 20:22:18.633 INFO kablam! 286 | if let Node::ANode(ref mut prev2) = prevref { Aug 10 20:22:18.633 INFO kablam! | ------------- first mutable borrow occurs here Aug 10 20:22:18.633 INFO kablam! ... Aug 10 20:22:18.633 INFO kablam! 301 | LockfreeTrie::_insert(mem, key, val, h, lev, wideref, Some(prevref)) Aug 10 20:22:18.633 INFO kablam! | ^^^^^^^ second mutable borrow occurs here Aug 10 20:22:18.633 INFO kablam! ... Aug 10 20:22:18.633 INFO kablam! 312 | } Aug 10 20:22:18.633 INFO kablam! | - first borrow ends here Aug 10 20:22:18.633 INFO kablam! Aug 10 20:22:18.633 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Aug 10 20:22:18.633 INFO kablam! --> src/lockfree_cchamt.rs:307:82 Aug 10 20:22:18.633 INFO kablam! | Aug 10 20:22:18.633 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Aug 10 20:22:18.633 INFO kablam! | ------------ first mutable borrow occurs here Aug 10 20:22:18.633 INFO kablam! ... Aug 10 20:22:18.633 INFO kablam! 307 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, Some(prevref)) Aug 10 20:22:18.633 INFO kablam! | ^^^ second mutable borrow occurs here Aug 10 20:22:18.633 INFO kablam! ... Aug 10 20:22:18.633 INFO kablam! 353 | } Aug 10 20:22:18.633 INFO kablam! | - first borrow ends here Aug 10 20:22:18.633 INFO kablam! Aug 10 20:22:18.633 INFO kablam! error[E0499]: cannot borrow `*prevref` as mutable more than once at a time Aug 10 20:22:18.633 INFO kablam! --> src/lockfree_cchamt.rs:307:92 Aug 10 20:22:18.633 INFO kablam! | Aug 10 20:22:18.633 INFO kablam! 286 | if let Node::ANode(ref mut prev2) = prevref { Aug 10 20:22:18.633 INFO kablam! | ------------- first mutable borrow occurs here Aug 10 20:22:18.633 INFO kablam! ... Aug 10 20:22:18.633 INFO kablam! 307 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, Some(prevref)) Aug 10 20:22:18.633 INFO kablam! | ^^^^^^^ second mutable borrow occurs here Aug 10 20:22:18.633 INFO kablam! ... Aug 10 20:22:18.633 INFO kablam! 312 | } Aug 10 20:22:18.633 INFO kablam! | - first borrow ends here Aug 10 20:22:18.637 INFO kablam! Aug 10 20:22:18.637 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Aug 10 20:22:18.637 INFO kablam! --> src/lockfree_cchamt.rs:335:74 Aug 10 20:22:18.637 INFO kablam! | Aug 10 20:22:18.637 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Aug 10 20:22:18.637 INFO kablam! | ------------ first mutable borrow occurs here Aug 10 20:22:18.637 INFO kablam! ... Aug 10 20:22:18.637 INFO kablam! 335 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, prev) Aug 10 20:22:18.637 INFO kablam! | ^^^ second mutable borrow occurs here Aug 10 20:22:18.637 INFO kablam! ... Aug 10 20:22:18.637 INFO kablam! 353 | } Aug 10 20:22:18.637 INFO kablam! | - first borrow ends here Aug 10 20:22:18.637 INFO kablam! Aug 10 20:22:18.638 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Aug 10 20:22:18.638 INFO kablam! --> src/lockfree_cchamt.rs:342:66 Aug 10 20:22:18.638 INFO kablam! | Aug 10 20:22:18.638 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Aug 10 20:22:18.638 INFO kablam! | ------------ first mutable borrow occurs here Aug 10 20:22:18.638 INFO kablam! ... Aug 10 20:22:18.638 INFO kablam! 342 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, prev) Aug 10 20:22:18.639 INFO kablam! | ^^^ second mutable borrow occurs here Aug 10 20:22:18.639 INFO kablam! ... Aug 10 20:22:18.639 INFO kablam! 353 | } Aug 10 20:22:18.639 INFO kablam! | - first borrow ends here Aug 10 20:22:18.639 INFO kablam! Aug 10 20:22:18.644 INFO kablam! error[E0502]: cannot borrow `*cur` as mutable because `cur.0` is also borrowed as immutable Aug 10 20:22:18.644 INFO kablam! --> src/lockfree_cchamt.rs:473:38 Aug 10 20:22:18.644 INFO kablam! | Aug 10 20:22:18.644 INFO kablam! 467 | if let Node::ANode(ref cur2) = cur { Aug 10 20:22:18.644 INFO kablam! | -------- immutable borrow occurs here Aug 10 20:22:18.644 INFO kablam! ... Aug 10 20:22:18.644 INFO kablam! 473 | self._inhabit(cache, cur, h, lev); Aug 10 20:22:18.644 INFO kablam! | ^^^ mutable borrow occurs here Aug 10 20:22:18.645 INFO kablam! ... Aug 10 20:22:18.645 INFO kablam! 506 | } Aug 10 20:22:18.645 INFO kablam! | - immutable borrow ends here Aug 10 20:22:18.645 INFO kablam! Aug 10 20:22:18.645 INFO kablam! error[E0502]: cannot borrow `*oldref` as mutable because `oldref.0` is also borrowed as immutable Aug 10 20:22:18.645 INFO kablam! --> src/lockfree_cchamt.rs:480:47 Aug 10 20:22:18.645 INFO kablam! | Aug 10 20:22:18.645 INFO kablam! 479 | } else if let Node::ANode(ref an) = oldref { Aug 10 20:22:18.645 INFO kablam! | ------ immutable borrow occurs here Aug 10 20:22:18.645 INFO kablam! 480 | self._lookup(key, h, lev + 4, oldref, cache, cache_lev) Aug 10 20:22:18.645 INFO kablam! | ^^^^^^ mutable borrow occurs here Aug 10 20:22:18.645 INFO kablam! ... Aug 10 20:22:18.645 INFO kablam! 502 | } Aug 10 20:22:18.645 INFO kablam! | - immutable borrow ends here Aug 10 20:22:18.645 INFO kablam! Aug 10 20:22:18.733 INFO kablam! error: aborting due to 17 previous errors Aug 10 20:22:18.733 INFO kablam! Aug 10 20:22:18.733 INFO kablam! Some errors occurred: E0499, E0502. Aug 10 20:22:18.733 INFO kablam! For more information about an error, try `rustc --explain E0499`. Aug 10 20:22:18.758 INFO kablam! error: Could not compile `parallel-hamt-cache-conscious`. Aug 10 20:22:18.758 INFO kablam! Aug 10 20:22:18.759 INFO kablam! To learn more, run the command again with --verbose. Aug 10 20:22:18.760 INFO kablam! su: No module specific data is present Aug 10 20:22:19.266 INFO running `"docker" "rm" "-f" "f1805f1b9d8b3d61f3efaabf9923aeb7e11daf0877aa0115c392546b89b962df"` Aug 10 20:22:19.423 INFO blam! f1805f1b9d8b3d61f3efaabf9923aeb7e11daf0877aa0115c392546b89b962df