[INFO] updating cached repository wmww/rust_json_parser [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/wmww/rust_json_parser [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/wmww/rust_json_parser" "work/ex/clippy-test-run/sources/stable/gh/wmww/rust_json_parser"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/wmww/rust_json_parser'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/wmww/rust_json_parser" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/wmww/rust_json_parser"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/wmww/rust_json_parser'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] c892f3345f10abd9dd9426e42976cead9ef96fe5 [INFO] sha for GitHub repo wmww/rust_json_parser: c892f3345f10abd9dd9426e42976cead9ef96fe5 [INFO] validating manifest of wmww/rust_json_parser 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 wmww/rust_json_parser 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 wmww/rust_json_parser [INFO] finished frobbing wmww/rust_json_parser [INFO] frobbed toml for wmww/rust_json_parser written to work/ex/clippy-test-run/sources/stable/gh/wmww/rust_json_parser/Cargo.toml [INFO] started frobbing wmww/rust_json_parser [INFO] finished frobbing wmww/rust_json_parser [INFO] frobbed toml for wmww/rust_json_parser written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/wmww/rust_json_parser/Cargo.toml [INFO] crate wmww/rust_json_parser has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting wmww/rust_json_parser against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/wmww/rust_json_parser:/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 -Dclippy::into_iter_on_array" "-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] ad5f23e12b4dcf2656632ff334e0b07da6b12f0284ed77088411d803fb1faac3 [INFO] running `"docker" "start" "-a" "ad5f23e12b4dcf2656632ff334e0b07da6b12f0284ed77088411d803fb1faac3"` [INFO] [stderr] Checking json_rust v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/wmww_json.rs:172:5 [INFO] [stderr] | [INFO] [stderr] 172 | return (number, iter); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(number, iter)` [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/wmww_json.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | return (number, iter); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(number, iter)` [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/wmww_json.rs:152:9 [INFO] [stderr] | [INFO] [stderr] 152 | return (number, iter); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(number, iter)` [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/wmww_json.rs:203:5 [INFO] [stderr] | [INFO] [stderr] 203 | return (text, iter); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(text, iter)` [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/wmww_json.rs:329:13 [INFO] [stderr] | [INFO] [stderr] 329 | return (JsonValue::Array(data), iter); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(JsonValue::Array(data), iter)` [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/wmww_json.rs:333:13 [INFO] [stderr] | [INFO] [stderr] 333 | return (JsonValue::Object(data), iter); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(JsonValue::Object(data), iter)` [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/wmww_json.rs:340:16 [INFO] [stderr] | [INFO] [stderr] 340 | => return (JsonValue::Invalid(token.to_string()), next), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(JsonValue::Invalid(token.to_string()), next)` [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/wmww_json.rs:341:33 [INFO] [stderr] | [INFO] [stderr] 341 | JsonToken::Number(n) => return (JsonValue::Number(n), next), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(JsonValue::Number(n), next)` [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/wmww_json.rs:342:33 [INFO] [stderr] | [INFO] [stderr] 342 | JsonToken::String(s) => return (JsonValue::String(s), next), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(JsonValue::String(s), next)` [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/wmww_json.rs:345:27 [INFO] [stderr] | [INFO] [stderr] 345 | "true" => return (JsonValue::Bool(true), next), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(JsonValue::Bool(true), next)` [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/wmww_json.rs:346:28 [INFO] [stderr] | [INFO] [stderr] 346 | "false" => return (JsonValue::Bool(false), next), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(JsonValue::Bool(false), next)` [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/wmww_json.rs:347:27 [INFO] [stderr] | [INFO] [stderr] 347 | "null" => return (JsonValue::Null, next), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(JsonValue::Null, next)` [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/wmww_json.rs:348:25 [INFO] [stderr] | [INFO] [stderr] 348 | text => return (JsonValue::Invalid(text.to_string()), next), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(JsonValue::Invalid(text.to_string()), next)` [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/wmww_json.rs:172:5 [INFO] [stderr] | [INFO] [stderr] 172 | return (number, iter); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(number, iter)` [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/wmww_json.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | return (number, iter); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(number, iter)` [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/wmww_json.rs:152:9 [INFO] [stderr] | [INFO] [stderr] 152 | return (number, iter); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(number, iter)` [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/wmww_json.rs:203:5 [INFO] [stderr] | [INFO] [stderr] 203 | return (text, iter); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(text, iter)` [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/wmww_json.rs:329:13 [INFO] [stderr] | [INFO] [stderr] 329 | return (JsonValue::Array(data), iter); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(JsonValue::Array(data), iter)` [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/wmww_json.rs:333:13 [INFO] [stderr] | [INFO] [stderr] 333 | return (JsonValue::Object(data), iter); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(JsonValue::Object(data), iter)` [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/wmww_json.rs:340:16 [INFO] [stderr] | [INFO] [stderr] 340 | => return (JsonValue::Invalid(token.to_string()), next), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(JsonValue::Invalid(token.to_string()), next)` [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/wmww_json.rs:341:33 [INFO] [stderr] | [INFO] [stderr] 341 | JsonToken::Number(n) => return (JsonValue::Number(n), next), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(JsonValue::Number(n), next)` [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/wmww_json.rs:342:33 [INFO] [stderr] | [INFO] [stderr] 342 | JsonToken::String(s) => return (JsonValue::String(s), next), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(JsonValue::String(s), next)` [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/wmww_json.rs:345:27 [INFO] [stderr] | [INFO] [stderr] 345 | "true" => return (JsonValue::Bool(true), next), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(JsonValue::Bool(true), next)` [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/wmww_json.rs:346:28 [INFO] [stderr] | [INFO] [stderr] 346 | "false" => return (JsonValue::Bool(false), next), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(JsonValue::Bool(false), next)` [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/wmww_json.rs:347:27 [INFO] [stderr] | [INFO] [stderr] 347 | "null" => return (JsonValue::Null, next), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(JsonValue::Null, next)` [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/wmww_json.rs:348:25 [INFO] [stderr] | [INFO] [stderr] 348 | text => return (JsonValue::Invalid(text.to_string()), next), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(JsonValue::Invalid(text.to_string()), next)` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/wmww_json.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | / match self { [INFO] [stderr] 23 | | &JsonValue::Object(ref o) => format!( [INFO] [stderr] 24 | | "{{{}\n{}}}", [INFO] [stderr] 25 | | o.iter().fold(String::new(), |sum, x| { [INFO] [stderr] ... | [INFO] [stderr] 56 | | &JsonValue::Invalid(ref text) => format!("(INVALID VALUE '{}')", text), [INFO] [stderr] 57 | | } [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] 22 | match *self { [INFO] [stderr] 23 | JsonValue::Object(ref o) => format!( [INFO] [stderr] 24 | "{{{}\n{}}}", [INFO] [stderr] 25 | o.iter().fold(String::new(), |sum, x| { [INFO] [stderr] 26 | let next = format!("{}{}", indent, next_indent); [INFO] [stderr] 27 | format!( [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/wmww_json.rs:30:35 [INFO] [stderr] | [INFO] [stderr] 30 | if sum == String::from("") { "" } else { ", " }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `""` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/wmww_json.rs:45:35 [INFO] [stderr] | [INFO] [stderr] 45 | if sum == String::from("") { "" } else { ", " }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `""` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/wmww_json.rs:52:42 [INFO] [stderr] | [INFO] [stderr] 52 | &JsonValue::Number(ref n) => format!("{}", n.to_string()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: `to_string()` is enough: `n.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: useless use of `format!` [INFO] [stderr] --> src/wmww_json.rs:54:40 [INFO] [stderr] | [INFO] [stderr] 54 | &JsonValue::Bool(ref b) => format!("{}", if *b { "true" } else { "false" }), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `if *b { "true" } else { "false" }.to_string()` [INFO] [stderr] | [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/wmww_json.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | / match self { [INFO] [stderr] 78 | | &JsonToken::ArrayOpen => "[".to_string(), [INFO] [stderr] 79 | | &JsonToken::ArrayClose => "]".to_string(), [INFO] [stderr] 80 | | &JsonToken::Comma => ",".to_string(), [INFO] [stderr] ... | [INFO] [stderr] 88 | | &JsonToken::End => "".to_string(), [INFO] [stderr] 89 | | } [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] 77 | match *self { [INFO] [stderr] 78 | JsonToken::ArrayOpen => "[".to_string(), [INFO] [stderr] 79 | JsonToken::ArrayClose => "]".to_string(), [INFO] [stderr] 80 | JsonToken::Comma => ",".to_string(), [INFO] [stderr] 81 | JsonToken::ObjectOpen => "{".to_string(), [INFO] [stderr] 82 | JsonToken::ObjectClose => "}".to_string(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/wmww_json.rs:142:31 [INFO] [stderr] | [INFO] [stderr] 142 | number += digit as f64 / divider; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(digit)` [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: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/wmww_json.rs:157:22 [INFO] [stderr] | [INFO] [stderr] 157 | let mut number = i_part as f64; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(i_part)` [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: unsequenced read of a variable [INFO] [stderr] --> src/wmww_json.rs:252:8 [INFO] [stderr] | [INFO] [stderr] 252 | }, iter) [INFO] [stderr] | ^^^^ [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/wmww_json.rs:228:13 [INFO] [stderr] | [INFO] [stderr] 228 | iter = data.1; [INFO] [stderr] | ^^^^^^^^^^^^^ [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/wmww_json.rs:252:8 [INFO] [stderr] | [INFO] [stderr] 252 | }, iter) [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/wmww_json.rs:233:13 [INFO] [stderr] | [INFO] [stderr] 233 | iter = data.1; [INFO] [stderr] | ^^^^^^^^^^^^^ [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/wmww_json.rs:252:8 [INFO] [stderr] | [INFO] [stderr] 252 | }, iter) [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/wmww_json.rs:243:25 [INFO] [stderr] | [INFO] [stderr] 243 | iter = next.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/wmww_json.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | / match self { [INFO] [stderr] 23 | | &JsonValue::Object(ref o) => format!( [INFO] [stderr] 24 | | "{{{}\n{}}}", [INFO] [stderr] 25 | | o.iter().fold(String::new(), |sum, x| { [INFO] [stderr] ... | [INFO] [stderr] 56 | | &JsonValue::Invalid(ref text) => format!("(INVALID VALUE '{}')", text), [INFO] [stderr] 57 | | } [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] 22 | match *self { [INFO] [stderr] 23 | JsonValue::Object(ref o) => format!( [INFO] [stderr] 24 | "{{{}\n{}}}", [INFO] [stderr] 25 | o.iter().fold(String::new(), |sum, x| { [INFO] [stderr] 26 | let next = format!("{}{}", indent, next_indent); [INFO] [stderr] 27 | format!( [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/wmww_json.rs:30:35 [INFO] [stderr] | [INFO] [stderr] 30 | if sum == String::from("") { "" } else { ", " }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `""` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/wmww_json.rs:45:35 [INFO] [stderr] | [INFO] [stderr] 45 | if sum == String::from("") { "" } else { ", " }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `""` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/wmww_json.rs:52:42 [INFO] [stderr] | [INFO] [stderr] 52 | &JsonValue::Number(ref n) => format!("{}", n.to_string()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: `to_string()` is enough: `n.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: useless use of `format!` [INFO] [stderr] --> src/wmww_json.rs:54:40 [INFO] [stderr] | [INFO] [stderr] 54 | &JsonValue::Bool(ref b) => format!("{}", if *b { "true" } else { "false" }), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `if *b { "true" } else { "false" }.to_string()` [INFO] [stderr] | [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/wmww_json.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | / match self { [INFO] [stderr] 78 | | &JsonToken::ArrayOpen => "[".to_string(), [INFO] [stderr] 79 | | &JsonToken::ArrayClose => "]".to_string(), [INFO] [stderr] 80 | | &JsonToken::Comma => ",".to_string(), [INFO] [stderr] ... | [INFO] [stderr] 88 | | &JsonToken::End => "".to_string(), [INFO] [stderr] 89 | | } [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] 77 | match *self { [INFO] [stderr] 78 | JsonToken::ArrayOpen => "[".to_string(), [INFO] [stderr] 79 | JsonToken::ArrayClose => "]".to_string(), [INFO] [stderr] 80 | JsonToken::Comma => ",".to_string(), [INFO] [stderr] 81 | JsonToken::ObjectOpen => "{".to_string(), [INFO] [stderr] 82 | JsonToken::ObjectClose => "}".to_string(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/wmww_json.rs:142:31 [INFO] [stderr] | [INFO] [stderr] 142 | number += digit as f64 / divider; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(digit)` [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: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/wmww_json.rs:157:22 [INFO] [stderr] | [INFO] [stderr] 157 | let mut number = i_part as f64; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(i_part)` [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: unsequenced read of a variable [INFO] [stderr] --> src/wmww_json.rs:252:8 [INFO] [stderr] | [INFO] [stderr] 252 | }, iter) [INFO] [stderr] | ^^^^ [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/wmww_json.rs:228:13 [INFO] [stderr] | [INFO] [stderr] 228 | iter = data.1; [INFO] [stderr] | ^^^^^^^^^^^^^ [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/wmww_json.rs:252:8 [INFO] [stderr] | [INFO] [stderr] 252 | }, iter) [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/wmww_json.rs:233:13 [INFO] [stderr] | [INFO] [stderr] 233 | iter = data.1; [INFO] [stderr] | ^^^^^^^^^^^^^ [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/wmww_json.rs:252:8 [INFO] [stderr] | [INFO] [stderr] 252 | }, iter) [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] note: whether read occurs before this write depends on evaluation order [INFO] [stderr] --> src/wmww_json.rs:243:25 [INFO] [stderr] | [INFO] [stderr] 243 | iter = next.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eval_order_dependence [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.75s [INFO] running `"docker" "inspect" "ad5f23e12b4dcf2656632ff334e0b07da6b12f0284ed77088411d803fb1faac3"` [INFO] running `"docker" "rm" "-f" "ad5f23e12b4dcf2656632ff334e0b07da6b12f0284ed77088411d803fb1faac3"` [INFO] [stdout] ad5f23e12b4dcf2656632ff334e0b07da6b12f0284ed77088411d803fb1faac3