Sep 10 04:41:16.778 INFO checking chichunchen/concurrent-cache-conscious-hamt-in-rust against master#f50b7758f4dc85dc1c5e38258adaa94213ac6ed1 for pr-54090 Sep 10 04:41:16.778 INFO running: cargo +f50b7758f4dc85dc1c5e38258adaa94213ac6ed1-alt check --frozen --all --all-targets Sep 10 04:41:16.778 INFO running `"docker" "create" "-v" "/home/ec2-user/crater/./work/local/test-source/worker-6/pr-54090/master#f50b7758f4dc85dc1c5e38258adaa94213ac6ed1:/source:ro,Z" "-v" "/home/ec2-user/crater/./work/local/target-dirs/pr-54090/worker-6/master#f50b7758f4dc85dc1c5e38258adaa94213ac6ed1:/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" "-e" "USER_ID=1000" "-e" "CMD=cargo +f50b7758f4dc85dc1c5e38258adaa94213ac6ed1-alt check --frozen --all --all-targets" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-m" "2G" "crater"` Sep 10 04:41:16.993 INFO blam! 9b6026e66dfb77f450cf16b944446171513eb3fa9f8c7139fd6d83971a43224e Sep 10 04:41:16.995 INFO running `"docker" "start" "-a" "9b6026e66dfb77f450cf16b944446171513eb3fa9f8c7139fd6d83971a43224e"` Sep 10 04:41:18.637 INFO kablam! usermod: no changes Sep 10 04:41:18.722 INFO kablam! warning: `panic` setting is ignored for `test` profile Sep 10 04:41:18.722 INFO kablam! warning: `panic` setting is ignored for `bench` profile Sep 10 04:41:18.810 INFO kablam! Checking owning_ref v0.2.4 Sep 10 04:41:18.810 INFO kablam! Checking crossbeam-epoch v0.3.1 Sep 10 04:41:19.605 INFO kablam! Checking parking_lot v0.3.8 Sep 10 04:41:19.987 INFO kablam! Checking crossbeam-deque v0.2.0 Sep 10 04:41:20.686 INFO kablam! Checking chashmap v2.2.0 Sep 10 04:41:20.834 INFO kablam! Checking rayon-core v1.4.0 Sep 10 04:41:21.988 INFO kablam! Checking rayon v1.0.1 Sep 10 04:41:26.190 INFO kablam! Checking parallel-hamt-cache-conscious v0.1.0 (file:///source) Sep 10 04:41:26.586 INFO kablam! warning: a macro named `binary_format` has already been exported Sep 10 04:41:26.586 INFO kablam! --> src/mutex_cchamt.rs:173:1 Sep 10 04:41:26.586 INFO kablam! | Sep 10 04:41:26.586 INFO kablam! 173 | / macro_rules! binary_format { Sep 10 04:41:26.586 INFO kablam! 174 | | ($x:expr) => { Sep 10 04:41:26.586 INFO kablam! 175 | | format!("{:#034b}", $x) Sep 10 04:41:26.586 INFO kablam! 176 | | }; Sep 10 04:41:26.586 INFO kablam! 177 | | } Sep 10 04:41:26.586 INFO kablam! | |_^ `binary_format` already exported Sep 10 04:41:26.586 INFO kablam! | Sep 10 04:41:26.586 INFO kablam! = note: #[warn(duplicate_macro_exports)] on by default Sep 10 04:41:26.586 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! Sep 10 04:41:26.586 INFO kablam! = note: for more information, see issue #35896 Sep 10 04:41:26.586 INFO kablam! note: previous macro export is now shadowed Sep 10 04:41:26.586 INFO kablam! --> src/cchamt.rs:179:1 Sep 10 04:41:26.586 INFO kablam! | Sep 10 04:41:26.586 INFO kablam! 179 | / macro_rules! binary_format { Sep 10 04:41:26.586 INFO kablam! 180 | | ($x:expr) => { Sep 10 04:41:26.586 INFO kablam! 181 | | format!("{:#034b}", $x) Sep 10 04:41:26.586 INFO kablam! 182 | | }; Sep 10 04:41:26.586 INFO kablam! 183 | | } Sep 10 04:41:26.586 INFO kablam! | |_^ Sep 10 04:41:26.586 INFO kablam! Sep 10 04:41:26.586 INFO kablam! warning: a macro named `binary_format` has already been exported Sep 10 04:41:26.586 INFO kablam! --> src/rwlock_cchamt.rs:187:1 Sep 10 04:41:26.586 INFO kablam! | Sep 10 04:41:26.586 INFO kablam! 187 | / macro_rules! binary_format { Sep 10 04:41:26.586 INFO kablam! 188 | | ($x:expr) => { Sep 10 04:41:26.586 INFO kablam! 189 | | format!("{:#034b}", $x) Sep 10 04:41:26.586 INFO kablam! 190 | | }; Sep 10 04:41:26.586 INFO kablam! 191 | | } Sep 10 04:41:26.586 INFO kablam! | |_^ `binary_format` already exported Sep 10 04:41:26.587 INFO kablam! | Sep 10 04:41:26.587 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! Sep 10 04:41:26.587 INFO kablam! = note: for more information, see issue #35896 Sep 10 04:41:26.587 INFO kablam! note: previous macro export is now shadowed Sep 10 04:41:26.587 INFO kablam! --> src/mutex_cchamt.rs:173:1 Sep 10 04:41:26.587 INFO kablam! | Sep 10 04:41:26.587 INFO kablam! 173 | / macro_rules! binary_format { Sep 10 04:41:26.587 INFO kablam! 174 | | ($x:expr) => { Sep 10 04:41:26.587 INFO kablam! 175 | | format!("{:#034b}", $x) Sep 10 04:41:26.587 INFO kablam! 176 | | }; Sep 10 04:41:26.587 INFO kablam! 177 | | } Sep 10 04:41:26.587 INFO kablam! | |_^ Sep 10 04:41:26.587 INFO kablam! Sep 10 04:41:26.710 INFO kablam! warning: a macro named `binary_format` has already been exported Sep 10 04:41:26.710 INFO kablam! --> src/mutex_cchamt.rs:173:1 Sep 10 04:41:26.710 INFO kablam! | Sep 10 04:41:26.710 INFO kablam! 173 | / macro_rules! binary_format { Sep 10 04:41:26.710 INFO kablam! 174 | | ($x:expr) => { Sep 10 04:41:26.710 INFO kablam! 175 | | format!("{:#034b}", $x) Sep 10 04:41:26.710 INFO kablam! 176 | | }; Sep 10 04:41:26.710 INFO kablam! 177 | | } Sep 10 04:41:26.710 INFO kablam! | |_^ `binary_format` already exported Sep 10 04:41:26.710 INFO kablam! | Sep 10 04:41:26.710 INFO kablam! = note: #[warn(duplicate_macro_exports)] on by default Sep 10 04:41:26.710 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! Sep 10 04:41:26.710 INFO kablam! = note: for more information, see issue #35896 Sep 10 04:41:26.710 INFO kablam! note: previous macro export is now shadowed Sep 10 04:41:26.710 INFO kablam! --> src/cchamt.rs:179:1 Sep 10 04:41:26.710 INFO kablam! | Sep 10 04:41:26.710 INFO kablam! 179 | / macro_rules! binary_format { Sep 10 04:41:26.710 INFO kablam! 180 | | ($x:expr) => { Sep 10 04:41:26.710 INFO kablam! 181 | | format!("{:#034b}", $x) Sep 10 04:41:26.710 INFO kablam! 182 | | }; Sep 10 04:41:26.710 INFO kablam! 183 | | } Sep 10 04:41:26.710 INFO kablam! | |_^ Sep 10 04:41:26.710 INFO kablam! Sep 10 04:41:26.710 INFO kablam! warning: a macro named `binary_format` has already been exported Sep 10 04:41:26.710 INFO kablam! --> src/rwlock_cchamt.rs:187:1 Sep 10 04:41:26.710 INFO kablam! | Sep 10 04:41:26.710 INFO kablam! 187 | / macro_rules! binary_format { Sep 10 04:41:26.710 INFO kablam! 188 | | ($x:expr) => { Sep 10 04:41:26.710 INFO kablam! 189 | | format!("{:#034b}", $x) Sep 10 04:41:26.710 INFO kablam! 190 | | }; Sep 10 04:41:26.710 INFO kablam! 191 | | } Sep 10 04:41:26.710 INFO kablam! | |_^ `binary_format` already exported Sep 10 04:41:26.710 INFO kablam! | Sep 10 04:41:26.710 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! Sep 10 04:41:26.710 INFO kablam! = note: for more information, see issue #35896 Sep 10 04:41:26.711 INFO kablam! note: previous macro export is now shadowed Sep 10 04:41:26.711 INFO kablam! --> src/mutex_cchamt.rs:173:1 Sep 10 04:41:26.711 INFO kablam! | Sep 10 04:41:26.711 INFO kablam! 173 | / macro_rules! binary_format { Sep 10 04:41:26.711 INFO kablam! 174 | | ($x:expr) => { Sep 10 04:41:26.711 INFO kablam! 175 | | format!("{:#034b}", $x) Sep 10 04:41:26.711 INFO kablam! 176 | | }; Sep 10 04:41:26.711 INFO kablam! 177 | | } Sep 10 04:41:26.711 INFO kablam! | |_^ Sep 10 04:41:26.711 INFO kablam! Sep 10 04:41:27.186 INFO kablam! error[E0502]: cannot borrow `*noderef` as mutable because `noderef.0` is also borrowed as immutable Sep 10 04:41:27.186 INFO kablam! --> src/lockfree_cchamt.rs:148:80 Sep 10 04:41:27.186 INFO kablam! | Sep 10 04:41:27.186 INFO kablam! 147 | } else if let Node::ANode(ref an) = noderef { Sep 10 04:41:27.186 INFO kablam! | ------ immutable borrow occurs here Sep 10 04:41:27.186 INFO kablam! 148 | let fnode = mem.alloc(Node::FNode { frozen: AtomicPtr::new(noderef) }); Sep 10 04:41:27.186 INFO kablam! | ^^^^^^^ mutable borrow occurs here Sep 10 04:41:27.186 INFO kablam! ... Sep 10 04:41:27.186 INFO kablam! 156 | } Sep 10 04:41:27.186 INFO kablam! | - immutable borrow ends here Sep 10 04:41:27.186 INFO kablam! Sep 10 04:41:27.186 INFO kablam! error[E0502]: cannot borrow `*enode` as mutable because `enode.parent` is also borrowed as immutable Sep 10 04:41:27.186 INFO kablam! --> src/lockfree_cchamt.rs:207:40 Sep 10 04:41:27.186 INFO kablam! | Sep 10 04:41:27.186 INFO kablam! 185 | if let Node::ENode { ref parent, parentpos, ref narrow, level, wide: ref mut _wide, .. } = enode { Sep 10 04:41:27.186 INFO kablam! | ---------- immutable borrow occurs here Sep 10 04:41:27.186 INFO kablam! ... Sep 10 04:41:27.186 INFO kablam! 207 | anptr.compare_and_swap(enode, widenode, Ordering::Relaxed); Sep 10 04:41:27.186 INFO kablam! | ^^^^^ mutable borrow occurs here Sep 10 04:41:27.186 INFO kablam! ... Sep 10 04:41:27.186 INFO kablam! 215 | } Sep 10 04:41:27.186 INFO kablam! | - immutable borrow ends here Sep 10 04:41:27.186 INFO kablam! Sep 10 04:41:27.190 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Sep 10 04:41:27.190 INFO kablam! --> src/lockfree_cchamt.rs:262:66 Sep 10 04:41:27.190 INFO kablam! | Sep 10 04:41:27.190 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Sep 10 04:41:27.190 INFO kablam! | ------------ first mutable borrow occurs here Sep 10 04:41:27.190 INFO kablam! ... Sep 10 04:41:27.190 INFO kablam! 262 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, prev) Sep 10 04:41:27.190 INFO kablam! | ^^^ second mutable borrow occurs here Sep 10 04:41:27.190 INFO kablam! ... Sep 10 04:41:27.190 INFO kablam! 353 | } Sep 10 04:41:27.190 INFO kablam! | - first borrow ends here Sep 10 04:41:27.190 INFO kablam! Sep 10 04:41:27.191 INFO kablam! error[E0499]: cannot borrow `*oldref` as mutable more than once at a time Sep 10 04:41:27.191 INFO kablam! --> src/lockfree_cchamt.rs:265:66 Sep 10 04:41:27.191 INFO kablam! | Sep 10 04:41:27.191 INFO kablam! 264 | } else if let Node::ANode(ref mut an) = oldref { Sep 10 04:41:27.191 INFO kablam! | ---------- first mutable borrow occurs here Sep 10 04:41:27.191 INFO kablam! 265 | LockfreeTrie::_insert(mem, key, val, h, lev + 4, oldref, Some(cur)) Sep 10 04:41:27.191 INFO kablam! | ^^^^^^ second mutable borrow occurs here Sep 10 04:41:27.191 INFO kablam! ... Sep 10 04:41:27.191 INFO kablam! 349 | } Sep 10 04:41:27.191 INFO kablam! | - first borrow ends here Sep 10 04:41:27.191 INFO kablam! Sep 10 04:41:27.191 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Sep 10 04:41:27.191 INFO kablam! --> src/lockfree_cchamt.rs:265:79 Sep 10 04:41:27.191 INFO kablam! | Sep 10 04:41:27.191 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Sep 10 04:41:27.191 INFO kablam! | ------------ first mutable borrow occurs here Sep 10 04:41:27.191 INFO kablam! ... Sep 10 04:41:27.191 INFO kablam! 265 | LockfreeTrie::_insert(mem, key, val, h, lev + 4, oldref, Some(cur)) Sep 10 04:41:27.191 INFO kablam! | ^^^ second mutable borrow occurs here Sep 10 04:41:27.191 INFO kablam! ... Sep 10 04:41:27.191 INFO kablam! 353 | } Sep 10 04:41:27.191 INFO kablam! | - first borrow ends here Sep 10 04:41:27.191 INFO kablam! Sep 10 04:41:27.191 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Sep 10 04:41:27.191 INFO kablam! --> src/lockfree_cchamt.rs:282:74 Sep 10 04:41:27.191 INFO kablam! | Sep 10 04:41:27.191 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Sep 10 04:41:27.191 INFO kablam! | ------------ first mutable borrow occurs here Sep 10 04:41:27.191 INFO kablam! ... Sep 10 04:41:27.191 INFO kablam! 282 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, prev) Sep 10 04:41:27.191 INFO kablam! | ^^^ second mutable borrow occurs here Sep 10 04:41:27.191 INFO kablam! ... Sep 10 04:41:27.191 INFO kablam! 353 | } Sep 10 04:41:27.191 INFO kablam! | - first borrow ends here Sep 10 04:41:27.191 INFO kablam! Sep 10 04:41:27.191 INFO kablam! error[E0499]: cannot borrow `*prevref` as mutable more than once at a time Sep 10 04:41:27.191 INFO kablam! --> src/lockfree_cchamt.rs:290:60 Sep 10 04:41:27.191 INFO kablam! | Sep 10 04:41:27.191 INFO kablam! 286 | if let Node::ANode(ref mut prev2) = prevref { Sep 10 04:41:27.191 INFO kablam! | ------------- first mutable borrow occurs here Sep 10 04:41:27.191 INFO kablam! ... Sep 10 04:41:27.191 INFO kablam! 290 | parent: AtomicPtr::new(prevref), Sep 10 04:41:27.191 INFO kablam! | ^^^^^^^ second mutable borrow occurs here Sep 10 04:41:27.191 INFO kablam! ... Sep 10 04:41:27.191 INFO kablam! 312 | } Sep 10 04:41:27.191 INFO kablam! | - first borrow ends here Sep 10 04:41:27.191 INFO kablam! Sep 10 04:41:27.191 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Sep 10 04:41:27.191 INFO kablam! --> src/lockfree_cchamt.rs:292:60 Sep 10 04:41:27.191 INFO kablam! | Sep 10 04:41:27.191 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Sep 10 04:41:27.191 INFO kablam! | ------------ first mutable borrow occurs here Sep 10 04:41:27.191 INFO kablam! ... Sep 10 04:41:27.191 INFO kablam! 292 | narrow: AtomicPtr::new(cur), Sep 10 04:41:27.191 INFO kablam! | ^^^ second mutable borrow occurs here Sep 10 04:41:27.191 INFO kablam! ... Sep 10 04:41:27.191 INFO kablam! 353 | } Sep 10 04:41:27.191 INFO kablam! | - first borrow ends here Sep 10 04:41:27.191 INFO kablam! Sep 10 04:41:27.191 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Sep 10 04:41:27.191 INFO kablam! --> src/lockfree_cchamt.rs:297:63 Sep 10 04:41:27.191 INFO kablam! | Sep 10 04:41:27.191 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Sep 10 04:41:27.191 INFO kablam! | ------------ first mutable borrow occurs here Sep 10 04:41:27.191 INFO kablam! ... Sep 10 04:41:27.191 INFO kablam! 297 | if prev2aptr.compare_and_swap(cur, en, Ordering::Relaxed) == cur { Sep 10 04:41:27.191 INFO kablam! | ^^^ second mutable borrow occurs here Sep 10 04:41:27.191 INFO kablam! ... Sep 10 04:41:27.191 INFO kablam! 353 | } Sep 10 04:41:27.192 INFO kablam! | - first borrow ends here Sep 10 04:41:27.192 INFO kablam! Sep 10 04:41:27.192 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Sep 10 04:41:27.192 INFO kablam! --> src/lockfree_cchamt.rs:297:94 Sep 10 04:41:27.192 INFO kablam! | Sep 10 04:41:27.192 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Sep 10 04:41:27.192 INFO kablam! | ------------ first mutable borrow occurs here Sep 10 04:41:27.192 INFO kablam! ... Sep 10 04:41:27.192 INFO kablam! 297 | if prev2aptr.compare_and_swap(cur, en, Ordering::Relaxed) == cur { Sep 10 04:41:27.192 INFO kablam! | ^^^ second mutable borrow occurs here Sep 10 04:41:27.192 INFO kablam! ... Sep 10 04:41:27.192 INFO kablam! 353 | } Sep 10 04:41:27.192 INFO kablam! | - first borrow ends here Sep 10 04:41:27.192 INFO kablam! Sep 10 04:41:27.192 INFO kablam! error[E0499]: cannot borrow `*prevref` as mutable more than once at a time Sep 10 04:41:27.192 INFO kablam! --> src/lockfree_cchamt.rs:301:100 Sep 10 04:41:27.192 INFO kablam! | Sep 10 04:41:27.192 INFO kablam! 286 | if let Node::ANode(ref mut prev2) = prevref { Sep 10 04:41:27.192 INFO kablam! | ------------- first mutable borrow occurs here Sep 10 04:41:27.192 INFO kablam! ... Sep 10 04:41:27.192 INFO kablam! 301 | LockfreeTrie::_insert(mem, key, val, h, lev, wideref, Some(prevref)) Sep 10 04:41:27.192 INFO kablam! | ^^^^^^^ second mutable borrow occurs here Sep 10 04:41:27.192 INFO kablam! ... Sep 10 04:41:27.192 INFO kablam! 312 | } Sep 10 04:41:27.192 INFO kablam! | - first borrow ends here Sep 10 04:41:27.192 INFO kablam! Sep 10 04:41:27.192 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Sep 10 04:41:27.192 INFO kablam! --> src/lockfree_cchamt.rs:307:82 Sep 10 04:41:27.192 INFO kablam! | Sep 10 04:41:27.192 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Sep 10 04:41:27.192 INFO kablam! | ------------ first mutable borrow occurs here Sep 10 04:41:27.192 INFO kablam! ... Sep 10 04:41:27.192 INFO kablam! 307 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, Some(prevref)) Sep 10 04:41:27.192 INFO kablam! | ^^^ second mutable borrow occurs here Sep 10 04:41:27.192 INFO kablam! ... Sep 10 04:41:27.192 INFO kablam! 353 | } Sep 10 04:41:27.192 INFO kablam! | - first borrow ends here Sep 10 04:41:27.192 INFO kablam! Sep 10 04:41:27.192 INFO kablam! error[E0499]: cannot borrow `*prevref` as mutable more than once at a time Sep 10 04:41:27.192 INFO kablam! --> src/lockfree_cchamt.rs:307:92 Sep 10 04:41:27.192 INFO kablam! | Sep 10 04:41:27.192 INFO kablam! 286 | if let Node::ANode(ref mut prev2) = prevref { Sep 10 04:41:27.192 INFO kablam! | ------------- first mutable borrow occurs here Sep 10 04:41:27.192 INFO kablam! ... Sep 10 04:41:27.192 INFO kablam! 307 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, Some(prevref)) Sep 10 04:41:27.192 INFO kablam! | ^^^^^^^ second mutable borrow occurs here Sep 10 04:41:27.192 INFO kablam! ... Sep 10 04:41:27.192 INFO kablam! 312 | } Sep 10 04:41:27.192 INFO kablam! | - first borrow ends here Sep 10 04:41:27.194 INFO kablam! Sep 10 04:41:27.195 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Sep 10 04:41:27.195 INFO kablam! --> src/lockfree_cchamt.rs:335:74 Sep 10 04:41:27.195 INFO kablam! | Sep 10 04:41:27.195 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Sep 10 04:41:27.195 INFO kablam! | ------------ first mutable borrow occurs here Sep 10 04:41:27.195 INFO kablam! ... Sep 10 04:41:27.195 INFO kablam! 335 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, prev) Sep 10 04:41:27.195 INFO kablam! | ^^^ second mutable borrow occurs here Sep 10 04:41:27.195 INFO kablam! ... Sep 10 04:41:27.195 INFO kablam! 353 | } Sep 10 04:41:27.195 INFO kablam! | - first borrow ends here Sep 10 04:41:27.195 INFO kablam! Sep 10 04:41:27.195 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Sep 10 04:41:27.195 INFO kablam! --> src/lockfree_cchamt.rs:342:66 Sep 10 04:41:27.195 INFO kablam! | Sep 10 04:41:27.195 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Sep 10 04:41:27.195 INFO kablam! | ------------ first mutable borrow occurs here Sep 10 04:41:27.195 INFO kablam! ... Sep 10 04:41:27.195 INFO kablam! 342 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, prev) Sep 10 04:41:27.195 INFO kablam! | ^^^ second mutable borrow occurs here Sep 10 04:41:27.195 INFO kablam! ... Sep 10 04:41:27.195 INFO kablam! 353 | } Sep 10 04:41:27.195 INFO kablam! | - first borrow ends here Sep 10 04:41:27.195 INFO kablam! Sep 10 04:41:27.199 INFO kablam! error[E0502]: cannot borrow `*cur` as mutable because `cur.0` is also borrowed as immutable Sep 10 04:41:27.199 INFO kablam! --> src/lockfree_cchamt.rs:473:38 Sep 10 04:41:27.199 INFO kablam! | Sep 10 04:41:27.199 INFO kablam! 467 | if let Node::ANode(ref cur2) = cur { Sep 10 04:41:27.199 INFO kablam! | -------- immutable borrow occurs here Sep 10 04:41:27.199 INFO kablam! ... Sep 10 04:41:27.199 INFO kablam! 473 | self._inhabit(cache, cur, h, lev); Sep 10 04:41:27.199 INFO kablam! | ^^^ mutable borrow occurs here Sep 10 04:41:27.199 INFO kablam! ... Sep 10 04:41:27.199 INFO kablam! 506 | } Sep 10 04:41:27.199 INFO kablam! | - immutable borrow ends here Sep 10 04:41:27.199 INFO kablam! Sep 10 04:41:27.199 INFO kablam! error[E0502]: cannot borrow `*oldref` as mutable because `oldref.0` is also borrowed as immutable Sep 10 04:41:27.199 INFO kablam! --> src/lockfree_cchamt.rs:480:47 Sep 10 04:41:27.199 INFO kablam! | Sep 10 04:41:27.199 INFO kablam! 479 | } else if let Node::ANode(ref an) = oldref { Sep 10 04:41:27.199 INFO kablam! | ------ immutable borrow occurs here Sep 10 04:41:27.199 INFO kablam! 480 | self._lookup(key, h, lev + 4, oldref, cache, cache_lev) Sep 10 04:41:27.199 INFO kablam! | ^^^^^^ mutable borrow occurs here Sep 10 04:41:27.199 INFO kablam! ... Sep 10 04:41:27.199 INFO kablam! 502 | } Sep 10 04:41:27.199 INFO kablam! | - immutable borrow ends here Sep 10 04:41:27.199 INFO kablam! Sep 10 04:41:27.242 INFO kablam! error: aborting due to 17 previous errors Sep 10 04:41:27.242 INFO kablam! Sep 10 04:41:27.242 INFO kablam! Some errors occurred: E0499, E0502. Sep 10 04:41:27.242 INFO kablam! For more information about an error, try `rustc --explain E0499`. Sep 10 04:41:27.247 INFO kablam! error: Could not compile `parallel-hamt-cache-conscious`. Sep 10 04:41:27.247 INFO kablam! warning: build failed, waiting for other jobs to finish... Sep 10 04:41:27.390 INFO kablam! error[E0502]: cannot borrow `*noderef` as mutable because `noderef.0` is also borrowed as immutable Sep 10 04:41:27.390 INFO kablam! --> src/lockfree_cchamt.rs:148:80 Sep 10 04:41:27.390 INFO kablam! | Sep 10 04:41:27.390 INFO kablam! 147 | } else if let Node::ANode(ref an) = noderef { Sep 10 04:41:27.390 INFO kablam! | ------ immutable borrow occurs here Sep 10 04:41:27.390 INFO kablam! 148 | let fnode = mem.alloc(Node::FNode { frozen: AtomicPtr::new(noderef) }); Sep 10 04:41:27.390 INFO kablam! | ^^^^^^^ mutable borrow occurs here Sep 10 04:41:27.390 INFO kablam! ... Sep 10 04:41:27.390 INFO kablam! 156 | } Sep 10 04:41:27.390 INFO kablam! | - immutable borrow ends here Sep 10 04:41:27.390 INFO kablam! Sep 10 04:41:27.391 INFO kablam! error[E0502]: cannot borrow `*enode` as mutable because `enode.parent` is also borrowed as immutable Sep 10 04:41:27.391 INFO kablam! --> src/lockfree_cchamt.rs:207:40 Sep 10 04:41:27.391 INFO kablam! | Sep 10 04:41:27.391 INFO kablam! 185 | if let Node::ENode { ref parent, parentpos, ref narrow, level, wide: ref mut _wide, .. } = enode { Sep 10 04:41:27.391 INFO kablam! | ---------- immutable borrow occurs here Sep 10 04:41:27.391 INFO kablam! ... Sep 10 04:41:27.391 INFO kablam! 207 | anptr.compare_and_swap(enode, widenode, Ordering::Relaxed); Sep 10 04:41:27.391 INFO kablam! | ^^^^^ mutable borrow occurs here Sep 10 04:41:27.391 INFO kablam! ... Sep 10 04:41:27.391 INFO kablam! 215 | } Sep 10 04:41:27.391 INFO kablam! | - immutable borrow ends here Sep 10 04:41:27.391 INFO kablam! Sep 10 04:41:27.400 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Sep 10 04:41:27.400 INFO kablam! --> src/lockfree_cchamt.rs:262:66 Sep 10 04:41:27.400 INFO kablam! | Sep 10 04:41:27.400 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Sep 10 04:41:27.400 INFO kablam! | ------------ first mutable borrow occurs here Sep 10 04:41:27.400 INFO kablam! ... Sep 10 04:41:27.400 INFO kablam! 262 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, prev) Sep 10 04:41:27.400 INFO kablam! | ^^^ second mutable borrow occurs here Sep 10 04:41:27.400 INFO kablam! ... Sep 10 04:41:27.400 INFO kablam! 353 | } Sep 10 04:41:27.400 INFO kablam! | - first borrow ends here Sep 10 04:41:27.400 INFO kablam! Sep 10 04:41:27.400 INFO kablam! error[E0499]: cannot borrow `*oldref` as mutable more than once at a time Sep 10 04:41:27.400 INFO kablam! --> src/lockfree_cchamt.rs:265:66 Sep 10 04:41:27.400 INFO kablam! | Sep 10 04:41:27.400 INFO kablam! 264 | } else if let Node::ANode(ref mut an) = oldref { Sep 10 04:41:27.401 INFO kablam! | ---------- first mutable borrow occurs here Sep 10 04:41:27.401 INFO kablam! 265 | LockfreeTrie::_insert(mem, key, val, h, lev + 4, oldref, Some(cur)) Sep 10 04:41:27.401 INFO kablam! | ^^^^^^ second mutable borrow occurs here Sep 10 04:41:27.401 INFO kablam! ... Sep 10 04:41:27.401 INFO kablam! 349 | } Sep 10 04:41:27.401 INFO kablam! | - first borrow ends here Sep 10 04:41:27.401 INFO kablam! Sep 10 04:41:27.401 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Sep 10 04:41:27.401 INFO kablam! --> src/lockfree_cchamt.rs:265:79 Sep 10 04:41:27.401 INFO kablam! | Sep 10 04:41:27.401 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Sep 10 04:41:27.401 INFO kablam! | ------------ first mutable borrow occurs here Sep 10 04:41:27.401 INFO kablam! ... Sep 10 04:41:27.401 INFO kablam! 265 | LockfreeTrie::_insert(mem, key, val, h, lev + 4, oldref, Some(cur)) Sep 10 04:41:27.401 INFO kablam! | ^^^ second mutable borrow occurs here Sep 10 04:41:27.401 INFO kablam! ... Sep 10 04:41:27.401 INFO kablam! 353 | } Sep 10 04:41:27.401 INFO kablam! | - first borrow ends here Sep 10 04:41:27.401 INFO kablam! Sep 10 04:41:27.401 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Sep 10 04:41:27.401 INFO kablam! --> src/lockfree_cchamt.rs:282:74 Sep 10 04:41:27.401 INFO kablam! | Sep 10 04:41:27.401 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Sep 10 04:41:27.401 INFO kablam! | ------------ first mutable borrow occurs here Sep 10 04:41:27.401 INFO kablam! ... Sep 10 04:41:27.401 INFO kablam! 282 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, prev) Sep 10 04:41:27.401 INFO kablam! | ^^^ second mutable borrow occurs here Sep 10 04:41:27.401 INFO kablam! ... Sep 10 04:41:27.401 INFO kablam! 353 | } Sep 10 04:41:27.401 INFO kablam! | - first borrow ends here Sep 10 04:41:27.401 INFO kablam! Sep 10 04:41:27.401 INFO kablam! error[E0499]: cannot borrow `*prevref` as mutable more than once at a time Sep 10 04:41:27.401 INFO kablam! --> src/lockfree_cchamt.rs:290:60 Sep 10 04:41:27.401 INFO kablam! | Sep 10 04:41:27.401 INFO kablam! 286 | if let Node::ANode(ref mut prev2) = prevref { Sep 10 04:41:27.401 INFO kablam! | ------------- first mutable borrow occurs here Sep 10 04:41:27.401 INFO kablam! ... Sep 10 04:41:27.401 INFO kablam! 290 | parent: AtomicPtr::new(prevref), Sep 10 04:41:27.401 INFO kablam! | ^^^^^^^ second mutable borrow occurs here Sep 10 04:41:27.401 INFO kablam! ... Sep 10 04:41:27.401 INFO kablam! 312 | } Sep 10 04:41:27.401 INFO kablam! | - first borrow ends here Sep 10 04:41:27.401 INFO kablam! Sep 10 04:41:27.401 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Sep 10 04:41:27.401 INFO kablam! --> src/lockfree_cchamt.rs:292:60 Sep 10 04:41:27.401 INFO kablam! | Sep 10 04:41:27.401 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Sep 10 04:41:27.401 INFO kablam! | ------------ first mutable borrow occurs here Sep 10 04:41:27.401 INFO kablam! ... Sep 10 04:41:27.401 INFO kablam! 292 | narrow: AtomicPtr::new(cur), Sep 10 04:41:27.401 INFO kablam! | ^^^ second mutable borrow occurs here Sep 10 04:41:27.401 INFO kablam! ... Sep 10 04:41:27.401 INFO kablam! 353 | } Sep 10 04:41:27.401 INFO kablam! | - first borrow ends here Sep 10 04:41:27.401 INFO kablam! Sep 10 04:41:27.401 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Sep 10 04:41:27.401 INFO kablam! --> src/lockfree_cchamt.rs:297:63 Sep 10 04:41:27.401 INFO kablam! | Sep 10 04:41:27.401 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Sep 10 04:41:27.402 INFO kablam! | ------------ first mutable borrow occurs here Sep 10 04:41:27.402 INFO kablam! ... Sep 10 04:41:27.402 INFO kablam! 297 | if prev2aptr.compare_and_swap(cur, en, Ordering::Relaxed) == cur { Sep 10 04:41:27.402 INFO kablam! | ^^^ second mutable borrow occurs here Sep 10 04:41:27.402 INFO kablam! ... Sep 10 04:41:27.402 INFO kablam! 353 | } Sep 10 04:41:27.402 INFO kablam! | - first borrow ends here Sep 10 04:41:27.402 INFO kablam! Sep 10 04:41:27.402 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Sep 10 04:41:27.402 INFO kablam! --> src/lockfree_cchamt.rs:297:94 Sep 10 04:41:27.402 INFO kablam! | Sep 10 04:41:27.402 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Sep 10 04:41:27.402 INFO kablam! | ------------ first mutable borrow occurs here Sep 10 04:41:27.402 INFO kablam! ... Sep 10 04:41:27.402 INFO kablam! 297 | if prev2aptr.compare_and_swap(cur, en, Ordering::Relaxed) == cur { Sep 10 04:41:27.402 INFO kablam! | ^^^ second mutable borrow occurs here Sep 10 04:41:27.402 INFO kablam! ... Sep 10 04:41:27.402 INFO kablam! 353 | } Sep 10 04:41:27.402 INFO kablam! | - first borrow ends here Sep 10 04:41:27.402 INFO kablam! Sep 10 04:41:27.402 INFO kablam! error[E0499]: cannot borrow `*prevref` as mutable more than once at a time Sep 10 04:41:27.402 INFO kablam! --> src/lockfree_cchamt.rs:301:100 Sep 10 04:41:27.402 INFO kablam! | Sep 10 04:41:27.402 INFO kablam! 286 | if let Node::ANode(ref mut prev2) = prevref { Sep 10 04:41:27.402 INFO kablam! | ------------- first mutable borrow occurs here Sep 10 04:41:27.402 INFO kablam! ... Sep 10 04:41:27.402 INFO kablam! 301 | LockfreeTrie::_insert(mem, key, val, h, lev, wideref, Some(prevref)) Sep 10 04:41:27.402 INFO kablam! | ^^^^^^^ second mutable borrow occurs here Sep 10 04:41:27.402 INFO kablam! ... Sep 10 04:41:27.402 INFO kablam! 312 | } Sep 10 04:41:27.402 INFO kablam! | - first borrow ends here Sep 10 04:41:27.402 INFO kablam! Sep 10 04:41:27.402 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Sep 10 04:41:27.402 INFO kablam! --> src/lockfree_cchamt.rs:307:82 Sep 10 04:41:27.402 INFO kablam! | Sep 10 04:41:27.402 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Sep 10 04:41:27.402 INFO kablam! | ------------ first mutable borrow occurs here Sep 10 04:41:27.402 INFO kablam! ... Sep 10 04:41:27.402 INFO kablam! 307 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, Some(prevref)) Sep 10 04:41:27.402 INFO kablam! | ^^^ second mutable borrow occurs here Sep 10 04:41:27.402 INFO kablam! ... Sep 10 04:41:27.402 INFO kablam! 353 | } Sep 10 04:41:27.402 INFO kablam! | - first borrow ends here Sep 10 04:41:27.402 INFO kablam! Sep 10 04:41:27.402 INFO kablam! error[E0499]: cannot borrow `*prevref` as mutable more than once at a time Sep 10 04:41:27.402 INFO kablam! --> src/lockfree_cchamt.rs:307:92 Sep 10 04:41:27.402 INFO kablam! | Sep 10 04:41:27.402 INFO kablam! 286 | if let Node::ANode(ref mut prev2) = prevref { Sep 10 04:41:27.402 INFO kablam! | ------------- first mutable borrow occurs here Sep 10 04:41:27.402 INFO kablam! ... Sep 10 04:41:27.402 INFO kablam! 307 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, Some(prevref)) Sep 10 04:41:27.402 INFO kablam! | ^^^^^^^ second mutable borrow occurs here Sep 10 04:41:27.402 INFO kablam! ... Sep 10 04:41:27.402 INFO kablam! 312 | } Sep 10 04:41:27.402 INFO kablam! | - first borrow ends here Sep 10 04:41:27.402 INFO kablam! Sep 10 04:41:27.402 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Sep 10 04:41:27.402 INFO kablam! --> src/lockfree_cchamt.rs:335:74 Sep 10 04:41:27.402 INFO kablam! | Sep 10 04:41:27.402 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Sep 10 04:41:27.403 INFO kablam! | ------------ first mutable borrow occurs here Sep 10 04:41:27.403 INFO kablam! ... Sep 10 04:41:27.403 INFO kablam! 335 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, prev) Sep 10 04:41:27.403 INFO kablam! | ^^^ second mutable borrow occurs here Sep 10 04:41:27.403 INFO kablam! ... Sep 10 04:41:27.403 INFO kablam! 353 | } Sep 10 04:41:27.403 INFO kablam! | - first borrow ends here Sep 10 04:41:27.403 INFO kablam! Sep 10 04:41:27.403 INFO kablam! error[E0499]: cannot borrow `*cur` as mutable more than once at a time Sep 10 04:41:27.403 INFO kablam! --> src/lockfree_cchamt.rs:342:66 Sep 10 04:41:27.403 INFO kablam! | Sep 10 04:41:27.403 INFO kablam! 246 | if let Node::ANode(ref mut cur2) = cur { Sep 10 04:41:27.403 INFO kablam! | ------------ first mutable borrow occurs here Sep 10 04:41:27.403 INFO kablam! ... Sep 10 04:41:27.403 INFO kablam! 342 | LockfreeTrie::_insert(mem, key, val, h, lev, cur, prev) Sep 10 04:41:27.403 INFO kablam! | ^^^ second mutable borrow occurs here Sep 10 04:41:27.403 INFO kablam! ... Sep 10 04:41:27.403 INFO kablam! 353 | } Sep 10 04:41:27.403 INFO kablam! | - first borrow ends here Sep 10 04:41:27.403 INFO kablam! Sep 10 04:41:27.406 INFO kablam! error[E0502]: cannot borrow `*cur` as mutable because `cur.0` is also borrowed as immutable Sep 10 04:41:27.406 INFO kablam! --> src/lockfree_cchamt.rs:473:38 Sep 10 04:41:27.406 INFO kablam! | Sep 10 04:41:27.406 INFO kablam! 467 | if let Node::ANode(ref cur2) = cur { Sep 10 04:41:27.406 INFO kablam! | -------- immutable borrow occurs here Sep 10 04:41:27.406 INFO kablam! ... Sep 10 04:41:27.406 INFO kablam! 473 | self._inhabit(cache, cur, h, lev); Sep 10 04:41:27.406 INFO kablam! | ^^^ mutable borrow occurs here Sep 10 04:41:27.406 INFO kablam! ... Sep 10 04:41:27.406 INFO kablam! 506 | } Sep 10 04:41:27.406 INFO kablam! | - immutable borrow ends here Sep 10 04:41:27.406 INFO kablam! Sep 10 04:41:27.406 INFO kablam! error[E0502]: cannot borrow `*oldref` as mutable because `oldref.0` is also borrowed as immutable Sep 10 04:41:27.406 INFO kablam! --> src/lockfree_cchamt.rs:480:47 Sep 10 04:41:27.406 INFO kablam! | Sep 10 04:41:27.406 INFO kablam! 479 | } else if let Node::ANode(ref an) = oldref { Sep 10 04:41:27.406 INFO kablam! | ------ immutable borrow occurs here Sep 10 04:41:27.406 INFO kablam! 480 | self._lookup(key, h, lev + 4, oldref, cache, cache_lev) Sep 10 04:41:27.406 INFO kablam! | ^^^^^^ mutable borrow occurs here Sep 10 04:41:27.406 INFO kablam! ... Sep 10 04:41:27.406 INFO kablam! 502 | } Sep 10 04:41:27.406 INFO kablam! | - immutable borrow ends here Sep 10 04:41:27.406 INFO kablam! Sep 10 04:41:27.441 INFO kablam! error: aborting due to 17 previous errors Sep 10 04:41:27.441 INFO kablam! Sep 10 04:41:27.441 INFO kablam! Some errors occurred: E0499, E0502. Sep 10 04:41:27.441 INFO kablam! For more information about an error, try `rustc --explain E0499`. Sep 10 04:41:27.453 INFO kablam! error: Could not compile `parallel-hamt-cache-conscious`. Sep 10 04:41:27.453 INFO kablam! Sep 10 04:41:27.453 INFO kablam! To learn more, run the command again with --verbose. Sep 10 04:41:27.454 INFO kablam! su: No module specific data is present Sep 10 04:41:28.420 INFO running `"docker" "rm" "-f" "9b6026e66dfb77f450cf16b944446171513eb3fa9f8c7139fd6d83971a43224e"` Sep 10 04:41:28.536 INFO blam! 9b6026e66dfb77f450cf16b944446171513eb3fa9f8c7139fd6d83971a43224e