[INFO] crate hipack 0.1.1 is already in cache [INFO] extracting crate hipack 0.1.1 into work/ex/clippy-test-run/sources/stable/reg/hipack/0.1.1 [INFO] extracting crate hipack 0.1.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/hipack/0.1.1 [INFO] validating manifest of hipack-0.1.1 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 hipack-0.1.1 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 hipack-0.1.1 [INFO] finished frobbing hipack-0.1.1 [INFO] frobbed toml for hipack-0.1.1 written to work/ex/clippy-test-run/sources/stable/reg/hipack/0.1.1/Cargo.toml [INFO] started frobbing hipack-0.1.1 [INFO] finished frobbing hipack-0.1.1 [INFO] frobbed toml for hipack-0.1.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/hipack/0.1.1/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 hipack-0.1.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/hipack/0.1.1:/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] 00d445f529d36ba616ad92c5e5e23f2ae1285f570924b5b0b407f14dfa098edb [INFO] running `"docker" "start" "-a" "00d445f529d36ba616ad92c5e5e23f2ae1285f570924b5b0b407f14dfa098edb"` [INFO] [stderr] Checking hipack v0.1.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parser.rs:236:13 [INFO] [stderr] | [INFO] [stderr] 236 | input : input, [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `input` [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/parser.rs:236:13 [INFO] [stderr] | [INFO] [stderr] 236 | input : input, [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `input` [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/writer.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | 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/writer.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | 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: unused macro definition [INFO] [stderr] --> src/parser.rs:172:1 [INFO] [stderr] | [INFO] [stderr] 172 | / macro_rules! try_no_eof { [INFO] [stderr] 173 | | ($obj:expr, $e:expr) => { [INFO] [stderr] 174 | | (match try!($e) { [INFO] [stderr] 175 | | None => return $obj.parse_error(ErrorCode::UnexpectedEOF), [INFO] [stderr] ... | [INFO] [stderr] 178 | | } [INFO] [stderr] 179 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser.rs:268:18 [INFO] [stderr] | [INFO] [stderr] 268 | x => return x, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `x` [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/parser.rs:302:17 [INFO] [stderr] | [INFO] [stderr] 302 | return Ok(()) [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [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/value.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | / match self { [INFO] [stderr] 27 | | &Value::Bool(_) => true, [INFO] [stderr] 28 | | _ => false, [INFO] [stderr] 29 | | } [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] 26 | match *self { [INFO] [stderr] 27 | Value::Bool(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | / match self { [INFO] [stderr] 35 | | &Value::Bool(b) => Some(b), [INFO] [stderr] 36 | | _ => None, [INFO] [stderr] 37 | | } [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] 34 | match *self { [INFO] [stderr] 35 | Value::Bool(b) => Some(b), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | / match self { [INFO] [stderr] 43 | | &Value::Integer(_) => true, [INFO] [stderr] 44 | | _ => false, [INFO] [stderr] 45 | | } [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] 42 | match *self { [INFO] [stderr] 43 | Value::Integer(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | / match self { [INFO] [stderr] 51 | | &Value::Integer(i) => Some(i), [INFO] [stderr] 52 | | _ => None, [INFO] [stderr] 53 | | } [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] 50 | match *self { [INFO] [stderr] 51 | Value::Integer(i) => Some(i), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | / match self { [INFO] [stderr] 59 | | &Value::Float(_) => true, [INFO] [stderr] 60 | | _ => false, [INFO] [stderr] 61 | | } [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] 58 | match *self { [INFO] [stderr] 59 | Value::Float(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | / match self { [INFO] [stderr] 68 | | &Value::Float(f) => Some(f), [INFO] [stderr] 69 | | _ => None, [INFO] [stderr] 70 | | } [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] 67 | match *self { [INFO] [stderr] 68 | Value::Float(f) => Some(f), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | / match self { [INFO] [stderr] 77 | | &Value::Integer(_) => true, [INFO] [stderr] 78 | | &Value::Float(_) => true, [INFO] [stderr] 79 | | _ => false, [INFO] [stderr] 80 | | } [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] 76 | match *self { [INFO] [stderr] 77 | Value::Integer(_) => true, [INFO] [stderr] 78 | Value::Float(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | / match self { [INFO] [stderr] 86 | | &Value::Integer(i) => Some(i as f64), [INFO] [stderr] 87 | | &Value::Float(f) => Some(f), [INFO] [stderr] 88 | | _ => None, [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] 85 | match *self { [INFO] [stderr] 86 | Value::Integer(i) => Some(i as f64), [INFO] [stderr] 87 | Value::Float(f) => Some(f), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | / match self { [INFO] [stderr] 95 | | &Value::String(_) => true, [INFO] [stderr] 96 | | _ => false, [INFO] [stderr] 97 | | } [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] 94 | match *self { [INFO] [stderr] 95 | Value::String(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:102:9 [INFO] [stderr] | [INFO] [stderr] 102 | / match self { [INFO] [stderr] 103 | | &Value::String(ref s) => Some(s), [INFO] [stderr] 104 | | _ => None, [INFO] [stderr] 105 | | } [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] 102 | match *self { [INFO] [stderr] 103 | Value::String(ref s) => Some(s), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:110:9 [INFO] [stderr] | [INFO] [stderr] 110 | / match self { [INFO] [stderr] 111 | | &Value::List(_) => true, [INFO] [stderr] 112 | | _ => false, [INFO] [stderr] 113 | | } [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] 110 | match *self { [INFO] [stderr] 111 | Value::List(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:118:9 [INFO] [stderr] | [INFO] [stderr] 118 | / match self { [INFO] [stderr] 119 | | &Value::List(ref l) => Some(l), [INFO] [stderr] 120 | | _ => None, [INFO] [stderr] 121 | | } [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] 118 | match *self { [INFO] [stderr] 119 | Value::List(ref l) => Some(l), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:126:9 [INFO] [stderr] | [INFO] [stderr] 126 | / match self { [INFO] [stderr] 127 | | &Value::Dict(_) => true, [INFO] [stderr] 128 | | _ => false, [INFO] [stderr] 129 | | } [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] 126 | match *self { [INFO] [stderr] 127 | Value::Dict(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:135:9 [INFO] [stderr] | [INFO] [stderr] 135 | / match self { [INFO] [stderr] 136 | | &Value::Dict(ref d) => Some(d), [INFO] [stderr] 137 | | _ => None, [INFO] [stderr] 138 | | } [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] 135 | match *self { [INFO] [stderr] 136 | Value::Dict(ref d) => Some(d), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/parser.rs:393:12 [INFO] [stderr] | [INFO] [stderr] 393 | if key.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `key.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/parser.rs:407:13 [INFO] [stderr] | [INFO] [stderr] 407 | / let mut got_separator = false; [INFO] [stderr] 408 | | if is_whitespace_character(peek_no_eof!(self)) { [INFO] [stderr] 409 | | try!(self.parse_whitespace()); [INFO] [stderr] 410 | | got_separator = true; [INFO] [stderr] 411 | | } [INFO] [stderr] | |_____________^ help: it is more idiomatic to write: `let got_separator = if is_whitespace_character(peek_no_eof!(self)) { ..; 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: unused macro definition [INFO] [stderr] --> src/parser.rs:172:1 [INFO] [stderr] | [INFO] [stderr] 172 | / macro_rules! try_no_eof { [INFO] [stderr] 173 | | ($obj:expr, $e:expr) => { [INFO] [stderr] 174 | | (match try!($e) { [INFO] [stderr] 175 | | None => return $obj.parse_error(ErrorCode::UnexpectedEOF), [INFO] [stderr] ... | [INFO] [stderr] 178 | | } [INFO] [stderr] 179 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser.rs:268:18 [INFO] [stderr] | [INFO] [stderr] 268 | x => return x, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `x` [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/parser.rs:302:17 [INFO] [stderr] | [INFO] [stderr] 302 | return Ok(()) [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [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: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/parser.rs:208:49 [INFO] [stderr] | [INFO] [stderr] 208 | Some(ch) if $check_digit(ch) => xdigit_to_int(ch) as i64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(xdigit_to_int(ch))` [INFO] [stderr] ... [INFO] [stderr] 494 | return parse_digits!(self, 16, is_xdigit_character, negative) [INFO] [stderr] | ------------------------------------------------------ in this macro invocation [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 u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/parser.rs:208:49 [INFO] [stderr] | [INFO] [stderr] 208 | Some(ch) if $check_digit(ch) => xdigit_to_int(ch) as i64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(xdigit_to_int(ch))` [INFO] [stderr] ... [INFO] [stderr] 497 | return parse_digits!(self, 8, is_octal_character, negative), [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: length comparison to zero [INFO] [stderr] --> src/parser.rs:564:12 [INFO] [stderr] | [INFO] [stderr] 564 | if buffer.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buffer.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/writer.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | try!(writer.write(b"\n")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/writer.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | try!(writer.write(b"\n")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/writer.rs:183:28 [INFO] [stderr] | [INFO] [stderr] 183 | if !s.contains(".") { [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/writer.rs:196:39 [INFO] [stderr] | [INFO] [stderr] 196 | fn write_string(&mut self, value: &String) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/writer.rs:213:37 [INFO] [stderr] | [INFO] [stderr] 213 | fn write_list(&mut self, value: &Vec) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Value]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [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/writer.rs:225:21 [INFO] [stderr] | [INFO] [stderr] 225 | / match iter.peek () { [INFO] [stderr] 226 | | Some(_) => [INFO] [stderr] 227 | | try!(self.format.item_separator(&mut self.writer, value)), [INFO] [stderr] 228 | | None => (), [INFO] [stderr] 229 | | } [INFO] [stderr] | |_____________________^ help: try this: `if let Some(_) = iter.peek () { try!(self.format.item_separator(&mut self.writer, value)) }` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/writer.rs:256:21 [INFO] [stderr] | [INFO] [stderr] 256 | / match iter.peek () { [INFO] [stderr] 257 | | Some(&(_, ref value)) => [INFO] [stderr] 258 | | try!(self.format.item_separator(&mut self.writer, value)), [INFO] [stderr] 259 | | None => (), [INFO] [stderr] 260 | | } [INFO] [stderr] | |_____________________^ help: try this: `if let Some(&(_, ref value)) = iter.peek () { try!(self.format.item_separator(&mut self.writer, value)) }` [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] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `hipack`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: Try not to call a closure in the expression where it is declared. [INFO] [stderr] --> src/writer.rs:321:47 [INFO] [stderr] | [INFO] [stderr] 321 | make_write_test!(dict_one, &Value::Dict((|| { [INFO] [stderr] | _______________________________________________^ [INFO] [stderr] 322 | | let mut b = BTreeMap::new(); [INFO] [stderr] 323 | | b.insert("item".to_string(), Value::Bool(true)); [INFO] [stderr] 324 | | b [INFO] [stderr] 325 | | })()), "{\n item: True\n}", "{item:True}"); [INFO] [stderr] | |________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_call [INFO] [stderr] help: Try doing something like: [INFO] [stderr] | [INFO] [stderr] 321 | make_write_test!(dict_one, &Value::Dict({ [INFO] [stderr] 322 | let mut b = BTreeMap::new(); [INFO] [stderr] 323 | b.insert("item".to_string(), Value::Bool(true)); [INFO] [stderr] 324 | b [INFO] [stderr] 325 | }), "{\n item: True\n}", "{item:True}"); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Try not to call a closure in the expression where it is declared. [INFO] [stderr] --> src/writer.rs:321:47 [INFO] [stderr] | [INFO] [stderr] 321 | make_write_test!(dict_one, &Value::Dict((|| { [INFO] [stderr] | _______________________________________________^ [INFO] [stderr] 322 | | let mut b = BTreeMap::new(); [INFO] [stderr] 323 | | b.insert("item".to_string(), Value::Bool(true)); [INFO] [stderr] 324 | | b [INFO] [stderr] 325 | | })()), "{\n item: True\n}", "{item:True}"); [INFO] [stderr] | |________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_call [INFO] [stderr] help: Try doing something like: [INFO] [stderr] | [INFO] [stderr] 321 | make_write_test!(dict_one, &Value::Dict({ [INFO] [stderr] 322 | let mut b = BTreeMap::new(); [INFO] [stderr] 323 | b.insert("item".to_string(), Value::Bool(true)); [INFO] [stderr] 324 | b [INFO] [stderr] 325 | }), "{\n item: True\n}", "{item:True}"); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Try not to call a closure in the expression where it is declared. [INFO] [stderr] --> src/writer.rs:326:47 [INFO] [stderr] | [INFO] [stderr] 326 | make_write_test!(dict_two, &Value::Dict((|| { [INFO] [stderr] | _______________________________________________^ [INFO] [stderr] 327 | | let mut b = BTreeMap::new(); [INFO] [stderr] 328 | | b.insert("foo".to_string(), Value::Bool(true)); [INFO] [stderr] 329 | | b.insert("bar".to_string(), Value::Bool(false)); [INFO] [stderr] 330 | | b [INFO] [stderr] 331 | | })()), "{\n bar: False\n foo: True\n}", "{bar:False,foo:True}"); [INFO] [stderr] | |________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_call [INFO] [stderr] help: Try doing something like: [INFO] [stderr] | [INFO] [stderr] 326 | make_write_test!(dict_two, &Value::Dict({ [INFO] [stderr] 327 | let mut b = BTreeMap::new(); [INFO] [stderr] 328 | b.insert("foo".to_string(), Value::Bool(true)); [INFO] [stderr] 329 | b.insert("bar".to_string(), Value::Bool(false)); [INFO] [stderr] 330 | b [INFO] [stderr] 331 | }), "{\n bar: False\n foo: True\n}", "{bar:False,foo:True}"); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | / match self { [INFO] [stderr] 27 | | &Value::Bool(_) => true, [INFO] [stderr] 28 | | _ => false, [INFO] [stderr] 29 | | } [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] 26 | match *self { [INFO] [stderr] 27 | Value::Bool(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | / match self { [INFO] [stderr] 35 | | &Value::Bool(b) => Some(b), [INFO] [stderr] 36 | | _ => None, [INFO] [stderr] 37 | | } [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] 34 | match *self { [INFO] [stderr] 35 | Value::Bool(b) => Some(b), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | / match self { [INFO] [stderr] 43 | | &Value::Integer(_) => true, [INFO] [stderr] 44 | | _ => false, [INFO] [stderr] 45 | | } [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] 42 | match *self { [INFO] [stderr] 43 | Value::Integer(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | / match self { [INFO] [stderr] 51 | | &Value::Integer(i) => Some(i), [INFO] [stderr] 52 | | _ => None, [INFO] [stderr] 53 | | } [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] 50 | match *self { [INFO] [stderr] 51 | Value::Integer(i) => Some(i), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | / match self { [INFO] [stderr] 59 | | &Value::Float(_) => true, [INFO] [stderr] 60 | | _ => false, [INFO] [stderr] 61 | | } [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] 58 | match *self { [INFO] [stderr] 59 | Value::Float(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | / match self { [INFO] [stderr] 68 | | &Value::Float(f) => Some(f), [INFO] [stderr] 69 | | _ => None, [INFO] [stderr] 70 | | } [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] 67 | match *self { [INFO] [stderr] 68 | Value::Float(f) => Some(f), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | / match self { [INFO] [stderr] 77 | | &Value::Integer(_) => true, [INFO] [stderr] 78 | | &Value::Float(_) => true, [INFO] [stderr] 79 | | _ => false, [INFO] [stderr] 80 | | } [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] 76 | match *self { [INFO] [stderr] 77 | Value::Integer(_) => true, [INFO] [stderr] 78 | Value::Float(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | / match self { [INFO] [stderr] 86 | | &Value::Integer(i) => Some(i as f64), [INFO] [stderr] 87 | | &Value::Float(f) => Some(f), [INFO] [stderr] 88 | | _ => None, [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] 85 | match *self { [INFO] [stderr] 86 | Value::Integer(i) => Some(i as f64), [INFO] [stderr] 87 | Value::Float(f) => Some(f), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | / match self { [INFO] [stderr] 95 | | &Value::String(_) => true, [INFO] [stderr] 96 | | _ => false, [INFO] [stderr] 97 | | } [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] 94 | match *self { [INFO] [stderr] 95 | Value::String(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:102:9 [INFO] [stderr] | [INFO] [stderr] 102 | / match self { [INFO] [stderr] 103 | | &Value::String(ref s) => Some(s), [INFO] [stderr] 104 | | _ => None, [INFO] [stderr] 105 | | } [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] 102 | match *self { [INFO] [stderr] 103 | Value::String(ref s) => Some(s), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:110:9 [INFO] [stderr] | [INFO] [stderr] 110 | / match self { [INFO] [stderr] 111 | | &Value::List(_) => true, [INFO] [stderr] 112 | | _ => false, [INFO] [stderr] 113 | | } [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] 110 | match *self { [INFO] [stderr] 111 | Value::List(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:118:9 [INFO] [stderr] | [INFO] [stderr] 118 | / match self { [INFO] [stderr] 119 | | &Value::List(ref l) => Some(l), [INFO] [stderr] 120 | | _ => None, [INFO] [stderr] 121 | | } [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] 118 | match *self { [INFO] [stderr] 119 | Value::List(ref l) => Some(l), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:126:9 [INFO] [stderr] | [INFO] [stderr] 126 | / match self { [INFO] [stderr] 127 | | &Value::Dict(_) => true, [INFO] [stderr] 128 | | _ => false, [INFO] [stderr] 129 | | } [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] 126 | match *self { [INFO] [stderr] 127 | Value::Dict(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/value.rs:135:9 [INFO] [stderr] | [INFO] [stderr] 135 | / match self { [INFO] [stderr] 136 | | &Value::Dict(ref d) => Some(d), [INFO] [stderr] 137 | | _ => None, [INFO] [stderr] 138 | | } [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] 135 | match *self { [INFO] [stderr] 136 | Value::Dict(ref d) => Some(d), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/parser.rs:393:12 [INFO] [stderr] | [INFO] [stderr] 393 | if key.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `key.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/parser.rs:407:13 [INFO] [stderr] | [INFO] [stderr] 407 | / let mut got_separator = false; [INFO] [stderr] 408 | | if is_whitespace_character(peek_no_eof!(self)) { [INFO] [stderr] 409 | | try!(self.parse_whitespace()); [INFO] [stderr] 410 | | got_separator = true; [INFO] [stderr] 411 | | } [INFO] [stderr] | |_____________^ help: it is more idiomatic to write: `let got_separator = if is_whitespace_character(peek_no_eof!(self)) { ..; 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: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/parser.rs:208:49 [INFO] [stderr] | [INFO] [stderr] 208 | Some(ch) if $check_digit(ch) => xdigit_to_int(ch) as i64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(xdigit_to_int(ch))` [INFO] [stderr] ... [INFO] [stderr] 494 | return parse_digits!(self, 16, is_xdigit_character, negative) [INFO] [stderr] | ------------------------------------------------------ in this macro invocation [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 u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/parser.rs:208:49 [INFO] [stderr] | [INFO] [stderr] 208 | Some(ch) if $check_digit(ch) => xdigit_to_int(ch) as i64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(xdigit_to_int(ch))` [INFO] [stderr] ... [INFO] [stderr] 497 | return parse_digits!(self, 8, is_octal_character, negative), [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: length comparison to zero [INFO] [stderr] --> src/parser.rs:564:12 [INFO] [stderr] | [INFO] [stderr] 564 | if buffer.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buffer.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:611:30 [INFO] [stderr] | [INFO] [stderr] 611 | let input = Cursor::new("Hello, world".as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"Hello, world"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:632:33 [INFO] [stderr] | [INFO] [stderr] 632 | let input = Cursor::new(" Whitespace".as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b" Whitespace"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/parser.rs:644:9 [INFO] [stderr] | [INFO] [stderr] 644 | / loop { [INFO] [stderr] 645 | | match p.peek().unwrap() { [INFO] [stderr] 646 | | Some(ch) => assert_eq!(check.next().unwrap(), ch), [INFO] [stderr] 647 | | None => break, [INFO] [stderr] 648 | | } [INFO] [stderr] 649 | | p.advance(); [INFO] [stderr] 650 | | } [INFO] [stderr] | |_________^ help: try: `while let Some(ch) = p.peek().unwrap() { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:671:41 [INFO] [stderr] | [INFO] [stderr] 671 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"true"` [INFO] [stderr] ... [INFO] [stderr] 679 | / make_bool_tests!(true, [INFO] [stderr] 680 | | parse_true, "true", [INFO] [stderr] 681 | | parse_true_upper, "True"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:671:41 [INFO] [stderr] | [INFO] [stderr] 671 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"True"` [INFO] [stderr] ... [INFO] [stderr] 679 | / make_bool_tests!(true, [INFO] [stderr] 680 | | parse_true, "true", [INFO] [stderr] 681 | | parse_true_upper, "True"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:671:41 [INFO] [stderr] | [INFO] [stderr] 671 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"false"` [INFO] [stderr] ... [INFO] [stderr] 682 | / make_bool_tests!(false, [INFO] [stderr] 683 | | parse_false, "false", [INFO] [stderr] 684 | | parse_false_upper, "False"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:671:41 [INFO] [stderr] | [INFO] [stderr] 671 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"False"` [INFO] [stderr] ... [INFO] [stderr] 682 | / make_bool_tests!(false, [INFO] [stderr] 683 | | parse_false, "false", [INFO] [stderr] 684 | | parse_false_upper, "False"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:658:41 [INFO] [stderr] | [INFO] [stderr] 658 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"TRUE"` [INFO] [stderr] ... [INFO] [stderr] 685 | / make_fail_tests!(parse_true_allupper, "TRUE", [INFO] [stderr] 686 | | parse_false_allupper, "FALSE"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:658:41 [INFO] [stderr] | [INFO] [stderr] 658 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"FALSE"` [INFO] [stderr] ... [INFO] [stderr] 685 | / make_fail_tests!(parse_true_allupper, "TRUE", [INFO] [stderr] 686 | | parse_false_allupper, "FALSE"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:693:41 [INFO] [stderr] | [INFO] [stderr] 693 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"[]"` [INFO] [stderr] ... [INFO] [stderr] 704 | / make_list_test!(list_empty, value, "[]", { [INFO] [stderr] 705 | | assert_eq!(0, value.len()); [INFO] [stderr] 706 | | }); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:693:41 [INFO] [stderr] | [INFO] [stderr] 693 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"[ ]"` [INFO] [stderr] ... [INFO] [stderr] 708 | / make_list_test!(list_empty_space, value, "[ ]", { [INFO] [stderr] 709 | | assert_eq!(0, value.len()); [INFO] [stderr] 710 | | }); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:693:41 [INFO] [stderr] | [INFO] [stderr] 693 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"[true]"` [INFO] [stderr] ... [INFO] [stderr] 712 | / make_list_test!(list_one_item, value, "[true]", { [INFO] [stderr] 713 | | assert_eq!(1, value.len()); [INFO] [stderr] 714 | | assert_eq!(Some(true), value[0].as_bool()); [INFO] [stderr] 715 | | }); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:693:41 [INFO] [stderr] | [INFO] [stderr] 693 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"[true,false]"` [INFO] [stderr] ... [INFO] [stderr] 717 | / make_list_test!(list_two_items_comma, value, "[true,false]", { [INFO] [stderr] 718 | | assert_eq!(2, value.len()); [INFO] [stderr] 719 | | assert_eq!(Some(true), value[0].as_bool()); [INFO] [stderr] 720 | | assert_eq!(Some(false), value[1].as_bool()); [INFO] [stderr] 721 | | }); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:693:41 [INFO] [stderr] | [INFO] [stderr] 693 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"[true false]"` [INFO] [stderr] ... [INFO] [stderr] 723 | / make_list_test!(list_two_items_space, value, "[true false]", { [INFO] [stderr] 724 | | assert_eq!(2, value.len()); [INFO] [stderr] 725 | | assert_eq!(Some(true), value[0].as_bool()); [INFO] [stderr] 726 | | assert_eq!(Some(false), value[1].as_bool()); [INFO] [stderr] 727 | | }); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:693:41 [INFO] [stderr] | [INFO] [stderr] 693 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"[true, false]"` [INFO] [stderr] ... [INFO] [stderr] 729 | / make_list_test!(list_two_items_commaspace, value, "[true, false]", { [INFO] [stderr] 730 | | assert_eq!(2, value.len()); [INFO] [stderr] 731 | | assert_eq!(Some(true), value[0].as_bool()); [INFO] [stderr] 732 | | assert_eq!(Some(false), value[1].as_bool()); [INFO] [stderr] 733 | | }); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:693:41 [INFO] [stderr] | [INFO] [stderr] 693 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"[true , false]"` [INFO] [stderr] ... [INFO] [stderr] 735 | / make_list_test!(list_two_items_spacecommaspace, value, "[true , false]", { [INFO] [stderr] 736 | | assert_eq!(2, value.len()); [INFO] [stderr] 737 | | assert_eq!(Some(true), value[0].as_bool()); [INFO] [stderr] 738 | | assert_eq!(Some(false), value[1].as_bool()); [INFO] [stderr] 739 | | }); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:658:41 [INFO] [stderr] | [INFO] [stderr] 658 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"["` [INFO] [stderr] ... [INFO] [stderr] 741 | / make_fail_tests!(list_unterminated, "[", [INFO] [stderr] 742 | | list_unterminated_space, "[ ", [INFO] [stderr] 743 | | list_unterminated_one_item, "[true", [INFO] [stderr] 744 | | list_unterminated_one_item_space, "[true ", [INFO] [stderr] 745 | | list_unterminated_one_item_comma, "[true,", [INFO] [stderr] 746 | | list_unterminated_one_item_commaspace, "[true, ", [INFO] [stderr] 747 | | list_unterminated_one_item_spacecommaspace, "[true , "); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:658:41 [INFO] [stderr] | [INFO] [stderr] 658 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"[ "` [INFO] [stderr] ... [INFO] [stderr] 741 | / make_fail_tests!(list_unterminated, "[", [INFO] [stderr] 742 | | list_unterminated_space, "[ ", [INFO] [stderr] 743 | | list_unterminated_one_item, "[true", [INFO] [stderr] 744 | | list_unterminated_one_item_space, "[true ", [INFO] [stderr] 745 | | list_unterminated_one_item_comma, "[true,", [INFO] [stderr] 746 | | list_unterminated_one_item_commaspace, "[true, ", [INFO] [stderr] 747 | | list_unterminated_one_item_spacecommaspace, "[true , "); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:658:41 [INFO] [stderr] | [INFO] [stderr] 658 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"[true"` [INFO] [stderr] ... [INFO] [stderr] 741 | / make_fail_tests!(list_unterminated, "[", [INFO] [stderr] 742 | | list_unterminated_space, "[ ", [INFO] [stderr] 743 | | list_unterminated_one_item, "[true", [INFO] [stderr] 744 | | list_unterminated_one_item_space, "[true ", [INFO] [stderr] 745 | | list_unterminated_one_item_comma, "[true,", [INFO] [stderr] 746 | | list_unterminated_one_item_commaspace, "[true, ", [INFO] [stderr] 747 | | list_unterminated_one_item_spacecommaspace, "[true , "); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:658:41 [INFO] [stderr] | [INFO] [stderr] 658 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"[true "` [INFO] [stderr] ... [INFO] [stderr] 741 | / make_fail_tests!(list_unterminated, "[", [INFO] [stderr] 742 | | list_unterminated_space, "[ ", [INFO] [stderr] 743 | | list_unterminated_one_item, "[true", [INFO] [stderr] 744 | | list_unterminated_one_item_space, "[true ", [INFO] [stderr] 745 | | list_unterminated_one_item_comma, "[true,", [INFO] [stderr] 746 | | list_unterminated_one_item_commaspace, "[true, ", [INFO] [stderr] 747 | | list_unterminated_one_item_spacecommaspace, "[true , "); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:658:41 [INFO] [stderr] | [INFO] [stderr] 658 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"[true,"` [INFO] [stderr] ... [INFO] [stderr] 741 | / make_fail_tests!(list_unterminated, "[", [INFO] [stderr] 742 | | list_unterminated_space, "[ ", [INFO] [stderr] 743 | | list_unterminated_one_item, "[true", [INFO] [stderr] 744 | | list_unterminated_one_item_space, "[true ", [INFO] [stderr] 745 | | list_unterminated_one_item_comma, "[true,", [INFO] [stderr] 746 | | list_unterminated_one_item_commaspace, "[true, ", [INFO] [stderr] 747 | | list_unterminated_one_item_spacecommaspace, "[true , "); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:658:41 [INFO] [stderr] | [INFO] [stderr] 658 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"[true, "` [INFO] [stderr] ... [INFO] [stderr] 741 | / make_fail_tests!(list_unterminated, "[", [INFO] [stderr] 742 | | list_unterminated_space, "[ ", [INFO] [stderr] 743 | | list_unterminated_one_item, "[true", [INFO] [stderr] 744 | | list_unterminated_one_item_space, "[true ", [INFO] [stderr] 745 | | list_unterminated_one_item_comma, "[true,", [INFO] [stderr] 746 | | list_unterminated_one_item_commaspace, "[true, ", [INFO] [stderr] 747 | | list_unterminated_one_item_spacecommaspace, "[true , "); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:658:41 [INFO] [stderr] | [INFO] [stderr] 658 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"[true , "` [INFO] [stderr] ... [INFO] [stderr] 741 | / make_fail_tests!(list_unterminated, "[", [INFO] [stderr] 742 | | list_unterminated_space, "[ ", [INFO] [stderr] 743 | | list_unterminated_one_item, "[true", [INFO] [stderr] 744 | | list_unterminated_one_item_space, "[true ", [INFO] [stderr] 745 | | list_unterminated_one_item_comma, "[true,", [INFO] [stderr] 746 | | list_unterminated_one_item_commaspace, "[true, ", [INFO] [stderr] 747 | | list_unterminated_one_item_spacecommaspace, "[true , "); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:754:41 [INFO] [stderr] | [INFO] [stderr] 754 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"{}"` [INFO] [stderr] ... [INFO] [stderr] 765 | / make_dict_test!(dict_empty, value, "{}", { [INFO] [stderr] 766 | | assert_eq!(0, value.len()); [INFO] [stderr] 767 | | }); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:754:41 [INFO] [stderr] | [INFO] [stderr] 754 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"{ }"` [INFO] [stderr] ... [INFO] [stderr] 768 | / make_dict_test!(dict_empty_space, value, "{ }", { [INFO] [stderr] 769 | | assert_eq!(0, value.len()); [INFO] [stderr] 770 | | }); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:754:41 [INFO] [stderr] | [INFO] [stderr] 754 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"{ a: True }"` [INFO] [stderr] ... [INFO] [stderr] 771 | / make_dict_test!(dict_one_item, value, "{ a: True }", { [INFO] [stderr] 772 | | assert_eq!(1, value.len()); [INFO] [stderr] 773 | | assert!(value.contains_key("a")); [INFO] [stderr] 774 | | assert_eq!(Some(true), value.get("a").unwrap().as_bool()); [INFO] [stderr] 775 | | }); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:754:41 [INFO] [stderr] | [INFO] [stderr] 754 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"{a False}"` [INFO] [stderr] ... [INFO] [stderr] 776 | / make_dict_test!(dict_one_item_space, value, "{a False}", { [INFO] [stderr] 777 | | assert_eq!(1, value.len()); [INFO] [stderr] 778 | | assert!(value.contains_key("a")); [INFO] [stderr] 779 | | assert_eq!(Some(false), value.get("a").unwrap().as_bool()); [INFO] [stderr] 780 | | }); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:754:41 [INFO] [stderr] | [INFO] [stderr] 754 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"{a:true,b:false}"` [INFO] [stderr] ... [INFO] [stderr] 781 | / make_dict_test!(dict_two_items, value, "{a:true,b:false}", { [INFO] [stderr] 782 | | assert_eq!(2, value.len()); [INFO] [stderr] 783 | | assert_eq!(true, value.get("a").unwrap().as_bool().unwrap()); [INFO] [stderr] 784 | | assert_eq!(false, value.get("b").unwrap().as_bool().unwrap()); [INFO] [stderr] 785 | | }); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:754:41 [INFO] [stderr] | [INFO] [stderr] 754 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"{a:true b:false}"` [INFO] [stderr] ... [INFO] [stderr] 786 | / make_dict_test!(dict_two_items_space, value, "{a:true b:false}", { [INFO] [stderr] 787 | | assert_eq!(2, value.len()); [INFO] [stderr] 788 | | assert_eq!(true, value.get("a").unwrap().as_bool().unwrap()); [INFO] [stderr] 789 | | assert_eq!(false, value.get("b").unwrap().as_bool().unwrap()); [INFO] [stderr] 790 | | }); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:754:41 [INFO] [stderr] | [INFO] [stderr] 754 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"{a:true, b:false}"` [INFO] [stderr] ... [INFO] [stderr] 791 | / make_dict_test!(dict_two_items_commaspace, value, "{a:true, b:false}", { [INFO] [stderr] 792 | | assert_eq!(2, value.len()); [INFO] [stderr] 793 | | assert_eq!(true, value.get("a").unwrap().as_bool().unwrap()); [INFO] [stderr] 794 | | assert_eq!(false, value.get("b").unwrap().as_bool().unwrap()); [INFO] [stderr] 795 | | }); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:658:41 [INFO] [stderr] | [INFO] [stderr] 658 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"{"` [INFO] [stderr] ... [INFO] [stderr] 797 | / make_fail_tests!(dict_unterminated, "{", [INFO] [stderr] 798 | | dict_unterminated_with_key, "{ key", [INFO] [stderr] 799 | | dict_unterminated_with_key_space, "{ key ", [INFO] [stderr] 800 | | dict_unterminated_with_key_colon, "{ key:", [INFO] [stderr] 801 | | dict_unterminated_with_key_colonspace, "{ key: ", [INFO] [stderr] 802 | | dict_missing_value, "{ key }", [INFO] [stderr] 803 | | dict_missing_value_colon, "{ key: }"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:658:41 [INFO] [stderr] | [INFO] [stderr] 658 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"{ key"` [INFO] [stderr] ... [INFO] [stderr] 797 | / make_fail_tests!(dict_unterminated, "{", [INFO] [stderr] 798 | | dict_unterminated_with_key, "{ key", [INFO] [stderr] 799 | | dict_unterminated_with_key_space, "{ key ", [INFO] [stderr] 800 | | dict_unterminated_with_key_colon, "{ key:", [INFO] [stderr] 801 | | dict_unterminated_with_key_colonspace, "{ key: ", [INFO] [stderr] 802 | | dict_missing_value, "{ key }", [INFO] [stderr] 803 | | dict_missing_value_colon, "{ key: }"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:658:41 [INFO] [stderr] | [INFO] [stderr] 658 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"{ key "` [INFO] [stderr] ... [INFO] [stderr] 797 | / make_fail_tests!(dict_unterminated, "{", [INFO] [stderr] 798 | | dict_unterminated_with_key, "{ key", [INFO] [stderr] 799 | | dict_unterminated_with_key_space, "{ key ", [INFO] [stderr] 800 | | dict_unterminated_with_key_colon, "{ key:", [INFO] [stderr] 801 | | dict_unterminated_with_key_colonspace, "{ key: ", [INFO] [stderr] 802 | | dict_missing_value, "{ key }", [INFO] [stderr] 803 | | dict_missing_value_colon, "{ key: }"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:658:41 [INFO] [stderr] | [INFO] [stderr] 658 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"{ key:"` [INFO] [stderr] ... [INFO] [stderr] 797 | / make_fail_tests!(dict_unterminated, "{", [INFO] [stderr] 798 | | dict_unterminated_with_key, "{ key", [INFO] [stderr] 799 | | dict_unterminated_with_key_space, "{ key ", [INFO] [stderr] 800 | | dict_unterminated_with_key_colon, "{ key:", [INFO] [stderr] 801 | | dict_unterminated_with_key_colonspace, "{ key: ", [INFO] [stderr] 802 | | dict_missing_value, "{ key }", [INFO] [stderr] 803 | | dict_missing_value_colon, "{ key: }"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:658:41 [INFO] [stderr] | [INFO] [stderr] 658 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"{ key: "` [INFO] [stderr] ... [INFO] [stderr] 797 | / make_fail_tests!(dict_unterminated, "{", [INFO] [stderr] 798 | | dict_unterminated_with_key, "{ key", [INFO] [stderr] 799 | | dict_unterminated_with_key_space, "{ key ", [INFO] [stderr] 800 | | dict_unterminated_with_key_colon, "{ key:", [INFO] [stderr] 801 | | dict_unterminated_with_key_colonspace, "{ key: ", [INFO] [stderr] 802 | | dict_missing_value, "{ key }", [INFO] [stderr] 803 | | dict_missing_value_colon, "{ key: }"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:658:41 [INFO] [stderr] | [INFO] [stderr] 658 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"{ key }"` [INFO] [stderr] ... [INFO] [stderr] 797 | / make_fail_tests!(dict_unterminated, "{", [INFO] [stderr] 798 | | dict_unterminated_with_key, "{ key", [INFO] [stderr] 799 | | dict_unterminated_with_key_space, "{ key ", [INFO] [stderr] 800 | | dict_unterminated_with_key_colon, "{ key:", [INFO] [stderr] 801 | | dict_unterminated_with_key_colonspace, "{ key: ", [INFO] [stderr] 802 | | dict_missing_value, "{ key }", [INFO] [stderr] 803 | | dict_missing_value_colon, "{ key: }"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:658:41 [INFO] [stderr] | [INFO] [stderr] 658 | let input = Cursor::new($str.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"{ key: }"` [INFO] [stderr] ... [INFO] [stderr] 797 | / make_fail_tests!(dict_unterminated, "{", [INFO] [stderr] 798 | | dict_unterminated_with_key, "{ key", [INFO] [stderr] 799 | | dict_unterminated_with_key_space, "{ key ", [INFO] [stderr] 800 | | dict_unterminated_with_key_colon, "{ key:", [INFO] [stderr] 801 | | dict_unterminated_with_key_colonspace, "{ key: ", [INFO] [stderr] 802 | | dict_missing_value, "{ key }", [INFO] [stderr] 803 | | dict_missing_value_colon, "{ key: }"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:828:53 [INFO] [stderr] | [INFO] [stderr] 828 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"0"` [INFO] [stderr] ... [INFO] [stderr] 838 | / make_number_tests!(Integer, [INFO] [stderr] 839 | | integer_zero, "0", 0, [INFO] [stderr] 840 | | integer_zero_octal, "00", 0, [INFO] [stderr] 841 | | integer_zero_hex, "0x0", 0, [INFO] [stderr] ... | [INFO] [stderr] 845 | | integer_octal, "01744", 0o1744, [INFO] [stderr] 846 | | integer_negative_oct, "-0644", -0o644); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:828:53 [INFO] [stderr] | [INFO] [stderr] 828 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"00"` [INFO] [stderr] ... [INFO] [stderr] 838 | / make_number_tests!(Integer, [INFO] [stderr] 839 | | integer_zero, "0", 0, [INFO] [stderr] 840 | | integer_zero_octal, "00", 0, [INFO] [stderr] 841 | | integer_zero_hex, "0x0", 0, [INFO] [stderr] ... | [INFO] [stderr] 845 | | integer_octal, "01744", 0o1744, [INFO] [stderr] 846 | | integer_negative_oct, "-0644", -0o644); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:828:53 [INFO] [stderr] | [INFO] [stderr] 828 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"0x0"` [INFO] [stderr] ... [INFO] [stderr] 838 | / make_number_tests!(Integer, [INFO] [stderr] 839 | | integer_zero, "0", 0, [INFO] [stderr] 840 | | integer_zero_octal, "00", 0, [INFO] [stderr] 841 | | integer_zero_hex, "0x0", 0, [INFO] [stderr] ... | [INFO] [stderr] 845 | | integer_octal, "01744", 0o1744, [INFO] [stderr] 846 | | integer_negative_oct, "-0644", -0o644); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:828:53 [INFO] [stderr] | [INFO] [stderr] 828 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"-42"` [INFO] [stderr] ... [INFO] [stderr] 838 | / make_number_tests!(Integer, [INFO] [stderr] 839 | | integer_zero, "0", 0, [INFO] [stderr] 840 | | integer_zero_octal, "00", 0, [INFO] [stderr] 841 | | integer_zero_hex, "0x0", 0, [INFO] [stderr] ... | [INFO] [stderr] 845 | | integer_octal, "01744", 0o1744, [INFO] [stderr] 846 | | integer_negative_oct, "-0644", -0o644); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:828:53 [INFO] [stderr] | [INFO] [stderr] 828 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"+42"` [INFO] [stderr] ... [INFO] [stderr] 838 | / make_number_tests!(Integer, [INFO] [stderr] 839 | | integer_zero, "0", 0, [INFO] [stderr] 840 | | integer_zero_octal, "00", 0, [INFO] [stderr] 841 | | integer_zero_hex, "0x0", 0, [INFO] [stderr] ... | [INFO] [stderr] 845 | | integer_octal, "01744", 0o1744, [INFO] [stderr] 846 | | integer_negative_oct, "-0644", -0o644); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:828:53 [INFO] [stderr] | [INFO] [stderr] 828 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"0xCAFE"` [INFO] [stderr] ... [INFO] [stderr] 838 | / make_number_tests!(Integer, [INFO] [stderr] 839 | | integer_zero, "0", 0, [INFO] [stderr] 840 | | integer_zero_octal, "00", 0, [INFO] [stderr] 841 | | integer_zero_hex, "0x0", 0, [INFO] [stderr] ... | [INFO] [stderr] 845 | | integer_octal, "01744", 0o1744, [INFO] [stderr] 846 | | integer_negative_oct, "-0644", -0o644); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:828:53 [INFO] [stderr] | [INFO] [stderr] 828 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"01744"` [INFO] [stderr] ... [INFO] [stderr] 838 | / make_number_tests!(Integer, [INFO] [stderr] 839 | | integer_zero, "0", 0, [INFO] [stderr] 840 | | integer_zero_octal, "00", 0, [INFO] [stderr] 841 | | integer_zero_hex, "0x0", 0, [INFO] [stderr] ... | [INFO] [stderr] 845 | | integer_octal, "01744", 0o1744, [INFO] [stderr] 846 | | integer_negative_oct, "-0644", -0o644); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:828:53 [INFO] [stderr] | [INFO] [stderr] 828 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"-0644"` [INFO] [stderr] ... [INFO] [stderr] 838 | / make_number_tests!(Integer, [INFO] [stderr] 839 | | integer_zero, "0", 0, [INFO] [stderr] 840 | | integer_zero_octal, "00", 0, [INFO] [stderr] 841 | | integer_zero_hex, "0x0", 0, [INFO] [stderr] ... | [INFO] [stderr] 845 | | integer_octal, "01744", 0o1744, [INFO] [stderr] 846 | | integer_negative_oct, "-0644", -0o644); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:828:53 [INFO] [stderr] | [INFO] [stderr] 828 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"0.0"` [INFO] [stderr] ... [INFO] [stderr] 848 | / make_number_tests!(Float, [INFO] [stderr] 849 | | float_zero, "0.0", 0f64, [INFO] [stderr] 850 | | float_zero_exp, "0e0", 0f64, [INFO] [stderr] 851 | | float_zero_negative, "-0.0", -0f64, [INFO] [stderr] 852 | | float_exp_negative, "1e-0", 1e-0_f64, [INFO] [stderr] 853 | | float_negative_exp_negative, "-1e-0", -1e0_f64); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/parser.rs:848:5 [INFO] [stderr] | [INFO] [stderr] 848 | / make_number_tests!(Float, [INFO] [stderr] 849 | | float_zero, "0.0", 0f64, [INFO] [stderr] 850 | | float_zero_exp, "0e0", 0f64, [INFO] [stderr] 851 | | float_zero_negative, "-0.0", -0f64, [INFO] [stderr] 852 | | float_exp_negative, "1e-0", 1e-0_f64, [INFO] [stderr] 853 | | float_negative_exp_negative, "-1e-0", -1e0_f64); [INFO] [stderr] | |_______________________________________________________________________^ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/parser.rs:848:5 [INFO] [stderr] | [INFO] [stderr] 848 | / make_number_tests!(Float, [INFO] [stderr] 849 | | float_zero, "0.0", 0f64, [INFO] [stderr] 850 | | float_zero_exp, "0e0", 0f64, [INFO] [stderr] 851 | | float_zero_negative, "-0.0", -0f64, [INFO] [stderr] 852 | | float_exp_negative, "1e-0", 1e-0_f64, [INFO] [stderr] 853 | | float_negative_exp_negative, "-1e-0", -1e0_f64); [INFO] [stderr] | |_______________________________________________________________________^ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:828:53 [INFO] [stderr] | [INFO] [stderr] 828 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"0e0"` [INFO] [stderr] ... [INFO] [stderr] 848 | / make_number_tests!(Float, [INFO] [stderr] 849 | | float_zero, "0.0", 0f64, [INFO] [stderr] 850 | | float_zero_exp, "0e0", 0f64, [INFO] [stderr] 851 | | float_zero_negative, "-0.0", -0f64, [INFO] [stderr] 852 | | float_exp_negative, "1e-0", 1e-0_f64, [INFO] [stderr] 853 | | float_negative_exp_negative, "-1e-0", -1e0_f64); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/parser.rs:848:5 [INFO] [stderr] | [INFO] [stderr] 848 | / make_number_tests!(Float, [INFO] [stderr] 849 | | float_zero, "0.0", 0f64, [INFO] [stderr] 850 | | float_zero_exp, "0e0", 0f64, [INFO] [stderr] 851 | | float_zero_negative, "-0.0", -0f64, [INFO] [stderr] 852 | | float_exp_negative, "1e-0", 1e-0_f64, [INFO] [stderr] 853 | | float_negative_exp_negative, "-1e-0", -1e0_f64); [INFO] [stderr] | |_______________________________________________________________________^ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/parser.rs:848:5 [INFO] [stderr] | [INFO] [stderr] 848 | / make_number_tests!(Float, [INFO] [stderr] 849 | | float_zero, "0.0", 0f64, [INFO] [stderr] 850 | | float_zero_exp, "0e0", 0f64, [INFO] [stderr] 851 | | float_zero_negative, "-0.0", -0f64, [INFO] [stderr] 852 | | float_exp_negative, "1e-0", 1e-0_f64, [INFO] [stderr] 853 | | float_negative_exp_negative, "-1e-0", -1e0_f64); [INFO] [stderr] | |_______________________________________________________________________^ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:828:53 [INFO] [stderr] | [INFO] [stderr] 828 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"-0.0"` [INFO] [stderr] ... [INFO] [stderr] 848 | / make_number_tests!(Float, [INFO] [stderr] 849 | | float_zero, "0.0", 0f64, [INFO] [stderr] 850 | | float_zero_exp, "0e0", 0f64, [INFO] [stderr] 851 | | float_zero_negative, "-0.0", -0f64, [INFO] [stderr] 852 | | float_exp_negative, "1e-0", 1e-0_f64, [INFO] [stderr] 853 | | float_negative_exp_negative, "-1e-0", -1e0_f64); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/parser.rs:848:5 [INFO] [stderr] | [INFO] [stderr] 848 | / make_number_tests!(Float, [INFO] [stderr] 849 | | float_zero, "0.0", 0f64, [INFO] [stderr] 850 | | float_zero_exp, "0e0", 0f64, [INFO] [stderr] 851 | | float_zero_negative, "-0.0", -0f64, [INFO] [stderr] 852 | | float_exp_negative, "1e-0", 1e-0_f64, [INFO] [stderr] 853 | | float_negative_exp_negative, "-1e-0", -1e0_f64); [INFO] [stderr] | |_______________________________________________________________________^ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/parser.rs:848:5 [INFO] [stderr] | [INFO] [stderr] 848 | / make_number_tests!(Float, [INFO] [stderr] 849 | | float_zero, "0.0", 0f64, [INFO] [stderr] 850 | | float_zero_exp, "0e0", 0f64, [INFO] [stderr] 851 | | float_zero_negative, "-0.0", -0f64, [INFO] [stderr] 852 | | float_exp_negative, "1e-0", 1e-0_f64, [INFO] [stderr] 853 | | float_negative_exp_negative, "-1e-0", -1e0_f64); [INFO] [stderr] | |_______________________________________________________________________^ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:828:53 [INFO] [stderr] | [INFO] [stderr] 828 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"1e-0"` [INFO] [stderr] ... [INFO] [stderr] 848 | / make_number_tests!(Float, [INFO] [stderr] 849 | | float_zero, "0.0", 0f64, [INFO] [stderr] 850 | | float_zero_exp, "0e0", 0f64, [INFO] [stderr] 851 | | float_zero_negative, "-0.0", -0f64, [INFO] [stderr] 852 | | float_exp_negative, "1e-0", 1e-0_f64, [INFO] [stderr] 853 | | float_negative_exp_negative, "-1e-0", -1e0_f64); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/parser.rs:848:5 [INFO] [stderr] | [INFO] [stderr] 848 | / make_number_tests!(Float, [INFO] [stderr] 849 | | float_zero, "0.0", 0f64, [INFO] [stderr] 850 | | float_zero_exp, "0e0", 0f64, [INFO] [stderr] 851 | | float_zero_negative, "-0.0", -0f64, [INFO] [stderr] 852 | | float_exp_negative, "1e-0", 1e-0_f64, [INFO] [stderr] 853 | | float_negative_exp_negative, "-1e-0", -1e0_f64); [INFO] [stderr] | |_______________________________________________________________________^ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/parser.rs:848:5 [INFO] [stderr] | [INFO] [stderr] 848 | / make_number_tests!(Float, [INFO] [stderr] 849 | | float_zero, "0.0", 0f64, [INFO] [stderr] 850 | | float_zero_exp, "0e0", 0f64, [INFO] [stderr] 851 | | float_zero_negative, "-0.0", -0f64, [INFO] [stderr] 852 | | float_exp_negative, "1e-0", 1e-0_f64, [INFO] [stderr] 853 | | float_negative_exp_negative, "-1e-0", -1e0_f64); [INFO] [stderr] | |_______________________________________________________________________^ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:828:53 [INFO] [stderr] | [INFO] [stderr] 828 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"-1e-0"` [INFO] [stderr] ... [INFO] [stderr] 848 | / make_number_tests!(Float, [INFO] [stderr] 849 | | float_zero, "0.0", 0f64, [INFO] [stderr] 850 | | float_zero_exp, "0e0", 0f64, [INFO] [stderr] 851 | | float_zero_negative, "-0.0", -0f64, [INFO] [stderr] 852 | | float_exp_negative, "1e-0", 1e-0_f64, [INFO] [stderr] 853 | | float_negative_exp_negative, "-1e-0", -1e0_f64); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/parser.rs:848:5 [INFO] [stderr] | [INFO] [stderr] 848 | / make_number_tests!(Float, [INFO] [stderr] 849 | | float_zero, "0.0", 0f64, [INFO] [stderr] 850 | | float_zero_exp, "0e0", 0f64, [INFO] [stderr] 851 | | float_zero_negative, "-0.0", -0f64, [INFO] [stderr] 852 | | float_exp_negative, "1e-0", 1e-0_f64, [INFO] [stderr] 853 | | float_negative_exp_negative, "-1e-0", -1e0_f64); [INFO] [stderr] | |_______________________________________________________________________^ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/parser.rs:848:5 [INFO] [stderr] | [INFO] [stderr] 848 | / make_number_tests!(Float, [INFO] [stderr] 849 | | float_zero, "0.0", 0f64, [INFO] [stderr] 850 | | float_zero_exp, "0e0", 0f64, [INFO] [stderr] 851 | | float_zero_negative, "-0.0", -0f64, [INFO] [stderr] 852 | | float_exp_negative, "1e-0", 1e-0_f64, [INFO] [stderr] 853 | | float_negative_exp_negative, "-1e-0", -1e0_f64); [INFO] [stderr] | |_______________________________________________________________________^ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:861:57 [INFO] [stderr] | [INFO] [stderr] 861 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"NaN"` [INFO] [stderr] ... [INFO] [stderr] 868 | make_exotic_float_tests!(is_nan, float_nan, "NaN", "nan", "NAN", "nAn", "nAN", "Nan"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:861:57 [INFO] [stderr] | [INFO] [stderr] 861 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"nan"` [INFO] [stderr] ... [INFO] [stderr] 868 | make_exotic_float_tests!(is_nan, float_nan, "NaN", "nan", "NAN", "nAn", "nAN", "Nan"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:861:57 [INFO] [stderr] | [INFO] [stderr] 861 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"NAN"` [INFO] [stderr] ... [INFO] [stderr] 868 | make_exotic_float_tests!(is_nan, float_nan, "NaN", "nan", "NAN", "nAn", "nAN", "Nan"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:861:57 [INFO] [stderr] | [INFO] [stderr] 861 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"nAn"` [INFO] [stderr] ... [INFO] [stderr] 868 | make_exotic_float_tests!(is_nan, float_nan, "NaN", "nan", "NAN", "nAn", "nAN", "Nan"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:861:57 [INFO] [stderr] | [INFO] [stderr] 861 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"nAN"` [INFO] [stderr] ... [INFO] [stderr] 868 | make_exotic_float_tests!(is_nan, float_nan, "NaN", "nan", "NAN", "nAn", "nAN", "Nan"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:861:57 [INFO] [stderr] | [INFO] [stderr] 861 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"Nan"` [INFO] [stderr] ... [INFO] [stderr] 868 | make_exotic_float_tests!(is_nan, float_nan, "NaN", "nan", "NAN", "nAn", "nAN", "Nan"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:861:57 [INFO] [stderr] | [INFO] [stderr] 861 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"Inf"` [INFO] [stderr] ... [INFO] [stderr] 869 | / make_exotic_float_tests!(is_infinite, float_inf, "Inf", "inf", "iNf", "iNF", [INFO] [stderr] 870 | | "Infinity", "infinity", "iNfInItY", "iNFiniTy"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:861:57 [INFO] [stderr] | [INFO] [stderr] 861 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"inf"` [INFO] [stderr] ... [INFO] [stderr] 869 | / make_exotic_float_tests!(is_infinite, float_inf, "Inf", "inf", "iNf", "iNF", [INFO] [stderr] 870 | | "Infinity", "infinity", "iNfInItY", "iNFiniTy"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:861:57 [INFO] [stderr] | [INFO] [stderr] 861 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"iNf"` [INFO] [stderr] ... [INFO] [stderr] 869 | / make_exotic_float_tests!(is_infinite, float_inf, "Inf", "inf", "iNf", "iNF", [INFO] [stderr] 870 | | "Infinity", "infinity", "iNfInItY", "iNFiniTy"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:861:57 [INFO] [stderr] | [INFO] [stderr] 861 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"iNF"` [INFO] [stderr] ... [INFO] [stderr] 869 | / make_exotic_float_tests!(is_infinite, float_inf, "Inf", "inf", "iNf", "iNF", [INFO] [stderr] 870 | | "Infinity", "infinity", "iNfInItY", "iNFiniTy"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:861:57 [INFO] [stderr] | [INFO] [stderr] 861 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"Infinity"` [INFO] [stderr] ... [INFO] [stderr] 869 | / make_exotic_float_tests!(is_infinite, float_inf, "Inf", "inf", "iNf", "iNF", [INFO] [stderr] 870 | | "Infinity", "infinity", "iNfInItY", "iNFiniTy"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:861:57 [INFO] [stderr] | [INFO] [stderr] 861 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"infinity"` [INFO] [stderr] ... [INFO] [stderr] 869 | / make_exotic_float_tests!(is_infinite, float_inf, "Inf", "inf", "iNf", "iNF", [INFO] [stderr] 870 | | "Infinity", "infinity", "iNfInItY", "iNFiniTy"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:861:57 [INFO] [stderr] | [INFO] [stderr] 861 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"iNfInItY"` [INFO] [stderr] ... [INFO] [stderr] 869 | / make_exotic_float_tests!(is_infinite, float_inf, "Inf", "inf", "iNf", "iNF", [INFO] [stderr] 870 | | "Infinity", "infinity", "iNfInItY", "iNFiniTy"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:861:57 [INFO] [stderr] | [INFO] [stderr] 861 | let mut p = Parser::new(Cursor::new($str.as_bytes()).bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"iNFiniTy"` [INFO] [stderr] ... [INFO] [stderr] 869 | / make_exotic_float_tests!(is_infinite, float_inf, "Inf", "inf", "iNf", "iNF", [INFO] [stderr] 870 | | "Infinity", "infinity", "iNfInItY", "iNFiniTy"); [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#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/writer.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | try!(writer.write(b"\n")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/writer.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | try!(writer.write(b"\n")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/writer.rs:183:28 [INFO] [stderr] | [INFO] [stderr] 183 | if !s.contains(".") { [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/writer.rs:196:39 [INFO] [stderr] | [INFO] [stderr] 196 | fn write_string(&mut self, value: &String) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/writer.rs:213:37 [INFO] [stderr] | [INFO] [stderr] 213 | fn write_list(&mut self, value: &Vec) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Value]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [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/writer.rs:225:21 [INFO] [stderr] | [INFO] [stderr] 225 | / match iter.peek () { [INFO] [stderr] 226 | | Some(_) => [INFO] [stderr] 227 | | try!(self.format.item_separator(&mut self.writer, value)), [INFO] [stderr] 228 | | None => (), [INFO] [stderr] 229 | | } [INFO] [stderr] | |_____________________^ help: try this: `if let Some(_) = iter.peek () { try!(self.format.item_separator(&mut self.writer, value)) }` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/writer.rs:256:21 [INFO] [stderr] | [INFO] [stderr] 256 | / match iter.peek () { [INFO] [stderr] 257 | | Some(&(_, ref value)) => [INFO] [stderr] 258 | | try!(self.format.item_separator(&mut self.writer, value)), [INFO] [stderr] 259 | | None => (), [INFO] [stderr] 260 | | } [INFO] [stderr] | |_____________________^ help: try this: `if let Some(&(_, ref value)) = iter.peek () { try!(self.format.item_separator(&mut self.writer, value)) }` [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] error: aborting due to 7 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `hipack`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "00d445f529d36ba616ad92c5e5e23f2ae1285f570924b5b0b407f14dfa098edb"` [INFO] running `"docker" "rm" "-f" "00d445f529d36ba616ad92c5e5e23f2ae1285f570924b5b0b407f14dfa098edb"` [INFO] [stdout] 00d445f529d36ba616ad92c5e5e23f2ae1285f570924b5b0b407f14dfa098edb