[INFO] crate xml_writer 0.4.0 is already in cache [INFO] extracting crate xml_writer 0.4.0 into work/ex/clippy-test-run/sources/stable/reg/xml_writer/0.4.0 [INFO] extracting crate xml_writer 0.4.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/xml_writer/0.4.0 [INFO] validating manifest of xml_writer-0.4.0 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 xml_writer-0.4.0 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 xml_writer-0.4.0 [INFO] finished frobbing xml_writer-0.4.0 [INFO] frobbed toml for xml_writer-0.4.0 written to work/ex/clippy-test-run/sources/stable/reg/xml_writer/0.4.0/Cargo.toml [INFO] started frobbing xml_writer-0.4.0 [INFO] finished frobbing xml_writer-0.4.0 [INFO] frobbed toml for xml_writer-0.4.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/xml_writer/0.4.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [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 xml_writer-0.4.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/xml_writer/0.4.0:/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] bf125bd58b49ab9775b36d49523ab800faee363ca0e1ffe69a050668ccbcf306 [INFO] running `"docker" "start" "-a" "bf125bd58b49ab9775b36d49523ab800faee363ca0e1ffe69a050668ccbcf306"` [INFO] [stderr] Checking xml_writer v0.4.0 (/opt/crater/workdir) [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/xml_writer.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | / if self.pretty { [INFO] [stderr] 39 | | if self.stack.len() > 0 { [INFO] [stderr] 40 | | try!(self.write("\n")); [INFO] [stderr] 41 | | let indent = self.stack.len() * 2; [INFO] [stderr] 42 | | for _ in 0..indent { try!(self.write(" ")); }; [INFO] [stderr] 43 | | } [INFO] [stderr] 44 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 38 | if self.pretty && self.stack.len() > 0 { [INFO] [stderr] 39 | try!(self.write("\n")); [INFO] [stderr] 40 | let indent = self.stack.len() * 2; [INFO] [stderr] 41 | for _ in 0..indent { try!(self.write(" ")); }; [INFO] [stderr] 42 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/xml_writer.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | / if self.pretty { [INFO] [stderr] 39 | | if self.stack.len() > 0 { [INFO] [stderr] 40 | | try!(self.write("\n")); [INFO] [stderr] 41 | | let indent = self.stack.len() * 2; [INFO] [stderr] 42 | | for _ in 0..indent { try!(self.write(" ")); }; [INFO] [stderr] 43 | | } [INFO] [stderr] 44 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 38 | if self.pretty && self.stack.len() > 0 { [INFO] [stderr] 39 | try!(self.write("\n")); [INFO] [stderr] 40 | let indent = self.stack.len() * 2; [INFO] [stderr] 41 | for _ in 0..indent { try!(self.write(" ")); }; [INFO] [stderr] 42 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/xml_writer.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | Ok(try!(write!(f, "XmlWriter {{ stack: {:?}, opened: {} }}", self.stack, self.opened))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [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: length comparison to zero [INFO] [stderr] --> src/xml_writer.rs:39:16 [INFO] [stderr] | [INFO] [stderr] 39 | if self.stack.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.stack.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/xml_writer.rs:59:39 [INFO] [stderr] | [INFO] [stderr] 59 | pub fn ns_decl(&mut self, ns_map: &Vec<(Option<&'a str>, &'a str)>) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(Option<&'a str>, &'a str)]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/xml_writer.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | Ok(try!(write!(f, "XmlWriter {{ stack: {:?}, opened: {} }}", self.stack, self.opened))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [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] error: this `if` has identical blocks [INFO] [stderr] --> src/xml_writer.rs:125:20 [INFO] [stderr] | [INFO] [stderr] 125 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 126 | | try!(self.write(">")); [INFO] [stderr] 127 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/xml_writer.rs:123:28 [INFO] [stderr] | [INFO] [stderr] 123 | if self.pretty { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 124 | | try!(self.write(">")); [INFO] [stderr] 125 | | } else { [INFO] [stderr] | |_____________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/xml_writer.rs:39:16 [INFO] [stderr] | [INFO] [stderr] 39 | if self.stack.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.stack.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/xml_writer.rs:136:38 [INFO] [stderr] | [INFO] [stderr] 136 | let ns = self.ns_stack.pop().expect(&format!("Attempted to close namespaced element without corresponding open namespace, stack {:?}", self.ns_stack)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| panic!("Attempted to close namespaced element without corresponding open namespace, stack {:?}", self.ns_stack))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/xml_writer.rs:144:24 [INFO] [stderr] | [INFO] [stderr] 144 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 145 | | try!(self.write(">")); [INFO] [stderr] 146 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/xml_writer.rs:59:39 [INFO] [stderr] | [INFO] [stderr] 59 | pub fn ns_decl(&mut self, ns_map: &Vec<(Option<&'a str>, &'a str)>) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(Option<&'a str>, &'a str)]` [INFO] [stderr] note: same as this [INFO] [stderr] --> src/xml_writer.rs:142:32 [INFO] [stderr] | [INFO] [stderr] 142 | if self.pretty { [INFO] [stderr] | ________________________________^ [INFO] [stderr] 143 | | try!(self.write(">")); [INFO] [stderr] 144 | | } else { [INFO] [stderr] | |_________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/xml_writer.rs:125:20 [INFO] [stderr] | [INFO] [stderr] 125 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 126 | | try!(self.write(">")); [INFO] [stderr] 127 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/xml_writer.rs:123:28 [INFO] [stderr] | [INFO] [stderr] 123 | if self.pretty { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 124 | | try!(self.write(">")); [INFO] [stderr] 125 | | } else { [INFO] [stderr] | |_____________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/xml_writer.rs:218:9 [INFO] [stderr] | [INFO] [stderr] 218 | try!(self.writer.write(text.as_bytes())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [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: use of `expect` followed by a function call [INFO] [stderr] --> src/xml_writer.rs:136:38 [INFO] [stderr] | [INFO] [stderr] 136 | let ns = self.ns_stack.pop().expect(&format!("Attempted to close namespaced element without corresponding open namespace, stack {:?}", self.ns_stack)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| panic!("Attempted to close namespaced element without corresponding open namespace, stack {:?}", self.ns_stack))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/xml_writer.rs:224:9 [INFO] [stderr] | [INFO] [stderr] 224 | try!(self.writer.write(slice)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/xml_writer.rs:144:24 [INFO] [stderr] | [INFO] [stderr] 144 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 145 | | try!(self.write(">")); [INFO] [stderr] 146 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/xml_writer.rs:142:32 [INFO] [stderr] | [INFO] [stderr] 142 | if self.pretty { [INFO] [stderr] | ________________________________^ [INFO] [stderr] 143 | | try!(self.write(">")); [INFO] [stderr] 144 | | } else { [INFO] [stderr] | |_________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [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] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/xml_writer.rs:218:9 [INFO] [stderr] | [INFO] [stderr] 218 | try!(self.writer.write(text.as_bytes())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/xml_writer.rs:224:9 [INFO] [stderr] | [INFO] [stderr] 224 | try!(self.writer.write(slice)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [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] error: Could not compile `xml_writer`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `xml_writer`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "bf125bd58b49ab9775b36d49523ab800faee363ca0e1ffe69a050668ccbcf306"` [INFO] running `"docker" "rm" "-f" "bf125bd58b49ab9775b36d49523ab800faee363ca0e1ffe69a050668ccbcf306"` [INFO] [stdout] bf125bd58b49ab9775b36d49523ab800faee363ca0e1ffe69a050668ccbcf306