[INFO] crate tomllib 0.1.2 is already in cache [INFO] extracting crate tomllib 0.1.2 into work/ex/clippy-test-run/sources/stable/reg/tomllib/0.1.2 [INFO] extracting crate tomllib 0.1.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/tomllib/0.1.2 [INFO] validating manifest of tomllib-0.1.2 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 tomllib-0.1.2 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 tomllib-0.1.2 [INFO] finished frobbing tomllib-0.1.2 [INFO] frobbed toml for tomllib-0.1.2 written to work/ex/clippy-test-run/sources/stable/reg/tomllib/0.1.2/Cargo.toml [INFO] started frobbing tomllib-0.1.2 [INFO] finished frobbing tomllib-0.1.2 [INFO] frobbed toml for tomllib-0.1.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/tomllib/0.1.2/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 tomllib-0.1.2 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/tomllib/0.1.2:/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] e757ec3937048f21c32241c5b8cc60ed9886f2a6f5bc5fcad4849a9561155900 [INFO] running `"docker" "start" "-a" "e757ec3937048f21c32241c5b8cc60ed9886f2a6f5bc5fcad4849a9561155900"` [INFO] [stderr] Checking pirate v1.0.0 [INFO] [stderr] Checking csv v0.14.7 [INFO] [stderr] Checking nom v1.2.4 [INFO] [stderr] Checking tomllib v0.1.2 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/internals/ast/structs.rs:49:10 [INFO] [stderr] | [INFO] [stderr] 49 | Toml{exprs: exprs} [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `exprs` [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/internals/ast/structs.rs:75:33 [INFO] [stderr] | [INFO] [stderr] 75 | NLExpression{nl: nl.into(), expr: expr} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `expr` [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/internals/ast/structs.rs:78:33 [INFO] [stderr] | [INFO] [stderr] 78 | NLExpression{nl: nl.into(), expr: expr} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `expr` [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/internals/ast/structs.rs:121:16 [INFO] [stderr] | [INFO] [stderr] 121 | Expression{ws: ws, keyval: keyval, table: table, comment: comment} [INFO] [stderr] | ^^^^^^ help: replace it with: `ws` [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/internals/ast/structs.rs:121:24 [INFO] [stderr] | [INFO] [stderr] 121 | Expression{ws: ws, keyval: keyval, table: table, comment: comment} [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `keyval` [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/internals/ast/structs.rs:121:40 [INFO] [stderr] | [INFO] [stderr] 121 | Expression{ws: ws, keyval: keyval, table: table, comment: comment} [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `table` [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/internals/ast/structs.rs:121:54 [INFO] [stderr] | [INFO] [stderr] 121 | Expression{ws: ws, keyval: keyval, table: table, comment: comment} [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `comment` [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/internals/ast/structs.rs:365:31 [INFO] [stderr] | [INFO] [stderr] 365 | KeyVal{key: key.into(), keyval_sep: keyval_sep, val: val} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `keyval_sep` [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/internals/ast/structs.rs:365:55 [INFO] [stderr] | [INFO] [stderr] 365 | KeyVal{key: key.into(), keyval_sep: keyval_sep, val: val} [INFO] [stderr] | ^^^^^^^^ help: replace it with: `val` [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/internals/ast/structs.rs:368:31 [INFO] [stderr] | [INFO] [stderr] 368 | KeyVal{key: key.into(), keyval_sep: keyval_sep, val: val} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `keyval_sep` [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/internals/ast/structs.rs:368:55 [INFO] [stderr] | [INFO] [stderr] 368 | KeyVal{key: key.into(), keyval_sep: keyval_sep, val: val} [INFO] [stderr] | ^^^^^^^^ help: replace it with: `val` [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/internals/ast/structs.rs:395:16 [INFO] [stderr] | [INFO] [stderr] 395 | WSKeySep{ws: ws, key: key.into()} [INFO] [stderr] | ^^^^^^ help: replace it with: `ws` [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/internals/ast/structs.rs:398:16 [INFO] [stderr] | [INFO] [stderr] 398 | WSKeySep{ws: ws, key: key.into()} [INFO] [stderr] | ^^^^^^ help: replace it with: `ws` [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/internals/ast/structs.rs:536:52 [INFO] [stderr] | [INFO] [stderr] 536 | CommentNewLines{pre_ws_nl: pre_ws_nl.into(), comment: comment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `comment` [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/internals/ast/structs.rs:541:52 [INFO] [stderr] | [INFO] [stderr] 541 | CommentNewLines{pre_ws_nl: pre_ws_nl.into(), comment: comment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `comment` [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/internals/ast/structs.rs:582:35 [INFO] [stderr] | [INFO] [stderr] 582 | fraction: Some(s.into()), offset: offset} [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `offset` [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/internals/ast/structs.rs:585:25 [INFO] [stderr] | [INFO] [stderr] 585 | fraction: None, offset: offset} [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `offset` [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/internals/ast/structs.rs:640:16 [INFO] [stderr] | [INFO] [stderr] 640 | ArrayValue{val: val, array_sep: array_sep, comment_nls: comment_nls} [INFO] [stderr] | ^^^^^^^^ help: replace it with: `val` [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/internals/ast/structs.rs:640:26 [INFO] [stderr] | [INFO] [stderr] 640 | ArrayValue{val: val, array_sep: array_sep, comment_nls: comment_nls} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `array_sep` [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/internals/ast/structs.rs:640:48 [INFO] [stderr] | [INFO] [stderr] 640 | ArrayValue{val: val, array_sep: array_sep, comment_nls: comment_nls} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `comment_nls` [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/internals/ast/structs.rs:643:16 [INFO] [stderr] | [INFO] [stderr] 643 | ArrayValue{val: val, array_sep: Some(WSSep::new_str("", " ")), comment_nls: vec![]} [INFO] [stderr] | ^^^^^^^^ help: replace it with: `val` [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/internals/ast/structs.rs:646:16 [INFO] [stderr] | [INFO] [stderr] 646 | ArrayValue{val: val, array_sep: None, comment_nls: vec![]} [INFO] [stderr] | ^^^^^^^^ help: replace it with: `val` [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/internals/ast/structs.rs:685:11 [INFO] [stderr] | [INFO] [stderr] 685 | Array{values: values, comment_nls1: comment_nls1, comment_nls2: comment_nls2} [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `values` [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/internals/ast/structs.rs:685:27 [INFO] [stderr] | [INFO] [stderr] 685 | Array{values: values, comment_nls1: comment_nls1, comment_nls2: comment_nls2} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `comment_nls1` [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/internals/ast/structs.rs:685:55 [INFO] [stderr] | [INFO] [stderr] 685 | Array{values: values, comment_nls1: comment_nls1, comment_nls2: comment_nls2} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `comment_nls2` [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/internals/ast/structs.rs:727:19 [INFO] [stderr] | [INFO] [stderr] 727 | TableKeyVal{keyval: keyval, kv_sep: kv_sep, comment_nls: comment_nls} [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `keyval` [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/internals/ast/structs.rs:727:35 [INFO] [stderr] | [INFO] [stderr] 727 | TableKeyVal{keyval: keyval, kv_sep: kv_sep, comment_nls: comment_nls} [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `kv_sep` [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/internals/ast/structs.rs:727:51 [INFO] [stderr] | [INFO] [stderr] 727 | TableKeyVal{keyval: keyval, kv_sep: kv_sep, comment_nls: comment_nls} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `comment_nls` [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/internals/ast/structs.rs:731:19 [INFO] [stderr] | [INFO] [stderr] 731 | TableKeyVal{keyval: keyval, kv_sep: Some(WSSep::new_str("", " ")), comment_nls: vec![]} [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `keyval` [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/internals/ast/structs.rs:735:19 [INFO] [stderr] | [INFO] [stderr] 735 | TableKeyVal{keyval: keyval, kv_sep: None, comment_nls: vec![]} [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `keyval` [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/internals/ast/structs.rs:768:17 [INFO] [stderr] | [INFO] [stderr] 768 | InlineTable{keyvals: keyvals, ws: ws} [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `keyvals` [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/internals/ast/structs.rs:768:35 [INFO] [stderr] | [INFO] [stderr] 768 | InlineTable{keyvals: keyvals, ws: ws} [INFO] [stderr] | ^^^^^^ help: replace it with: `ws` [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/internals/parser.rs:35:56 [INFO] [stderr] | [INFO] [stderr] 35 | Parser{ root: RefCell::new(Toml{ exprs: vec![] }), map: map, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `map` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/types.rs:469:9 [INFO] [stderr] | [INFO] [stderr] 469 | let s = format!("{:0>2}", second); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/types.rs:525:9 [INFO] [stderr] | [INFO] [stderr] 525 | let s = format!("{:0>2}", second); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/types.rs:526:9 [INFO] [stderr] | [INFO] [stderr] 526 | let f = format!("{}", frac); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/types.rs:583:9 [INFO] [stderr] | [INFO] [stderr] 583 | let s = format!("{:0>2}", second); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/types.rs:655:9 [INFO] [stderr] | [INFO] [stderr] 655 | let s = format!("{:0>2}", second); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/types.rs:713:9 [INFO] [stderr] | [INFO] [stderr] 713 | let s = format!("{:0>2}", second); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/types.rs:714:9 [INFO] [stderr] | [INFO] [stderr] 714 | let f = format!("{}", frac); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/types.rs:775:9 [INFO] [stderr] | [INFO] [stderr] 775 | let s = format!("{:0>2}", second); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/types.rs:776:9 [INFO] [stderr] | [INFO] [stderr] 776 | let f = format!("{}", frac); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/types.rs:1347:42 [INFO] [stderr] | [INFO] [stderr] 1347 | fraction: Some(s.into().into()), offset: offset}; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `offset` [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/types.rs:1355:25 [INFO] [stderr] | [INFO] [stderr] 1355 | fraction: None, offset: offset}; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `offset` [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/types.rs:1447:14 [INFO] [stderr] | [INFO] [stderr] 1447 | DateTime{date: date, time: time} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `date` [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/types.rs:1447:26 [INFO] [stderr] | [INFO] [stderr] 1447 | DateTime{date: date, time: time} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `time` [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/internals/ast/structs.rs:49:10 [INFO] [stderr] | [INFO] [stderr] 49 | Toml{exprs: exprs} [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `exprs` [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/internals/ast/structs.rs:75:33 [INFO] [stderr] | [INFO] [stderr] 75 | NLExpression{nl: nl.into(), expr: expr} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `expr` [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/internals/ast/structs.rs:78:33 [INFO] [stderr] | [INFO] [stderr] 78 | NLExpression{nl: nl.into(), expr: expr} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `expr` [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/internals/ast/structs.rs:121:16 [INFO] [stderr] | [INFO] [stderr] 121 | Expression{ws: ws, keyval: keyval, table: table, comment: comment} [INFO] [stderr] | ^^^^^^ help: replace it with: `ws` [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/internals/ast/structs.rs:121:24 [INFO] [stderr] | [INFO] [stderr] 121 | Expression{ws: ws, keyval: keyval, table: table, comment: comment} [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `keyval` [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/internals/ast/structs.rs:121:40 [INFO] [stderr] | [INFO] [stderr] 121 | Expression{ws: ws, keyval: keyval, table: table, comment: comment} [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `table` [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/internals/ast/structs.rs:121:54 [INFO] [stderr] | [INFO] [stderr] 121 | Expression{ws: ws, keyval: keyval, table: table, comment: comment} [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `comment` [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/internals/ast/structs.rs:365:31 [INFO] [stderr] | [INFO] [stderr] 365 | KeyVal{key: key.into(), keyval_sep: keyval_sep, val: val} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `keyval_sep` [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/internals/ast/structs.rs:365:55 [INFO] [stderr] | [INFO] [stderr] 365 | KeyVal{key: key.into(), keyval_sep: keyval_sep, val: val} [INFO] [stderr] | ^^^^^^^^ help: replace it with: `val` [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/internals/ast/structs.rs:368:31 [INFO] [stderr] | [INFO] [stderr] 368 | KeyVal{key: key.into(), keyval_sep: keyval_sep, val: val} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `keyval_sep` [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/internals/ast/structs.rs:368:55 [INFO] [stderr] | [INFO] [stderr] 368 | KeyVal{key: key.into(), keyval_sep: keyval_sep, val: val} [INFO] [stderr] | ^^^^^^^^ help: replace it with: `val` [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/internals/ast/structs.rs:395:16 [INFO] [stderr] | [INFO] [stderr] 395 | WSKeySep{ws: ws, key: key.into()} [INFO] [stderr] | ^^^^^^ help: replace it with: `ws` [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/internals/ast/structs.rs:398:16 [INFO] [stderr] | [INFO] [stderr] 398 | WSKeySep{ws: ws, key: key.into()} [INFO] [stderr] | ^^^^^^ help: replace it with: `ws` [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/internals/ast/structs.rs:536:52 [INFO] [stderr] | [INFO] [stderr] 536 | CommentNewLines{pre_ws_nl: pre_ws_nl.into(), comment: comment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `comment` [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/internals/ast/structs.rs:541:52 [INFO] [stderr] | [INFO] [stderr] 541 | CommentNewLines{pre_ws_nl: pre_ws_nl.into(), comment: comment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `comment` [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/internals/ast/structs.rs:582:35 [INFO] [stderr] | [INFO] [stderr] 582 | fraction: Some(s.into()), offset: offset} [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `offset` [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/internals/ast/structs.rs:585:25 [INFO] [stderr] | [INFO] [stderr] 585 | fraction: None, offset: offset} [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `offset` [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/internals/ast/structs.rs:640:16 [INFO] [stderr] | [INFO] [stderr] 640 | ArrayValue{val: val, array_sep: array_sep, comment_nls: comment_nls} [INFO] [stderr] | ^^^^^^^^ help: replace it with: `val` [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/internals/ast/structs.rs:640:26 [INFO] [stderr] | [INFO] [stderr] 640 | ArrayValue{val: val, array_sep: array_sep, comment_nls: comment_nls} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `array_sep` [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/internals/ast/structs.rs:640:48 [INFO] [stderr] | [INFO] [stderr] 640 | ArrayValue{val: val, array_sep: array_sep, comment_nls: comment_nls} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `comment_nls` [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/internals/ast/structs.rs:643:16 [INFO] [stderr] | [INFO] [stderr] 643 | ArrayValue{val: val, array_sep: Some(WSSep::new_str("", " ")), comment_nls: vec![]} [INFO] [stderr] | ^^^^^^^^ help: replace it with: `val` [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/internals/ast/structs.rs:646:16 [INFO] [stderr] | [INFO] [stderr] 646 | ArrayValue{val: val, array_sep: None, comment_nls: vec![]} [INFO] [stderr] | ^^^^^^^^ help: replace it with: `val` [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/internals/ast/structs.rs:685:11 [INFO] [stderr] | [INFO] [stderr] 685 | Array{values: values, comment_nls1: comment_nls1, comment_nls2: comment_nls2} [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `values` [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/internals/ast/structs.rs:685:27 [INFO] [stderr] | [INFO] [stderr] 685 | Array{values: values, comment_nls1: comment_nls1, comment_nls2: comment_nls2} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `comment_nls1` [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/internals/ast/structs.rs:685:55 [INFO] [stderr] | [INFO] [stderr] 685 | Array{values: values, comment_nls1: comment_nls1, comment_nls2: comment_nls2} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `comment_nls2` [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/internals/ast/structs.rs:727:19 [INFO] [stderr] | [INFO] [stderr] 727 | TableKeyVal{keyval: keyval, kv_sep: kv_sep, comment_nls: comment_nls} [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `keyval` [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/internals/ast/structs.rs:727:35 [INFO] [stderr] | [INFO] [stderr] 727 | TableKeyVal{keyval: keyval, kv_sep: kv_sep, comment_nls: comment_nls} [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `kv_sep` [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/internals/ast/structs.rs:727:51 [INFO] [stderr] | [INFO] [stderr] 727 | TableKeyVal{keyval: keyval, kv_sep: kv_sep, comment_nls: comment_nls} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `comment_nls` [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/internals/ast/structs.rs:731:19 [INFO] [stderr] | [INFO] [stderr] 731 | TableKeyVal{keyval: keyval, kv_sep: Some(WSSep::new_str("", " ")), comment_nls: vec![]} [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `keyval` [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/internals/ast/structs.rs:735:19 [INFO] [stderr] | [INFO] [stderr] 735 | TableKeyVal{keyval: keyval, kv_sep: None, comment_nls: vec![]} [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `keyval` [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/internals/ast/structs.rs:768:17 [INFO] [stderr] | [INFO] [stderr] 768 | InlineTable{keyvals: keyvals, ws: ws} [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `keyvals` [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/internals/ast/structs.rs:768:35 [INFO] [stderr] | [INFO] [stderr] 768 | InlineTable{keyvals: keyvals, ws: ws} [INFO] [stderr] | ^^^^^^ help: replace it with: `ws` [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/internals/parser.rs:35:56 [INFO] [stderr] | [INFO] [stderr] 35 | Parser{ root: RefCell::new(Toml{ exprs: vec![] }), map: map, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `map` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/types.rs:469:9 [INFO] [stderr] | [INFO] [stderr] 469 | let s = format!("{:0>2}", second); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/types.rs:525:9 [INFO] [stderr] | [INFO] [stderr] 525 | let s = format!("{:0>2}", second); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/types.rs:526:9 [INFO] [stderr] | [INFO] [stderr] 526 | let f = format!("{}", frac); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/types.rs:583:9 [INFO] [stderr] | [INFO] [stderr] 583 | let s = format!("{:0>2}", second); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/types.rs:655:9 [INFO] [stderr] | [INFO] [stderr] 655 | let s = format!("{:0>2}", second); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/types.rs:713:9 [INFO] [stderr] | [INFO] [stderr] 713 | let s = format!("{:0>2}", second); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/types.rs:714:9 [INFO] [stderr] | [INFO] [stderr] 714 | let f = format!("{}", frac); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/types.rs:775:9 [INFO] [stderr] | [INFO] [stderr] 775 | let s = format!("{:0>2}", second); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/types.rs:776:9 [INFO] [stderr] | [INFO] [stderr] 776 | let f = format!("{}", frac); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/types.rs:1347:42 [INFO] [stderr] | [INFO] [stderr] 1347 | fraction: Some(s.into().into()), offset: offset}; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `offset` [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/types.rs:1355:25 [INFO] [stderr] | [INFO] [stderr] 1355 | fraction: None, offset: offset}; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `offset` [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/types.rs:1447:14 [INFO] [stderr] | [INFO] [stderr] 1447 | DateTime{date: date, time: time} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `date` [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/types.rs:1447:26 [INFO] [stderr] | [INFO] [stderr] 1447 | DateTime{date: date, time: time} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `time` [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/internals/macros.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | / macro_rules! call_s( [INFO] [stderr] 17 | | ($i:expr, $method:path) => ( $method( $i ) ); [INFO] [stderr] 18 | | ); [INFO] [stderr] | |__^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/internals/macros.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | / macro_rules! res2opt( [INFO] [stderr] 21 | | ($i:expr) => ( [INFO] [stderr] 22 | | match $i { [INFO] [stderr] 23 | | Result::Ok(t) => Some(t), [INFO] [stderr] ... | [INFO] [stderr] 26 | | ); [INFO] [stderr] 27 | | ); [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/objects.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/objects.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/objects.rs:50:7 [INFO] [stderr] | [INFO] [stderr] 50 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/objects.rs:63:7 [INFO] [stderr] | [INFO] [stderr] 63 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/objects.rs:70:15 [INFO] [stderr] | [INFO] [stderr] 70 | return t1.keys.len() == t2.keys.len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `t1.keys.len() == t2.keys.len()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/objects.rs:193:5 [INFO] [stderr] | [INFO] [stderr] 193 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/internals/objects.rs:561:9 [INFO] [stderr] | [INFO] [stderr] 561 | array_result [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/internals/objects.rs:560:27 [INFO] [stderr] | [INFO] [stderr] 560 | let array_result = Rc::new(RefCell::new(Array::new(array_vals, cn1, cn2))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | return (self, ParseResult::PartialError(leftover, line_count, 0, errors)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self, ParseResult::PartialError(leftover, line_count, 0, errors))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | return (self, ParseResult::Partial(leftover, line_count, 0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self, ParseResult::Partial(leftover, line_count, 0))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | return (self, ParseResult::FullError(errors)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self, ParseResult::FullError(errors))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | return (self, ParseResult::Full); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self, ParseResult::Full)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:124:7 [INFO] [stderr] | [INFO] [stderr] 124 | return Some(&hashval.subkeys); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(&hashval.subkeys)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:206:9 [INFO] [stderr] | [INFO] [stderr] 206 | / return Some(TOMLValue::Array(Rc::new(RefCell::new( [INFO] [stderr] 207 | | Array::new(values, vec![], vec![]) [INFO] [stderr] 208 | | )))); [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 206 | Some(TOMLValue::Array(Rc::new(RefCell::new( [INFO] [stderr] 207 | Array::new(values, vec![], vec![]) [INFO] [stderr] 208 | )))) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:224:9 [INFO] [stderr] | [INFO] [stderr] 224 | / return Some(TOMLValue::InlineTable(Rc::new(RefCell::new( [INFO] [stderr] 225 | | InlineTable::new(key_values, WSSep::new_str(" ", " ")) [INFO] [stderr] 226 | | )))); [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 224 | Some(TOMLValue::InlineTable(Rc::new(RefCell::new( [INFO] [stderr] 225 | InlineTable::new(key_values, WSSep::new_str(" ", " ")) [INFO] [stderr] 226 | )))) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:230:11 [INFO] [stderr] | [INFO] [stderr] 230 | return Some(TOMLValue::Integer(s.clone())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(TOMLValue::Integer(s.clone()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:232:11 [INFO] [stderr] | [INFO] [stderr] 232 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:237:11 [INFO] [stderr] | [INFO] [stderr] 237 | return Some(TOMLValue::Float(s.clone())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(TOMLValue::Float(s.clone()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:239:11 [INFO] [stderr] | [INFO] [stderr] 239 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:242:29 [INFO] [stderr] | [INFO] [stderr] 242 | &Value::Boolean(b) => return Some(TOMLValue::Boolean(b)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(TOMLValue::Boolean(b))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:245:11 [INFO] [stderr] | [INFO] [stderr] 245 | return Some(TOMLValue::DateTime(dt.clone())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(TOMLValue::DateTime(dt.clone()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:247:11 [INFO] [stderr] | [INFO] [stderr] 247 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:252:11 [INFO] [stderr] | [INFO] [stderr] 252 | return Some(TOMLValue::String(s.clone(), st)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(TOMLValue::String(s.clone(), st))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:254:11 [INFO] [stderr] | [INFO] [stderr] 254 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:276:9 [INFO] [stderr] | [INFO] [stderr] 276 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:290:9 [INFO] [stderr] | [INFO] [stderr] 290 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:292:46 [INFO] [stderr] | [INFO] [stderr] 292 | (&TOMLValue::Array(_), _) => return false, // Array replaced with scalar [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:293:46 [INFO] [stderr] | [INFO] [stderr] 293 | (&TOMLValue::InlineTable(_), _) => return false, // InlineTable replaced with scalar [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:294:38 [INFO] [stderr] | [INFO] [stderr] 294 | (_, &Value::Array(_)) => return false, // scalar replaced with an Array [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:295:38 [INFO] [stderr] | [INFO] [stderr] 295 | (_, &Value::InlineTable(_)) => return false, // scalar replaced with an InlineTable [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:296:42 [INFO] [stderr] | [INFO] [stderr] 296 | (_,_) => return true, // scalar replaced with any other scalar [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:401:5 [INFO] [stderr] | [INFO] [stderr] 401 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:417:5 [INFO] [stderr] | [INFO] [stderr] 417 | return Value::InlineTable(Rc::new(result)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Value::InlineTable(Rc::new(result))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/primitives.rs:211:5 [INFO] [stderr] | [INFO] [stderr] 211 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/primitives.rs:239:5 [INFO] [stderr] | [INFO] [stderr] 239 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/primitives.rs:260:5 [INFO] [stderr] | [INFO] [stderr] 260 | return (key, parent_key); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(key, parent_key)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/primitives.rs:283:5 [INFO] [stderr] | [INFO] [stderr] 283 | return (valid, full_key, parent_key); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(valid, full_key, parent_key)` [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: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/internals/primitives.rs:609:11 [INFO] [stderr] | [INFO] [stderr] 609 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/internals/primitives.rs:608:21 [INFO] [stderr] | [INFO] [stderr] 608 | let res = DateTime::new(date, time); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:197:5 [INFO] [stderr] | [INFO] [stderr] 197 | return full_key; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `full_key` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:266:5 [INFO] [stderr] | [INFO] [stderr] 266 | return all_keys; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `all_keys` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:342:7 [INFO] [stderr] | [INFO] [stderr] 342 | return Result::Ok(result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Ok(result)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:344:7 [INFO] [stderr] | [INFO] [stderr] 344 | return Result::Err(TOMLError::new(format!("Error parsing int. Argument: {}", int.into()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Err(TOMLError::new(format!("Error parsing int. Argument: {}", int.into())))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:376:7 [INFO] [stderr] | [INFO] [stderr] 376 | return Result::Ok(result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Ok(result)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:378:7 [INFO] [stderr] | [INFO] [stderr] 378 | return Result::Err(TOMLError::new(format!("Error parsing float. Argument: {}", float.into()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Err(TOMLError::new(format!("Error parsing float. Argument: {}", float.into())))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:402:7 [INFO] [stderr] | [INFO] [stderr] 402 | / return Result::Err(TOMLError::new( [INFO] [stderr] 403 | | format!("Error parsing bool. Argument: {}", b.into()) [INFO] [stderr] 404 | | )) [INFO] [stderr] | |________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 402 | Result::Err(TOMLError::new( [INFO] [stderr] 403 | format!("Error parsing bool. Argument: {}", b.into()) [INFO] [stderr] 404 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:850:11 [INFO] [stderr] | [INFO] [stderr] 850 | return Result::Err(TOMLError::new(format!("Error parsing string as datetime. Argument: {}", datetime))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Err(TOMLError::new(format!("Error parsing string as datetime. Argument: {}", datetime)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:852:11 [INFO] [stderr] | [INFO] [stderr] 852 | return Result::Ok(result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Ok(result)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:855:16 [INFO] [stderr] | [INFO] [stderr] 855 | (_,_) => return Result::Err(TOMLError::new(format!("Error parsing string as datetime. Argument: {}", datetime))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Err(TOMLError::new(format!("Error parsing string as datetime. Argument: {}", datetime)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:872:7 [INFO] [stderr] | [INFO] [stderr] 872 | return Result::Ok(result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Ok(result)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:874:7 [INFO] [stderr] | [INFO] [stderr] 874 | return Result::Err(TOMLError::new(format!("Error parsing string as basic_string. Argument: {}", s.into()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Err(TOMLError::new(format!("Error parsing string as basic_string. Argument: {}", s.into())))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:891:7 [INFO] [stderr] | [INFO] [stderr] 891 | return Result::Ok(result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Ok(result)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:893:7 [INFO] [stderr] | [INFO] [stderr] 893 | return Result::Err(TOMLError::new(format!("Error parsing string as ml_basic_string. Argument: {}", s.into()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Err(TOMLError::new(format!("Error parsing string as ml_basic_string. Argument: {}", s.into())))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:910:7 [INFO] [stderr] | [INFO] [stderr] 910 | return Result::Ok(result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Ok(result)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:912:7 [INFO] [stderr] | [INFO] [stderr] 912 | return Result::Err(TOMLError::new(format!("Error parsing string as literal_string. Argument: {}", s.into()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Err(TOMLError::new(format!("Error parsing string as literal_string. Argument: {}", s.into())))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:930:7 [INFO] [stderr] | [INFO] [stderr] 930 | return Result::Ok(result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Ok(result)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:932:7 [INFO] [stderr] | [INFO] [stderr] 932 | return Result::Err(TOMLError::new(format!("Error parsing string as ml_literal_string. Argument: {}", s.into()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Err(TOMLError::new(format!("Error parsing string as ml_literal_string. Argument: {}", s.into())))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1092:28 [INFO] [stderr] | [INFO] [stderr] 1092 | &TimeOffset::Zulu => return true, [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1093:40 [INFO] [stderr] | [INFO] [stderr] 1093 | &TimeOffset::Time(ref amount) => return amount.validate(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `amount.validate()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1141:7 [INFO] [stderr] | [INFO] [stderr] 1141 | return Result::Ok(offset); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Ok(offset)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1143:7 [INFO] [stderr] | [INFO] [stderr] 1143 | return Result::Err(TOMLError::new("Error validating TimeOffsetAmount.".to_string())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Err(TOMLError::new("Error validating TimeOffsetAmount.".to_string()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1163:5 [INFO] [stderr] | [INFO] [stderr] 1163 | return self.validate_numbers(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.validate_numbers()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1181:5 [INFO] [stderr] | [INFO] [stderr] 1181 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1247:5 [INFO] [stderr] | [INFO] [stderr] 1247 | return self.validate_numbers(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.validate_numbers()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1293:5 [INFO] [stderr] | [INFO] [stderr] 1293 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1382:5 [INFO] [stderr] | [INFO] [stderr] 1382 | return self.validate_numbers(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.validate_numbers()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1417:5 [INFO] [stderr] | [INFO] [stderr] 1417 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1470:5 [INFO] [stderr] | [INFO] [stderr] 1470 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/internals/macros.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | / macro_rules! call_s( [INFO] [stderr] 17 | | ($i:expr, $method:path) => ( $method( $i ) ); [INFO] [stderr] 18 | | ); [INFO] [stderr] | |__^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/objects.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/objects.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/objects.rs:50:7 [INFO] [stderr] | [INFO] [stderr] 50 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/objects.rs:63:7 [INFO] [stderr] | [INFO] [stderr] 63 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/objects.rs:70:15 [INFO] [stderr] | [INFO] [stderr] 70 | return t1.keys.len() == t2.keys.len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `t1.keys.len() == t2.keys.len()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/objects.rs:193:5 [INFO] [stderr] | [INFO] [stderr] 193 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/internals/objects.rs:561:9 [INFO] [stderr] | [INFO] [stderr] 561 | array_result [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/internals/objects.rs:560:27 [INFO] [stderr] | [INFO] [stderr] 560 | let array_result = Rc::new(RefCell::new(Array::new(array_vals, cn1, cn2))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | return (self, ParseResult::PartialError(leftover, line_count, 0, errors)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self, ParseResult::PartialError(leftover, line_count, 0, errors))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | return (self, ParseResult::Partial(leftover, line_count, 0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self, ParseResult::Partial(leftover, line_count, 0))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | return (self, ParseResult::FullError(errors)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self, ParseResult::FullError(errors))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | return (self, ParseResult::Full); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self, ParseResult::Full)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:124:7 [INFO] [stderr] | [INFO] [stderr] 124 | return Some(&hashval.subkeys); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(&hashval.subkeys)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:206:9 [INFO] [stderr] | [INFO] [stderr] 206 | / return Some(TOMLValue::Array(Rc::new(RefCell::new( [INFO] [stderr] 207 | | Array::new(values, vec![], vec![]) [INFO] [stderr] 208 | | )))); [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 206 | Some(TOMLValue::Array(Rc::new(RefCell::new( [INFO] [stderr] 207 | Array::new(values, vec![], vec![]) [INFO] [stderr] 208 | )))) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:224:9 [INFO] [stderr] | [INFO] [stderr] 224 | / return Some(TOMLValue::InlineTable(Rc::new(RefCell::new( [INFO] [stderr] 225 | | InlineTable::new(key_values, WSSep::new_str(" ", " ")) [INFO] [stderr] 226 | | )))); [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 224 | Some(TOMLValue::InlineTable(Rc::new(RefCell::new( [INFO] [stderr] 225 | InlineTable::new(key_values, WSSep::new_str(" ", " ")) [INFO] [stderr] 226 | )))) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:230:11 [INFO] [stderr] | [INFO] [stderr] 230 | return Some(TOMLValue::Integer(s.clone())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(TOMLValue::Integer(s.clone()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:232:11 [INFO] [stderr] | [INFO] [stderr] 232 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:237:11 [INFO] [stderr] | [INFO] [stderr] 237 | return Some(TOMLValue::Float(s.clone())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(TOMLValue::Float(s.clone()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:239:11 [INFO] [stderr] | [INFO] [stderr] 239 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:242:29 [INFO] [stderr] | [INFO] [stderr] 242 | &Value::Boolean(b) => return Some(TOMLValue::Boolean(b)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(TOMLValue::Boolean(b))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:245:11 [INFO] [stderr] | [INFO] [stderr] 245 | return Some(TOMLValue::DateTime(dt.clone())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(TOMLValue::DateTime(dt.clone()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:247:11 [INFO] [stderr] | [INFO] [stderr] 247 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:252:11 [INFO] [stderr] | [INFO] [stderr] 252 | return Some(TOMLValue::String(s.clone(), st)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(TOMLValue::String(s.clone(), st))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:254:11 [INFO] [stderr] | [INFO] [stderr] 254 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:276:9 [INFO] [stderr] | [INFO] [stderr] 276 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:290:9 [INFO] [stderr] | [INFO] [stderr] 290 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:292:46 [INFO] [stderr] | [INFO] [stderr] 292 | (&TOMLValue::Array(_), _) => return false, // Array replaced with scalar [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:293:46 [INFO] [stderr] | [INFO] [stderr] 293 | (&TOMLValue::InlineTable(_), _) => return false, // InlineTable replaced with scalar [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:294:38 [INFO] [stderr] | [INFO] [stderr] 294 | (_, &Value::Array(_)) => return false, // scalar replaced with an Array [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:295:38 [INFO] [stderr] | [INFO] [stderr] 295 | (_, &Value::InlineTable(_)) => return false, // scalar replaced with an InlineTable [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:296:42 [INFO] [stderr] | [INFO] [stderr] 296 | (_,_) => return true, // scalar replaced with any other scalar [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:401:5 [INFO] [stderr] | [INFO] [stderr] 401 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:417:5 [INFO] [stderr] | [INFO] [stderr] 417 | return Value::InlineTable(Rc::new(result)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Value::InlineTable(Rc::new(result))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/parser.rs:437:7 [INFO] [stderr] | [INFO] [stderr] 437 | / return r#"animal = "bear" [INFO] [stderr] 438 | | [INFO] [stderr] 439 | | [[car.owners]] [INFO] [stderr] 440 | | Name = """Bob Jones""" [INFO] [stderr] ... | [INFO] [stderr] 457 | | accident_dates = [2008-09-29, 2011-01-16, 2014-11-30T03:13:54]} [INFO] [stderr] 458 | | "#; [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 437 | r#"animal = "bear" [INFO] [stderr] 438 | [INFO] [stderr] 439 | [[car.owners]] [INFO] [stderr] 440 | Name = """Bob Jones""" [INFO] [stderr] 441 | Age = 25 [INFO] [stderr] 442 | [[car.owners]] [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/internals/parser.rs:799:66 [INFO] [stderr] | [INFO] [stderr] 799 | p.set_value("database.ports", Value::datetime_from_int(2000, 02, 16, 10, 31, 06).unwrap()); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_prefixed_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 799 | p.set_value("database.ports", Value::datetime_from_int(2000, 2, 16, 10, 31, 06).unwrap()); [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 799 | p.set_value("database.ports", Value::datetime_from_int(2000, 0o2, 16, 10, 31, 06).unwrap()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/internals/parser.rs:799:82 [INFO] [stderr] | [INFO] [stderr] 799 | p.set_value("database.ports", Value::datetime_from_int(2000, 02, 16, 10, 31, 06).unwrap()); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 799 | p.set_value("database.ports", Value::datetime_from_int(2000, 02, 16, 10, 31, 6).unwrap()); [INFO] [stderr] | ^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 799 | p.set_value("database.ports", Value::datetime_from_int(2000, 02, 16, 10, 31, 0o6).unwrap()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/primitives.rs:211:5 [INFO] [stderr] | [INFO] [stderr] 211 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/primitives.rs:239:5 [INFO] [stderr] | [INFO] [stderr] 239 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/primitives.rs:260:5 [INFO] [stderr] | [INFO] [stderr] 260 | return (key, parent_key); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(key, parent_key)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internals/primitives.rs:283:5 [INFO] [stderr] | [INFO] [stderr] 283 | return (valid, full_key, parent_key); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(valid, full_key, parent_key)` [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: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/internals/primitives.rs:609:11 [INFO] [stderr] | [INFO] [stderr] 609 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/internals/primitives.rs:608:21 [INFO] [stderr] | [INFO] [stderr] 608 | let res = DateTime::new(date, time); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:197:5 [INFO] [stderr] | [INFO] [stderr] 197 | return full_key; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `full_key` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:266:5 [INFO] [stderr] | [INFO] [stderr] 266 | return all_keys; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `all_keys` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:342:7 [INFO] [stderr] | [INFO] [stderr] 342 | return Result::Ok(result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Ok(result)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:344:7 [INFO] [stderr] | [INFO] [stderr] 344 | return Result::Err(TOMLError::new(format!("Error parsing int. Argument: {}", int.into()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Err(TOMLError::new(format!("Error parsing int. Argument: {}", int.into())))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:376:7 [INFO] [stderr] | [INFO] [stderr] 376 | return Result::Ok(result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Ok(result)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:378:7 [INFO] [stderr] | [INFO] [stderr] 378 | return Result::Err(TOMLError::new(format!("Error parsing float. Argument: {}", float.into()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Err(TOMLError::new(format!("Error parsing float. Argument: {}", float.into())))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:402:7 [INFO] [stderr] | [INFO] [stderr] 402 | / return Result::Err(TOMLError::new( [INFO] [stderr] 403 | | format!("Error parsing bool. Argument: {}", b.into()) [INFO] [stderr] 404 | | )) [INFO] [stderr] | |________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 402 | Result::Err(TOMLError::new( [INFO] [stderr] 403 | format!("Error parsing bool. Argument: {}", b.into()) [INFO] [stderr] 404 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:850:11 [INFO] [stderr] | [INFO] [stderr] 850 | return Result::Err(TOMLError::new(format!("Error parsing string as datetime. Argument: {}", datetime))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Err(TOMLError::new(format!("Error parsing string as datetime. Argument: {}", datetime)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:852:11 [INFO] [stderr] | [INFO] [stderr] 852 | return Result::Ok(result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Ok(result)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:855:16 [INFO] [stderr] | [INFO] [stderr] 855 | (_,_) => return Result::Err(TOMLError::new(format!("Error parsing string as datetime. Argument: {}", datetime))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Err(TOMLError::new(format!("Error parsing string as datetime. Argument: {}", datetime)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:872:7 [INFO] [stderr] | [INFO] [stderr] 872 | return Result::Ok(result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Ok(result)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:874:7 [INFO] [stderr] | [INFO] [stderr] 874 | return Result::Err(TOMLError::new(format!("Error parsing string as basic_string. Argument: {}", s.into()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Err(TOMLError::new(format!("Error parsing string as basic_string. Argument: {}", s.into())))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:891:7 [INFO] [stderr] | [INFO] [stderr] 891 | return Result::Ok(result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Ok(result)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:893:7 [INFO] [stderr] | [INFO] [stderr] 893 | return Result::Err(TOMLError::new(format!("Error parsing string as ml_basic_string. Argument: {}", s.into()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Err(TOMLError::new(format!("Error parsing string as ml_basic_string. Argument: {}", s.into())))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:910:7 [INFO] [stderr] | [INFO] [stderr] 910 | return Result::Ok(result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Ok(result)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:912:7 [INFO] [stderr] | [INFO] [stderr] 912 | return Result::Err(TOMLError::new(format!("Error parsing string as literal_string. Argument: {}", s.into()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Err(TOMLError::new(format!("Error parsing string as literal_string. Argument: {}", s.into())))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:930:7 [INFO] [stderr] | [INFO] [stderr] 930 | return Result::Ok(result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Ok(result)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:932:7 [INFO] [stderr] | [INFO] [stderr] 932 | return Result::Err(TOMLError::new(format!("Error parsing string as ml_literal_string. Argument: {}", s.into()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Err(TOMLError::new(format!("Error parsing string as ml_literal_string. Argument: {}", s.into())))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1092:28 [INFO] [stderr] | [INFO] [stderr] 1092 | &TimeOffset::Zulu => return true, [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1093:40 [INFO] [stderr] | [INFO] [stderr] 1093 | &TimeOffset::Time(ref amount) => return amount.validate(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `amount.validate()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1141:7 [INFO] [stderr] | [INFO] [stderr] 1141 | return Result::Ok(offset); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Ok(offset)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1143:7 [INFO] [stderr] | [INFO] [stderr] 1143 | return Result::Err(TOMLError::new("Error validating TimeOffsetAmount.".to_string())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Result::Err(TOMLError::new("Error validating TimeOffsetAmount.".to_string()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1163:5 [INFO] [stderr] | [INFO] [stderr] 1163 | return self.validate_numbers(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.validate_numbers()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1181:5 [INFO] [stderr] | [INFO] [stderr] 1181 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1247:5 [INFO] [stderr] | [INFO] [stderr] 1247 | return self.validate_numbers(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.validate_numbers()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1293:5 [INFO] [stderr] | [INFO] [stderr] 1293 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1382:5 [INFO] [stderr] | [INFO] [stderr] 1382 | return self.validate_numbers(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.validate_numbers()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1417:5 [INFO] [stderr] | [INFO] [stderr] 1417 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/types.rs:1470:5 [INFO] [stderr] | [INFO] [stderr] 1470 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/types.rs:1553:73 [INFO] [stderr] | [INFO] [stderr] 1553 | assert_eq!(Value::Integer("9223372036854775807".into()), Value::int(9223372036854775807)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `9_223_372_036_854_775_807` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::hash::Hasher` [INFO] [stderr] --> src/types.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::hash::Hasher; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/internals/ast/structs.rs:130:3 [INFO] [stderr] | [INFO] [stderr] 130 | DateTime(DateTime<'a>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 130 | DateTime(Box>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/ast/structs.rs:244:5 [INFO] [stderr] | [INFO] [stderr] 244 | / match self { [INFO] [stderr] 245 | | &TOMLValue::Integer(ref i) => write!(f, "{}", i), [INFO] [stderr] 246 | | &TOMLValue::Float(ref i) => write!(f, "{}", i), [INFO] [stderr] 247 | | &TOMLValue::Boolean(ref i) => write!(f, "{}", i), [INFO] [stderr] ... | [INFO] [stderr] 259 | | &TOMLValue::Table => write!(f, "$Table"), [INFO] [stderr] 260 | | } [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] 244 | match *self { [INFO] [stderr] 245 | TOMLValue::Integer(ref i) => write!(f, "{}", i), [INFO] [stderr] 246 | TOMLValue::Float(ref i) => write!(f, "{}", i), [INFO] [stderr] 247 | TOMLValue::Boolean(ref i) => write!(f, "{}", i), [INFO] [stderr] 248 | TOMLValue::DateTime(ref i) => write!(f, "{}", i), [INFO] [stderr] 249 | TOMLValue::Array(ref i) => write!(f, "{}", *i.borrow()), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/ast/structs.rs:252:9 [INFO] [stderr] | [INFO] [stderr] 252 | / match t { [INFO] [stderr] 253 | | &StrType::Basic => write!(f, "\"{}\"", i), [INFO] [stderr] 254 | | &StrType::MLBasic => write!(f, "\"\"\"{}\"\"\"", i), [INFO] [stderr] 255 | | &StrType::Literal => write!(f, "'{}'", i), [INFO] [stderr] 256 | | &StrType::MLLiteral => write!(f, "'''{}'''", i), [INFO] [stderr] 257 | | } [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] 252 | match *t { [INFO] [stderr] 253 | StrType::Basic => write!(f, "\"{}\"", i), [INFO] [stderr] 254 | StrType::MLBasic => write!(f, "\"\"\"{}\"\"\"", i), [INFO] [stderr] 255 | StrType::Literal => write!(f, "'{}'", i), [INFO] [stderr] 256 | StrType::MLLiteral => write!(f, "'''{}'''", i), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/ast/structs.rs:282:7 [INFO] [stderr] | [INFO] [stderr] 282 | / match self { [INFO] [stderr] 283 | | &TableType::Standard(ref t) => write!(f, "[{}]", t), [INFO] [stderr] 284 | | &TableType::Array(ref t) => write!(f, "[[{}]]", t), [INFO] [stderr] 285 | | } [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] 282 | match *self { [INFO] [stderr] 283 | TableType::Standard(ref t) => write!(f, "[{}]", t), [INFO] [stderr] 284 | TableType::Array(ref t) => write!(f, "[[{}]]", t), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/internals/ast/structs.rs:425:6 [INFO] [stderr] | [INFO] [stderr] 425 | if t.keys.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!t.keys.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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/ast/structs.rs:436:3 [INFO] [stderr] | [INFO] [stderr] 436 | / match tabletype { [INFO] [stderr] 437 | | &TableType::Standard(ref t) | &TableType::Array(ref t) => { [INFO] [stderr] 438 | | let mut s = String::new(); [INFO] [stderr] 439 | | if t.keys.len() > 0 { [INFO] [stderr] ... | [INFO] [stderr] 447 | | } [INFO] [stderr] 448 | | } [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] 436 | match *tabletype { [INFO] [stderr] 437 | TableType::Standard(ref t) | TableType::Array(ref t) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/internals/ast/structs.rs:439:10 [INFO] [stderr] | [INFO] [stderr] 439 | if t.keys.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!t.keys.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: length comparison to zero [INFO] [stderr] --> src/internals/ast/structs.rs:466:8 [INFO] [stderr] | [INFO] [stderr] 466 | if self.keys.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.keys.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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/ast/structs.rs:493:5 [INFO] [stderr] | [INFO] [stderr] 493 | / match self { [INFO] [stderr] 494 | | &TableType::Standard(ref t) | &TableType::Array(ref t) => { [INFO] [stderr] 495 | | match prev { [INFO] [stderr] 496 | | &TableType::Standard(ref prev_table) | &TableType::Array(ref prev_table) => { [INFO] [stderr] ... | [INFO] [stderr] 504 | | } [INFO] [stderr] 505 | | } [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] 493 | match *self { [INFO] [stderr] 494 | TableType::Standard(ref t) | TableType::Array(ref t) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/ast/structs.rs:495:9 [INFO] [stderr] | [INFO] [stderr] 495 | / match prev { [INFO] [stderr] 496 | | &TableType::Standard(ref prev_table) | &TableType::Array(ref prev_table) => { [INFO] [stderr] 497 | | let prev_key = format_keys(&prev_table); [INFO] [stderr] 498 | | let key = format_keys(t); [INFO] [stderr] ... | [INFO] [stderr] 502 | | } [INFO] [stderr] 503 | | } [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] 495 | match *prev { [INFO] [stderr] 496 | TableType::Standard(ref prev_table) | TableType::Array(ref prev_table) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/ast/structs.rs:564:5 [INFO] [stderr] | [INFO] [stderr] 564 | / match self { [INFO] [stderr] 565 | | &CommentOrNewLines::Comment(ref c) => write!(f, "{}", c), [INFO] [stderr] 566 | | &CommentOrNewLines::NewLines(ref n) => write!(f, "{}", n), [INFO] [stderr] 567 | | } [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] 564 | match *self { [INFO] [stderr] 565 | CommentOrNewLines::Comment(ref c) => write!(f, "{}", c), [INFO] [stderr] 566 | CommentOrNewLines::NewLines(ref n) => write!(f, "{}", n), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/internals/ast/structs.rs:619:8 [INFO] [stderr] | [INFO] [stderr] 619 | if self.comment_nls.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.comment_nls.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: equal expressions as operands to `==` [INFO] [stderr] --> src/internals/ast/structs.rs:701:5 [INFO] [stderr] | [INFO] [stderr] 701 | self.comment_nls == self.comment_nls [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::eq_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/internals/ast/structs.rs:707:8 [INFO] [stderr] | [INFO] [stderr] 707 | if self.comment_nls.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.comment_nls.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: length comparison to zero [INFO] [stderr] --> src/internals/ast/structs.rs:759:8 [INFO] [stderr] | [INFO] [stderr] 759 | if self.keyvals.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.keyvals.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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/objects.rs:15:3 [INFO] [stderr] | [INFO] [stderr] 15 | / match val { [INFO] [stderr] 16 | | &TOMLValue::Integer(_) => ArrayType::Integer, [INFO] [stderr] 17 | | &TOMLValue::Float(_) => ArrayType::Float, [INFO] [stderr] 18 | | &TOMLValue::Boolean(_) => ArrayType::Boolean, [INFO] [stderr] ... | [INFO] [stderr] 23 | | &TOMLValue::Table => panic!("Cannot have a table in an array"), [INFO] [stderr] 24 | | } [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] 15 | match *val { [INFO] [stderr] 16 | TOMLValue::Integer(_) => ArrayType::Integer, [INFO] [stderr] 17 | TOMLValue::Float(_) => ArrayType::Float, [INFO] [stderr] 18 | TOMLValue::Boolean(_) => ArrayType::Boolean, [INFO] [stderr] 19 | TOMLValue::DateTime(_) => ArrayType::DateTime, [INFO] [stderr] 20 | TOMLValue::Array(_) => ArrayType::Array, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 26 [INFO] [stderr] --> src/internals/objects.rs:78:3 [INFO] [stderr] | [INFO] [stderr] 78 | / fn add_implicit_tables(map: &RefCell<&mut HashMap>>, [INFO] [stderr] 79 | | tables: &RefCell>>>, [INFO] [stderr] 80 | | tables_index: &RefCell>, table: Rc>) { [INFO] [stderr] 81 | | let (valid, mut last_key, _) = Parser::get_array_table_key(map, tables, tables_index); [INFO] [stderr] ... | [INFO] [stderr] 156 | | debug!("Returning from add_implicit_tables"); [INFO] [stderr] 157 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/objects.rs:115:28 [INFO] [stderr] | [INFO] [stderr] 115 | insert = match &o.get_mut().subkeys { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 116 | | &Children::Keys(ref vec_rf) => {debug!("Inserting subkey: {}", tb.keys[i].key); Parser::insert(vec_rf, tb.keys[i].key.clone().into_owned())}, [INFO] [stderr] 117 | | &Children::Count(ref cell) => { debug!("Incrementing subkey count: {}", cell.get() + 1); cell.set(cell.get() + 1); true }, [INFO] [stderr] 118 | | }; [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: try [INFO] [stderr] | [INFO] [stderr] 115 | insert = match o.get_mut().subkeys { [INFO] [stderr] 116 | Children::Keys(ref vec_rf) => {debug!("Inserting subkey: {}", tb.keys[i].key); Parser::insert(vec_rf, tb.keys[i].key.clone().into_owned())}, [INFO] [stderr] 117 | Children::Count(ref cell) => { debug!("Incrementing subkey count: {}", cell.get() + 1); cell.set(cell.get() + 1); true }, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/objects.rs:122:28 [INFO] [stderr] | [INFO] [stderr] 122 | insert = match &o.get_mut().subkeys { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 123 | | &Children::Keys(ref vec_rf) => Parser::insert(vec_rf, tb.keys[i].key.clone().into_owned()), [INFO] [stderr] 124 | | _ => panic!("Implicit tables can only be Standard Tables: \"{}\"", format!("{}.{}", last_key, tb.keys[i].key)), [INFO] [stderr] 125 | | }; [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: try [INFO] [stderr] | [INFO] [stderr] 122 | insert = match o.get_mut().subkeys { [INFO] [stderr] 123 | Children::Keys(ref vec_rf) => Parser::insert(vec_rf, tb.keys[i].key.clone().into_owned()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/objects.rs:166:7 [INFO] [stderr] | [INFO] [stderr] 166 | / if let &Children::Count(ref c) = &o.get_mut().subkeys { [INFO] [stderr] 167 | | c.set(c.get() + 1); [INFO] [stderr] 168 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 166 | if let Children::Count(ref c) = o.get_mut().subkeys { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/objects.rs:182:7 [INFO] [stderr] | [INFO] [stderr] 182 | / if let &Children::Keys(ref keys) = &o.get_mut().subkeys { [INFO] [stderr] 183 | | let contains = Parser::contains(keys, key); [INFO] [stderr] 184 | | if contains { [INFO] [stderr] 185 | | debug!("key already exists"); [INFO] [stderr] ... | [INFO] [stderr] 190 | | } [INFO] [stderr] 191 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 182 | if let Children::Keys(ref keys) = o.get_mut().subkeys { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::hash::Hasher` [INFO] [stderr] --> src/types.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::hash::Hasher; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 30 [INFO] [stderr] --> src/internals/objects.rs:226:7 [INFO] [stderr] | [INFO] [stderr] 226 | / ||{ [INFO] [stderr] 227 | | let keys_len = subkeys.len() + 1; [INFO] [stderr] 228 | | let res = Rc::new(TableType::Standard(Table::new_str( [INFO] [stderr] 229 | | WSSep::new_str(ws1, ws2), key, subkeys [INFO] [stderr] ... | [INFO] [stderr] 337 | | res [INFO] [stderr] 338 | | } [INFO] [stderr] | |_______^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/objects.rs:327:15 [INFO] [stderr] | [INFO] [stderr] 327 | / match &o.get_mut().subkeys { [INFO] [stderr] 328 | | &Children::Keys(ref vec_rf) => {Parser::insert(vec_rf, tbl.keys[keys_len - 1].key.clone().into_owned());}, [INFO] [stderr] 329 | | _ => panic!("Trying to add a key to an array: \"{}\"", table_key), [INFO] [stderr] 330 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 327 | match o.get_mut().subkeys { [INFO] [stderr] 328 | Children::Keys(ref vec_rf) => {Parser::insert(vec_rf, tbl.keys[keys_len - 1].key.clone().into_owned());}, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/internals/objects.rs:587:20 [INFO] [stderr] | [INFO] [stderr] 587 | if let Some(_) = keyvals { [INFO] [stderr] | _____________- ^^^^^^^ [INFO] [stderr] 588 | | Rc::new(RefCell::new(InlineTable::new(keyvals.unwrap(), WSSep::new_str(ws1, ws2)))) [INFO] [stderr] 589 | | } else { [INFO] [stderr] 590 | | Rc::new(RefCell::new(InlineTable::new(vec![], WSSep::new_str(ws1, ws2)))) [INFO] [stderr] 591 | | } [INFO] [stderr] | |_____________- help: try this: `if keyvals.is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/internals/parser.rs:58:8 [INFO] [stderr] | [INFO] [stderr] 58 | if self.leftover.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.leftover.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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/internals/parser.rs:102:21 [INFO] [stderr] | [INFO] [stderr] 102 | let hashval = self.map.get(&s_key).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.map[&s_key]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/macros.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | / match $tval { [INFO] [stderr] 4 | | &TOMLValue::Integer(ref v) => Value::Integer(v.clone()), [INFO] [stderr] 5 | | &TOMLValue::Float(ref v) => Value::Float(v.clone()), [INFO] [stderr] 6 | | &TOMLValue::Boolean(v) => Value::Boolean(v), [INFO] [stderr] ... | [INFO] [stderr] 11 | | &TOMLValue::Table => panic!("Cannot convert a Table to a Value"), [INFO] [stderr] 12 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] ::: src/internals/parser.rs:105:14 [INFO] [stderr] | [INFO] [stderr] 105 | Some(to_val!(&*val.borrow())) [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#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/internals/parser.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 116 | / let k; [INFO] [stderr] 117 | | if s_key == "" { [INFO] [stderr] 118 | | k = "$Root$".to_string(); [INFO] [stderr] 119 | | } else { [INFO] [stderr] 120 | | k = s_key; [INFO] [stderr] 121 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let k = if s_key == "" { "$Root$".to_string() } else { s_key };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/internals/parser.rs:123:21 [INFO] [stderr] | [INFO] [stderr] 123 | let hashval = self.map.get(&k).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.map[&k]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/parser.rs:138:20 [INFO] [stderr] | [INFO] [stderr] 138 | let val_rf = match opt_value { [INFO] [stderr] | ____________________^ [INFO] [stderr] 139 | | &mut Some(ref mut v) => v, [INFO] [stderr] 140 | | &mut None => return false, [INFO] [stderr] 141 | | }; [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] 138 | let val_rf = match *opt_value { [INFO] [stderr] 139 | Some(ref mut v) => v, [INFO] [stderr] 140 | None => return false, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/parser.rs:173:20 [INFO] [stderr] | [INFO] [stderr] 173 | let val_rf = match opt_value { [INFO] [stderr] | ____________________^ [INFO] [stderr] 174 | | &mut Some(ref mut v) => v, [INFO] [stderr] 175 | | &mut None => panic!("existing_value's value is None, when this should've returned false earlier in the function."), [INFO] [stderr] 176 | | }; [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] 173 | let val_rf = match *opt_value { [INFO] [stderr] 174 | Some(ref mut v) => v, [INFO] [stderr] 175 | None => panic!("existing_value's value is None, when this should've returned false earlier in the function."), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/parser.rs:188:6 [INFO] [stderr] | [INFO] [stderr] 188 | / match tval { [INFO] [stderr] 189 | | &Value::Array(ref arr) => { [INFO] [stderr] 190 | | let mut values = vec![]; [INFO] [stderr] 191 | | for i in 0..arr.len() { [INFO] [stderr] ... | [INFO] [stderr] 256 | | }, [INFO] [stderr] 257 | | } [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] 188 | match *tval { [INFO] [stderr] 189 | Value::Array(ref arr) => { [INFO] [stderr] 190 | let mut values = vec![]; [INFO] [stderr] 191 | for i in 0..arr.len() { [INFO] [stderr] 192 | let subval = &arr[i]; [INFO] [stderr] 193 | let value_opt = Parser::convert_vector(subval); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/internals/parser.rs:198:11 [INFO] [stderr] | [INFO] [stderr] 198 | / let array_value; [INFO] [stderr] 199 | | if i < arr.len() - 1 { [INFO] [stderr] 200 | | array_value = ArrayValue::default(Rc::new(RefCell::new(value))); [INFO] [stderr] 201 | | } else { [INFO] [stderr] 202 | | array_value = ArrayValue::last(Rc::new(RefCell::new(value))); [INFO] [stderr] 203 | | } [INFO] [stderr] | |___________^ help: it is more idiomatic to write: `let array_value = if i < arr.len() - 1 { ArrayValue::default(Rc::new(RefCell::new(value))) } else { ArrayValue::last(Rc::new(RefCell::new(value))) };` [INFO] [stderr] | [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: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/internals/parser.rs:194:11 [INFO] [stderr] | [INFO] [stderr] 194 | / if value_opt.is_none() { [INFO] [stderr] 195 | | return None; [INFO] [stderr] 196 | | } [INFO] [stderr] | |___________^ help: replace_it_with: `value_opt?;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::question_mark)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/internals/parser.rs:216:11 [INFO] [stderr] | [INFO] [stderr] 216 | / let key_value; [INFO] [stderr] 217 | | if i < it.len() - 1 { [INFO] [stderr] 218 | | key_value = TableKeyVal::default(it[i].0.clone().into_owned(), Rc::new(RefCell::new(value))); [INFO] [stderr] 219 | | } else { [INFO] [stderr] 220 | | key_value = TableKeyVal::last(it[i].0.clone().into_owned(), Rc::new(RefCell::new(value))); [INFO] [stderr] 221 | | } [INFO] [stderr] | |___________^ help: it is more idiomatic to write: `let key_value = if i < it.len() - 1 { TableKeyVal::default(it[i].0.clone().into_owned(), Rc::new(RefCell::new(value))) } else { TableKeyVal::last(it[i].0.clone().into_owned(), Rc::new(RefCell::new(value))) };` [INFO] [stderr] | [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: the loop variable `i` is used to index `t_arr` [INFO] [stderr] --> src/internals/parser.rs:271:18 [INFO] [stderr] | [INFO] [stderr] 271 | for i in 0..len { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 271 | for (i, ) in t_arr.iter().enumerate().take(len) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `t_it` [INFO] [stderr] --> src/internals/parser.rs:284:18 [INFO] [stderr] | [INFO] [stderr] 284 | for i in 0..len { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 284 | for (i, ) in t_it.iter().enumerate().take(len) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/internals/parser.rs:339:37 [INFO] [stderr] | [INFO] [stderr] 339 | self.map.entry(key.clone()).or_insert( [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 340 | | HashValue::new_count(val.clone()) [INFO] [stderr] 341 | | ); [INFO] [stderr] | |_________^ help: try this: `or_insert_with(|| HashValue::new_count(val.clone()))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/parser.rs:351:7 [INFO] [stderr] | [INFO] [stderr] 351 | / match children { [INFO] [stderr] 352 | | &Children::Count(ref cell) => { [INFO] [stderr] 353 | | for i in 0..cell.get() { [INFO] [stderr] 354 | | let subkey = format!("{}[{}]", key, i); [INFO] [stderr] ... | [INFO] [stderr] 365 | | }, [INFO] [stderr] 366 | | } [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] 351 | match *children { [INFO] [stderr] 352 | Children::Count(ref cell) => { [INFO] [stderr] 353 | for i in 0..cell.get() { [INFO] [stderr] 354 | let subkey = format!("{}[{}]", key, i); [INFO] [stderr] 355 | all_keys.push(subkey.clone()); [INFO] [stderr] 356 | all_keys.append(&mut self.get_all_subkeys(&subkey)); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `t_arr` [INFO] [stderr] --> src/internals/parser.rs:376:18 [INFO] [stderr] | [INFO] [stderr] 376 | for i in 0..len { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 376 | for (i, ) in t_arr.iter().enumerate().take(len) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `t_it` [INFO] [stderr] --> src/internals/parser.rs:386:18 [INFO] [stderr] | [INFO] [stderr] 386 | for i in 0..len { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 386 | for (i, ) in t_it.iter().enumerate().take(len) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/macros.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | / match $tval { [INFO] [stderr] 4 | | &TOMLValue::Integer(ref v) => Value::Integer(v.clone()), [INFO] [stderr] 5 | | &TOMLValue::Float(ref v) => Value::Float(v.clone()), [INFO] [stderr] 6 | | &TOMLValue::Boolean(v) => Value::Boolean(v), [INFO] [stderr] ... | [INFO] [stderr] 11 | | &TOMLValue::Table => panic!("Cannot convert a Table to a Value"), [INFO] [stderr] 12 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] ::: src/internals/parser.rs:407:19 [INFO] [stderr] | [INFO] [stderr] 407 | result.push(to_val!(&*av.val.borrow())); [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#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/macros.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | / match $tval { [INFO] [stderr] 4 | | &TOMLValue::Integer(ref v) => Value::Integer(v.clone()), [INFO] [stderr] 5 | | &TOMLValue::Float(ref v) => Value::Float(v.clone()), [INFO] [stderr] 6 | | &TOMLValue::Boolean(v) => Value::Boolean(v), [INFO] [stderr] ... | [INFO] [stderr] 11 | | &TOMLValue::Table => panic!("Cannot convert a Table to a Value"), [INFO] [stderr] 12 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] ::: src/internals/parser.rs:415:43 [INFO] [stderr] | [INFO] [stderr] 415 | result.push((kv.keyval.key.clone(), to_val!(&*kv.keyval.val.borrow()))); [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#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/primitives.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | / if let &mut Key::Index(ref mut i) = self { [INFO] [stderr] 20 | | i.set(i.get() + 1); [INFO] [stderr] 21 | | } [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] 19 | if let Key::Index(ref mut i) = *self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/primitives.rs:39:3 [INFO] [stderr] | [INFO] [stderr] 39 | / match &r { [INFO] [stderr] 40 | | &IResult::Done(_, ref o) => o.len() as usize, [INFO] [stderr] 41 | | _ => 0 as usize, [INFO] [stderr] 42 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 39 | match r { [INFO] [stderr] 40 | IResult::Done(_, ref o) => o.len() as usize, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/primitives.rs:53:7 [INFO] [stderr] | [INFO] [stderr] 53 | / if let &TableType::Array(ref t) = &*tables.borrow()[i] { [INFO] [stderr] 54 | | if key_parent.len() > 0 { [INFO] [stderr] 55 | | key_parent.push('.'); [INFO] [stderr] 56 | | } [INFO] [stderr] ... | [INFO] [stderr] 72 | | } [INFO] [stderr] 73 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 53 | if let TableType::Array(ref t) = *tables.borrow()[i] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/internals/primitives.rs:54:12 [INFO] [stderr] | [INFO] [stderr] 54 | if key_parent.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!key_parent.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: the function has a cyclomatic complexity of 30 [INFO] [stderr] --> src/internals/primitives.rs:80:3 [INFO] [stderr] | [INFO] [stderr] 80 | / pub fn get_array_table_key(map: &RefCell<&mut HashMap>>, tables: &RefCell>>>, [INFO] [stderr] 81 | | tables_index: &RefCell>) -> (bool, String, String) { [INFO] [stderr] 82 | | let mut full_key: String = String::new(); [INFO] [stderr] 83 | | let last_table: Option<&Table> = None; [INFO] [stderr] ... | [INFO] [stderr] 193 | | (valid, full_key, parent_key) [INFO] [stderr] 194 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/primitives.rs:89:7 [INFO] [stderr] | [INFO] [stderr] 89 | / match &*tables.borrow()[i] { [INFO] [stderr] 90 | | &TableType::Array(ref t) => { [INFO] [stderr] 91 | | debug!("Array Table: {}", t); [INFO] [stderr] 92 | | let keys = get_last_keys(last_table, t); [INFO] [stderr] ... | [INFO] [stderr] 189 | | } [INFO] [stderr] 190 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 89 | match *tables.borrow()[i] { [INFO] [stderr] 90 | TableType::Array(ref t) => { [INFO] [stderr] 91 | debug!("Array Table: {}", t); [INFO] [stderr] 92 | let keys = get_last_keys(last_table, t); [INFO] [stderr] 93 | let len = keys.len(); [INFO] [stderr] 94 | for j in prev_end..len - 1 { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/internals/primitives.rs:145:20 [INFO] [stderr] | [INFO] [stderr] 145 | if let Some(_) = hash_value.value { [INFO] [stderr] | _____________- ^^^^^^^ [INFO] [stderr] 146 | | debug!("Key \"{}\" has a value.", full_key); [INFO] [stderr] 147 | | valid = false; [INFO] [stderr] 148 | | } else if let Children::Keys(_) = hash_value.subkeys { [INFO] [stderr] 149 | | debug!("Array Key \"{}\" conflicts with table key.", full_key); [INFO] [stderr] 150 | | valid = false; [INFO] [stderr] 151 | | } [INFO] [stderr] | |_____________- help: try this: `if hash_value.value.is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/primitives.rs:247:7 [INFO] [stderr] | [INFO] [stderr] 247 | / match &keychain.borrow()[i] { [INFO] [stderr] 248 | | &Key::Str(ref str_str) => { [INFO] [stderr] 249 | | if key.len() > 0 { [INFO] [stderr] 250 | | key.push('.'); [INFO] [stderr] ... | [INFO] [stderr] 254 | | &Key::Index(ref i) => key.push_str(&format!("[{}]", i.get())), [INFO] [stderr] 255 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 247 | match keychain.borrow()[i] { [INFO] [stderr] 248 | Key::Str(ref str_str) => { [INFO] [stderr] 249 | if key.len() > 0 { [INFO] [stderr] 250 | key.push('.'); [INFO] [stderr] 251 | } [INFO] [stderr] 252 | key.push_str(str_str) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/internals/primitives.rs:249:14 [INFO] [stderr] | [INFO] [stderr] 249 | if key.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!key.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: length comparison to zero [INFO] [stderr] --> src/internals/primitives.rs:272:8 [INFO] [stderr] | [INFO] [stderr] 272 | if array_key.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!array_key.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: length comparison to zero [INFO] [stderr] --> src/internals/primitives.rs:276:10 [INFO] [stderr] | [INFO] [stderr] 276 | if parent_chain_key.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!parent_chain_key.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: the function has a cyclomatic complexity of 33 [INFO] [stderr] --> src/internals/primitives.rs:286:3 [INFO] [stderr] | [INFO] [stderr] 286 | / pub fn insert_keyval_into_map(&mut self, val: Rc>>) { [INFO] [stderr] 287 | | debug!("Insert val: {}", *(*val).borrow()); [INFO] [stderr] 288 | | let map = RefCell::new(&mut self.map); [INFO] [stderr] 289 | | let mut insert = false; [INFO] [stderr] ... | [INFO] [stderr] 421 | | } [INFO] [stderr] 422 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/primitives.rs:294:5 [INFO] [stderr] | [INFO] [stderr] 294 | / match &self.last_table { [INFO] [stderr] 295 | | // If the last table is None [INFO] [stderr] 296 | | // If the key exists [INFO] [stderr] 297 | | // If the value is empty insert the value [INFO] [stderr] ... | [INFO] [stderr] 365 | | } [INFO] [stderr] 366 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 294 | match self.last_table { [INFO] [stderr] 295 | // If the last table is None [INFO] [stderr] 296 | // If the key exists [INFO] [stderr] 297 | // If the value is empty insert the value [INFO] [stderr] 298 | // If the value in non-empty add the key/val to the error list [INFO] [stderr] 299 | // If the key doesn't exist, insert it [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/internals/primitives.rs:310:18 [INFO] [stderr] | [INFO] [stderr] 310 | if let Some(_) = hv.value { [INFO] [stderr] | ___________- ^^^^^^^ [INFO] [stderr] 311 | | error = true; [INFO] [stderr] 312 | | } else { [INFO] [stderr] 313 | | setvalue = true; [INFO] [stderr] 314 | | } [INFO] [stderr] | |___________- help: try this: `if hv.value.is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/internals/primitives.rs:337:22 [INFO] [stderr] | [INFO] [stderr] 337 | if let Some(_) = hv.value { [INFO] [stderr] | _______________- ^^^^^^^ [INFO] [stderr] 338 | | error = true; [INFO] [stderr] 339 | | } else { [INFO] [stderr] 340 | | setvalue = true; [INFO] [stderr] 341 | | } [INFO] [stderr] | |_______________- help: try this: `if hv.value.is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/internals/primitives.rs:354:22 [INFO] [stderr] | [INFO] [stderr] 354 | if let Some(_) = hv.value { [INFO] [stderr] | _______________- ^^^^^^^ [INFO] [stderr] 355 | | debug!("{} hash value exists in table.", full_key); [INFO] [stderr] 356 | | error = true; [INFO] [stderr] 357 | | } else { [INFO] [stderr] 358 | | setvalue = true; [INFO] [stderr] 359 | | } [INFO] [stderr] | |_______________- help: try this: `if hv.value.is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/macros.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | / match $tval { [INFO] [stderr] 4 | | &TOMLValue::Integer(ref v) => Value::Integer(v.clone()), [INFO] [stderr] 5 | | &TOMLValue::Float(ref v) => Value::Float(v.clone()), [INFO] [stderr] 6 | | &TOMLValue::Boolean(v) => Value::Boolean(v), [INFO] [stderr] ... | [INFO] [stderr] 11 | | &TOMLValue::Table => panic!("Cannot convert a Table to a Value"), [INFO] [stderr] 12 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] ::: src/internals/primitives.rs:371:45 [INFO] [stderr] | [INFO] [stderr] 371 | full_key, self.line_count.get(), 0, to_val!(&*val.borrow()) [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#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/primitives.rs:400:13 [INFO] [stderr] | [INFO] [stderr] 400 | / match &o.get_mut().subkeys { [INFO] [stderr] 401 | | &Children::Count(ref c) => { debug!("parent inc to {}", c.get() + 1); c.set(c.get() + 1) }, [INFO] [stderr] 402 | | &Children::Keys(ref vec_rf) => { [INFO] [stderr] 403 | | if let Key::Str(ref s) = self.keychain.borrow()[self.keychain.borrow().len() - 1] { [INFO] [stderr] ... | [INFO] [stderr] 406 | | }, [INFO] [stderr] 407 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 400 | match o.get_mut().subkeys { [INFO] [stderr] 401 | Children::Count(ref c) => { debug!("parent inc to {}", c.get() + 1); c.set(c.get() + 1) }, [INFO] [stderr] 402 | Children::Keys(ref vec_rf) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/macros.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | / match $tval { [INFO] [stderr] 4 | | &TOMLValue::Integer(ref v) => Value::Integer(v.clone()), [INFO] [stderr] 5 | | &TOMLValue::Float(ref v) => Value::Float(v.clone()), [INFO] [stderr] 6 | | &TOMLValue::Boolean(v) => Value::Boolean(v), [INFO] [stderr] ... | [INFO] [stderr] 11 | | &TOMLValue::Table => panic!("Cannot convert a Table to a Value"), [INFO] [stderr] 12 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] ::: src/internals/primitives.rs:662:58 [INFO] [stderr] | [INFO] [stderr] 662 | map.borrow_mut().insert(res.key.to_string(), to_val!(&*res.val.borrow())); [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#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/types.rs:44:3 [INFO] [stderr] | [INFO] [stderr] 44 | DuplicateKey(String, usize, usize, Value<'a>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] --> src/types.rs:44:3 [INFO] [stderr] | [INFO] [stderr] 44 | DuplicateKey(String, usize, usize, Value<'a>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/types.rs:101:3 [INFO] [stderr] | [INFO] [stderr] 101 | DateTime(DateTime<'a>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 101 | DateTime(Box>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/types.rs:247:5 [INFO] [stderr] | [INFO] [stderr] 247 | / match self { [INFO] [stderr] 248 | | &Children::Count(ref c) => { [INFO] [stderr] 249 | | for i in 0..c.get() { [INFO] [stderr] 250 | | all_keys.push(format!("{}[{}]", base, i)); [INFO] [stderr] ... | [INFO] [stderr] 264 | | }, [INFO] [stderr] 265 | | } [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] 247 | match *self { [INFO] [stderr] 248 | Children::Count(ref c) => { [INFO] [stderr] 249 | for i in 0..c.get() { [INFO] [stderr] 250 | all_keys.push(format!("{}[{}]", base, i)); [INFO] [stderr] 251 | } [INFO] [stderr] 252 | }, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/types.rs:276:5 [INFO] [stderr] | [INFO] [stderr] 276 | / match self { [INFO] [stderr] 277 | | &Value::Integer(ref v) | &Value::Float(ref v) => [INFO] [stderr] 278 | | write!(f, "{}", v), [INFO] [stderr] 279 | | &Value::Boolean(ref b) => write!(f, "{}", b), [INFO] [stderr] ... | [INFO] [stderr] 308 | | } [INFO] [stderr] 309 | | } [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] 276 | match *self { [INFO] [stderr] 277 | Value::Integer(ref v) | Value::Float(ref v) => [INFO] [stderr] 278 | write!(f, "{}", v), [INFO] [stderr] 279 | Value::Boolean(ref b) => write!(f, "{}", b), [INFO] [stderr] 280 | Value::DateTime(ref v) => write!(f, "{}", v), [INFO] [stderr] 281 | Value::Array(ref arr) => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `arr`. [INFO] [stderr] --> src/types.rs:283:18 [INFO] [stderr] | [INFO] [stderr] 283 | for i in 0..arr.len() - 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 283 | for in arr.iter().take(arr.len() - 1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/types.rs:292:9 [INFO] [stderr] | [INFO] [stderr] 292 | / match t { [INFO] [stderr] 293 | | &StrType::Basic => write!(f, "\"{}\"", s), [INFO] [stderr] 294 | | &StrType::MLBasic => write!(f, "\"\"\"{}\"\"\"", s), [INFO] [stderr] 295 | | &StrType::Literal => write!(f, "'{}'", s), [INFO] [stderr] 296 | | &StrType::MLLiteral => write!(f, "'''{}'''", s), [INFO] [stderr] 297 | | } [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] 292 | match *t { [INFO] [stderr] 293 | StrType::Basic => write!(f, "\"{}\"", s), [INFO] [stderr] 294 | StrType::MLBasic => write!(f, "\"\"\"{}\"\"\"", s), [INFO] [stderr] 295 | StrType::Literal => write!(f, "'{}'", s), [INFO] [stderr] 296 | StrType::MLLiteral => write!(f, "'''{}'''", s), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `it`. [INFO] [stderr] --> src/types.rs:301:18 [INFO] [stderr] | [INFO] [stderr] 301 | for i in 0..it.len() - 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 301 | for in it.iter().take(it.len() - 1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/types.rs:577:3 [INFO] [stderr] | [INFO] [stderr] 577 | / pub fn datetime_offset_from_int(year: usize, month: usize, day: usize, hour: usize, minute: usize, second: usize, posneg: char, off_hour: usize, off_minute: usize) -> Result, TOMLError> { [INFO] [stderr] 578 | | let y = format!("{:0>4}", year); [INFO] [stderr] 579 | | let m = format!("{:0>2}", month); [INFO] [stderr] 580 | | let d = format!("{:0>2}", day); [INFO] [stderr] ... | [INFO] [stderr] 601 | | } [INFO] [stderr] 602 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/types.rs:618:3 [INFO] [stderr] | [INFO] [stderr] 618 | / pub fn datetime_offset_from_str(year: S, month: S, day: S, hour: S, minute: S, second: S, posneg: S, off_hour: S, off_minute: S) -> Result, TOMLError> where S: Into + Clone{ [INFO] [stderr] 619 | | match Date::from_str(year.clone().into(), month.clone().into(), day.clone().into()) { [INFO] [stderr] 620 | | Ok(date) => { [INFO] [stderr] 621 | | match TimeOffsetAmount::from_str(posneg.clone().into(), off_hour.clone().into(), off_minute.clone().into()) { [INFO] [stderr] ... | [INFO] [stderr] 634 | | } [INFO] [stderr] 635 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/types.rs:769:3 [INFO] [stderr] | [INFO] [stderr] 769 | / pub fn datetime_full_from_int(year: usize, month: usize, day: usize, hour: usize, minute: usize, second: usize, frac: u64, posneg: char, off_hour: usize, off_minute: usize) -> Result, TOMLError> { [INFO] [stderr] 770 | | let y = format!("{:0>4}", year); [INFO] [stderr] 771 | | let m = format!("{:0>2}", month); [INFO] [stderr] 772 | | let d = format!("{:0>2}", day); [INFO] [stderr] ... | [INFO] [stderr] 794 | | } [INFO] [stderr] 795 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/types.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / pub fn datetime_full_from_str(year: S, month: S, day: S, hour: S, minute: S, second: S, frac: S, posneg: S, off_hour: S, off_minute: S) -> Result, TOMLError> where S: Into + Clone { [INFO] [stderr] 812 | | match Date::from_str(year.clone().into(), month.clone().into(), day.clone().into()) { [INFO] [stderr] 813 | | Ok(date) => { [INFO] [stderr] 814 | | match TimeOffsetAmount::from_str(posneg.clone().into(), off_hour.clone().into(), off_minute.clone().into()) { [INFO] [stderr] ... | [INFO] [stderr] 827 | | } [INFO] [stderr] 828 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/types.rs:849:12 [INFO] [stderr] | [INFO] [stderr] 849 | if i.len() > 0 || !result.validate() { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!i.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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/types.rs:948:5 [INFO] [stderr] | [INFO] [stderr] 948 | / match self { [INFO] [stderr] 949 | | &Value::Integer(ref s) => { [INFO] [stderr] 950 | | let p = Parser::new(); [INFO] [stderr] 951 | | match p.integer(s) { [INFO] [stderr] ... | [INFO] [stderr] 992 | | _ => true, [INFO] [stderr] 993 | | } [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] 948 | match *self { [INFO] [stderr] 949 | Value::Integer(ref s) => { [INFO] [stderr] 950 | let p = Parser::new(); [INFO] [stderr] 951 | match p.integer(s) { [INFO] [stderr] 952 | (_, IResult::Done(_, _)) => true, [INFO] [stderr] 953 | (_,_) => false, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/types.rs:968:37 [INFO] [stderr] | [INFO] [stderr] 968 | IResult::Done(i,_) => i.len() == 0, [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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: length comparison to zero [INFO] [stderr] --> src/types.rs:974:37 [INFO] [stderr] | [INFO] [stderr] 974 | IResult::Done(i,_) => i.len() == 0, [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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: length comparison to zero [INFO] [stderr] --> src/types.rs:980:37 [INFO] [stderr] | [INFO] [stderr] 980 | IResult::Done(i,_) => i.len() == 0, [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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: length comparison to zero [INFO] [stderr] --> src/types.rs:986:37 [INFO] [stderr] | [INFO] [stderr] 986 | IResult::Done(i,_) => i.len() == 0, [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/types.rs:1052:5 [INFO] [stderr] | [INFO] [stderr] 1052 | / match self { [INFO] [stderr] 1053 | | &PosNeg::Pos => write!(f, "+"), [INFO] [stderr] 1054 | | &PosNeg::Neg => write!(f, "-"), [INFO] [stderr] 1055 | | } [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] 1052 | match *self { [INFO] [stderr] 1053 | PosNeg::Pos => write!(f, "+"), [INFO] [stderr] 1054 | PosNeg::Neg => write!(f, "-"), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/types.rs:1082:5 [INFO] [stderr] | [INFO] [stderr] 1082 | / match self { [INFO] [stderr] 1083 | | &TimeOffset::Zulu => write!(f, "Z"), [INFO] [stderr] 1084 | | &TimeOffset::Time(ref t) => write!(f, "{}", t), [INFO] [stderr] 1085 | | } [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] 1082 | match *self { [INFO] [stderr] 1083 | TimeOffset::Zulu => write!(f, "Z"), [INFO] [stderr] 1084 | TimeOffset::Time(ref t) => write!(f, "{}", t), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/types.rs:1091:5 [INFO] [stderr] | [INFO] [stderr] 1091 | / match self { [INFO] [stderr] 1092 | | &TimeOffset::Zulu => return true, [INFO] [stderr] 1093 | | &TimeOffset::Time(ref amount) => return amount.validate(), [INFO] [stderr] 1094 | | } [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] 1091 | match *self { [INFO] [stderr] 1092 | TimeOffset::Zulu => return true, [INFO] [stderr] 1093 | TimeOffset::Time(ref amount) => return amount.validate(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/types.rs:1277:46 [INFO] [stderr] | [INFO] [stderr] 1277 | } else if !leap_year && d > 28 { [INFO] [stderr] | ______________________________________________^ [INFO] [stderr] 1278 | | return false; [INFO] [stderr] 1279 | | } [INFO] [stderr] | |_______________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/types.rs:1275:38 [INFO] [stderr] | [INFO] [stderr] 1275 | if leap_year && d > 29 { [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 1276 | | return false; [INFO] [stderr] 1277 | | } else if !leap_year && d > 28 { [INFO] [stderr] | |_______________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/types.rs:1437:5 [INFO] [stderr] | [INFO] [stderr] 1437 | / match &self.time { [INFO] [stderr] 1438 | | &Some(ref time) => write!(f, "{}{}", self.date, time), [INFO] [stderr] 1439 | | &None => write!(f, "{}", self.date), [INFO] [stderr] 1440 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 1437 | match self.time { [INFO] [stderr] 1438 | Some(ref time) => write!(f, "{}{}", self.date, time), [INFO] [stderr] 1439 | None => write!(f, "{}", self.date), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `TOMLParser<'a>` [INFO] [stderr] --> src/lib.rs:105:3 [INFO] [stderr] | [INFO] [stderr] 105 | / pub fn new() -> TOMLParser<'a> { [INFO] [stderr] 106 | | TOMLParser{parser: Parser::new()} [INFO] [stderr] 107 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 95 | impl Default for TOMLParser<'a> { [INFO] [stderr] 96 | fn default() -> Self { [INFO] [stderr] 97 | Self::new() [INFO] [stderr] 98 | } [INFO] [stderr] 99 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `tomllib`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/internals/ast/structs.rs:130:3 [INFO] [stderr] | [INFO] [stderr] 130 | DateTime(DateTime<'a>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 130 | DateTime(Box>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/ast/structs.rs:244:5 [INFO] [stderr] | [INFO] [stderr] 244 | / match self { [INFO] [stderr] 245 | | &TOMLValue::Integer(ref i) => write!(f, "{}", i), [INFO] [stderr] 246 | | &TOMLValue::Float(ref i) => write!(f, "{}", i), [INFO] [stderr] 247 | | &TOMLValue::Boolean(ref i) => write!(f, "{}", i), [INFO] [stderr] ... | [INFO] [stderr] 259 | | &TOMLValue::Table => write!(f, "$Table"), [INFO] [stderr] 260 | | } [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] 244 | match *self { [INFO] [stderr] 245 | TOMLValue::Integer(ref i) => write!(f, "{}", i), [INFO] [stderr] 246 | TOMLValue::Float(ref i) => write!(f, "{}", i), [INFO] [stderr] 247 | TOMLValue::Boolean(ref i) => write!(f, "{}", i), [INFO] [stderr] 248 | TOMLValue::DateTime(ref i) => write!(f, "{}", i), [INFO] [stderr] 249 | TOMLValue::Array(ref i) => write!(f, "{}", *i.borrow()), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/ast/structs.rs:252:9 [INFO] [stderr] | [INFO] [stderr] 252 | / match t { [INFO] [stderr] 253 | | &StrType::Basic => write!(f, "\"{}\"", i), [INFO] [stderr] 254 | | &StrType::MLBasic => write!(f, "\"\"\"{}\"\"\"", i), [INFO] [stderr] 255 | | &StrType::Literal => write!(f, "'{}'", i), [INFO] [stderr] 256 | | &StrType::MLLiteral => write!(f, "'''{}'''", i), [INFO] [stderr] 257 | | } [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] 252 | match *t { [INFO] [stderr] 253 | StrType::Basic => write!(f, "\"{}\"", i), [INFO] [stderr] 254 | StrType::MLBasic => write!(f, "\"\"\"{}\"\"\"", i), [INFO] [stderr] 255 | StrType::Literal => write!(f, "'{}'", i), [INFO] [stderr] 256 | StrType::MLLiteral => write!(f, "'''{}'''", i), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/ast/structs.rs:282:7 [INFO] [stderr] | [INFO] [stderr] 282 | / match self { [INFO] [stderr] 283 | | &TableType::Standard(ref t) => write!(f, "[{}]", t), [INFO] [stderr] 284 | | &TableType::Array(ref t) => write!(f, "[[{}]]", t), [INFO] [stderr] 285 | | } [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] 282 | match *self { [INFO] [stderr] 283 | TableType::Standard(ref t) => write!(f, "[{}]", t), [INFO] [stderr] 284 | TableType::Array(ref t) => write!(f, "[[{}]]", t), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/internals/ast/structs.rs:425:6 [INFO] [stderr] | [INFO] [stderr] 425 | if t.keys.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!t.keys.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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/ast/structs.rs:436:3 [INFO] [stderr] | [INFO] [stderr] 436 | / match tabletype { [INFO] [stderr] 437 | | &TableType::Standard(ref t) | &TableType::Array(ref t) => { [INFO] [stderr] 438 | | let mut s = String::new(); [INFO] [stderr] 439 | | if t.keys.len() > 0 { [INFO] [stderr] ... | [INFO] [stderr] 447 | | } [INFO] [stderr] 448 | | } [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] 436 | match *tabletype { [INFO] [stderr] 437 | TableType::Standard(ref t) | TableType::Array(ref t) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/internals/ast/structs.rs:439:10 [INFO] [stderr] | [INFO] [stderr] 439 | if t.keys.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!t.keys.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: length comparison to zero [INFO] [stderr] --> src/internals/ast/structs.rs:466:8 [INFO] [stderr] | [INFO] [stderr] 466 | if self.keys.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.keys.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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/ast/structs.rs:493:5 [INFO] [stderr] | [INFO] [stderr] 493 | / match self { [INFO] [stderr] 494 | | &TableType::Standard(ref t) | &TableType::Array(ref t) => { [INFO] [stderr] 495 | | match prev { [INFO] [stderr] 496 | | &TableType::Standard(ref prev_table) | &TableType::Array(ref prev_table) => { [INFO] [stderr] ... | [INFO] [stderr] 504 | | } [INFO] [stderr] 505 | | } [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] 493 | match *self { [INFO] [stderr] 494 | TableType::Standard(ref t) | TableType::Array(ref t) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/ast/structs.rs:495:9 [INFO] [stderr] | [INFO] [stderr] 495 | / match prev { [INFO] [stderr] 496 | | &TableType::Standard(ref prev_table) | &TableType::Array(ref prev_table) => { [INFO] [stderr] 497 | | let prev_key = format_keys(&prev_table); [INFO] [stderr] 498 | | let key = format_keys(t); [INFO] [stderr] ... | [INFO] [stderr] 502 | | } [INFO] [stderr] 503 | | } [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] 495 | match *prev { [INFO] [stderr] 496 | TableType::Standard(ref prev_table) | TableType::Array(ref prev_table) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/ast/structs.rs:564:5 [INFO] [stderr] | [INFO] [stderr] 564 | / match self { [INFO] [stderr] 565 | | &CommentOrNewLines::Comment(ref c) => write!(f, "{}", c), [INFO] [stderr] 566 | | &CommentOrNewLines::NewLines(ref n) => write!(f, "{}", n), [INFO] [stderr] 567 | | } [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] 564 | match *self { [INFO] [stderr] 565 | CommentOrNewLines::Comment(ref c) => write!(f, "{}", c), [INFO] [stderr] 566 | CommentOrNewLines::NewLines(ref n) => write!(f, "{}", n), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/internals/ast/structs.rs:619:8 [INFO] [stderr] | [INFO] [stderr] 619 | if self.comment_nls.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.comment_nls.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: equal expressions as operands to `==` [INFO] [stderr] --> src/internals/ast/structs.rs:701:5 [INFO] [stderr] | [INFO] [stderr] 701 | self.comment_nls == self.comment_nls [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::eq_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/internals/ast/structs.rs:707:8 [INFO] [stderr] | [INFO] [stderr] 707 | if self.comment_nls.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.comment_nls.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: length comparison to zero [INFO] [stderr] --> src/internals/ast/structs.rs:759:8 [INFO] [stderr] | [INFO] [stderr] 759 | if self.keyvals.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.keyvals.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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/objects.rs:15:3 [INFO] [stderr] | [INFO] [stderr] 15 | / match val { [INFO] [stderr] 16 | | &TOMLValue::Integer(_) => ArrayType::Integer, [INFO] [stderr] 17 | | &TOMLValue::Float(_) => ArrayType::Float, [INFO] [stderr] 18 | | &TOMLValue::Boolean(_) => ArrayType::Boolean, [INFO] [stderr] ... | [INFO] [stderr] 23 | | &TOMLValue::Table => panic!("Cannot have a table in an array"), [INFO] [stderr] 24 | | } [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] 15 | match *val { [INFO] [stderr] 16 | TOMLValue::Integer(_) => ArrayType::Integer, [INFO] [stderr] 17 | TOMLValue::Float(_) => ArrayType::Float, [INFO] [stderr] 18 | TOMLValue::Boolean(_) => ArrayType::Boolean, [INFO] [stderr] 19 | TOMLValue::DateTime(_) => ArrayType::DateTime, [INFO] [stderr] 20 | TOMLValue::Array(_) => ArrayType::Array, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 26 [INFO] [stderr] --> src/internals/objects.rs:78:3 [INFO] [stderr] | [INFO] [stderr] 78 | / fn add_implicit_tables(map: &RefCell<&mut HashMap>>, [INFO] [stderr] 79 | | tables: &RefCell>>>, [INFO] [stderr] 80 | | tables_index: &RefCell>, table: Rc>) { [INFO] [stderr] 81 | | let (valid, mut last_key, _) = Parser::get_array_table_key(map, tables, tables_index); [INFO] [stderr] ... | [INFO] [stderr] 156 | | debug!("Returning from add_implicit_tables"); [INFO] [stderr] 157 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/objects.rs:115:28 [INFO] [stderr] | [INFO] [stderr] 115 | insert = match &o.get_mut().subkeys { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 116 | | &Children::Keys(ref vec_rf) => {debug!("Inserting subkey: {}", tb.keys[i].key); Parser::insert(vec_rf, tb.keys[i].key.clone().into_owned())}, [INFO] [stderr] 117 | | &Children::Count(ref cell) => { debug!("Incrementing subkey count: {}", cell.get() + 1); cell.set(cell.get() + 1); true }, [INFO] [stderr] 118 | | }; [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: try [INFO] [stderr] | [INFO] [stderr] 115 | insert = match o.get_mut().subkeys { [INFO] [stderr] 116 | Children::Keys(ref vec_rf) => {debug!("Inserting subkey: {}", tb.keys[i].key); Parser::insert(vec_rf, tb.keys[i].key.clone().into_owned())}, [INFO] [stderr] 117 | Children::Count(ref cell) => { debug!("Incrementing subkey count: {}", cell.get() + 1); cell.set(cell.get() + 1); true }, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/objects.rs:122:28 [INFO] [stderr] | [INFO] [stderr] 122 | insert = match &o.get_mut().subkeys { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 123 | | &Children::Keys(ref vec_rf) => Parser::insert(vec_rf, tb.keys[i].key.clone().into_owned()), [INFO] [stderr] 124 | | _ => panic!("Implicit tables can only be Standard Tables: \"{}\"", format!("{}.{}", last_key, tb.keys[i].key)), [INFO] [stderr] 125 | | }; [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: try [INFO] [stderr] | [INFO] [stderr] 122 | insert = match o.get_mut().subkeys { [INFO] [stderr] 123 | Children::Keys(ref vec_rf) => Parser::insert(vec_rf, tb.keys[i].key.clone().into_owned()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/objects.rs:166:7 [INFO] [stderr] | [INFO] [stderr] 166 | / if let &Children::Count(ref c) = &o.get_mut().subkeys { [INFO] [stderr] 167 | | c.set(c.get() + 1); [INFO] [stderr] 168 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 166 | if let Children::Count(ref c) = o.get_mut().subkeys { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/objects.rs:182:7 [INFO] [stderr] | [INFO] [stderr] 182 | / if let &Children::Keys(ref keys) = &o.get_mut().subkeys { [INFO] [stderr] 183 | | let contains = Parser::contains(keys, key); [INFO] [stderr] 184 | | if contains { [INFO] [stderr] 185 | | debug!("key already exists"); [INFO] [stderr] ... | [INFO] [stderr] 190 | | } [INFO] [stderr] 191 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 182 | if let Children::Keys(ref keys) = o.get_mut().subkeys { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 30 [INFO] [stderr] --> src/internals/objects.rs:226:7 [INFO] [stderr] | [INFO] [stderr] 226 | / ||{ [INFO] [stderr] 227 | | let keys_len = subkeys.len() + 1; [INFO] [stderr] 228 | | let res = Rc::new(TableType::Standard(Table::new_str( [INFO] [stderr] 229 | | WSSep::new_str(ws1, ws2), key, subkeys [INFO] [stderr] ... | [INFO] [stderr] 337 | | res [INFO] [stderr] 338 | | } [INFO] [stderr] | |_______^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/objects.rs:327:15 [INFO] [stderr] | [INFO] [stderr] 327 | / match &o.get_mut().subkeys { [INFO] [stderr] 328 | | &Children::Keys(ref vec_rf) => {Parser::insert(vec_rf, tbl.keys[keys_len - 1].key.clone().into_owned());}, [INFO] [stderr] 329 | | _ => panic!("Trying to add a key to an array: \"{}\"", table_key), [INFO] [stderr] 330 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 327 | match o.get_mut().subkeys { [INFO] [stderr] 328 | Children::Keys(ref vec_rf) => {Parser::insert(vec_rf, tbl.keys[keys_len - 1].key.clone().into_owned());}, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/internals/objects.rs:587:20 [INFO] [stderr] | [INFO] [stderr] 587 | if let Some(_) = keyvals { [INFO] [stderr] | _____________- ^^^^^^^ [INFO] [stderr] 588 | | Rc::new(RefCell::new(InlineTable::new(keyvals.unwrap(), WSSep::new_str(ws1, ws2)))) [INFO] [stderr] 589 | | } else { [INFO] [stderr] 590 | | Rc::new(RefCell::new(InlineTable::new(vec![], WSSep::new_str(ws1, ws2)))) [INFO] [stderr] 591 | | } [INFO] [stderr] | |_____________- help: try this: `if keyvals.is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/internals/parser.rs:58:8 [INFO] [stderr] | [INFO] [stderr] 58 | if self.leftover.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.leftover.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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/internals/parser.rs:102:21 [INFO] [stderr] | [INFO] [stderr] 102 | let hashval = self.map.get(&s_key).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.map[&s_key]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/macros.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | / match $tval { [INFO] [stderr] 4 | | &TOMLValue::Integer(ref v) => Value::Integer(v.clone()), [INFO] [stderr] 5 | | &TOMLValue::Float(ref v) => Value::Float(v.clone()), [INFO] [stderr] 6 | | &TOMLValue::Boolean(v) => Value::Boolean(v), [INFO] [stderr] ... | [INFO] [stderr] 11 | | &TOMLValue::Table => panic!("Cannot convert a Table to a Value"), [INFO] [stderr] 12 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] ::: src/internals/parser.rs:105:14 [INFO] [stderr] | [INFO] [stderr] 105 | Some(to_val!(&*val.borrow())) [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#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/internals/parser.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 116 | / let k; [INFO] [stderr] 117 | | if s_key == "" { [INFO] [stderr] 118 | | k = "$Root$".to_string(); [INFO] [stderr] 119 | | } else { [INFO] [stderr] 120 | | k = s_key; [INFO] [stderr] 121 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let k = if s_key == "" { "$Root$".to_string() } else { s_key };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/internals/parser.rs:123:21 [INFO] [stderr] | [INFO] [stderr] 123 | let hashval = self.map.get(&k).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.map[&k]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/parser.rs:138:20 [INFO] [stderr] | [INFO] [stderr] 138 | let val_rf = match opt_value { [INFO] [stderr] | ____________________^ [INFO] [stderr] 139 | | &mut Some(ref mut v) => v, [INFO] [stderr] 140 | | &mut None => return false, [INFO] [stderr] 141 | | }; [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] 138 | let val_rf = match *opt_value { [INFO] [stderr] 139 | Some(ref mut v) => v, [INFO] [stderr] 140 | None => return false, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/parser.rs:173:20 [INFO] [stderr] | [INFO] [stderr] 173 | let val_rf = match opt_value { [INFO] [stderr] | ____________________^ [INFO] [stderr] 174 | | &mut Some(ref mut v) => v, [INFO] [stderr] 175 | | &mut None => panic!("existing_value's value is None, when this should've returned false earlier in the function."), [INFO] [stderr] 176 | | }; [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] 173 | let val_rf = match *opt_value { [INFO] [stderr] 174 | Some(ref mut v) => v, [INFO] [stderr] 175 | None => panic!("existing_value's value is None, when this should've returned false earlier in the function."), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/parser.rs:188:6 [INFO] [stderr] | [INFO] [stderr] 188 | / match tval { [INFO] [stderr] 189 | | &Value::Array(ref arr) => { [INFO] [stderr] 190 | | let mut values = vec![]; [INFO] [stderr] 191 | | for i in 0..arr.len() { [INFO] [stderr] ... | [INFO] [stderr] 256 | | }, [INFO] [stderr] 257 | | } [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] 188 | match *tval { [INFO] [stderr] 189 | Value::Array(ref arr) => { [INFO] [stderr] 190 | let mut values = vec![]; [INFO] [stderr] 191 | for i in 0..arr.len() { [INFO] [stderr] 192 | let subval = &arr[i]; [INFO] [stderr] 193 | let value_opt = Parser::convert_vector(subval); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/internals/parser.rs:198:11 [INFO] [stderr] | [INFO] [stderr] 198 | / let array_value; [INFO] [stderr] 199 | | if i < arr.len() - 1 { [INFO] [stderr] 200 | | array_value = ArrayValue::default(Rc::new(RefCell::new(value))); [INFO] [stderr] 201 | | } else { [INFO] [stderr] 202 | | array_value = ArrayValue::last(Rc::new(RefCell::new(value))); [INFO] [stderr] 203 | | } [INFO] [stderr] | |___________^ help: it is more idiomatic to write: `let array_value = if i < arr.len() - 1 { ArrayValue::default(Rc::new(RefCell::new(value))) } else { ArrayValue::last(Rc::new(RefCell::new(value))) };` [INFO] [stderr] | [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: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/internals/parser.rs:194:11 [INFO] [stderr] | [INFO] [stderr] 194 | / if value_opt.is_none() { [INFO] [stderr] 195 | | return None; [INFO] [stderr] 196 | | } [INFO] [stderr] | |___________^ help: replace_it_with: `value_opt?;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::question_mark)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/internals/parser.rs:216:11 [INFO] [stderr] | [INFO] [stderr] 216 | / let key_value; [INFO] [stderr] 217 | | if i < it.len() - 1 { [INFO] [stderr] 218 | | key_value = TableKeyVal::default(it[i].0.clone().into_owned(), Rc::new(RefCell::new(value))); [INFO] [stderr] 219 | | } else { [INFO] [stderr] 220 | | key_value = TableKeyVal::last(it[i].0.clone().into_owned(), Rc::new(RefCell::new(value))); [INFO] [stderr] 221 | | } [INFO] [stderr] | |___________^ help: it is more idiomatic to write: `let key_value = if i < it.len() - 1 { TableKeyVal::default(it[i].0.clone().into_owned(), Rc::new(RefCell::new(value))) } else { TableKeyVal::last(it[i].0.clone().into_owned(), Rc::new(RefCell::new(value))) };` [INFO] [stderr] | [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: the loop variable `i` is used to index `t_arr` [INFO] [stderr] --> src/internals/parser.rs:271:18 [INFO] [stderr] | [INFO] [stderr] 271 | for i in 0..len { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 271 | for (i, ) in t_arr.iter().enumerate().take(len) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `t_it` [INFO] [stderr] --> src/internals/parser.rs:284:18 [INFO] [stderr] | [INFO] [stderr] 284 | for i in 0..len { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 284 | for (i, ) in t_it.iter().enumerate().take(len) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/internals/parser.rs:339:37 [INFO] [stderr] | [INFO] [stderr] 339 | self.map.entry(key.clone()).or_insert( [INFO] [stderr] | _____________________________________^ [INFO] [stderr] 340 | | HashValue::new_count(val.clone()) [INFO] [stderr] 341 | | ); [INFO] [stderr] | |_________^ help: try this: `or_insert_with(|| HashValue::new_count(val.clone()))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/parser.rs:351:7 [INFO] [stderr] | [INFO] [stderr] 351 | / match children { [INFO] [stderr] 352 | | &Children::Count(ref cell) => { [INFO] [stderr] 353 | | for i in 0..cell.get() { [INFO] [stderr] 354 | | let subkey = format!("{}[{}]", key, i); [INFO] [stderr] ... | [INFO] [stderr] 365 | | }, [INFO] [stderr] 366 | | } [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] 351 | match *children { [INFO] [stderr] 352 | Children::Count(ref cell) => { [INFO] [stderr] 353 | for i in 0..cell.get() { [INFO] [stderr] 354 | let subkey = format!("{}[{}]", key, i); [INFO] [stderr] 355 | all_keys.push(subkey.clone()); [INFO] [stderr] 356 | all_keys.append(&mut self.get_all_subkeys(&subkey)); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `t_arr` [INFO] [stderr] --> src/internals/parser.rs:376:18 [INFO] [stderr] | [INFO] [stderr] 376 | for i in 0..len { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 376 | for (i, ) in t_arr.iter().enumerate().take(len) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `t_it` [INFO] [stderr] --> src/internals/parser.rs:386:18 [INFO] [stderr] | [INFO] [stderr] 386 | for i in 0..len { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 386 | for (i, ) in t_it.iter().enumerate().take(len) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/macros.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | / match $tval { [INFO] [stderr] 4 | | &TOMLValue::Integer(ref v) => Value::Integer(v.clone()), [INFO] [stderr] 5 | | &TOMLValue::Float(ref v) => Value::Float(v.clone()), [INFO] [stderr] 6 | | &TOMLValue::Boolean(v) => Value::Boolean(v), [INFO] [stderr] ... | [INFO] [stderr] 11 | | &TOMLValue::Table => panic!("Cannot convert a Table to a Value"), [INFO] [stderr] 12 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] ::: src/internals/parser.rs:407:19 [INFO] [stderr] | [INFO] [stderr] 407 | result.push(to_val!(&*av.val.borrow())); [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#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/macros.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | / match $tval { [INFO] [stderr] 4 | | &TOMLValue::Integer(ref v) => Value::Integer(v.clone()), [INFO] [stderr] 5 | | &TOMLValue::Float(ref v) => Value::Float(v.clone()), [INFO] [stderr] 6 | | &TOMLValue::Boolean(v) => Value::Boolean(v), [INFO] [stderr] ... | [INFO] [stderr] 11 | | &TOMLValue::Table => panic!("Cannot convert a Table to a Value"), [INFO] [stderr] 12 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] ::: src/internals/parser.rs:415:43 [INFO] [stderr] | [INFO] [stderr] 415 | result.push((kv.keyval.key.clone(), to_val!(&*kv.keyval.val.borrow()))); [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#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internals/primitives.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | / if let &mut Key::Index(ref mut i) = self { [INFO] [stderr] 20 | | i.set(i.get() + 1); [INFO] [stderr] 21 | | } [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] 19 | if let Key::Index(ref mut i) = *self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/primitives.rs:39:3 [INFO] [stderr] | [INFO] [stderr] 39 | / match &r { [INFO] [stderr] 40 | | &IResult::Done(_, ref o) => o.len() as usize, [INFO] [stderr] 41 | | _ => 0 as usize, [INFO] [stderr] 42 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 39 | match r { [INFO] [stderr] 40 | IResult::Done(_, ref o) => o.len() as usize, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/primitives.rs:53:7 [INFO] [stderr] | [INFO] [stderr] 53 | / if let &TableType::Array(ref t) = &*tables.borrow()[i] { [INFO] [stderr] 54 | | if key_parent.len() > 0 { [INFO] [stderr] 55 | | key_parent.push('.'); [INFO] [stderr] 56 | | } [INFO] [stderr] ... | [INFO] [stderr] 72 | | } [INFO] [stderr] 73 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 53 | if let TableType::Array(ref t) = *tables.borrow()[i] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/internals/primitives.rs:54:12 [INFO] [stderr] | [INFO] [stderr] 54 | if key_parent.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!key_parent.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: the function has a cyclomatic complexity of 30 [INFO] [stderr] --> src/internals/primitives.rs:80:3 [INFO] [stderr] | [INFO] [stderr] 80 | / pub fn get_array_table_key(map: &RefCell<&mut HashMap>>, tables: &RefCell>>>, [INFO] [stderr] 81 | | tables_index: &RefCell>) -> (bool, String, String) { [INFO] [stderr] 82 | | let mut full_key: String = String::new(); [INFO] [stderr] 83 | | let last_table: Option<&Table> = None; [INFO] [stderr] ... | [INFO] [stderr] 193 | | (valid, full_key, parent_key) [INFO] [stderr] 194 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/primitives.rs:89:7 [INFO] [stderr] | [INFO] [stderr] 89 | / match &*tables.borrow()[i] { [INFO] [stderr] 90 | | &TableType::Array(ref t) => { [INFO] [stderr] 91 | | debug!("Array Table: {}", t); [INFO] [stderr] 92 | | let keys = get_last_keys(last_table, t); [INFO] [stderr] ... | [INFO] [stderr] 189 | | } [INFO] [stderr] 190 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 89 | match *tables.borrow()[i] { [INFO] [stderr] 90 | TableType::Array(ref t) => { [INFO] [stderr] 91 | debug!("Array Table: {}", t); [INFO] [stderr] 92 | let keys = get_last_keys(last_table, t); [INFO] [stderr] 93 | let len = keys.len(); [INFO] [stderr] 94 | for j in prev_end..len - 1 { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/internals/primitives.rs:145:20 [INFO] [stderr] | [INFO] [stderr] 145 | if let Some(_) = hash_value.value { [INFO] [stderr] | _____________- ^^^^^^^ [INFO] [stderr] 146 | | debug!("Key \"{}\" has a value.", full_key); [INFO] [stderr] 147 | | valid = false; [INFO] [stderr] 148 | | } else if let Children::Keys(_) = hash_value.subkeys { [INFO] [stderr] 149 | | debug!("Array Key \"{}\" conflicts with table key.", full_key); [INFO] [stderr] 150 | | valid = false; [INFO] [stderr] 151 | | } [INFO] [stderr] | |_____________- help: try this: `if hash_value.value.is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/primitives.rs:247:7 [INFO] [stderr] | [INFO] [stderr] 247 | / match &keychain.borrow()[i] { [INFO] [stderr] 248 | | &Key::Str(ref str_str) => { [INFO] [stderr] 249 | | if key.len() > 0 { [INFO] [stderr] 250 | | key.push('.'); [INFO] [stderr] ... | [INFO] [stderr] 254 | | &Key::Index(ref i) => key.push_str(&format!("[{}]", i.get())), [INFO] [stderr] 255 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 247 | match keychain.borrow()[i] { [INFO] [stderr] 248 | Key::Str(ref str_str) => { [INFO] [stderr] 249 | if key.len() > 0 { [INFO] [stderr] 250 | key.push('.'); [INFO] [stderr] 251 | } [INFO] [stderr] 252 | key.push_str(str_str) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/internals/primitives.rs:249:14 [INFO] [stderr] | [INFO] [stderr] 249 | if key.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!key.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: length comparison to zero [INFO] [stderr] --> src/internals/primitives.rs:272:8 [INFO] [stderr] | [INFO] [stderr] 272 | if array_key.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!array_key.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: length comparison to zero [INFO] [stderr] --> src/internals/primitives.rs:276:10 [INFO] [stderr] | [INFO] [stderr] 276 | if parent_chain_key.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!parent_chain_key.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: the function has a cyclomatic complexity of 33 [INFO] [stderr] --> src/internals/primitives.rs:286:3 [INFO] [stderr] | [INFO] [stderr] 286 | / pub fn insert_keyval_into_map(&mut self, val: Rc>>) { [INFO] [stderr] 287 | | debug!("Insert val: {}", *(*val).borrow()); [INFO] [stderr] 288 | | let map = RefCell::new(&mut self.map); [INFO] [stderr] 289 | | let mut insert = false; [INFO] [stderr] ... | [INFO] [stderr] 421 | | } [INFO] [stderr] 422 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/primitives.rs:294:5 [INFO] [stderr] | [INFO] [stderr] 294 | / match &self.last_table { [INFO] [stderr] 295 | | // If the last table is None [INFO] [stderr] 296 | | // If the key exists [INFO] [stderr] 297 | | // If the value is empty insert the value [INFO] [stderr] ... | [INFO] [stderr] 365 | | } [INFO] [stderr] 366 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 294 | match self.last_table { [INFO] [stderr] 295 | // If the last table is None [INFO] [stderr] 296 | // If the key exists [INFO] [stderr] 297 | // If the value is empty insert the value [INFO] [stderr] 298 | // If the value in non-empty add the key/val to the error list [INFO] [stderr] 299 | // If the key doesn't exist, insert it [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/internals/primitives.rs:310:18 [INFO] [stderr] | [INFO] [stderr] 310 | if let Some(_) = hv.value { [INFO] [stderr] | ___________- ^^^^^^^ [INFO] [stderr] 311 | | error = true; [INFO] [stderr] 312 | | } else { [INFO] [stderr] 313 | | setvalue = true; [INFO] [stderr] 314 | | } [INFO] [stderr] | |___________- help: try this: `if hv.value.is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/internals/primitives.rs:337:22 [INFO] [stderr] | [INFO] [stderr] 337 | if let Some(_) = hv.value { [INFO] [stderr] | _______________- ^^^^^^^ [INFO] [stderr] 338 | | error = true; [INFO] [stderr] 339 | | } else { [INFO] [stderr] 340 | | setvalue = true; [INFO] [stderr] 341 | | } [INFO] [stderr] | |_______________- help: try this: `if hv.value.is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/internals/primitives.rs:354:22 [INFO] [stderr] | [INFO] [stderr] 354 | if let Some(_) = hv.value { [INFO] [stderr] | _______________- ^^^^^^^ [INFO] [stderr] 355 | | debug!("{} hash value exists in table.", full_key); [INFO] [stderr] 356 | | error = true; [INFO] [stderr] 357 | | } else { [INFO] [stderr] 358 | | setvalue = true; [INFO] [stderr] 359 | | } [INFO] [stderr] | |_______________- help: try this: `if hv.value.is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/macros.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | / match $tval { [INFO] [stderr] 4 | | &TOMLValue::Integer(ref v) => Value::Integer(v.clone()), [INFO] [stderr] 5 | | &TOMLValue::Float(ref v) => Value::Float(v.clone()), [INFO] [stderr] 6 | | &TOMLValue::Boolean(v) => Value::Boolean(v), [INFO] [stderr] ... | [INFO] [stderr] 11 | | &TOMLValue::Table => panic!("Cannot convert a Table to a Value"), [INFO] [stderr] 12 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] ::: src/internals/primitives.rs:371:45 [INFO] [stderr] | [INFO] [stderr] 371 | full_key, self.line_count.get(), 0, to_val!(&*val.borrow()) [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#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/primitives.rs:400:13 [INFO] [stderr] | [INFO] [stderr] 400 | / match &o.get_mut().subkeys { [INFO] [stderr] 401 | | &Children::Count(ref c) => { debug!("parent inc to {}", c.get() + 1); c.set(c.get() + 1) }, [INFO] [stderr] 402 | | &Children::Keys(ref vec_rf) => { [INFO] [stderr] 403 | | if let Key::Str(ref s) = self.keychain.borrow()[self.keychain.borrow().len() - 1] { [INFO] [stderr] ... | [INFO] [stderr] 406 | | }, [INFO] [stderr] 407 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 400 | match o.get_mut().subkeys { [INFO] [stderr] 401 | Children::Count(ref c) => { debug!("parent inc to {}", c.get() + 1); c.set(c.get() + 1) }, [INFO] [stderr] 402 | Children::Keys(ref vec_rf) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/internals/macros.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | / match $tval { [INFO] [stderr] 4 | | &TOMLValue::Integer(ref v) => Value::Integer(v.clone()), [INFO] [stderr] 5 | | &TOMLValue::Float(ref v) => Value::Float(v.clone()), [INFO] [stderr] 6 | | &TOMLValue::Boolean(v) => Value::Boolean(v), [INFO] [stderr] ... | [INFO] [stderr] 11 | | &TOMLValue::Table => panic!("Cannot convert a Table to a Value"), [INFO] [stderr] 12 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] ::: src/internals/primitives.rs:662:58 [INFO] [stderr] | [INFO] [stderr] 662 | map.borrow_mut().insert(res.key.to_string(), to_val!(&*res.val.borrow())); [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#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/types.rs:44:3 [INFO] [stderr] | [INFO] [stderr] 44 | DuplicateKey(String, usize, usize, Value<'a>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] --> src/types.rs:44:3 [INFO] [stderr] | [INFO] [stderr] 44 | DuplicateKey(String, usize, usize, Value<'a>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/types.rs:101:3 [INFO] [stderr] | [INFO] [stderr] 101 | DateTime(DateTime<'a>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 101 | DateTime(Box>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/types.rs:247:5 [INFO] [stderr] | [INFO] [stderr] 247 | / match self { [INFO] [stderr] 248 | | &Children::Count(ref c) => { [INFO] [stderr] 249 | | for i in 0..c.get() { [INFO] [stderr] 250 | | all_keys.push(format!("{}[{}]", base, i)); [INFO] [stderr] ... | [INFO] [stderr] 264 | | }, [INFO] [stderr] 265 | | } [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] 247 | match *self { [INFO] [stderr] 248 | Children::Count(ref c) => { [INFO] [stderr] 249 | for i in 0..c.get() { [INFO] [stderr] 250 | all_keys.push(format!("{}[{}]", base, i)); [INFO] [stderr] 251 | } [INFO] [stderr] 252 | }, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/types.rs:276:5 [INFO] [stderr] | [INFO] [stderr] 276 | / match self { [INFO] [stderr] 277 | | &Value::Integer(ref v) | &Value::Float(ref v) => [INFO] [stderr] 278 | | write!(f, "{}", v), [INFO] [stderr] 279 | | &Value::Boolean(ref b) => write!(f, "{}", b), [INFO] [stderr] ... | [INFO] [stderr] 308 | | } [INFO] [stderr] 309 | | } [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] 276 | match *self { [INFO] [stderr] 277 | Value::Integer(ref v) | Value::Float(ref v) => [INFO] [stderr] 278 | write!(f, "{}", v), [INFO] [stderr] 279 | Value::Boolean(ref b) => write!(f, "{}", b), [INFO] [stderr] 280 | Value::DateTime(ref v) => write!(f, "{}", v), [INFO] [stderr] 281 | Value::Array(ref arr) => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `arr`. [INFO] [stderr] --> src/types.rs:283:18 [INFO] [stderr] | [INFO] [stderr] 283 | for i in 0..arr.len() - 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 283 | for in arr.iter().take(arr.len() - 1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/types.rs:292:9 [INFO] [stderr] | [INFO] [stderr] 292 | / match t { [INFO] [stderr] 293 | | &StrType::Basic => write!(f, "\"{}\"", s), [INFO] [stderr] 294 | | &StrType::MLBasic => write!(f, "\"\"\"{}\"\"\"", s), [INFO] [stderr] 295 | | &StrType::Literal => write!(f, "'{}'", s), [INFO] [stderr] 296 | | &StrType::MLLiteral => write!(f, "'''{}'''", s), [INFO] [stderr] 297 | | } [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] 292 | match *t { [INFO] [stderr] 293 | StrType::Basic => write!(f, "\"{}\"", s), [INFO] [stderr] 294 | StrType::MLBasic => write!(f, "\"\"\"{}\"\"\"", s), [INFO] [stderr] 295 | StrType::Literal => write!(f, "'{}'", s), [INFO] [stderr] 296 | StrType::MLLiteral => write!(f, "'''{}'''", s), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `it`. [INFO] [stderr] --> src/types.rs:301:18 [INFO] [stderr] | [INFO] [stderr] 301 | for i in 0..it.len() - 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 301 | for in it.iter().take(it.len() - 1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/types.rs:577:3 [INFO] [stderr] | [INFO] [stderr] 577 | / pub fn datetime_offset_from_int(year: usize, month: usize, day: usize, hour: usize, minute: usize, second: usize, posneg: char, off_hour: usize, off_minute: usize) -> Result, TOMLError> { [INFO] [stderr] 578 | | let y = format!("{:0>4}", year); [INFO] [stderr] 579 | | let m = format!("{:0>2}", month); [INFO] [stderr] 580 | | let d = format!("{:0>2}", day); [INFO] [stderr] ... | [INFO] [stderr] 601 | | } [INFO] [stderr] 602 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/types.rs:618:3 [INFO] [stderr] | [INFO] [stderr] 618 | / pub fn datetime_offset_from_str(year: S, month: S, day: S, hour: S, minute: S, second: S, posneg: S, off_hour: S, off_minute: S) -> Result, TOMLError> where S: Into + Clone{ [INFO] [stderr] 619 | | match Date::from_str(year.clone().into(), month.clone().into(), day.clone().into()) { [INFO] [stderr] 620 | | Ok(date) => { [INFO] [stderr] 621 | | match TimeOffsetAmount::from_str(posneg.clone().into(), off_hour.clone().into(), off_minute.clone().into()) { [INFO] [stderr] ... | [INFO] [stderr] 634 | | } [INFO] [stderr] 635 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/types.rs:769:3 [INFO] [stderr] | [INFO] [stderr] 769 | / pub fn datetime_full_from_int(year: usize, month: usize, day: usize, hour: usize, minute: usize, second: usize, frac: u64, posneg: char, off_hour: usize, off_minute: usize) -> Result, TOMLError> { [INFO] [stderr] 770 | | let y = format!("{:0>4}", year); [INFO] [stderr] 771 | | let m = format!("{:0>2}", month); [INFO] [stderr] 772 | | let d = format!("{:0>2}", day); [INFO] [stderr] ... | [INFO] [stderr] 794 | | } [INFO] [stderr] 795 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/types.rs:811:3 [INFO] [stderr] | [INFO] [stderr] 811 | / pub fn datetime_full_from_str(year: S, month: S, day: S, hour: S, minute: S, second: S, frac: S, posneg: S, off_hour: S, off_minute: S) -> Result, TOMLError> where S: Into + Clone { [INFO] [stderr] 812 | | match Date::from_str(year.clone().into(), month.clone().into(), day.clone().into()) { [INFO] [stderr] 813 | | Ok(date) => { [INFO] [stderr] 814 | | match TimeOffsetAmount::from_str(posneg.clone().into(), off_hour.clone().into(), off_minute.clone().into()) { [INFO] [stderr] ... | [INFO] [stderr] 827 | | } [INFO] [stderr] 828 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/types.rs:849:12 [INFO] [stderr] | [INFO] [stderr] 849 | if i.len() > 0 || !result.validate() { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!i.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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/types.rs:948:5 [INFO] [stderr] | [INFO] [stderr] 948 | / match self { [INFO] [stderr] 949 | | &Value::Integer(ref s) => { [INFO] [stderr] 950 | | let p = Parser::new(); [INFO] [stderr] 951 | | match p.integer(s) { [INFO] [stderr] ... | [INFO] [stderr] 992 | | _ => true, [INFO] [stderr] 993 | | } [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] 948 | match *self { [INFO] [stderr] 949 | Value::Integer(ref s) => { [INFO] [stderr] 950 | let p = Parser::new(); [INFO] [stderr] 951 | match p.integer(s) { [INFO] [stderr] 952 | (_, IResult::Done(_, _)) => true, [INFO] [stderr] 953 | (_,_) => false, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/types.rs:968:37 [INFO] [stderr] | [INFO] [stderr] 968 | IResult::Done(i,_) => i.len() == 0, [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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: length comparison to zero [INFO] [stderr] --> src/types.rs:974:37 [INFO] [stderr] | [INFO] [stderr] 974 | IResult::Done(i,_) => i.len() == 0, [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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: length comparison to zero [INFO] [stderr] --> src/types.rs:980:37 [INFO] [stderr] | [INFO] [stderr] 980 | IResult::Done(i,_) => i.len() == 0, [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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: length comparison to zero [INFO] [stderr] --> src/types.rs:986:37 [INFO] [stderr] | [INFO] [stderr] 986 | IResult::Done(i,_) => i.len() == 0, [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/types.rs:1052:5 [INFO] [stderr] | [INFO] [stderr] 1052 | / match self { [INFO] [stderr] 1053 | | &PosNeg::Pos => write!(f, "+"), [INFO] [stderr] 1054 | | &PosNeg::Neg => write!(f, "-"), [INFO] [stderr] 1055 | | } [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] 1052 | match *self { [INFO] [stderr] 1053 | PosNeg::Pos => write!(f, "+"), [INFO] [stderr] 1054 | PosNeg::Neg => write!(f, "-"), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/types.rs:1082:5 [INFO] [stderr] | [INFO] [stderr] 1082 | / match self { [INFO] [stderr] 1083 | | &TimeOffset::Zulu => write!(f, "Z"), [INFO] [stderr] 1084 | | &TimeOffset::Time(ref t) => write!(f, "{}", t), [INFO] [stderr] 1085 | | } [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] 1082 | match *self { [INFO] [stderr] 1083 | TimeOffset::Zulu => write!(f, "Z"), [INFO] [stderr] 1084 | TimeOffset::Time(ref t) => write!(f, "{}", t), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/types.rs:1091:5 [INFO] [stderr] | [INFO] [stderr] 1091 | / match self { [INFO] [stderr] 1092 | | &TimeOffset::Zulu => return true, [INFO] [stderr] 1093 | | &TimeOffset::Time(ref amount) => return amount.validate(), [INFO] [stderr] 1094 | | } [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] 1091 | match *self { [INFO] [stderr] 1092 | TimeOffset::Zulu => return true, [INFO] [stderr] 1093 | TimeOffset::Time(ref amount) => return amount.validate(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/types.rs:1277:46 [INFO] [stderr] | [INFO] [stderr] 1277 | } else if !leap_year && d > 28 { [INFO] [stderr] | ______________________________________________^ [INFO] [stderr] 1278 | | return false; [INFO] [stderr] 1279 | | } [INFO] [stderr] | |_______________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/types.rs:1275:38 [INFO] [stderr] | [INFO] [stderr] 1275 | if leap_year && d > 29 { [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 1276 | | return false; [INFO] [stderr] 1277 | | } else if !leap_year && d > 28 { [INFO] [stderr] | |_______________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/types.rs:1437:5 [INFO] [stderr] | [INFO] [stderr] 1437 | / match &self.time { [INFO] [stderr] 1438 | | &Some(ref time) => write!(f, "{}{}", self.date, time), [INFO] [stderr] 1439 | | &None => write!(f, "{}", self.date), [INFO] [stderr] 1440 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 1437 | match self.time { [INFO] [stderr] 1438 | Some(ref time) => write!(f, "{}{}", self.date, time), [INFO] [stderr] 1439 | None => write!(f, "{}", self.date), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 27 [INFO] [stderr] --> src/types.rs:1837:3 [INFO] [stderr] | [INFO] [stderr] 1837 | / fn test_datetime_parse_fail() { [INFO] [stderr] 1838 | | assert!(Value::datetime_parse("012-01-03T03:30:30.3030+07:45").is_err()); [INFO] [stderr] 1839 | | assert!(Value::datetime_parse("2012-1-03T03:30:30.3030+07:45").is_err()); [INFO] [stderr] 1840 | | assert!(Value::datetime_parse("2012-01-3T03:30:30.3030+07:45").is_err()); [INFO] [stderr] ... | [INFO] [stderr] 1863 | | assert!(Value::datetime_parse("2012-01-03T03:30:30.3030+07q45").is_err()); [INFO] [stderr] 1864 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `TOMLParser<'a>` [INFO] [stderr] --> src/lib.rs:105:3 [INFO] [stderr] | [INFO] [stderr] 105 | / pub fn new() -> TOMLParser<'a> { [INFO] [stderr] 106 | | TOMLParser{parser: Parser::new()} [INFO] [stderr] 107 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 95 | impl Default for TOMLParser<'a> { [INFO] [stderr] 96 | fn default() -> Self { [INFO] [stderr] 97 | Self::new() [INFO] [stderr] 98 | } [INFO] [stderr] 99 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `tomllib`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "e757ec3937048f21c32241c5b8cc60ed9886f2a6f5bc5fcad4849a9561155900"` [INFO] running `"docker" "rm" "-f" "e757ec3937048f21c32241c5b8cc60ed9886f2a6f5bc5fcad4849a9561155900"` [INFO] [stdout] e757ec3937048f21c32241c5b8cc60ed9886f2a6f5bc5fcad4849a9561155900