[INFO] crate vertree 0.2.2 is already in cache [INFO] extracting crate vertree 0.2.2 into work/ex/beta-1.38-1/sources/1.37.0/reg/vertree/0.2.2 [INFO] extracting crate vertree 0.2.2 into work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/vertree/0.2.2 [INFO] validating manifest of vertree-0.2.2 on toolchain 1.37.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of vertree-0.2.2 on toolchain beta-2019-08-13 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing vertree-0.2.2 [INFO] finished frobbing vertree-0.2.2 [INFO] frobbed toml for vertree-0.2.2 written to work/ex/beta-1.38-1/sources/1.37.0/reg/vertree/0.2.2/Cargo.toml [INFO] started frobbing vertree-0.2.2 [INFO] finished frobbing vertree-0.2.2 [INFO] frobbed toml for vertree-0.2.2 written to work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/vertree/0.2.2/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing vertree-0.2.2 against 1.37.0 for beta-1.38-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-5/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/reg/vertree/0.2.2:/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=warn" "-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" "+1.37.0" "build" "--frozen"` [INFO] [stdout] b40252c34d3ceef516c90f2d787fb2919917c0d4c7f88a37b7f1e17b650b2478 [INFO] running `"docker" "start" "-a" "b40252c34d3ceef516c90f2d787fb2919917c0d4c7f88a37b7f1e17b650b2478"` [INFO] [stderr] Compiling rmp-serde v0.13.7 [INFO] [stderr] Compiling vertree v0.2.2 (/opt/crater/workdir) [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/snapshot.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | /// Create a random tree, take a snapshot, and ensure reading it back in gives the same tree [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 35 | / quickcheck! { [INFO] [stderr] 36 | | fn prop_rountrip(node_specs: Vec<(Path, NodeType)>) -> bool { [INFO] [stderr] 37 | | let tree = node_specs.iter().fold(Tree::new(), |acc, &(ref path, ref node_type)| { [INFO] [stderr] 38 | | // Ignore failures. We may try to insert a node into a non-directory due to [INFO] [stderr] ... | [INFO] [stderr] 53 | | } [INFO] [stderr] 54 | | } [INFO] [stderr] | |_____- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_doc_comments)] on by default [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/cas.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | / /// Generate a bunch of write operations. Run them one at a time and filter out failing [INFO] [stderr] 56 | | /// operations. Then run the whole set as a multi-cas. Ensure the output is the same between the [INFO] [stderr] 57 | | /// ops run in the multicas and one at a time. [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] 58 | / quickcheck! { [INFO] [stderr] 59 | | fn prop_multi_cas_equals_individual_ops(ops: Vec) -> bool { [INFO] [stderr] 60 | | let tree = Tree::new(); [INFO] [stderr] 61 | | let (filtered_ops, individual_replies, individual_tree) = filter_by_valid(ops); [INFO] [stderr] ... | [INFO] [stderr] 65 | | } [INFO] [stderr] 66 | | } [INFO] [stderr] | |_____- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right_matches': superseded by `trim_end_matches` [INFO] [stderr] --> src/tree.rs:143:23 [INFO] [stderr] | [INFO] [stderr] 143 | let dir = dir.trim_right_matches('/'); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches` [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/errors.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | / error_chain! { [INFO] [stderr] 5 | | foreign_links { [INFO] [stderr] 6 | | Io(::std::io::Error) #[cfg(unix)]; [INFO] [stderr] 7 | | MsgPackEncodeError(rmp_serde::encode::Error); [INFO] [stderr] ... | [INFO] [stderr] 45 | | } [INFO] [stderr] 46 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tree.rs:268:14 [INFO] [stderr] | [INFO] [stderr] 268 | let (mut queue, version, tree) = { [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/tree.rs:282:14 [INFO] [stderr] | [INFO] [stderr] 282 | let (mut queue, version, tree) = { [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/tree.rs:295:14 [INFO] [stderr] | [INFO] [stderr] 295 | let (mut set, version, tree) = { [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/tree.rs:308:14 [INFO] [stderr] | [INFO] [stderr] 308 | let (mut set, version, tree) = { [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/tree.rs:322:13 [INFO] [stderr] | [INFO] [stderr] 322 | let mut queue = node.content.get_queue_mut().unwrap(); [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/tree.rs:328:13 [INFO] [stderr] | [INFO] [stderr] 328 | let mut queue = node.content.get_set_mut().unwrap(); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 7.58s [INFO] running `"docker" "inspect" "b40252c34d3ceef516c90f2d787fb2919917c0d4c7f88a37b7f1e17b650b2478"` [INFO] running `"docker" "rm" "-f" "b40252c34d3ceef516c90f2d787fb2919917c0d4c7f88a37b7f1e17b650b2478"` [INFO] [stdout] b40252c34d3ceef516c90f2d787fb2919917c0d4c7f88a37b7f1e17b650b2478 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-5/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/reg/vertree/0.2.2:/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=warn" "-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" "+1.37.0" "test" "--frozen" "--no-run"` [INFO] [stdout] 3f5f17615c58989d98465ffaf3c375c21c21415c58d2624db27272890e4ad732 [INFO] running `"docker" "start" "-a" "3f5f17615c58989d98465ffaf3c375c21c21415c58d2624db27272890e4ad732"` [INFO] [stderr] Compiling assert_matches v1.3.0 [INFO] [stderr] Compiling quickcheck v0.4.1 [INFO] [stderr] Compiling vertree v0.2.2 (/opt/crater/workdir) [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/snapshot.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | /// Create a random tree, take a snapshot, and ensure reading it back in gives the same tree [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 35 | / quickcheck! { [INFO] [stderr] 36 | | fn prop_rountrip(node_specs: Vec<(Path, NodeType)>) -> bool { [INFO] [stderr] 37 | | let tree = node_specs.iter().fold(Tree::new(), |acc, &(ref path, ref node_type)| { [INFO] [stderr] 38 | | // Ignore failures. We may try to insert a node into a non-directory due to [INFO] [stderr] ... | [INFO] [stderr] 53 | | } [INFO] [stderr] 54 | | } [INFO] [stderr] | |_____- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_doc_comments)] on by default [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/cas.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | / /// Generate a bunch of write operations. Run them one at a time and filter out failing [INFO] [stderr] 56 | | /// operations. Then run the whole set as a multi-cas. Ensure the output is the same between the [INFO] [stderr] 57 | | /// ops run in the multicas and one at a time. [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] 58 | / quickcheck! { [INFO] [stderr] 59 | | fn prop_multi_cas_equals_individual_ops(ops: Vec) -> bool { [INFO] [stderr] 60 | | let tree = Tree::new(); [INFO] [stderr] 61 | | let (filtered_ops, individual_replies, individual_tree) = filter_by_valid(ops); [INFO] [stderr] ... | [INFO] [stderr] 65 | | } [INFO] [stderr] 66 | | } [INFO] [stderr] | |_____- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right_matches': superseded by `trim_end_matches` [INFO] [stderr] --> src/tree.rs:143:23 [INFO] [stderr] | [INFO] [stderr] 143 | let dir = dir.trim_right_matches('/'); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right_matches': superseded by `trim_end_matches` [INFO] [stderr] --> src/iterators.rs:352:55 [INFO] [stderr] | [INFO] [stderr] 352 | let paths: Vec<&str> = paths.iter().map(|p| p.trim_right_matches('/')).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::cause': replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/errors.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | / error_chain! { [INFO] [stderr] 5 | | foreign_links { [INFO] [stderr] 6 | | Io(::std::io::Error) #[cfg(unix)]; [INFO] [stderr] 7 | | MsgPackEncodeError(rmp_serde::encode::Error); [INFO] [stderr] ... | [INFO] [stderr] 45 | | } [INFO] [stderr] 46 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tree.rs:268:14 [INFO] [stderr] | [INFO] [stderr] 268 | let (mut queue, version, tree) = { [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/tree.rs:282:14 [INFO] [stderr] | [INFO] [stderr] 282 | let (mut queue, version, tree) = { [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/tree.rs:295:14 [INFO] [stderr] | [INFO] [stderr] 295 | let (mut set, version, tree) = { [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/tree.rs:308:14 [INFO] [stderr] | [INFO] [stderr] 308 | let (mut set, version, tree) = { [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/tree.rs:322:13 [INFO] [stderr] | [INFO] [stderr] 322 | let mut queue = node.content.get_queue_mut().unwrap(); [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/tree.rs:328:13 [INFO] [stderr] | [INFO] [stderr] 328 | let mut queue = node.content.get_set_mut().unwrap(); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 9.60s [INFO] running `"docker" "inspect" "3f5f17615c58989d98465ffaf3c375c21c21415c58d2624db27272890e4ad732"` [INFO] running `"docker" "rm" "-f" "3f5f17615c58989d98465ffaf3c375c21c21415c58d2624db27272890e4ad732"` [INFO] [stdout] 3f5f17615c58989d98465ffaf3c375c21c21415c58d2624db27272890e4ad732 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-5/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/reg/vertree/0.2.2:/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=warn" "-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" "+1.37.0" "test" "--frozen"` [INFO] [stdout] c0a15944b1a9b7b12974cdc8f948d8ce827fb892f7a2b584adc8100257e5e5dd [INFO] running `"docker" "start" "-a" "c0a15944b1a9b7b12974cdc8f948d8ce827fb892f7a2b584adc8100257e5e5dd"` [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.10s [INFO] [stderr] Running /opt/crater/target/debug/deps/vertree-8e8ef9035356c730 [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test containers::queue::tests::trivial_q ... ok [INFO] [stdout] test iterators::tests::cow_path_iter ... ok [INFO] [stdout] test iterators::tests::path_iter ... ok [INFO] [stdout] test iterators::tests::create_nodes_iter_check ... ok [INFO] [stdout] test tree::tests::create_and_delete_nodes ... ok [INFO] [stdout] test iterators::tests::bad_path_iter ... ok [INFO] [stdout] test iterators::tests::prop_walk_existing_paths ... ok [INFO] [stdout] test snapshot::tests::prop_rountrip ... ok [INFO] [stdout] test cas::tests::prop_multi_cas_equals_individual_ops ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Doc-tests vertree [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test src/containers/set.rs - containers::set::Set::union (line 57) ... ok [INFO] [stdout] test src/containers/set.rs - containers::set::Set::intersection (line 84) ... ok [INFO] [stdout] test src/containers/set.rs - containers::set::Set::symmetric_difference (line 137) ... ok [INFO] [stdout] test src/containers/set.rs - containers::set::Set::difference (line 111) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "c0a15944b1a9b7b12974cdc8f948d8ce827fb892f7a2b584adc8100257e5e5dd"` [INFO] running `"docker" "rm" "-f" "c0a15944b1a9b7b12974cdc8f948d8ce827fb892f7a2b584adc8100257e5e5dd"` [INFO] [stdout] c0a15944b1a9b7b12974cdc8f948d8ce827fb892f7a2b584adc8100257e5e5dd