[INFO] crate vertree 0.2.2 is already in cache [INFO] extracting crate vertree 0.2.2 into work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/reg/vertree/0.2.2 [INFO] extracting crate vertree 0.2.2 into work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/reg/vertree/0.2.2 [INFO] validating manifest of vertree-0.2.2 on toolchain master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7 [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of vertree-0.2.2 on toolchain try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b-alt" "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/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/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/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/reg/vertree/0.2.2/Cargo.toml [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking vertree-0.2.2 against master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7 for pr-59199 [INFO] running `"docker" "create" "-v" "/mnt/crater-raid/crater/work/local/target-dirs/pr-59199/worker-6/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7:/opt/crater/target:rw,Z" "-v" "/mnt/crater-raid/crater/work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/reg/vertree/0.2.2:/opt/crater/workdir:ro,Z" "-v" "/mnt/crater-raid/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/crater-raid/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" "+bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 768c0fe8741f43da6fb022c8754cba1890a786587e010a0faf4e507c4414ad1e [INFO] running `"docker" "start" "-a" "768c0fe8741f43da6fb022c8754cba1890a786587e010a0faf4e507c4414ad1e"` [INFO] [stderr] Checking assert_matches v1.3.0 [INFO] [stderr] Checking rmp-serde v0.13.7 [INFO] [stderr] Checking quickcheck v0.4.1 [INFO] [stderr] Checking 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: 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] | ^^^^^^^^^^^^^^^^^^ [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 error 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] 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] | ^^^^^^^^^^^^^^^^^^ [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] | ^^^^^^^^^^^^^^^^^^ [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 error 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 3.82s [INFO] running `"docker" "inspect" "768c0fe8741f43da6fb022c8754cba1890a786587e010a0faf4e507c4414ad1e"` [INFO] running `"docker" "rm" "-f" "768c0fe8741f43da6fb022c8754cba1890a786587e010a0faf4e507c4414ad1e"` [INFO] [stdout] 768c0fe8741f43da6fb022c8754cba1890a786587e010a0faf4e507c4414ad1e