[INFO] crate rustc-serialize 0.3.24 is already in cache [INFO] extracting crate rustc-serialize 0.3.24 into work/ex/clippy-test-run/sources/stable/reg/rustc-serialize/0.3.24 [INFO] extracting crate rustc-serialize 0.3.24 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rustc-serialize/0.3.24 [INFO] validating manifest of rustc-serialize-0.3.24 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 rustc-serialize-0.3.24 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 rustc-serialize-0.3.24 [INFO] finished frobbing rustc-serialize-0.3.24 [INFO] frobbed toml for rustc-serialize-0.3.24 written to work/ex/clippy-test-run/sources/stable/reg/rustc-serialize/0.3.24/Cargo.toml [INFO] started frobbing rustc-serialize-0.3.24 [INFO] finished frobbing rustc-serialize-0.3.24 [INFO] frobbed toml for rustc-serialize-0.3.24 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rustc-serialize/0.3.24/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 rustc-serialize-0.3.24 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/rustc-serialize/0.3.24:/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] 95a93ac5edd5dd9ed10d76cf4fa2c23d2fcc2b409373c44afa98aa800e7ce856 [INFO] running `"docker" "start" "-a" "95a93ac5edd5dd9ed10d76cf4fa2c23d2fcc2b409373c44afa98aa800e7ce856"` [INFO] [stderr] Checking rustc-serialize v0.3.24 (/opt/crater/workdir) [INFO] [stderr] error: redundant field names in struct initialization [INFO] [stderr] --> src/json.rs:588:13 [INFO] [stderr] | [INFO] [stderr] 588 | writer: writer, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `writer` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:43:24 [INFO] [stderr] | [INFO] [stderr] 43 | #![cfg_attr(test, deny(warnings))] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::redundant_field_names)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] error: redundant field names in struct initialization [INFO] [stderr] --> src/json.rs:601:13 [INFO] [stderr] | [INFO] [stderr] 601 | writer: writer, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `writer` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] error: redundant field names in struct initialization [INFO] [stderr] --> src/json.rs:1434:13 [INFO] [stderr] | [INFO] [stderr] 1434 | rdr: rdr, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `rdr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/json.rs:588:13 [INFO] [stderr] | [INFO] [stderr] 588 | writer: writer, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `writer` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/json.rs:601:13 [INFO] [stderr] | [INFO] [stderr] 601 | writer: writer, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `writer` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/json.rs:1434:13 [INFO] [stderr] | [INFO] [stderr] 1434 | rdr: rdr, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `rdr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:62:37 [INFO] [stderr] | [INFO] [stderr] 62 | const PRE_ALLOCATE_CAP: usize = 0x100000; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0010_0000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/json.rs:531:17 [INFO] [stderr] | [INFO] [stderr] 531 | const BUF: &'static str = " "; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: All variants have the same prefix: `Parse` [INFO] [stderr] --> src/json.rs:1238:1 [INFO] [stderr] | [INFO] [stderr] 1238 | / enum ParserState { [INFO] [stderr] 1239 | | // Parse a value in an array, true means first element. [INFO] [stderr] 1240 | | ParseArray(bool), [INFO] [stderr] 1241 | | // Parse ',' or ']' after an element in an array. [INFO] [stderr] ... | [INFO] [stderr] 1252 | | ParseFinished, [INFO] [stderr] 1253 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::enum_variant_names)] on by default [INFO] [stderr] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:1310:9 [INFO] [stderr] | [INFO] [stderr] 1310 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:1320:9 [INFO] [stderr] | [INFO] [stderr] 1320 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:1331:9 [INFO] [stderr] | [INFO] [stderr] 1331 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:1336:9 [INFO] [stderr] | [INFO] [stderr] 1336 | / return match self.stack.last() { [INFO] [stderr] 1337 | | None => None, [INFO] [stderr] 1338 | | Some(&InternalIndex(i)) => Some(StackElement::Index(i)), [INFO] [stderr] 1339 | | Some(&InternalKey(start, size)) => { [INFO] [stderr] ... | [INFO] [stderr] 1343 | | } [INFO] [stderr] 1344 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 1336 | match self.stack.last() { [INFO] [stderr] 1337 | None => None, [INFO] [stderr] 1338 | Some(&InternalIndex(i)) => Some(StackElement::Index(i)), [INFO] [stderr] 1339 | Some(&InternalKey(start, size)) => { [INFO] [stderr] 1340 | Some(StackElement::Key(str::from_utf8( [INFO] [stderr] 1341 | &self.str_buffer[start as usize .. (start+size) as usize] [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:1376:9 [INFO] [stderr] | [INFO] [stderr] 1376 | / return match *self.stack.last().unwrap() { [INFO] [stderr] 1377 | | InternalIndex(_) => true, [INFO] [stderr] 1378 | | _ => false, [INFO] [stderr] 1379 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 1376 | match *self.stack.last().unwrap() { [INFO] [stderr] 1377 | InternalIndex(_) => true, [INFO] [stderr] 1378 | _ => false, [INFO] [stderr] 1379 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:1426:9 [INFO] [stderr] | [INFO] [stderr] 1426 | return Some(self.parse()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(self.parse())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:1442:9 [INFO] [stderr] | [INFO] [stderr] 1442 | return p; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:1448:9 [INFO] [stderr] | [INFO] [stderr] 1448 | return &self.stack; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.stack` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/json.rs:1518:16 [INFO] [stderr] | [INFO] [stderr] 1518 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 1519 | | if neg { [INFO] [stderr] 1520 | | // Make sure we don't underflow. [INFO] [stderr] 1521 | | if res > (i64::MAX as u64) + 1 { [INFO] [stderr] ... | [INFO] [stderr] 1530 | | } [INFO] [stderr] 1531 | | } [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] 1518 | } else if neg { [INFO] [stderr] 1519 | // Make sure we don't underflow. [INFO] [stderr] 1520 | if res > (i64::MAX as u64) + 1 { [INFO] [stderr] 1521 | Error(SyntaxError(InvalidNumber, self.line, self.col)) [INFO] [stderr] 1522 | } else if res == 0 { [INFO] [stderr] 1523 | I64Value(res as i64) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:1782:9 [INFO] [stderr] | [INFO] [stderr] 1782 | return val; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `val` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:1889:9 [INFO] [stderr] | [INFO] [stderr] 1889 | return val; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `val` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:1978:9 [INFO] [stderr] | [INFO] [stderr] 1978 | / return match self.token.take() { [INFO] [stderr] 1979 | | Some(NullValue) => Ok(Json::Null), [INFO] [stderr] 1980 | | Some(I64Value(n)) => Ok(Json::I64(n)), [INFO] [stderr] 1981 | | Some(U64Value(n)) => Ok(Json::U64(n)), [INFO] [stderr] ... | [INFO] [stderr] 1994 | | None => self.parser.error(EOFWhileParsingValue), [INFO] [stderr] 1995 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 1978 | match self.token.take() { [INFO] [stderr] 1979 | Some(NullValue) => Ok(Json::Null), [INFO] [stderr] 1980 | Some(I64Value(n)) => Ok(Json::I64(n)), [INFO] [stderr] 1981 | Some(U64Value(n)) => Ok(Json::U64(n)), [INFO] [stderr] 1982 | Some(F64Value(n)) => Ok(Json::F64(n)), [INFO] [stderr] 1983 | Some(BooleanValue(b)) => Ok(Json::Boolean(b)), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json.rs:2036:9 [INFO] [stderr] | [INFO] [stderr] 2036 | return self.parser.error(EOFWhileParsingObject); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.parser.error(EOFWhileParsingObject)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] error: long literal lacking separators [INFO] [stderr] --> src/lib.rs:62:37 [INFO] [stderr] | [INFO] [stderr] 62 | const PRE_ALLOCATE_CAP: usize = 0x100000; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0010_0000` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:43:24 [INFO] [stderr] | [INFO] [stderr] 43 | #![cfg_attr(test, deny(warnings))] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::unreadable_literal)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] error: unneeded unit expression [INFO] [stderr] --> src/serialize.rs:1659:57 [INFO] [stderr] | [INFO] [stderr] 1659 | fn error(&mut self, err: &str) -> Self::Error { () } [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:43:24 [INFO] [stderr] | [INFO] [stderr] 43 | #![cfg_attr(test, deny(warnings))] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::unused_unit)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] error: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/json.rs:531:17 [INFO] [stderr] | [INFO] [stderr] 531 | const BUF: &'static str = " "; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:43:24 [INFO] [stderr] | [INFO] [stderr] 43 | #![cfg_attr(test, deny(warnings))] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::const_static_lifetime)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] error: All variants have the same prefix: `Parse` [INFO] [stderr] --> src/json.rs:1238:1 [INFO] [stderr] | [INFO] [stderr] 1238 | / enum ParserState { [INFO] [stderr] 1239 | | // Parse a value in an array, true means first element. [INFO] [stderr] 1240 | | ParseArray(bool), [INFO] [stderr] 1241 | | // Parse ',' or ']' after an element in an array. [INFO] [stderr] ... | [INFO] [stderr] 1252 | | ParseFinished, [INFO] [stderr] 1253 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:43:24 [INFO] [stderr] | [INFO] [stderr] 43 | #![cfg_attr(test, deny(warnings))] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::enum_variant_names)] implied by #[deny(warnings)] [INFO] [stderr] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stderr] [INFO] [stderr] error: unneeded return statement [INFO] [stderr] --> src/json.rs:1310:9 [INFO] [stderr] | [INFO] [stderr] 1310 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:43:24 [INFO] [stderr] | [INFO] [stderr] 43 | #![cfg_attr(test, deny(warnings))] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::needless_return)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] error: unneeded return statement [INFO] [stderr] --> src/json.rs:1320:9 [INFO] [stderr] | [INFO] [stderr] 1320 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] error: unneeded return statement [INFO] [stderr] --> src/json.rs:1331:9 [INFO] [stderr] | [INFO] [stderr] 1331 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] error: unneeded return statement [INFO] [stderr] --> src/json.rs:1336:9 [INFO] [stderr] | [INFO] [stderr] 1336 | / return match self.stack.last() { [INFO] [stderr] 1337 | | None => None, [INFO] [stderr] 1338 | | Some(&InternalIndex(i)) => Some(StackElement::Index(i)), [INFO] [stderr] 1339 | | Some(&InternalKey(start, size)) => { [INFO] [stderr] ... | [INFO] [stderr] 1343 | | } [INFO] [stderr] 1344 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 1336 | match self.stack.last() { [INFO] [stderr] 1337 | None => None, [INFO] [stderr] 1338 | Some(&InternalIndex(i)) => Some(StackElement::Index(i)), [INFO] [stderr] 1339 | Some(&InternalKey(start, size)) => { [INFO] [stderr] 1340 | Some(StackElement::Key(str::from_utf8( [INFO] [stderr] 1341 | &self.str_buffer[start as usize .. (start+size) as usize] [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: unneeded return statement [INFO] [stderr] --> src/json.rs:1376:9 [INFO] [stderr] | [INFO] [stderr] 1376 | / return match *self.stack.last().unwrap() { [INFO] [stderr] 1377 | | InternalIndex(_) => true, [INFO] [stderr] 1378 | | _ => false, [INFO] [stderr] 1379 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 1376 | match *self.stack.last().unwrap() { [INFO] [stderr] 1377 | InternalIndex(_) => true, [INFO] [stderr] 1378 | _ => false, [INFO] [stderr] 1379 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: unneeded return statement [INFO] [stderr] --> src/json.rs:1426:9 [INFO] [stderr] | [INFO] [stderr] 1426 | return Some(self.parse()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(self.parse())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] error: unneeded return statement [INFO] [stderr] --> src/json.rs:1442:9 [INFO] [stderr] | [INFO] [stderr] 1442 | return p; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] error: unneeded return statement [INFO] [stderr] --> src/json.rs:1448:9 [INFO] [stderr] | [INFO] [stderr] 1448 | return &self.stack; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.stack` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] error: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/json.rs:1518:16 [INFO] [stderr] | [INFO] [stderr] 1518 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 1519 | | if neg { [INFO] [stderr] 1520 | | // Make sure we don't underflow. [INFO] [stderr] 1521 | | if res > (i64::MAX as u64) + 1 { [INFO] [stderr] ... | [INFO] [stderr] 1530 | | } [INFO] [stderr] 1531 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:43:24 [INFO] [stderr] | [INFO] [stderr] 43 | #![cfg_attr(test, deny(warnings))] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::collapsible_if)] implied by #[deny(warnings)] [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] 1518 | } else if neg { [INFO] [stderr] 1519 | // Make sure we don't underflow. [INFO] [stderr] 1520 | if res > (i64::MAX as u64) + 1 { [INFO] [stderr] 1521 | Error(SyntaxError(InvalidNumber, self.line, self.col)) [INFO] [stderr] 1522 | } else if res == 0 { [INFO] [stderr] 1523 | I64Value(res as i64) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: unneeded return statement [INFO] [stderr] --> src/json.rs:1782:9 [INFO] [stderr] | [INFO] [stderr] 1782 | return val; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `val` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] error: unneeded return statement [INFO] [stderr] --> src/json.rs:1889:9 [INFO] [stderr] | [INFO] [stderr] 1889 | return val; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `val` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] error: unneeded return statement [INFO] [stderr] --> src/json.rs:1978:9 [INFO] [stderr] | [INFO] [stderr] 1978 | / return match self.token.take() { [INFO] [stderr] 1979 | | Some(NullValue) => Ok(Json::Null), [INFO] [stderr] 1980 | | Some(I64Value(n)) => Ok(Json::I64(n)), [INFO] [stderr] 1981 | | Some(U64Value(n)) => Ok(Json::U64(n)), [INFO] [stderr] ... | [INFO] [stderr] 1994 | | None => self.parser.error(EOFWhileParsingValue), [INFO] [stderr] 1995 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 1978 | match self.token.take() { [INFO] [stderr] 1979 | Some(NullValue) => Ok(Json::Null), [INFO] [stderr] 1980 | Some(I64Value(n)) => Ok(Json::I64(n)), [INFO] [stderr] 1981 | Some(U64Value(n)) => Ok(Json::U64(n)), [INFO] [stderr] 1982 | Some(F64Value(n)) => Ok(Json::F64(n)), [INFO] [stderr] 1983 | Some(BooleanValue(b)) => Ok(Json::Boolean(b)), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: unneeded return statement [INFO] [stderr] --> src/json.rs:2036:9 [INFO] [stderr] | [INFO] [stderr] 2036 | return self.parser.error(EOFWhileParsingObject); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.parser.error(EOFWhileParsingObject)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] error: long literal lacking separators [INFO] [stderr] --> src/json.rs:2684:24 [INFO] [stderr] | [INFO] [stderr] 2684 | assert_eq!(U64(7650007200025252000).to_string(), "7650007200025252000"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `7_650_007_200_025_252_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] error: long literal lacking separators [INFO] [stderr] --> src/json.rs:2685:24 [INFO] [stderr] | [INFO] [stderr] 2685 | assert_eq!(U64(7650007200025252000).pretty().to_string(), "7650007200025252000"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `7_650_007_200_025_252_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] error: long literal lacking separators [INFO] [stderr] --> src/json.rs:2951:61 [INFO] [stderr] | [INFO] [stderr] 2951 | assert_eq!(Json::from_str("123456789.5024"), Ok(F64(123456789.5024))); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider: `123_456_789.502_4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] error: long literal lacking separators [INFO] [stderr] --> src/json.rs:2983:23 [INFO] [stderr] | [INFO] [stderr] 2983 | assert_eq!(v, 123456789.5024); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider: `123_456_789.502_4` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/serialize.rs:1250:32 [INFO] [stderr] | [INFO] [stderr] 1250 | }).map(|v| Ok(v)) [INFO] [stderr] | ^^^^^^^^^ help: remove closure as shown: `Ok` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/serialize.rs:1255:32 [INFO] [stderr] | [INFO] [stderr] 1255 | }).map(|v| Err(v)) [INFO] [stderr] | ^^^^^^^^^^ help: remove closure as shown: `Err` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::eval_order_dependence)] on by default [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:64 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:64 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:64 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:64 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:64 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:64 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:64 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:64 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:64 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:64 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] warning: unsequenced read of a variable [INFO] [stderr] --> src/serialize.rs:1295:64 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/serialize.rs:1295:58 [INFO] [stderr] | [INFO] [stderr] 1295 | let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 1320 | tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } [INFO] [stderr] | ------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] error: aborting due to 24 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rustc-serialize`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: this range is empty so this for loop will never run [INFO] [stderr] --> src/serialize.rs:1342:30 [INFO] [stderr] | [INFO] [stderr] 1342 | for i in 0..$len { [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 1353 | / array! { [INFO] [stderr] 1354 | | 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, [INFO] [stderr] 1355 | | 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, [INFO] [stderr] 1356 | | } [INFO] [stderr] | |_- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::reverse_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#reverse_range_loop [INFO] [stderr] [INFO] [stderr] warning: impl for `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/collection_impls.rs:129:26 [INFO] [stderr] | [INFO] [stderr] 129 | impl Encodable for HashMap [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::implicit_hasher)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 129 | impl Encodable for HashMap [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: impl for `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/collection_impls.rs:146:26 [INFO] [stderr] | [INFO] [stderr] 146 | impl Decodable for HashMap [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 146 | impl Decodable for HashMap [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: ...and use generic constructor [INFO] [stderr] | [INFO] [stderr] 152 | let mut map = HashMap::with_capacity_and_hasher(cap_capacity::<(K, V)>(len), Default::default()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: impl for `HashSet` should be generalized over different hashers [INFO] [stderr] --> src/collection_impls.rs:163:23 [INFO] [stderr] | [INFO] [stderr] 163 | impl Encodable for HashSet where T: Encodable + Hash + Eq { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 163 | impl Encodable for HashSet where T: Encodable + Hash + Eq { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: impl for `HashSet` should be generalized over different hashers [INFO] [stderr] --> src/collection_impls.rs:176:23 [INFO] [stderr] | [INFO] [stderr] 176 | impl Decodable for HashSet where T: Decodable + Hash + Eq, { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 176 | impl Decodable for HashSet where T: Decodable + Hash + Eq, { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] help: ...and use generic constructor [INFO] [stderr] | [INFO] [stderr] 179 | let mut set = HashSet::with_capacity_and_hasher(cap_capacity::(len), Default::default()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/base64.rs:124:66 [INFO] [stderr] | [INFO] [stderr] 124 | let mut s_in = self[..len - mod_len].iter().map(|&x| x as u32); [INFO] [stderr] | ^^^^^^^^ help: try: `u32::from(x)` [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: the operation is ineffective. Consider reducing it to `n` [INFO] [stderr] --> src/base64.rs:149:27 [INFO] [stderr] | [INFO] [stderr] 149 | write(enc((n >> 0 ) & 63)); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/base64.rs:168:29 [INFO] [stderr] | [INFO] [stderr] 168 | let n = (self[len-1] as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self[len-1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/base64.rs:173:29 [INFO] [stderr] | [INFO] [stderr] 173 | let n = (self[len-2] as u32) << 16 | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self[len-2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/base64.rs:174:29 [INFO] [stderr] | [INFO] [stderr] 174 | (self[len-1] as u32) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self[len-1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/base64.rs:292:26 [INFO] [stderr] | [INFO] [stderr] 292 | buf = (buf | code as u32) << 6; [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(code)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/json.rs:423:20 [INFO] [stderr] | [INFO] [stderr] 423 | ParseError(From::from(err)) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider removing `From::from()`: `err` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/json.rs:551:27 [INFO] [stderr] | [INFO] [stderr] 551 | if s.contains(".") {s} else {s + ".0"} [INFO] [stderr] | ^^^ help: try using a char instead: `'.'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/json.rs:657:23 [INFO] [stderr] | [INFO] [stderr] 657 | self.emit_f64(v as f64) [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(v)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/json.rs:974:5 [INFO] [stderr] | [INFO] [stderr] 974 | / pub fn from_str(s: &str) -> Result { [INFO] [stderr] 975 | | let mut builder = Builder::new(s.chars()); [INFO] [stderr] 976 | | builder.build() [INFO] [stderr] 977 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/json.rs:988:9 [INFO] [stderr] | [INFO] [stderr] 988 | / match self { [INFO] [stderr] 989 | | &Json::Object(ref map) => map.get(key), [INFO] [stderr] 990 | | _ => None [INFO] [stderr] 991 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 988 | match *self { [INFO] [stderr] 989 | Json::Object(ref map) => map.get(key), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/json.rs:1012:9 [INFO] [stderr] | [INFO] [stderr] 1012 | / match self { [INFO] [stderr] 1013 | | &Json::Object(ref map) => { [INFO] [stderr] 1014 | | match map.get(key) { [INFO] [stderr] 1015 | | Some(json_value) => Some(json_value), [INFO] [stderr] ... | [INFO] [stderr] 1027 | | _ => None [INFO] [stderr] 1028 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 1012 | match *self { [INFO] [stderr] 1013 | Json::Object(ref map) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/json.rs:1032:5 [INFO] [stderr] | [INFO] [stderr] 1032 | / pub fn is_object<'a>(&'a self) -> bool { [INFO] [stderr] 1033 | | self.as_object().is_some() [INFO] [stderr] 1034 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/json.rs:1038:5 [INFO] [stderr] | [INFO] [stderr] 1038 | / pub fn as_object<'a>(&'a self) -> Option<&'a Object> { [INFO] [stderr] 1039 | | match self { [INFO] [stderr] 1040 | | &Json::Object(ref map) => Some(map), [INFO] [stderr] 1041 | | _ => None [INFO] [stderr] 1042 | | } [INFO] [stderr] 1043 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/json.rs:1039:9 [INFO] [stderr] | [INFO] [stderr] 1039 | / match self { [INFO] [stderr] 1040 | | &Json::Object(ref map) => Some(map), [INFO] [stderr] 1041 | | _ => None [INFO] [stderr] 1042 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 1039 | match *self { [INFO] [stderr] 1040 | Json::Object(ref map) => Some(map), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/json.rs:1047:5 [INFO] [stderr] | [INFO] [stderr] 1047 | / pub fn as_object_mut<'a>(&'a mut self) -> Option<&'a mut Object> { [INFO] [stderr] 1048 | | match self { [INFO] [stderr] 1049 | | &mut Json::Object(ref mut map) => Some(map), [INFO] [stderr] 1050 | | _ => None [INFO] [stderr] 1051 | | } [INFO] [stderr] 1052 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/json.rs:1048:9 [INFO] [stderr] | [INFO] [stderr] 1048 | / match self { [INFO] [stderr] 1049 | | &mut Json::Object(ref mut map) => Some(map), [INFO] [stderr] 1050 | | _ => None [INFO] [stderr] 1051 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 1048 | match *self { [INFO] [stderr] 1049 | Json::Object(ref mut map) => Some(map), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/json.rs:1064:5 [INFO] [stderr] | [INFO] [stderr] 1064 | / pub fn is_array<'a>(&'a self) -> bool { [INFO] [stderr] 1065 | | self.as_array().is_some() [INFO] [stderr] 1066 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/json.rs:1070:5 [INFO] [stderr] | [INFO] [stderr] 1070 | / pub fn as_array<'a>(&'a self) -> Option<&'a Array> { [INFO] [stderr] 1071 | | match self { [INFO] [stderr] 1072 | | &Json::Array(ref array) => Some(&*array), [INFO] [stderr] 1073 | | _ => None [INFO] [stderr] 1074 | | } [INFO] [stderr] 1075 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/json.rs:1071:9 [INFO] [stderr] | [INFO] [stderr] 1071 | / match self { [INFO] [stderr] 1072 | | &Json::Array(ref array) => Some(&*array), [INFO] [stderr] 1073 | | _ => None [INFO] [stderr] 1074 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 1071 | match *self { [INFO] [stderr] 1072 | Json::Array(ref array) => Some(&*array), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/json.rs:1079:5 [INFO] [stderr] | [INFO] [stderr] 1079 | / pub fn as_array_mut<'a>(&'a mut self) -> Option<&'a mut Array> { [INFO] [stderr] 1080 | | match self { [INFO] [stderr] 1081 | | &mut Json::Array(ref mut list) => Some(list), [INFO] [stderr] 1082 | | _ => None [INFO] [stderr] 1083 | | } [INFO] [stderr] 1084 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/json.rs:1080:9 [INFO] [stderr] | [INFO] [stderr] 1080 | / match self { [INFO] [stderr] 1081 | | &mut Json::Array(ref mut list) => Some(list), [INFO] [stderr] 1082 | | _ => None [INFO] [stderr] 1083 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 1080 | match *self { [INFO] [stderr] 1081 | Json::Array(ref mut list) => Some(list), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/json.rs:1096:5 [INFO] [stderr] | [INFO] [stderr] 1096 | / pub fn is_string<'a>(&'a self) -> bool { [INFO] [stderr] 1097 | | self.as_string().is_some() [INFO] [stderr] 1098 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/json.rs:1102:5 [INFO] [stderr] | [INFO] [stderr] 1102 | / pub fn as_string<'a>(&'a self) -> Option<&'a str> { [INFO] [stderr] 1103 | | match *self { [INFO] [stderr] 1104 | | Json::String(ref s) => Some(&s), [INFO] [stderr] 1105 | | _ => None [INFO] [stderr] 1106 | | } [INFO] [stderr] 1107 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/json.rs:1181:9 [INFO] [stderr] | [INFO] [stderr] 1181 | / match self { [INFO] [stderr] 1182 | | &Json::Boolean(b) => Some(b), [INFO] [stderr] 1183 | | _ => None [INFO] [stderr] 1184 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 1181 | match *self { [INFO] [stderr] 1182 | Json::Boolean(b) => Some(b), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/json.rs:1195:9 [INFO] [stderr] | [INFO] [stderr] 1195 | / match self { [INFO] [stderr] 1196 | | &Json::Null => Some(()), [INFO] [stderr] 1197 | | _ => None [INFO] [stderr] 1198 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 1195 | match *self { [INFO] [stderr] 1196 | Json::Null => Some(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/json.rs:1213:5 [INFO] [stderr] | [INFO] [stderr] 1213 | / fn index<'a>(&'a self, idx: usize) -> &'a Json { [INFO] [stderr] 1214 | | match self { [INFO] [stderr] 1215 | | &Json::Array(ref v) => &v[idx], [INFO] [stderr] 1216 | | _ => panic!("can only index Json with usize if it is an array") [INFO] [stderr] 1217 | | } [INFO] [stderr] 1218 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/json.rs:1214:9 [INFO] [stderr] | [INFO] [stderr] 1214 | / match self { [INFO] [stderr] 1215 | | &Json::Array(ref v) => &v[idx], [INFO] [stderr] 1216 | | _ => panic!("can only index Json with usize if it is an array") [INFO] [stderr] 1217 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 1214 | match *self { [INFO] [stderr] 1215 | Json::Array(ref v) => &v[idx], [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `json::Stack` [INFO] [stderr] --> src/json.rs:1281:5 [INFO] [stderr] | [INFO] [stderr] 1281 | / pub fn new() -> Stack { [INFO] [stderr] 1282 | | Stack { stack: Vec::new(), str_buffer: Vec::new() } [INFO] [stderr] 1283 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 1258 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/json.rs:1294:5 [INFO] [stderr] | [INFO] [stderr] 1294 | / pub fn get<'l>(&'l self, idx: usize) -> StackElement<'l> { [INFO] [stderr] 1295 | | match self.stack[idx] { [INFO] [stderr] 1296 | | InternalIndex(i) => StackElement::Index(i), [INFO] [stderr] 1297 | | InternalKey(start, size) => { [INFO] [stderr] ... | [INFO] [stderr] 1301 | | } [INFO] [stderr] 1302 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `rhs` [INFO] [stderr] --> src/json.rs:1307:18 [INFO] [stderr] | [INFO] [stderr] 1307 | for i in 0..rhs.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 1307 | for (i, ) in rhs.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `rhs` [INFO] [stderr] --> src/json.rs:1317:18 [INFO] [stderr] | [INFO] [stderr] 1317 | for i in 0..rhs.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 1317 | for (i, ) in rhs.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `rhs` [INFO] [stderr] --> src/json.rs:1328:18 [INFO] [stderr] | [INFO] [stderr] 1328 | for i in 0..rhs.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 1328 | for (i, ) in rhs.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/json.rs:1335:5 [INFO] [stderr] | [INFO] [stderr] 1335 | / pub fn top<'l>(&'l self) -> Option> { [INFO] [stderr] 1336 | | return match self.stack.last() { [INFO] [stderr] 1337 | | None => None, [INFO] [stderr] 1338 | | Some(&InternalIndex(i)) => Some(StackElement::Index(i)), [INFO] [stderr] ... | [INFO] [stderr] 1344 | | } [INFO] [stderr] 1345 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/json.rs:1447:5 [INFO] [stderr] | [INFO] [stderr] 1447 | / pub fn stack<'l>(&'l self) -> &'l Stack { [INFO] [stderr] 1448 | | return &self.stack; [INFO] [stderr] 1449 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/json.rs:1484:9 [INFO] [stderr] | [INFO] [stderr] 1484 | / let mut neg = false; [INFO] [stderr] 1485 | | [INFO] [stderr] 1486 | | if self.ch_is('-') { [INFO] [stderr] 1487 | | self.bump(); [INFO] [stderr] 1488 | | neg = true; [INFO] [stderr] 1489 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let neg = if self.ch_is('-') { ..; true } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/json.rs:1542:17 [INFO] [stderr] | [INFO] [stderr] 1542 | / match self.ch_or_null() { [INFO] [stderr] 1543 | | '0' ... '9' => return self.error(InvalidNumber), [INFO] [stderr] 1544 | | _ => () [INFO] [stderr] 1545 | | } [INFO] [stderr] | |_________________^ help: try this: `if let '0' ... '9' = self.ch_or_null() { return self.error(InvalidNumber) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/json.rs:1696:38 [INFO] [stderr] | [INFO] [stderr] 1696 | let c = (((n1 - 0xD800) as u32) << 10 | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(n1 - 0xD800)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/json.rs:1697:38 [INFO] [stderr] | [INFO] [stderr] 1697 | (n2 - 0xDC00) as u32) + 0x1_0000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(n2 - 0xDC00)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/json.rs:1701:51 [INFO] [stderr] | [INFO] [stderr] 1701 | n => match char::from_u32(n as u32) { [INFO] [stderr] | ^^^^^^^^ help: try: `u32::from(n)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/json.rs:1750:21 [INFO] [stderr] | [INFO] [stderr] 1750 | / match self.parse_array_comma_or_end() { [INFO] [stderr] 1751 | | Some(evt) => { return evt; } [INFO] [stderr] 1752 | | None => {} [INFO] [stderr] 1753 | | } [INFO] [stderr] | |_____________________^ help: try this: `if let Some(evt) = self.parse_array_comma_or_end() { return evt; }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/json.rs:2087:29 [INFO] [stderr] | [INFO] [stderr] 2087 | if i == other as i64 && (other > 0) == (i > 0) { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(other)` [INFO] [stderr] ... [INFO] [stderr] 2126 | read_primitive! { read_u8, u8 } [INFO] [stderr] | ------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/json.rs:2095:29 [INFO] [stderr] | [INFO] [stderr] 2095 | if u == other as u64 && other >= 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(other)` [INFO] [stderr] ... [INFO] [stderr] 2126 | read_primitive! { read_u8, u8 } [INFO] [stderr] | ------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/json.rs:2087:29 [INFO] [stderr] | [INFO] [stderr] 2087 | if i == other as i64 && (other > 0) == (i > 0) { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(other)` [INFO] [stderr] ... [INFO] [stderr] 2127 | read_primitive! { read_u16, u16 } [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/json.rs:2095:29 [INFO] [stderr] | [INFO] [stderr] 2095 | if u == other as u64 && other >= 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(other)` [INFO] [stderr] ... [INFO] [stderr] 2127 | read_primitive! { read_u16, u16 } [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/json.rs:2087:29 [INFO] [stderr] | [INFO] [stderr] 2087 | if i == other as i64 && (other > 0) == (i > 0) { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(other)` [INFO] [stderr] ... [INFO] [stderr] 2128 | read_primitive! { read_u32, u32 } [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/json.rs:2095:29 [INFO] [stderr] | [INFO] [stderr] 2095 | if u == other as u64 && other >= 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(other)` [INFO] [stderr] ... [INFO] [stderr] 2128 | read_primitive! { read_u32, u32 } [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/json.rs:2087:29 [INFO] [stderr] | [INFO] [stderr] 2087 | if i == other as i64 && (other > 0) == (i > 0) { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(other)` [INFO] [stderr] ... [INFO] [stderr] 2131 | read_primitive! { read_i8, i8 } [INFO] [stderr] | ------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/json.rs:2087:29 [INFO] [stderr] | [INFO] [stderr] 2087 | if i == other as i64 && (other > 0) == (i > 0) { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(other)` [INFO] [stderr] ... [INFO] [stderr] 2132 | read_primitive! { read_i16, i16 } [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/json.rs:2087:29 [INFO] [stderr] | [INFO] [stderr] 2087 | if i == other as i64 && (other > 0) == (i > 0) { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(other)` [INFO] [stderr] ... [INFO] [stderr] 2133 | read_primitive! { read_i32, i32 } [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/json.rs:2166:13 [INFO] [stderr] | [INFO] [stderr] 2166 | / match (it.next(), it.next()) { [INFO] [stderr] 2167 | | // exactly one character [INFO] [stderr] 2168 | | (Some(c), None) => return Ok(c), [INFO] [stderr] 2169 | | _ => () [INFO] [stderr] 2170 | | } [INFO] [stderr] | |_____________^ help: try this: `if let (Some(c), None) = (it.next(), it.next()) { return Ok(c) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/json.rs:2172:66 [INFO] [stderr] | [INFO] [stderr] 2172 | Err(ExpectedError("single character string".to_string(), format!("{}", s))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider using .to_string(): `s.to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: casting i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/json.rs:2387:51 [INFO] [stderr] | [INFO] [stderr] 2387 | fn to_json(&self) -> Json { Json::I64(*self as i64) } [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(*self)` [INFO] [stderr] ... [INFO] [stderr] 2392 | to_json_impl_i64! { isize, i8, i16, i32, i64 } [INFO] [stderr] | ---------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/json.rs:2387:51 [INFO] [stderr] | [INFO] [stderr] 2387 | fn to_json(&self) -> Json { Json::I64(*self as i64) } [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(*self)` [INFO] [stderr] ... [INFO] [stderr] 2392 | to_json_impl_i64! { isize, i8, i16, i32, i64 } [INFO] [stderr] | ---------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/json.rs:2387:51 [INFO] [stderr] | [INFO] [stderr] 2387 | fn to_json(&self) -> Json { Json::I64(*self as i64) } [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(*self)` [INFO] [stderr] ... [INFO] [stderr] 2392 | to_json_impl_i64! { isize, i8, i16, i32, i64 } [INFO] [stderr] | ---------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/json.rs:2397:51 [INFO] [stderr] | [INFO] [stderr] 2397 | fn to_json(&self) -> Json { Json::U64(*self as u64) } [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(*self)` [INFO] [stderr] ... [INFO] [stderr] 2402 | to_json_impl_u64! { usize, u8, u16, u32, u64 } [INFO] [stderr] | ---------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/json.rs:2397:51 [INFO] [stderr] | [INFO] [stderr] 2397 | fn to_json(&self) -> Json { Json::U64(*self as u64) } [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(*self)` [INFO] [stderr] ... [INFO] [stderr] 2402 | to_json_impl_u64! { usize, u8, u16, u32, u64 } [INFO] [stderr] | ---------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/json.rs:2397:51 [INFO] [stderr] | [INFO] [stderr] 2397 | fn to_json(&self) -> Json { Json::U64(*self as u64) } [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(*self)` [INFO] [stderr] ... [INFO] [stderr] 2402 | to_json_impl_u64! { usize, u8, u16, u32, u64 } [INFO] [stderr] | ---------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/json.rs:2409:33 [INFO] [stderr] | [INFO] [stderr] 2409 | fn to_json(&self) -> Json { (*self as f64).to_json() } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f64::from(*self)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: impl for `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/json.rs:2489:28 [INFO] [stderr] | [INFO] [stderr] 2489 | impl ToJson for HashMap { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 2489 | impl ToJson for HashMap { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `rustc-serialize`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "95a93ac5edd5dd9ed10d76cf4fa2c23d2fcc2b409373c44afa98aa800e7ce856"` [INFO] running `"docker" "rm" "-f" "95a93ac5edd5dd9ed10d76cf4fa2c23d2fcc2b409373c44afa98aa800e7ce856"` [INFO] [stdout] 95a93ac5edd5dd9ed10d76cf4fa2c23d2fcc2b409373c44afa98aa800e7ce856