[INFO] updating cached repository dbaynard/booklet [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/dbaynard/booklet [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/dbaynard/booklet" "work/ex/clippy-test-run/sources/stable/gh/dbaynard/booklet"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/dbaynard/booklet'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/dbaynard/booklet" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/dbaynard/booklet"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/dbaynard/booklet'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 55f80743097120c3c2c53655bcb486eda9814d36 [INFO] sha for GitHub repo dbaynard/booklet: 55f80743097120c3c2c53655bcb486eda9814d36 [INFO] validating manifest of dbaynard/booklet on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of dbaynard/booklet on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing dbaynard/booklet [INFO] finished frobbing dbaynard/booklet [INFO] frobbed toml for dbaynard/booklet written to work/ex/clippy-test-run/sources/stable/gh/dbaynard/booklet/Cargo.toml [INFO] started frobbing dbaynard/booklet [INFO] finished frobbing dbaynard/booklet [INFO] frobbed toml for dbaynard/booklet written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/dbaynard/booklet/Cargo.toml [INFO] crate dbaynard/booklet has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting dbaynard/booklet against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/dbaynard/booklet:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] b79b9c611c8799ffdd1589d68f9feaa771633209ebdef9e5939ee400f26e6304 [INFO] running `"docker" "start" "-a" "b79b9c611c8799ffdd1589d68f9feaa771633209ebdef9e5939ee400f26e6304"` [INFO] [stderr] Compiling quote v0.1.4 [INFO] [stderr] Checking env_logger v0.4.3 [INFO] [stderr] Checking chrono v0.3.0 [INFO] [stderr] Compiling syn v0.7.1 [INFO] [stderr] Checking quickcheck v0.5.0 [INFO] [stderr] Checking lopdf v0.14.1 [INFO] [stderr] Compiling num-derive v0.1.41 [INFO] [stderr] Checking booklet v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/rearrange.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | /// Load the input pdf [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_doc_comments)] on by default [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/rearrange.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | /// Calculate page numbers and properties [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/rearrange.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | /// Rearrange the pages [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/rearrange.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | /// Write the output pdf [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/rearrange.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | /// Return a vector, rather than an iterator, to allow subsequent mutation of the document. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/rearrange.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | /// TODO it should be possible to pass the ‘Pages’ reference to get_object_mut directly [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/calculate.rs:253:20 [INFO] [stderr] | [INFO] [stderr] 253 | assert_eq!(09, test_ps.next_page_no(12)); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_prefixed_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 253 | assert_eq!(9, test_ps.next_page_no(12)); [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 253 | assert_eq!(0o9, test_ps.next_page_no(12)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/calculate.rs:254:20 [INFO] [stderr] | [INFO] [stderr] 254 | assert_eq!(08, test_ps.next_page_no(09)); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 254 | assert_eq!(8, test_ps.next_page_no(09)); [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 254 | assert_eq!(0o8, test_ps.next_page_no(09)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/calculate.rs:254:45 [INFO] [stderr] | [INFO] [stderr] 254 | assert_eq!(08, test_ps.next_page_no(09)); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 254 | assert_eq!(08, test_ps.next_page_no(9)); [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 254 | assert_eq!(08, test_ps.next_page_no(0o9)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/calculate.rs:255:45 [INFO] [stderr] | [INFO] [stderr] 255 | assert_eq!(13, test_ps.next_page_no(08)); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 255 | assert_eq!(13, test_ps.next_page_no(8)); [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 255 | assert_eq!(13, test_ps.next_page_no(0o8)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/rearrange.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | /// Load the input pdf [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_doc_comments)] on by default [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/rearrange.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | /// Calculate page numbers and properties [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/rearrange.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | /// Rearrange the pages [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/rearrange.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | /// Write the output pdf [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/rearrange.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | /// Return a vector, rather than an iterator, to allow subsequent mutation of the document. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/rearrange.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | /// TODO it should be possible to pass the ‘Pages’ reference to get_object_mut directly [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/rearrange.rs:42:10 [INFO] [stderr] | [INFO] [stderr] 42 | .ok_or(nonzero_error())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(nonzero_error)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/rearrange.rs:74:21 [INFO] [stderr] | [INFO] [stderr] 74 | let new_count = pp.new_pages() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(pp.new_pages())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/rearrange.rs:108:10 [INFO] [stderr] | [INFO] [stderr] 108 | .ok_or(invalid("Can't find Pages reference"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| invalid("Can't find Pages reference"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/rearrange.rs:112:10 [INFO] [stderr] | [INFO] [stderr] 112 | .ok_or(invalid("Can't find Pages dictionary")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| invalid("Can't find Pages dictionary"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/rearrange.rs:142:13 [INFO] [stderr] | [INFO] [stderr] 142 | / in_pages.get(&p) [INFO] [stderr] 143 | | .map(|x| *x) [INFO] [stderr] | |____________________________^ help: Consider calling the dedicated `cloned` method: `in_pages.get(&p).cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/rearrange.rs:42:10 [INFO] [stderr] | [INFO] [stderr] 42 | .ok_or(nonzero_error())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(nonzero_error)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/rearrange.rs:74:21 [INFO] [stderr] | [INFO] [stderr] 74 | let new_count = pp.new_pages() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(pp.new_pages())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/rearrange.rs:108:10 [INFO] [stderr] | [INFO] [stderr] 108 | .ok_or(invalid("Can't find Pages reference"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| invalid("Can't find Pages reference"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/rearrange.rs:112:10 [INFO] [stderr] | [INFO] [stderr] 112 | .ok_or(invalid("Can't find Pages dictionary")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| invalid("Can't find Pages dictionary"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/rearrange.rs:142:13 [INFO] [stderr] | [INFO] [stderr] 142 | / in_pages.get(&p) [INFO] [stderr] 143 | | .map(|x| *x) [INFO] [stderr] | |____________________________^ help: Consider calling the dedicated `cloned` method: `in_pages.get(&p).cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 14.56s [INFO] running `"docker" "inspect" "b79b9c611c8799ffdd1589d68f9feaa771633209ebdef9e5939ee400f26e6304"` [INFO] running `"docker" "rm" "-f" "b79b9c611c8799ffdd1589d68f9feaa771633209ebdef9e5939ee400f26e6304"` [INFO] [stdout] b79b9c611c8799ffdd1589d68f9feaa771633209ebdef9e5939ee400f26e6304