[INFO] crate xml_oxide 0.0.6 is already in cache [INFO] extracting crate xml_oxide 0.0.6 into work/ex/clippy-test-run/sources/stable/reg/xml_oxide/0.0.6 [INFO] extracting crate xml_oxide 0.0.6 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/xml_oxide/0.0.6 [INFO] validating manifest of xml_oxide-0.0.6 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of xml_oxide-0.0.6 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing xml_oxide-0.0.6 [INFO] finished frobbing xml_oxide-0.0.6 [INFO] frobbed toml for xml_oxide-0.0.6 written to work/ex/clippy-test-run/sources/stable/reg/xml_oxide/0.0.6/Cargo.toml [INFO] started frobbing xml_oxide-0.0.6 [INFO] finished frobbing xml_oxide-0.0.6 [INFO] frobbed toml for xml_oxide-0.0.6 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/xml_oxide/0.0.6/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting xml_oxide-0.0.6 against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/xml_oxide/0.0.6:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dclippy::into_iter_on_array" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 5e921a0aabacbda1f9e681878e3e997d5914bc3369b4f343fe821c02707eecc8 [INFO] running `"docker" "start" "-a" "5e921a0aabacbda1f9e681878e3e997d5914bc3369b4f343fe821c02707eecc8"` [INFO] [stderr] Checking xml_sax v0.0.3 [INFO] [stderr] Checking xml_oxide v0.0.6 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parser.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | rule_name: rule_name, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `rule_name` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parser.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | rule_type: rule_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `rule_type` [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/parser.rs:840:9 [INFO] [stderr] | [INFO] [stderr] 840 | rule_vec: rule_vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `rule_vec` [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/parser.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | rule_name: rule_name, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `rule_name` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parser.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | rule_type: rule_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `rule_type` [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/parser.rs:840:9 [INFO] [stderr] | [INFO] [stderr] 840 | rule_vec: rule_vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `rule_vec` [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: unneeded return statement [INFO] [stderr] --> src/parser.rs:838:5 [INFO] [stderr] | [INFO] [stderr] 838 | / return Parser { [INFO] [stderr] 839 | | rule_registry: ruleRegistry, [INFO] [stderr] 840 | | rule_vec: rule_vec, [INFO] [stderr] 841 | | }; [INFO] [stderr] | |______^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 838 | Parser { [INFO] [stderr] 839 | rule_registry: ruleRegistry, [INFO] [stderr] 840 | rule_vec: rule_vec, [INFO] [stderr] 841 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser.rs:933:13 [INFO] [stderr] | [INFO] [stderr] 933 | return (logger, ParsingResult::Pass(starting_pos, starting_pos + 1)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, ParsingResult::Pass(starting_pos, starting_pos + 1))` [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/parser.rs:956:13 [INFO] [stderr] | [INFO] [stderr] 956 | return (logger, ParsingResult::Pass(starting_pos, new_starting_pos)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, ParsingResult::Pass(starting_pos, new_starting_pos))` [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/parser.rs:989:13 [INFO] [stderr] | [INFO] [stderr] 989 | return (logger, ParsingResult::Pass(starting_pos, new_starting_pos)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, ParsingResult::Pass(starting_pos, new_starting_pos))` [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/parser.rs:1051:13 [INFO] [stderr] | [INFO] [stderr] 1051 | return (logger, ParsingResult::Pass(starting_pos, new_starting_pos)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, ParsingResult::Pass(starting_pos, new_starting_pos))` [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/parser.rs:1099:13 [INFO] [stderr] | [INFO] [stderr] 1099 | return (logger, ParsingResult::Fail); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, ParsingResult::Fail)` [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/parser.rs:1134:29 [INFO] [stderr] | [INFO] [stderr] 1134 | return (logger, result.1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, result.1)` [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/parser.rs:1136:54 [INFO] [stderr] | [INFO] [stderr] 1136 | ParsingResult::Pass(_, _) => return (logger, ParsingResult::Fail), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, ParsingResult::Fail)` [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/parser.rs:1138:29 [INFO] [stderr] | [INFO] [stderr] 1138 | return (logger, ParsingResult::EOF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, ParsingResult::EOF)` [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/parser.rs:1142:40 [INFO] [stderr] | [INFO] [stderr] 1142 | ParsingResult::Fail => return (result.0, ParsingResult::Fail), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(result.0, ParsingResult::Fail)` [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/parser.rs:1145:21 [INFO] [stderr] | [INFO] [stderr] 1145 | return (result.0, ParsingResult::EOF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(result.0, ParsingResult::EOF)` [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/parser.rs:1164:21 [INFO] [stderr] | [INFO] [stderr] 1164 | return (logger, result.1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, result.1)` [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/parser.rs:1173:21 [INFO] [stderr] | [INFO] [stderr] 1173 | return (logger, ParsingResult::Pass(starting_pos, starting_pos)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, ParsingResult::Pass(starting_pos, starting_pos))` [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/parser.rs:1177:21 [INFO] [stderr] | [INFO] [stderr] 1177 | return (logger, ParsingResult::EOF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, ParsingResult::EOF)` [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/parser.rs:1184:13 [INFO] [stderr] | [INFO] [stderr] 1184 | return (logger, ParsingResult::Fail); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, ParsingResult::Fail)` [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/parser.rs:1278:13 [INFO] [stderr] | [INFO] [stderr] 1278 | / return ( [INFO] [stderr] 1279 | | offset_plus, [INFO] [stderr] 1280 | | logger, [INFO] [stderr] 1281 | | ParsingResult::Pass(starting_pos, starting_pos + 1), [INFO] [stderr] 1282 | | ); [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] 1278 | ( [INFO] [stderr] 1279 | offset_plus, [INFO] [stderr] 1280 | logger, [INFO] [stderr] 1281 | ParsingResult::Pass(starting_pos, starting_pos + 1), [INFO] [stderr] 1282 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser.rs:1305:13 [INFO] [stderr] | [INFO] [stderr] 1305 | / return ( [INFO] [stderr] 1306 | | offset_plus, [INFO] [stderr] 1307 | | logger, [INFO] [stderr] 1308 | | ParsingResult::Pass(starting_pos, new_starting_pos), [INFO] [stderr] 1309 | | ); [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] 1305 | ( [INFO] [stderr] 1306 | offset_plus, [INFO] [stderr] 1307 | logger, [INFO] [stderr] 1308 | ParsingResult::Pass(starting_pos, new_starting_pos), [INFO] [stderr] 1309 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser.rs:1360:13 [INFO] [stderr] | [INFO] [stderr] 1360 | / return ( [INFO] [stderr] 1361 | | offset_plus, [INFO] [stderr] 1362 | | logger, [INFO] [stderr] 1363 | | ParsingResult::Pass(starting_pos, new_starting_pos), [INFO] [stderr] 1364 | | ); [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] 1360 | ( [INFO] [stderr] 1361 | offset_plus, [INFO] [stderr] 1362 | logger, [INFO] [stderr] 1363 | ParsingResult::Pass(starting_pos, new_starting_pos), [INFO] [stderr] 1364 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser.rs:1453:13 [INFO] [stderr] | [INFO] [stderr] 1453 | / return ( [INFO] [stderr] 1454 | | offset_plus, [INFO] [stderr] 1455 | | logger, [INFO] [stderr] 1456 | | ParsingResult::Pass(starting_pos, new_starting_pos), [INFO] [stderr] 1457 | | ); [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] 1453 | ( [INFO] [stderr] 1454 | offset_plus, [INFO] [stderr] 1455 | logger, [INFO] [stderr] 1456 | ParsingResult::Pass(starting_pos, new_starting_pos), [INFO] [stderr] 1457 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser.rs:1520:13 [INFO] [stderr] | [INFO] [stderr] 1520 | return (offset_plus, logger, ParsingResult::Fail); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(offset_plus, logger, ParsingResult::Fail)` [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/parser.rs:1562:29 [INFO] [stderr] | [INFO] [stderr] 1562 | return (offset_plus, logger, result.2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(offset_plus, logger, result.2)` [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/parser.rs:1564:54 [INFO] [stderr] | [INFO] [stderr] 1564 | ParsingResult::Pass(_, _) => return (0, logger, ParsingResult::Fail), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(0, logger, ParsingResult::Fail)` [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/parser.rs:1566:29 [INFO] [stderr] | [INFO] [stderr] 1566 | return (offset_plus, logger, ParsingResult::EOF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(offset_plus, logger, ParsingResult::EOF)` [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/parser.rs:1570:40 [INFO] [stderr] | [INFO] [stderr] 1570 | ParsingResult::Fail => return (offset_plus, result.1, ParsingResult::Fail), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(offset_plus, result.1, ParsingResult::Fail)` [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/parser.rs:1573:21 [INFO] [stderr] | [INFO] [stderr] 1573 | return (offset_plus, result.1, ParsingResult::EOF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(offset_plus, result.1, ParsingResult::EOF)` [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/parser.rs:1607:21 [INFO] [stderr] | [INFO] [stderr] 1607 | return (offset_plus, logger, result.2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(offset_plus, logger, result.2)` [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/parser.rs:1616:21 [INFO] [stderr] | [INFO] [stderr] 1616 | return (0, logger, ParsingResult::Pass(starting_pos, starting_pos)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(0, logger, ParsingResult::Pass(starting_pos, starting_pos))` [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/parser.rs:1620:21 [INFO] [stderr] | [INFO] [stderr] 1620 | return (offset_plus, logger, ParsingResult::EOF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(offset_plus, logger, ParsingResult::EOF)` [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/parser.rs:1627:13 [INFO] [stderr] | [INFO] [stderr] 1627 | return (offset_plus, logger, ParsingResult::Fail); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(offset_plus, logger, ParsingResult::Fail)` [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/parser.rs:1649:5 [INFO] [stderr] | [INFO] [stderr] 1649 | return cex; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `cex` [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/parser.rs:1671:5 [INFO] [stderr] | [INFO] [stderr] 1671 | return char_vec; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `char_vec` [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/sax.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | return Box::new(x); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(x)` [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/sax.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | return r; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `r` [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 unit return type [INFO] [stderr] --> src/sax.rs:142:51 [INFO] [stderr] | [INFO] [stderr] 142 | fn try(&mut self, rulename: String, _: usize) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/sax.rs:158:7 [INFO] [stderr] | [INFO] [stderr] 158 | ) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sax.rs:487:9 [INFO] [stderr] | [INFO] [stderr] 487 | / return SaxParser { [INFO] [stderr] 488 | | content_handler: None, [INFO] [stderr] 489 | | stats_handler: None, [INFO] [stderr] 490 | | counter: 0, [INFO] [stderr] ... | [INFO] [stderr] 495 | | element_depth: 0, [INFO] [stderr] 496 | | }; [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] 487 | SaxParser { [INFO] [stderr] 488 | content_handler: None, [INFO] [stderr] 489 | stats_handler: None, [INFO] [stderr] 490 | counter: 0, [INFO] [stderr] 491 | element_names: Vec::new(), [INFO] [stderr] 492 | attribute_values: Vec::new(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/char_iter.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | return UTF8_CHAR_WIDTH[b as usize] as usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `UTF8_CHAR_WIDTH[b as usize] as usize` [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/parser.rs:838:5 [INFO] [stderr] | [INFO] [stderr] 838 | / return Parser { [INFO] [stderr] 839 | | rule_registry: ruleRegistry, [INFO] [stderr] 840 | | rule_vec: rule_vec, [INFO] [stderr] 841 | | }; [INFO] [stderr] | |______^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 838 | Parser { [INFO] [stderr] 839 | rule_registry: ruleRegistry, [INFO] [stderr] 840 | rule_vec: rule_vec, [INFO] [stderr] 841 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser.rs:933:13 [INFO] [stderr] | [INFO] [stderr] 933 | return (logger, ParsingResult::Pass(starting_pos, starting_pos + 1)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, ParsingResult::Pass(starting_pos, starting_pos + 1))` [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/parser.rs:956:13 [INFO] [stderr] | [INFO] [stderr] 956 | return (logger, ParsingResult::Pass(starting_pos, new_starting_pos)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, ParsingResult::Pass(starting_pos, new_starting_pos))` [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/parser.rs:989:13 [INFO] [stderr] | [INFO] [stderr] 989 | return (logger, ParsingResult::Pass(starting_pos, new_starting_pos)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, ParsingResult::Pass(starting_pos, new_starting_pos))` [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/parser.rs:1051:13 [INFO] [stderr] | [INFO] [stderr] 1051 | return (logger, ParsingResult::Pass(starting_pos, new_starting_pos)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, ParsingResult::Pass(starting_pos, new_starting_pos))` [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/parser.rs:1099:13 [INFO] [stderr] | [INFO] [stderr] 1099 | return (logger, ParsingResult::Fail); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, ParsingResult::Fail)` [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/parser.rs:1134:29 [INFO] [stderr] | [INFO] [stderr] 1134 | return (logger, result.1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, result.1)` [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/parser.rs:1136:54 [INFO] [stderr] | [INFO] [stderr] 1136 | ParsingResult::Pass(_, _) => return (logger, ParsingResult::Fail), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, ParsingResult::Fail)` [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/parser.rs:1138:29 [INFO] [stderr] | [INFO] [stderr] 1138 | return (logger, ParsingResult::EOF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, ParsingResult::EOF)` [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/parser.rs:1142:40 [INFO] [stderr] | [INFO] [stderr] 1142 | ParsingResult::Fail => return (result.0, ParsingResult::Fail), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(result.0, ParsingResult::Fail)` [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/parser.rs:1145:21 [INFO] [stderr] | [INFO] [stderr] 1145 | return (result.0, ParsingResult::EOF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(result.0, ParsingResult::EOF)` [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/parser.rs:1164:21 [INFO] [stderr] | [INFO] [stderr] 1164 | return (logger, result.1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, result.1)` [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/parser.rs:1173:21 [INFO] [stderr] | [INFO] [stderr] 1173 | return (logger, ParsingResult::Pass(starting_pos, starting_pos)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, ParsingResult::Pass(starting_pos, starting_pos))` [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/parser.rs:1177:21 [INFO] [stderr] | [INFO] [stderr] 1177 | return (logger, ParsingResult::EOF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, ParsingResult::EOF)` [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/parser.rs:1184:13 [INFO] [stderr] | [INFO] [stderr] 1184 | return (logger, ParsingResult::Fail); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(logger, ParsingResult::Fail)` [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/parser.rs:1278:13 [INFO] [stderr] | [INFO] [stderr] 1278 | / return ( [INFO] [stderr] 1279 | | offset_plus, [INFO] [stderr] 1280 | | logger, [INFO] [stderr] 1281 | | ParsingResult::Pass(starting_pos, starting_pos + 1), [INFO] [stderr] 1282 | | ); [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] 1278 | ( [INFO] [stderr] 1279 | offset_plus, [INFO] [stderr] 1280 | logger, [INFO] [stderr] 1281 | ParsingResult::Pass(starting_pos, starting_pos + 1), [INFO] [stderr] 1282 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser.rs:1305:13 [INFO] [stderr] | [INFO] [stderr] 1305 | / return ( [INFO] [stderr] 1306 | | offset_plus, [INFO] [stderr] 1307 | | logger, [INFO] [stderr] 1308 | | ParsingResult::Pass(starting_pos, new_starting_pos), [INFO] [stderr] 1309 | | ); [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] 1305 | ( [INFO] [stderr] 1306 | offset_plus, [INFO] [stderr] 1307 | logger, [INFO] [stderr] 1308 | ParsingResult::Pass(starting_pos, new_starting_pos), [INFO] [stderr] 1309 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser.rs:1360:13 [INFO] [stderr] | [INFO] [stderr] 1360 | / return ( [INFO] [stderr] 1361 | | offset_plus, [INFO] [stderr] 1362 | | logger, [INFO] [stderr] 1363 | | ParsingResult::Pass(starting_pos, new_starting_pos), [INFO] [stderr] 1364 | | ); [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] 1360 | ( [INFO] [stderr] 1361 | offset_plus, [INFO] [stderr] 1362 | logger, [INFO] [stderr] 1363 | ParsingResult::Pass(starting_pos, new_starting_pos), [INFO] [stderr] 1364 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser.rs:1453:13 [INFO] [stderr] | [INFO] [stderr] 1453 | / return ( [INFO] [stderr] 1454 | | offset_plus, [INFO] [stderr] 1455 | | logger, [INFO] [stderr] 1456 | | ParsingResult::Pass(starting_pos, new_starting_pos), [INFO] [stderr] 1457 | | ); [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] 1453 | ( [INFO] [stderr] 1454 | offset_plus, [INFO] [stderr] 1455 | logger, [INFO] [stderr] 1456 | ParsingResult::Pass(starting_pos, new_starting_pos), [INFO] [stderr] 1457 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser.rs:1520:13 [INFO] [stderr] | [INFO] [stderr] 1520 | return (offset_plus, logger, ParsingResult::Fail); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(offset_plus, logger, ParsingResult::Fail)` [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/parser.rs:1562:29 [INFO] [stderr] | [INFO] [stderr] 1562 | return (offset_plus, logger, result.2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(offset_plus, logger, result.2)` [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/parser.rs:1564:54 [INFO] [stderr] | [INFO] [stderr] 1564 | ParsingResult::Pass(_, _) => return (0, logger, ParsingResult::Fail), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(0, logger, ParsingResult::Fail)` [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/parser.rs:1566:29 [INFO] [stderr] | [INFO] [stderr] 1566 | return (offset_plus, logger, ParsingResult::EOF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(offset_plus, logger, ParsingResult::EOF)` [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/parser.rs:1570:40 [INFO] [stderr] | [INFO] [stderr] 1570 | ParsingResult::Fail => return (offset_plus, result.1, ParsingResult::Fail), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(offset_plus, result.1, ParsingResult::Fail)` [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/parser.rs:1573:21 [INFO] [stderr] | [INFO] [stderr] 1573 | return (offset_plus, result.1, ParsingResult::EOF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(offset_plus, result.1, ParsingResult::EOF)` [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/parser.rs:1607:21 [INFO] [stderr] | [INFO] [stderr] 1607 | return (offset_plus, logger, result.2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(offset_plus, logger, result.2)` [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/parser.rs:1616:21 [INFO] [stderr] | [INFO] [stderr] 1616 | return (0, logger, ParsingResult::Pass(starting_pos, starting_pos)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(0, logger, ParsingResult::Pass(starting_pos, starting_pos))` [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/parser.rs:1620:21 [INFO] [stderr] | [INFO] [stderr] 1620 | return (offset_plus, logger, ParsingResult::EOF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(offset_plus, logger, ParsingResult::EOF)` [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/parser.rs:1627:13 [INFO] [stderr] | [INFO] [stderr] 1627 | return (offset_plus, logger, ParsingResult::Fail); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(offset_plus, logger, ParsingResult::Fail)` [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/parser.rs:1649:5 [INFO] [stderr] | [INFO] [stderr] 1649 | return cex; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `cex` [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/parser.rs:1671:5 [INFO] [stderr] | [INFO] [stderr] 1671 | return char_vec; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `char_vec` [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/sax.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | return Box::new(x); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(x)` [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/sax.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | return r; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `r` [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 unit return type [INFO] [stderr] --> src/sax.rs:142:51 [INFO] [stderr] | [INFO] [stderr] 142 | fn try(&mut self, rulename: String, _: usize) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/sax.rs:158:7 [INFO] [stderr] | [INFO] [stderr] 158 | ) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sax.rs:487:9 [INFO] [stderr] | [INFO] [stderr] 487 | / return SaxParser { [INFO] [stderr] 488 | | content_handler: None, [INFO] [stderr] 489 | | stats_handler: None, [INFO] [stderr] 490 | | counter: 0, [INFO] [stderr] ... | [INFO] [stderr] 495 | | element_depth: 0, [INFO] [stderr] 496 | | }; [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] 487 | SaxParser { [INFO] [stderr] 488 | content_handler: None, [INFO] [stderr] 489 | stats_handler: None, [INFO] [stderr] 490 | counter: 0, [INFO] [stderr] 491 | element_names: Vec::new(), [INFO] [stderr] 492 | attribute_values: Vec::new(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/char_iter.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | return UTF8_CHAR_WIDTH[b as usize] as usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `UTF8_CHAR_WIDTH[b as usize] as usize` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/parser.rs:51:22 [INFO] [stderr] | [INFO] [stderr] 51 | pub fn prepare_rules<'a>() -> Parser { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/parser.rs:51:22 [INFO] [stderr] | [INFO] [stderr] 51 | pub fn prepare_rules<'a>() -> Parser { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parser.rs:856:16 [INFO] [stderr] | [INFO] [stderr] 856 | chars: &Vec, [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parser.rs:865:15 [INFO] [stderr] | [INFO] [stderr] 865 | rule_vec: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: change this to: `&[ParsingRule]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parser.rs:867:18 [INFO] [stderr] | [INFO] [stderr] 867 | char_vector: &Vec, [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/parser.rs:864:1 [INFO] [stderr] | [INFO] [stderr] 864 | / pub fn parse_with_rule( [INFO] [stderr] 865 | | rule_vec: &Vec, [INFO] [stderr] 866 | | rule: &ParsingRule, [INFO] [stderr] 867 | | char_vector: &Vec, [INFO] [stderr] ... | [INFO] [stderr] 1186 | | } [INFO] [stderr] 1187 | | } [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/parser.rs:1067:17 [INFO] [stderr] | [INFO] [stderr] 1067 | / let mut no_backtrack_required = false; [INFO] [stderr] 1068 | | if child_no2 == rule.children.len() - 1 { [INFO] [stderr] 1069 | | no_backtrack_required = true; [INFO] [stderr] 1070 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let no_backtrack_required = if child_no2 == rule.children.len() - 1 { true } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parser.rs:1190:15 [INFO] [stderr] | [INFO] [stderr] 1190 | rule_vec: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: change this to: `&[ParsingRule]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/parser.rs:1189:1 [INFO] [stderr] | [INFO] [stderr] 1189 | / pub fn parse_with_rule2( [INFO] [stderr] 1190 | | rule_vec: &Vec, [INFO] [stderr] 1191 | | rule: &ParsingRule, [INFO] [stderr] 1192 | | iter: &mut itertools::MultiPeek>, [INFO] [stderr] ... | [INFO] [stderr] 1629 | | } [INFO] [stderr] 1630 | | } [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parser.rs:856:16 [INFO] [stderr] | [INFO] [stderr] 856 | chars: &Vec, [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parser.rs:865:15 [INFO] [stderr] | [INFO] [stderr] 865 | rule_vec: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: change this to: `&[ParsingRule]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parser.rs:867:18 [INFO] [stderr] | [INFO] [stderr] 867 | char_vector: &Vec, [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/parser.rs:864:1 [INFO] [stderr] | [INFO] [stderr] 864 | / pub fn parse_with_rule( [INFO] [stderr] 865 | | rule_vec: &Vec, [INFO] [stderr] 866 | | rule: &ParsingRule, [INFO] [stderr] 867 | | char_vector: &Vec, [INFO] [stderr] ... | [INFO] [stderr] 1186 | | } [INFO] [stderr] 1187 | | } [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/parser.rs:1473:17 [INFO] [stderr] | [INFO] [stderr] 1473 | / let mut no_backtrack_required = false; [INFO] [stderr] 1474 | | if child_no2 == rule.children.len() - 1 { [INFO] [stderr] 1475 | | no_backtrack_required = true; [INFO] [stderr] 1476 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let no_backtrack_required = if child_no2 == rule.children.len() - 1 { true } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser.rs:1646:37 [INFO] [stderr] | [INFO] [stderr] 1646 | .map(|x| x.as_ref().map(|y| y.clone())) [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*y` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser.rs:1665:41 [INFO] [stderr] | [INFO] [stderr] 1665 | .map(|x| x.as_ref().map(|y| y.clone())) [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/sax.rs:133:13 [INFO] [stderr] | [INFO] [stderr] 133 | / if let &Some(_) = &self.stats_handler { [INFO] [stderr] 134 | | self.stats_handler [INFO] [stderr] 135 | | .as_mut() [INFO] [stderr] 136 | | .unwrap() [INFO] [stderr] 137 | | .borrow_mut() [INFO] [stderr] 138 | | .offset(offset); [INFO] [stderr] 139 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 133 | if let Some(_) = self.stats_handler { [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 27 [INFO] [stderr] --> src/sax.rs:152:5 [INFO] [stderr] | [INFO] [stderr] 152 | / fn pass( [INFO] [stderr] 153 | | &mut self, [INFO] [stderr] 154 | | rulename: String, [INFO] [stderr] 155 | | chars: &Vec, [INFO] [stderr] ... | [INFO] [stderr] 481 | | } [INFO] [stderr] 482 | | } [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/parser.rs:1067:17 [INFO] [stderr] | [INFO] [stderr] 1067 | / let mut no_backtrack_required = false; [INFO] [stderr] 1068 | | if child_no2 == rule.children.len() - 1 { [INFO] [stderr] 1069 | | no_backtrack_required = true; [INFO] [stderr] 1070 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let no_backtrack_required = if child_no2 == rule.children.len() - 1 { true } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parser.rs:1190:15 [INFO] [stderr] | [INFO] [stderr] 1190 | rule_vec: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: change this to: `&[ParsingRule]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/parser.rs:1189:1 [INFO] [stderr] | [INFO] [stderr] 1189 | / pub fn parse_with_rule2( [INFO] [stderr] 1190 | | rule_vec: &Vec, [INFO] [stderr] 1191 | | rule: &ParsingRule, [INFO] [stderr] 1192 | | iter: &mut itertools::MultiPeek>, [INFO] [stderr] ... | [INFO] [stderr] 1629 | | } [INFO] [stderr] 1630 | | } [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: manual implementation of an assign operation [INFO] [stderr] --> src/sax.rs:166:9 [INFO] [stderr] | [INFO] [stderr] 166 | ending_pos = ending_pos - starting_pos; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ending_pos -= starting_pos` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/sax.rs:171:18 [INFO] [stderr] | [INFO] [stderr] 171 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/sax.rs:179:18 [INFO] [stderr] | [INFO] [stderr] 179 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/sax.rs:197:13 [INFO] [stderr] | [INFO] [stderr] 197 | self.counter = self.counter + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.counter += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/sax.rs:207:40 [INFO] [stderr] | [INFO] [stderr] 207 | let v: Vec<&str> = attr.get_qualified_name().clone().split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 207 | let v: Vec<&str> = &(*attr.get_qualified_name()).clone().split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 207 | let v: Vec<&str> = &str::clone(attr.get_qualified_name()).split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/sax.rs:229:17 [INFO] [stderr] | [INFO] [stderr] 229 | / let uri: String; [INFO] [stderr] 230 | | if attr.get_qualified_name().contains(':') { [INFO] [stderr] 231 | | { [INFO] [stderr] 232 | | let v: Vec<&str> = attr.get_qualified_name().clone().split(':').collect(); [INFO] [stderr] ... | [INFO] [stderr] 250 | | uri = "".to_owned(); [INFO] [stderr] 251 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let uri = if attr.get_qualified_name().contains(':') { ..; result.2.clone() } else { ..; "".to_owned() };` [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] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/sax.rs:232:44 [INFO] [stderr] | [INFO] [stderr] 232 | let v: Vec<&str> = attr.get_qualified_name().clone().split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 232 | let v: Vec<&str> = &(*attr.get_qualified_name()).clone().split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 232 | let v: Vec<&str> = &str::clone(attr.get_qualified_name()).split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/sax.rs:296:40 [INFO] [stderr] | [INFO] [stderr] 296 | let v: Vec<&str> = attr.get_qualified_name().clone().split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 296 | let v: Vec<&str> = &(*attr.get_qualified_name()).clone().split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 296 | let v: Vec<&str> = &str::clone(attr.get_qualified_name()).split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/sax.rs:317:17 [INFO] [stderr] | [INFO] [stderr] 317 | / let uri: String; [INFO] [stderr] 318 | | if attr.get_qualified_name().contains(':') { [INFO] [stderr] 319 | | { [INFO] [stderr] 320 | | let v: Vec<&str> = attr.get_qualified_name().clone().split(':').collect(); [INFO] [stderr] ... | [INFO] [stderr] 338 | | uri = "".to_owned(); [INFO] [stderr] 339 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let uri = if attr.get_qualified_name().contains(':') { ..; result.2.clone() } else { ..; "".to_owned() };` [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] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/sax.rs:320:44 [INFO] [stderr] | [INFO] [stderr] 320 | let v: Vec<&str> = attr.get_qualified_name().clone().split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 320 | let v: Vec<&str> = &(*attr.get_qualified_name()).clone().split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 320 | let v: Vec<&str> = &str::clone(attr.get_qualified_name()).split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/sax.rs:414:18 [INFO] [stderr] | [INFO] [stderr] 414 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/sax.rs:427:18 [INFO] [stderr] | [INFO] [stderr] 427 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/sax.rs:440:18 [INFO] [stderr] | [INFO] [stderr] 440 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `sax::SaxParser` [INFO] [stderr] --> src/sax.rs:486:5 [INFO] [stderr] | [INFO] [stderr] 486 | / pub fn new() -> SaxParser { [INFO] [stderr] 487 | | return SaxParser { [INFO] [stderr] 488 | | content_handler: None, [INFO] [stderr] 489 | | stats_handler: None, [INFO] [stderr] ... | [INFO] [stderr] 496 | | }; [INFO] [stderr] 497 | | } [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] 485 | impl Default for sax::SaxParser { [INFO] [stderr] 486 | fn default() -> Self { [INFO] [stderr] 487 | Self::new() [INFO] [stderr] 488 | } [INFO] [stderr] 489 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/sax.rs:511:44 [INFO] [stderr] | [INFO] [stderr] 511 | let rule = &parser_rules.rule_vec[*parser_rules.rule_registry.get("document").unwrap()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&parser_rules.rule_registry["document"]` [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/parser.rs:1473:17 [INFO] [stderr] | [INFO] [stderr] 1473 | / let mut no_backtrack_required = false; [INFO] [stderr] 1474 | | if child_no2 == rule.children.len() - 1 { [INFO] [stderr] 1475 | | no_backtrack_required = true; [INFO] [stderr] 1476 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let no_backtrack_required = if child_no2 == rule.children.len() - 1 { true } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/sax.rs:566:32 [INFO] [stderr] | [INFO] [stderr] 566 | if let Some(_) = self.stats_handler { [INFO] [stderr] | _________________________- ^^^^^^^ [INFO] [stderr] 567 | | self.stats_handler [INFO] [stderr] 568 | | .as_mut() [INFO] [stderr] 569 | | .unwrap() [INFO] [stderr] 570 | | .borrow_mut() [INFO] [stderr] 571 | | .offset(erasable_pos); [INFO] [stderr] 572 | | } [INFO] [stderr] | |_________________________- help: try this: `if self.stats_handler.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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/sax.rs:596:16 [INFO] [stderr] | [INFO] [stderr] 596 | if let Some(_) = self.stats_handler { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 597 | | self.stats_handler [INFO] [stderr] 598 | | .as_mut() [INFO] [stderr] 599 | | .unwrap() [INFO] [stderr] 600 | | .borrow_mut() [INFO] [stderr] 601 | | .offset(chars.len()); [INFO] [stderr] 602 | | } [INFO] [stderr] | |_________- help: try this: `if self.stats_handler.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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/sax.rs:609:44 [INFO] [stderr] | [INFO] [stderr] 609 | let rule = &parser_rules.rule_vec[*parser_rules.rule_registry.get("document").unwrap()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&parser_rules.rule_registry["document"]` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser.rs:1646:37 [INFO] [stderr] | [INFO] [stderr] 1646 | .map(|x| x.as_ref().map(|y| y.clone())) [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*y` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/parsertidy.rs:28:41 [INFO] [stderr] | [INFO] [stderr] 28 | &parser_rule_vec_2[*parser.rule_registry.get(child_rule_name).unwrap()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&parser.rule_registry[child_rule_name]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/parsertidy.rs:38:45 [INFO] [stderr] | [INFO] [stderr] 38 | &parser_rule_vec_2[*parser.rule_registry.get(rulenamec).unwrap()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&parser.rule_registry[rulenamec]` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/parser.rs:1665:41 [INFO] [stderr] | [INFO] [stderr] 1665 | .map(|x| x.as_ref().map(|y| y.clone())) [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/parsertidy.rs:104:41 [INFO] [stderr] | [INFO] [stderr] 104 | &parser_rule_vec_2[*parser.rule_registry.get(child_rule_name).unwrap()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&parser.rule_registry[child_rule_name]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/parsertidy.rs:117:45 [INFO] [stderr] | [INFO] [stderr] 117 | &parser_rule_vec_2[*parser.rule_registry.get(rulenamec).unwrap()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&parser.rule_registry[rulenamec]` [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 both the expression and the patterns [INFO] [stderr] --> src/sax.rs:133:13 [INFO] [stderr] | [INFO] [stderr] 133 | / if let &Some(_) = &self.stats_handler { [INFO] [stderr] 134 | | self.stats_handler [INFO] [stderr] 135 | | .as_mut() [INFO] [stderr] 136 | | .unwrap() [INFO] [stderr] 137 | | .borrow_mut() [INFO] [stderr] 138 | | .offset(offset); [INFO] [stderr] 139 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 133 | if let Some(_) = self.stats_handler { [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/parsertidy.rs:156:12 [INFO] [stderr] | [INFO] [stderr] 156 | if zom_child.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!zom_child.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: the function has a cyclomatic complexity of 27 [INFO] [stderr] --> src/sax.rs:152:5 [INFO] [stderr] | [INFO] [stderr] 152 | / fn pass( [INFO] [stderr] 153 | | &mut self, [INFO] [stderr] 154 | | rulename: String, [INFO] [stderr] 155 | | chars: &Vec, [INFO] [stderr] ... | [INFO] [stderr] 481 | | } [INFO] [stderr] 482 | | } [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: parameter of type `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/parsertidy.rs:182:21 [INFO] [stderr] | [INFO] [stderr] 182 | zom_queue: &mut HashMap)>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::implicit_hasher)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 181 | pub fn change_zom_rule_rec( [INFO] [stderr] 182 | zom_queue: &mut HashMap), S>, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/parsertidy.rs:194:31 [INFO] [stderr] | [INFO] [stderr] 194 | &parser.rule_vec[*parser.rule_registry.get(child_rule_name).unwrap()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&parser.rule_registry[child_rule_name]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/parsertidy.rs:209:53 [INFO] [stderr] | [INFO] [stderr] 209 | let rulec: &ParsingRule = &parser.rule_vec[*parser.rule_registry.get(rulenamec).unwrap()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&parser.rule_registry[rulenamec]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/parsertidy.rs:247:48 [INFO] [stderr] | [INFO] [stderr] 247 | let rule: &ParsingRule = &parser.rule_vec[*parser.rule_registry.get(&rule_name).unwrap()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&parser.rule_registry[&rule_name]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/sax.rs:166:9 [INFO] [stderr] | [INFO] [stderr] 166 | ending_pos = ending_pos - starting_pos; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ending_pos -= starting_pos` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/sax.rs:171:18 [INFO] [stderr] | [INFO] [stderr] 171 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/sax.rs:179:18 [INFO] [stderr] | [INFO] [stderr] 179 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/sax.rs:197:13 [INFO] [stderr] | [INFO] [stderr] 197 | self.counter = self.counter + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.counter += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/sax.rs:207:40 [INFO] [stderr] | [INFO] [stderr] 207 | let v: Vec<&str> = attr.get_qualified_name().clone().split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 207 | let v: Vec<&str> = &(*attr.get_qualified_name()).clone().split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 207 | let v: Vec<&str> = &str::clone(attr.get_qualified_name()).split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/sax.rs:229:17 [INFO] [stderr] | [INFO] [stderr] 229 | / let uri: String; [INFO] [stderr] 230 | | if attr.get_qualified_name().contains(':') { [INFO] [stderr] 231 | | { [INFO] [stderr] 232 | | let v: Vec<&str> = attr.get_qualified_name().clone().split(':').collect(); [INFO] [stderr] ... | [INFO] [stderr] 250 | | uri = "".to_owned(); [INFO] [stderr] 251 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let uri = if attr.get_qualified_name().contains(':') { ..; result.2.clone() } else { ..; "".to_owned() };` [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] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/sax.rs:232:44 [INFO] [stderr] | [INFO] [stderr] 232 | let v: Vec<&str> = attr.get_qualified_name().clone().split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 232 | let v: Vec<&str> = &(*attr.get_qualified_name()).clone().split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 232 | let v: Vec<&str> = &str::clone(attr.get_qualified_name()).split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/sax.rs:296:40 [INFO] [stderr] | [INFO] [stderr] 296 | let v: Vec<&str> = attr.get_qualified_name().clone().split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 296 | let v: Vec<&str> = &(*attr.get_qualified_name()).clone().split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 296 | let v: Vec<&str> = &str::clone(attr.get_qualified_name()).split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/sax.rs:317:17 [INFO] [stderr] | [INFO] [stderr] 317 | / let uri: String; [INFO] [stderr] 318 | | if attr.get_qualified_name().contains(':') { [INFO] [stderr] 319 | | { [INFO] [stderr] 320 | | let v: Vec<&str> = attr.get_qualified_name().clone().split(':').collect(); [INFO] [stderr] ... | [INFO] [stderr] 338 | | uri = "".to_owned(); [INFO] [stderr] 339 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let uri = if attr.get_qualified_name().contains(':') { ..; result.2.clone() } else { ..; "".to_owned() };` [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] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/sax.rs:320:44 [INFO] [stderr] | [INFO] [stderr] 320 | let v: Vec<&str> = attr.get_qualified_name().clone().split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 320 | let v: Vec<&str> = &(*attr.get_qualified_name()).clone().split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 320 | let v: Vec<&str> = &str::clone(attr.get_qualified_name()).split(':').collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/sax.rs:414:18 [INFO] [stderr] | [INFO] [stderr] 414 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/sax.rs:427:18 [INFO] [stderr] | [INFO] [stderr] 427 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/sax.rs:440:18 [INFO] [stderr] | [INFO] [stderr] 440 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] error: Could not compile `xml_oxide`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: you should consider adding a `Default` implementation for `sax::SaxParser` [INFO] [stderr] --> src/sax.rs:486:5 [INFO] [stderr] | [INFO] [stderr] 486 | / pub fn new() -> SaxParser { [INFO] [stderr] 487 | | return SaxParser { [INFO] [stderr] 488 | | content_handler: None, [INFO] [stderr] 489 | | stats_handler: None, [INFO] [stderr] ... | [INFO] [stderr] 496 | | }; [INFO] [stderr] 497 | | } [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] 485 | impl Default for sax::SaxParser { [INFO] [stderr] 486 | fn default() -> Self { [INFO] [stderr] 487 | Self::new() [INFO] [stderr] 488 | } [INFO] [stderr] 489 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/sax.rs:511:44 [INFO] [stderr] | [INFO] [stderr] 511 | let rule = &parser_rules.rule_vec[*parser_rules.rule_registry.get("document").unwrap()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&parser_rules.rule_registry["document"]` [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/sax.rs:566:32 [INFO] [stderr] | [INFO] [stderr] 566 | if let Some(_) = self.stats_handler { [INFO] [stderr] | _________________________- ^^^^^^^ [INFO] [stderr] 567 | | self.stats_handler [INFO] [stderr] 568 | | .as_mut() [INFO] [stderr] 569 | | .unwrap() [INFO] [stderr] 570 | | .borrow_mut() [INFO] [stderr] 571 | | .offset(erasable_pos); [INFO] [stderr] 572 | | } [INFO] [stderr] | |_________________________- help: try this: `if self.stats_handler.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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/sax.rs:596:16 [INFO] [stderr] | [INFO] [stderr] 596 | if let Some(_) = self.stats_handler { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 597 | | self.stats_handler [INFO] [stderr] 598 | | .as_mut() [INFO] [stderr] 599 | | .unwrap() [INFO] [stderr] 600 | | .borrow_mut() [INFO] [stderr] 601 | | .offset(chars.len()); [INFO] [stderr] 602 | | } [INFO] [stderr] | |_________- help: try this: `if self.stats_handler.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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/sax.rs:609:44 [INFO] [stderr] | [INFO] [stderr] 609 | let rule = &parser_rules.rule_vec[*parser_rules.rule_registry.get("document").unwrap()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&parser_rules.rule_registry["document"]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/parsertidy.rs:28:41 [INFO] [stderr] | [INFO] [stderr] 28 | &parser_rule_vec_2[*parser.rule_registry.get(child_rule_name).unwrap()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&parser.rule_registry[child_rule_name]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/parsertidy.rs:38:45 [INFO] [stderr] | [INFO] [stderr] 38 | &parser_rule_vec_2[*parser.rule_registry.get(rulenamec).unwrap()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&parser.rule_registry[rulenamec]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/parsertidy.rs:104:41 [INFO] [stderr] | [INFO] [stderr] 104 | &parser_rule_vec_2[*parser.rule_registry.get(child_rule_name).unwrap()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&parser.rule_registry[child_rule_name]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/parsertidy.rs:117:45 [INFO] [stderr] | [INFO] [stderr] 117 | &parser_rule_vec_2[*parser.rule_registry.get(rulenamec).unwrap()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&parser.rule_registry[rulenamec]` [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: length comparison to zero [INFO] [stderr] --> src/parsertidy.rs:156:12 [INFO] [stderr] | [INFO] [stderr] 156 | if zom_child.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!zom_child.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: parameter of type `HashMap` should be generalized over different hashers [INFO] [stderr] --> src/parsertidy.rs:182:21 [INFO] [stderr] | [INFO] [stderr] 182 | zom_queue: &mut HashMap)>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::implicit_hasher)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_hasher [INFO] [stderr] help: consider adding a type parameter [INFO] [stderr] | [INFO] [stderr] 181 | pub fn change_zom_rule_rec( [INFO] [stderr] 182 | zom_queue: &mut HashMap), S>, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/parsertidy.rs:194:31 [INFO] [stderr] | [INFO] [stderr] 194 | &parser.rule_vec[*parser.rule_registry.get(child_rule_name).unwrap()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&parser.rule_registry[child_rule_name]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/parsertidy.rs:209:53 [INFO] [stderr] | [INFO] [stderr] 209 | let rulec: &ParsingRule = &parser.rule_vec[*parser.rule_registry.get(rulenamec).unwrap()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&parser.rule_registry[rulenamec]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/parsertidy.rs:247:48 [INFO] [stderr] | [INFO] [stderr] 247 | let rule: &ParsingRule = &parser.rule_vec[*parser.rule_registry.get(&rule_name).unwrap()]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&parser.rule_registry[&rule_name]` [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] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `xml_oxide`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "5e921a0aabacbda1f9e681878e3e997d5914bc3369b4f343fe821c02707eecc8"` [INFO] running `"docker" "rm" "-f" "5e921a0aabacbda1f9e681878e3e997d5914bc3369b4f343fe821c02707eecc8"` [INFO] [stdout] 5e921a0aabacbda1f9e681878e3e997d5914bc3369b4f343fe821c02707eecc8