[INFO] crate synapse-rpc 0.1.20 is already in cache [INFO] extracting crate synapse-rpc 0.1.20 into work/ex/clippy-test-run/sources/stable/reg/synapse-rpc/0.1.20 [INFO] extracting crate synapse-rpc 0.1.20 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/synapse-rpc/0.1.20 [INFO] validating manifest of synapse-rpc-0.1.20 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 synapse-rpc-0.1.20 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 synapse-rpc-0.1.20 [INFO] finished frobbing synapse-rpc-0.1.20 [INFO] frobbed toml for synapse-rpc-0.1.20 written to work/ex/clippy-test-run/sources/stable/reg/synapse-rpc/0.1.20/Cargo.toml [INFO] started frobbing synapse-rpc-0.1.20 [INFO] finished frobbing synapse-rpc-0.1.20 [INFO] frobbed toml for synapse-rpc-0.1.20 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/synapse-rpc/0.1.20/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 synapse-rpc-0.1.20 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/synapse-rpc/0.1.20:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] b46ac36fbdfce0b4d29b53552241132b3444da1ea641142feb501c59f2eb29c3 [INFO] running `"docker" "start" "-a" "b46ac36fbdfce0b4d29b53552241132b3444da1ea641142feb501c59f2eb29c3"` [INFO] [stderr] Checking chrono v0.4.6 [INFO] [stderr] Checking url_serde v0.2.0 [INFO] [stderr] Checking synapse-rpc v0.1.20 (/opt/crater/workdir) [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:636:17 [INFO] [stderr] | [INFO] [stderr] 636 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:638:17 [INFO] [stderr] | [INFO] [stderr] 638 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:640:17 [INFO] [stderr] | [INFO] [stderr] 640 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:642:17 [INFO] [stderr] | [INFO] [stderr] 642 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:654:17 [INFO] [stderr] | [INFO] [stderr] 654 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:666:17 [INFO] [stderr] | [INFO] [stderr] 666 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:670:17 [INFO] [stderr] | [INFO] [stderr] 670 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:672:17 [INFO] [stderr] | [INFO] [stderr] 672 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:674:17 [INFO] [stderr] | [INFO] [stderr] 674 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:676:17 [INFO] [stderr] | [INFO] [stderr] 676 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:681:17 [INFO] [stderr] | [INFO] [stderr] 681 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:683:17 [INFO] [stderr] | [INFO] [stderr] 683 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:693:17 [INFO] [stderr] | [INFO] [stderr] 693 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:695:17 [INFO] [stderr] | [INFO] [stderr] 695 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:697:17 [INFO] [stderr] | [INFO] [stderr] 697 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:699:17 [INFO] [stderr] | [INFO] [stderr] 699 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:701:17 [INFO] [stderr] | [INFO] [stderr] 701 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:704:21 [INFO] [stderr] | [INFO] [stderr] 704 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:707:17 [INFO] [stderr] | [INFO] [stderr] 707 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:709:17 [INFO] [stderr] | [INFO] [stderr] 709 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:711:17 [INFO] [stderr] | [INFO] [stderr] 711 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:713:17 [INFO] [stderr] | [INFO] [stderr] 713 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:715:17 [INFO] [stderr] | [INFO] [stderr] 715 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:717:17 [INFO] [stderr] | [INFO] [stderr] 717 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:729:17 [INFO] [stderr] | [INFO] [stderr] 729 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:741:17 [INFO] [stderr] | [INFO] [stderr] 741 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:743:17 [INFO] [stderr] | [INFO] [stderr] 743 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:745:17 [INFO] [stderr] | [INFO] [stderr] 745 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:747:17 [INFO] [stderr] | [INFO] [stderr] 747 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:749:17 [INFO] [stderr] | [INFO] [stderr] 749 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:755:17 [INFO] [stderr] | [INFO] [stderr] 755 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:761:17 [INFO] [stderr] | [INFO] [stderr] 761 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:767:17 [INFO] [stderr] | [INFO] [stderr] 767 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:773:17 [INFO] [stderr] | [INFO] [stderr] 773 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:636:17 [INFO] [stderr] | [INFO] [stderr] 636 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:638:17 [INFO] [stderr] | [INFO] [stderr] 638 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:640:17 [INFO] [stderr] | [INFO] [stderr] 640 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:642:17 [INFO] [stderr] | [INFO] [stderr] 642 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:654:17 [INFO] [stderr] | [INFO] [stderr] 654 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:666:17 [INFO] [stderr] | [INFO] [stderr] 666 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:670:17 [INFO] [stderr] | [INFO] [stderr] 670 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:672:17 [INFO] [stderr] | [INFO] [stderr] 672 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:674:17 [INFO] [stderr] | [INFO] [stderr] 674 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:676:17 [INFO] [stderr] | [INFO] [stderr] 676 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:681:17 [INFO] [stderr] | [INFO] [stderr] 681 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:683:17 [INFO] [stderr] | [INFO] [stderr] 683 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:693:17 [INFO] [stderr] | [INFO] [stderr] 693 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:695:17 [INFO] [stderr] | [INFO] [stderr] 695 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:697:17 [INFO] [stderr] | [INFO] [stderr] 697 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:699:17 [INFO] [stderr] | [INFO] [stderr] 699 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:701:17 [INFO] [stderr] | [INFO] [stderr] 701 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:704:21 [INFO] [stderr] | [INFO] [stderr] 704 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:707:17 [INFO] [stderr] | [INFO] [stderr] 707 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:709:17 [INFO] [stderr] | [INFO] [stderr] 709 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:711:17 [INFO] [stderr] | [INFO] [stderr] 711 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:713:17 [INFO] [stderr] | [INFO] [stderr] 713 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:715:17 [INFO] [stderr] | [INFO] [stderr] 715 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:717:17 [INFO] [stderr] | [INFO] [stderr] 717 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:729:17 [INFO] [stderr] | [INFO] [stderr] 729 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:741:17 [INFO] [stderr] | [INFO] [stderr] 741 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:743:17 [INFO] [stderr] | [INFO] [stderr] 743 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:745:17 [INFO] [stderr] | [INFO] [stderr] 745 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:747:17 [INFO] [stderr] | [INFO] [stderr] 747 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:749:17 [INFO] [stderr] | [INFO] [stderr] 749 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:755:17 [INFO] [stderr] | [INFO] [stderr] 755 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:761:17 [INFO] [stderr] | [INFO] [stderr] 761 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:767:17 [INFO] [stderr] | [INFO] [stderr] 767 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/resource.rs:773:17 [INFO] [stderr] | [INFO] [stderr] 773 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/resource.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | Torrent(Torrent), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 19 | Torrent(Box), [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/resource.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | Resource(Cow<'a, Resource>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 45 | Resource(Box>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/resource.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | Torrent(Torrent), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 19 | Torrent(Box), [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/resource.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | Resource(Cow<'a, Resource>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 45 | Resource(Box>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: consider using `Option` instead of `Option>` or a custom enum if you need to distinguish all 3 cases [INFO] [stderr] --> src/resource.rs:193:22 [INFO] [stderr] | [INFO] [stderr] 193 | pub throttle_up: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_option)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_option [INFO] [stderr] [INFO] [stderr] warning: consider using `Option` instead of `Option>` or a custom enum if you need to distinguish all 3 cases [INFO] [stderr] --> src/resource.rs:196:24 [INFO] [stderr] | [INFO] [stderr] 196 | pub throttle_down: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_option [INFO] [stderr] [INFO] [stderr] warning: consider using `Option` instead of `Option>` or a custom enum if you need to distinguish all 3 cases [INFO] [stderr] --> src/resource.rs:193:22 [INFO] [stderr] | [INFO] [stderr] 193 | pub throttle_up: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_option [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/resource.rs:371:19 [INFO] [stderr] | [INFO] [stderr] 371 | pub fn as_str(&self) -> &'static str { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:372:9 [INFO] [stderr] | [INFO] [stderr] 372 | / match self { [INFO] [stderr] 373 | | &Strategy::Rarest => "rarest", [INFO] [stderr] 374 | | &Strategy::Sequential => "sequential", [INFO] [stderr] 375 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 372 | match *self { [INFO] [stderr] 373 | Strategy::Rarest => "rarest", [INFO] [stderr] 374 | Strategy::Sequential => "sequential", [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: consider using `Option` instead of `Option>` or a custom enum if you need to distinguish all 3 cases [INFO] [stderr] --> src/resource.rs:193:22 [INFO] [stderr] | [INFO] [stderr] 193 | pub throttle_up: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_option)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_option [INFO] [stderr] [INFO] [stderr] warning: consider using `Option` instead of `Option>` or a custom enum if you need to distinguish all 3 cases [INFO] [stderr] --> src/resource.rs:196:24 [INFO] [stderr] | [INFO] [stderr] 196 | pub throttle_down: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_option [INFO] [stderr] [INFO] [stderr] warning: consider using `Option` instead of `Option>` or a custom enum if you need to distinguish all 3 cases [INFO] [stderr] --> src/resource.rs:193:22 [INFO] [stderr] | [INFO] [stderr] 193 | pub throttle_up: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_option [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/resource.rs:475:9 [INFO] [stderr] | [INFO] [stderr] 475 | / match update { [INFO] [stderr] 476 | | SResourceUpdate::TrackerStatus { [INFO] [stderr] 477 | | last_report, error, .. [INFO] [stderr] 478 | | } => { [INFO] [stderr] ... | [INFO] [stderr] 482 | | _ => {} [INFO] [stderr] 483 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 475 | if let SResourceUpdate::TrackerStatus { [INFO] [stderr] 476 | last_report, error, .. [INFO] [stderr] 477 | } = update { [INFO] [stderr] 478 | self.last_report = last_report; [INFO] [stderr] 479 | self.error = error; [INFO] [stderr] 480 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:489:9 [INFO] [stderr] | [INFO] [stderr] 489 | / match self { [INFO] [stderr] 490 | | &SResourceUpdate::Resource(ref r) => r.id(), [INFO] [stderr] 491 | | &SResourceUpdate::Throttle { ref id, .. } [INFO] [stderr] 492 | | | &SResourceUpdate::Rate { ref id, .. } [INFO] [stderr] ... | [INFO] [stderr] 509 | | | &SResourceUpdate::PieceDownloaded { ref id, .. } => id, [INFO] [stderr] 510 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 489 | match *self { [INFO] [stderr] 490 | SResourceUpdate::Resource(ref r) => r.id(), [INFO] [stderr] 491 | SResourceUpdate::Throttle { ref id, .. } [INFO] [stderr] 492 | | SResourceUpdate::Rate { ref id, .. } [INFO] [stderr] 493 | | SResourceUpdate::UserData { ref id, .. } [INFO] [stderr] 494 | | SResourceUpdate::ServerTransfer { ref id, .. } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:516:9 [INFO] [stderr] | [INFO] [stderr] 516 | / match self { [INFO] [stderr] 517 | | &Resource::Server(ref t) => &t.id, [INFO] [stderr] 518 | | &Resource::Torrent(ref t) => &t.id, [INFO] [stderr] 519 | | &Resource::File(ref t) => &t.id, [INFO] [stderr] ... | [INFO] [stderr] 522 | | &Resource::Tracker(ref t) => &t.id, [INFO] [stderr] 523 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 516 | match *self { [INFO] [stderr] 517 | Resource::Server(ref t) => &t.id, [INFO] [stderr] 518 | Resource::Torrent(ref t) => &t.id, [INFO] [stderr] 519 | Resource::File(ref t) => &t.id, [INFO] [stderr] 520 | Resource::Piece(ref t) => &t.id, [INFO] [stderr] 521 | Resource::Peer(ref t) => &t.id, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:527:9 [INFO] [stderr] | [INFO] [stderr] 527 | / match self { [INFO] [stderr] 528 | | &Resource::File(ref t) => Some(&t.torrent_id), [INFO] [stderr] 529 | | &Resource::Piece(ref t) => Some(&t.torrent_id), [INFO] [stderr] 530 | | &Resource::Peer(ref t) => Some(&t.torrent_id), [INFO] [stderr] 531 | | &Resource::Tracker(ref t) => Some(&t.torrent_id), [INFO] [stderr] 532 | | _ => None, [INFO] [stderr] 533 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 527 | match *self { [INFO] [stderr] 528 | Resource::File(ref t) => Some(&t.torrent_id), [INFO] [stderr] 529 | Resource::Piece(ref t) => Some(&t.torrent_id), [INFO] [stderr] 530 | Resource::Peer(ref t) => Some(&t.torrent_id), [INFO] [stderr] 531 | Resource::Tracker(ref t) => Some(&t.torrent_id), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:537:9 [INFO] [stderr] | [INFO] [stderr] 537 | / match self { [INFO] [stderr] 538 | | &Resource::Server(_) => ResourceKind::Server, [INFO] [stderr] 539 | | &Resource::Torrent(_) => ResourceKind::Torrent, [INFO] [stderr] 540 | | &Resource::File(_) => ResourceKind::File, [INFO] [stderr] ... | [INFO] [stderr] 543 | | &Resource::Tracker(_) => ResourceKind::Tracker, [INFO] [stderr] 544 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 537 | match *self { [INFO] [stderr] 538 | Resource::Server(_) => ResourceKind::Server, [INFO] [stderr] 539 | Resource::Torrent(_) => ResourceKind::Torrent, [INFO] [stderr] 540 | Resource::File(_) => ResourceKind::File, [INFO] [stderr] 541 | Resource::Piece(_) => ResourceKind::Piece, [INFO] [stderr] 542 | Resource::Peer(_) => ResourceKind::Peer, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:548:9 [INFO] [stderr] | [INFO] [stderr] 548 | / match self { [INFO] [stderr] 549 | | &mut Resource::Server(ref mut r) => &mut r.user_data, [INFO] [stderr] 550 | | &mut Resource::Torrent(ref mut r) => &mut r.user_data, [INFO] [stderr] 551 | | &mut Resource::File(ref mut r) => &mut r.user_data, [INFO] [stderr] ... | [INFO] [stderr] 554 | | &mut Resource::Tracker(ref mut r) => &mut r.user_data, [INFO] [stderr] 555 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 548 | match *self { [INFO] [stderr] 549 | Resource::Server(ref mut r) => &mut r.user_data, [INFO] [stderr] 550 | Resource::Torrent(ref mut r) => &mut r.user_data, [INFO] [stderr] 551 | Resource::File(ref mut r) => &mut r.user_data, [INFO] [stderr] 552 | Resource::Piece(ref mut r) => &mut r.user_data, [INFO] [stderr] 553 | Resource::Peer(ref mut r) => &mut r.user_data, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:559:9 [INFO] [stderr] | [INFO] [stderr] 559 | / match self { [INFO] [stderr] 560 | | &Resource::Server(ref s) => s, [INFO] [stderr] 561 | | _ => panic!(), [INFO] [stderr] 562 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 559 | match *self { [INFO] [stderr] 560 | Resource::Server(ref s) => s, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:566:9 [INFO] [stderr] | [INFO] [stderr] 566 | / match self { [INFO] [stderr] 567 | | &Resource::Torrent(ref t) => t, [INFO] [stderr] 568 | | _ => panic!(), [INFO] [stderr] 569 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 566 | match *self { [INFO] [stderr] 567 | Resource::Torrent(ref t) => t, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:573:9 [INFO] [stderr] | [INFO] [stderr] 573 | / match self { [INFO] [stderr] 574 | | &mut Resource::Torrent(ref mut t) => t, [INFO] [stderr] 575 | | _ => panic!(), [INFO] [stderr] 576 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 573 | match *self { [INFO] [stderr] 574 | Resource::Torrent(ref mut t) => t, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:580:9 [INFO] [stderr] | [INFO] [stderr] 580 | / match self { [INFO] [stderr] 581 | | &Resource::File(ref f) => f, [INFO] [stderr] 582 | | _ => panic!(), [INFO] [stderr] 583 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 580 | match *self { [INFO] [stderr] 581 | Resource::File(ref f) => f, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:587:9 [INFO] [stderr] | [INFO] [stderr] 587 | / match self { [INFO] [stderr] 588 | | &Resource::Piece(ref p) => p, [INFO] [stderr] 589 | | _ => panic!(), [INFO] [stderr] 590 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 587 | match *self { [INFO] [stderr] 588 | Resource::Piece(ref p) => p, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:594:9 [INFO] [stderr] | [INFO] [stderr] 594 | / match self { [INFO] [stderr] 595 | | &Resource::Peer(ref p) => p, [INFO] [stderr] 596 | | _ => panic!(), [INFO] [stderr] 597 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 594 | match *self { [INFO] [stderr] 595 | Resource::Peer(ref p) => p, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:601:9 [INFO] [stderr] | [INFO] [stderr] 601 | / match self { [INFO] [stderr] 602 | | &Resource::Tracker(ref t) => t, [INFO] [stderr] 603 | | _ => panic!(), [INFO] [stderr] 604 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 601 | match *self { [INFO] [stderr] 602 | Resource::Tracker(ref t) => t, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:608:9 [INFO] [stderr] | [INFO] [stderr] 608 | / match self { [INFO] [stderr] 609 | | &mut Resource::Server(ref mut s) => { [INFO] [stderr] 610 | | s.update(update); [INFO] [stderr] 611 | | } [INFO] [stderr] ... | [INFO] [stderr] 626 | | } [INFO] [stderr] 627 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 608 | match *self { [INFO] [stderr] 609 | Resource::Server(ref mut s) => { [INFO] [stderr] 610 | s.update(update); [INFO] [stderr] 611 | } [INFO] [stderr] 612 | Resource::Torrent(ref mut t) => { [INFO] [stderr] 613 | t.update(update); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:633:9 [INFO] [stderr] | [INFO] [stderr] 633 | / match self { [INFO] [stderr] 634 | | &Resource::Server(ref t) => { [INFO] [stderr] 635 | | write!(f, "Server {{")?; [INFO] [stderr] 636 | | write!(f, "\n")?; [INFO] [stderr] ... | [INFO] [stderr] 787 | | } [INFO] [stderr] 788 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 633 | match *self { [INFO] [stderr] 634 | Resource::Server(ref t) => { [INFO] [stderr] 635 | write!(f, "Server {{")?; [INFO] [stderr] 636 | write!(f, "\n")?; [INFO] [stderr] 637 | write!(f, " id: {}", t.id)?; [INFO] [stderr] 638 | write!(f, "\n")?; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: consider using `Option` instead of `Option>` or a custom enum if you need to distinguish all 3 cases [INFO] [stderr] --> src/resource.rs:793:50 [INFO] [stderr] | [INFO] [stderr] 793 | fn deserialize_throttle<'de, D>(de: D) -> Result>, D::Error> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_option [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:810:9 [INFO] [stderr] | [INFO] [stderr] 810 | / match self { [INFO] [stderr] 811 | | &Resource::Server(ref t) => t.field(f), [INFO] [stderr] 812 | | &Resource::Torrent(ref t) => t.field(f), [INFO] [stderr] 813 | | &Resource::File(ref t) => t.field(f), [INFO] [stderr] ... | [INFO] [stderr] 816 | | &Resource::Tracker(ref t) => t.field(f), [INFO] [stderr] 817 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 810 | match *self { [INFO] [stderr] 811 | Resource::Server(ref t) => t.field(f), [INFO] [stderr] 812 | Resource::Torrent(ref t) => t.field(f), [INFO] [stderr] 813 | Resource::File(ref t) => t.field(f), [INFO] [stderr] 814 | Resource::Piece(ref t) => t.field(f), [INFO] [stderr] 815 | Resource::Peer(ref t) => t.field(f), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/resource.rs:850:56 [INFO] [stderr] | [INFO] [stderr] 850 | "throttle_up" => Some(self.throttle_up.map(|v| Field::N(v)).unwrap_or(FNULL)), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove closure as shown: `Field::N` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/resource.rs:851:60 [INFO] [stderr] | [INFO] [stderr] 851 | "throttle_down" => Some(self.throttle_down.map(|v| Field::N(v)).unwrap_or(FNULL)), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove closure as shown: `Field::N` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/resource.rs:899:41 [INFO] [stderr] | [INFO] [stderr] 899 | "priority" => Some(Field::N(self.priority as i64)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(self.priority)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/resource.rs:902:56 [INFO] [stderr] | [INFO] [stderr] 902 | "throttle_up" => Some(self.throttle_up.map(|v| Field::N(v)).unwrap_or(FNULL)), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove closure as shown: `Field::N` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/resource.rs:903:60 [INFO] [stderr] | [INFO] [stderr] 903 | "throttle_down" => Some(self.throttle_down.map(|v| Field::N(v)).unwrap_or(FNULL)), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove closure as shown: `Field::N` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/resource.rs:906:38 [INFO] [stderr] | [INFO] [stderr] 906 | "peers" => Some(Field::N(self.peers as i64)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i64::from(self.peers)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/resource.rs:907:41 [INFO] [stderr] | [INFO] [stderr] 907 | "trackers" => Some(Field::N(self.trackers as i64)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(self.trackers)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/resource.rs:913:67 [INFO] [stderr] | [INFO] [stderr] 913 | "piece_size" => Some(self.piece_size.map(|v| Field::N(v as i64)).unwrap_or(FNULL)), [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(v)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/resource.rs:914:57 [INFO] [stderr] | [INFO] [stderr] 914 | "files" => Some(self.files.map(|v| Field::N(v as i64)).unwrap_or(FNULL)), [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(v)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/resource.rs:954:41 [INFO] [stderr] | [INFO] [stderr] 954 | "priority" => Some(Field::N(self.priority as i64)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(self.priority)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/resource.rs:1009:19 [INFO] [stderr] | [INFO] [stderr] 1009 | pub fn as_str(&self) -> &'static str { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/resource.rs:371:19 [INFO] [stderr] | [INFO] [stderr] 371 | pub fn as_str(&self) -> &'static str { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:372:9 [INFO] [stderr] | [INFO] [stderr] 372 | / match self { [INFO] [stderr] 373 | | &Strategy::Rarest => "rarest", [INFO] [stderr] 374 | | &Strategy::Sequential => "sequential", [INFO] [stderr] 375 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 372 | match *self { [INFO] [stderr] 373 | Strategy::Rarest => "rarest", [INFO] [stderr] 374 | Strategy::Sequential => "sequential", [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/resource.rs:475:9 [INFO] [stderr] | [INFO] [stderr] 475 | / match update { [INFO] [stderr] 476 | | SResourceUpdate::TrackerStatus { [INFO] [stderr] 477 | | last_report, error, .. [INFO] [stderr] 478 | | } => { [INFO] [stderr] ... | [INFO] [stderr] 482 | | _ => {} [INFO] [stderr] 483 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 475 | if let SResourceUpdate::TrackerStatus { [INFO] [stderr] 476 | last_report, error, .. [INFO] [stderr] 477 | } = update { [INFO] [stderr] 478 | self.last_report = last_report; [INFO] [stderr] 479 | self.error = error; [INFO] [stderr] 480 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:489:9 [INFO] [stderr] | [INFO] [stderr] 489 | / match self { [INFO] [stderr] 490 | | &SResourceUpdate::Resource(ref r) => r.id(), [INFO] [stderr] 491 | | &SResourceUpdate::Throttle { ref id, .. } [INFO] [stderr] 492 | | | &SResourceUpdate::Rate { ref id, .. } [INFO] [stderr] ... | [INFO] [stderr] 509 | | | &SResourceUpdate::PieceDownloaded { ref id, .. } => id, [INFO] [stderr] 510 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 489 | match *self { [INFO] [stderr] 490 | SResourceUpdate::Resource(ref r) => r.id(), [INFO] [stderr] 491 | SResourceUpdate::Throttle { ref id, .. } [INFO] [stderr] 492 | | SResourceUpdate::Rate { ref id, .. } [INFO] [stderr] 493 | | SResourceUpdate::UserData { ref id, .. } [INFO] [stderr] 494 | | SResourceUpdate::ServerTransfer { ref id, .. } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:516:9 [INFO] [stderr] | [INFO] [stderr] 516 | / match self { [INFO] [stderr] 517 | | &Resource::Server(ref t) => &t.id, [INFO] [stderr] 518 | | &Resource::Torrent(ref t) => &t.id, [INFO] [stderr] 519 | | &Resource::File(ref t) => &t.id, [INFO] [stderr] ... | [INFO] [stderr] 522 | | &Resource::Tracker(ref t) => &t.id, [INFO] [stderr] 523 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 516 | match *self { [INFO] [stderr] 517 | Resource::Server(ref t) => &t.id, [INFO] [stderr] 518 | Resource::Torrent(ref t) => &t.id, [INFO] [stderr] 519 | Resource::File(ref t) => &t.id, [INFO] [stderr] 520 | Resource::Piece(ref t) => &t.id, [INFO] [stderr] 521 | Resource::Peer(ref t) => &t.id, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:527:9 [INFO] [stderr] | [INFO] [stderr] 527 | / match self { [INFO] [stderr] 528 | | &Resource::File(ref t) => Some(&t.torrent_id), [INFO] [stderr] 529 | | &Resource::Piece(ref t) => Some(&t.torrent_id), [INFO] [stderr] 530 | | &Resource::Peer(ref t) => Some(&t.torrent_id), [INFO] [stderr] 531 | | &Resource::Tracker(ref t) => Some(&t.torrent_id), [INFO] [stderr] 532 | | _ => None, [INFO] [stderr] 533 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 527 | match *self { [INFO] [stderr] 528 | Resource::File(ref t) => Some(&t.torrent_id), [INFO] [stderr] 529 | Resource::Piece(ref t) => Some(&t.torrent_id), [INFO] [stderr] 530 | Resource::Peer(ref t) => Some(&t.torrent_id), [INFO] [stderr] 531 | Resource::Tracker(ref t) => Some(&t.torrent_id), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:537:9 [INFO] [stderr] | [INFO] [stderr] 537 | / match self { [INFO] [stderr] 538 | | &Resource::Server(_) => ResourceKind::Server, [INFO] [stderr] 539 | | &Resource::Torrent(_) => ResourceKind::Torrent, [INFO] [stderr] 540 | | &Resource::File(_) => ResourceKind::File, [INFO] [stderr] ... | [INFO] [stderr] 543 | | &Resource::Tracker(_) => ResourceKind::Tracker, [INFO] [stderr] 544 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 537 | match *self { [INFO] [stderr] 538 | Resource::Server(_) => ResourceKind::Server, [INFO] [stderr] 539 | Resource::Torrent(_) => ResourceKind::Torrent, [INFO] [stderr] 540 | Resource::File(_) => ResourceKind::File, [INFO] [stderr] 541 | Resource::Piece(_) => ResourceKind::Piece, [INFO] [stderr] 542 | Resource::Peer(_) => ResourceKind::Peer, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:548:9 [INFO] [stderr] | [INFO] [stderr] 548 | / match self { [INFO] [stderr] 549 | | &mut Resource::Server(ref mut r) => &mut r.user_data, [INFO] [stderr] 550 | | &mut Resource::Torrent(ref mut r) => &mut r.user_data, [INFO] [stderr] 551 | | &mut Resource::File(ref mut r) => &mut r.user_data, [INFO] [stderr] ... | [INFO] [stderr] 554 | | &mut Resource::Tracker(ref mut r) => &mut r.user_data, [INFO] [stderr] 555 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 548 | match *self { [INFO] [stderr] 549 | Resource::Server(ref mut r) => &mut r.user_data, [INFO] [stderr] 550 | Resource::Torrent(ref mut r) => &mut r.user_data, [INFO] [stderr] 551 | Resource::File(ref mut r) => &mut r.user_data, [INFO] [stderr] 552 | Resource::Piece(ref mut r) => &mut r.user_data, [INFO] [stderr] 553 | Resource::Peer(ref mut r) => &mut r.user_data, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:559:9 [INFO] [stderr] | [INFO] [stderr] 559 | / match self { [INFO] [stderr] 560 | | &Resource::Server(ref s) => s, [INFO] [stderr] 561 | | _ => panic!(), [INFO] [stderr] 562 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 559 | match *self { [INFO] [stderr] 560 | Resource::Server(ref s) => s, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:566:9 [INFO] [stderr] | [INFO] [stderr] 566 | / match self { [INFO] [stderr] 567 | | &Resource::Torrent(ref t) => t, [INFO] [stderr] 568 | | _ => panic!(), [INFO] [stderr] 569 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 566 | match *self { [INFO] [stderr] 567 | Resource::Torrent(ref t) => t, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:573:9 [INFO] [stderr] | [INFO] [stderr] 573 | / match self { [INFO] [stderr] 574 | | &mut Resource::Torrent(ref mut t) => t, [INFO] [stderr] 575 | | _ => panic!(), [INFO] [stderr] 576 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 573 | match *self { [INFO] [stderr] 574 | Resource::Torrent(ref mut t) => t, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:580:9 [INFO] [stderr] | [INFO] [stderr] 580 | / match self { [INFO] [stderr] 581 | | &Resource::File(ref f) => f, [INFO] [stderr] 582 | | _ => panic!(), [INFO] [stderr] 583 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 580 | match *self { [INFO] [stderr] 581 | Resource::File(ref f) => f, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:587:9 [INFO] [stderr] | [INFO] [stderr] 587 | / match self { [INFO] [stderr] 588 | | &Resource::Piece(ref p) => p, [INFO] [stderr] 589 | | _ => panic!(), [INFO] [stderr] 590 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 587 | match *self { [INFO] [stderr] 588 | Resource::Piece(ref p) => p, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:594:9 [INFO] [stderr] | [INFO] [stderr] 594 | / match self { [INFO] [stderr] 595 | | &Resource::Peer(ref p) => p, [INFO] [stderr] 596 | | _ => panic!(), [INFO] [stderr] 597 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 594 | match *self { [INFO] [stderr] 595 | Resource::Peer(ref p) => p, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:601:9 [INFO] [stderr] | [INFO] [stderr] 601 | / match self { [INFO] [stderr] 602 | | &Resource::Tracker(ref t) => t, [INFO] [stderr] 603 | | _ => panic!(), [INFO] [stderr] 604 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 601 | match *self { [INFO] [stderr] 602 | Resource::Tracker(ref t) => t, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:608:9 [INFO] [stderr] | [INFO] [stderr] 608 | / match self { [INFO] [stderr] 609 | | &mut Resource::Server(ref mut s) => { [INFO] [stderr] 610 | | s.update(update); [INFO] [stderr] 611 | | } [INFO] [stderr] ... | [INFO] [stderr] 626 | | } [INFO] [stderr] 627 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 608 | match *self { [INFO] [stderr] 609 | Resource::Server(ref mut s) => { [INFO] [stderr] 610 | s.update(update); [INFO] [stderr] 611 | } [INFO] [stderr] 612 | Resource::Torrent(ref mut t) => { [INFO] [stderr] 613 | t.update(update); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:633:9 [INFO] [stderr] | [INFO] [stderr] 633 | / match self { [INFO] [stderr] 634 | | &Resource::Server(ref t) => { [INFO] [stderr] 635 | | write!(f, "Server {{")?; [INFO] [stderr] 636 | | write!(f, "\n")?; [INFO] [stderr] ... | [INFO] [stderr] 787 | | } [INFO] [stderr] 788 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 633 | match *self { [INFO] [stderr] 634 | Resource::Server(ref t) => { [INFO] [stderr] 635 | write!(f, "Server {{")?; [INFO] [stderr] 636 | write!(f, "\n")?; [INFO] [stderr] 637 | write!(f, " id: {}", t.id)?; [INFO] [stderr] 638 | write!(f, "\n")?; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: consider using `Option` instead of `Option>` or a custom enum if you need to distinguish all 3 cases [INFO] [stderr] --> src/resource.rs:793:50 [INFO] [stderr] | [INFO] [stderr] 793 | fn deserialize_throttle<'de, D>(de: D) -> Result>, D::Error> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_option [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/resource.rs:810:9 [INFO] [stderr] | [INFO] [stderr] 810 | / match self { [INFO] [stderr] 811 | | &Resource::Server(ref t) => t.field(f), [INFO] [stderr] 812 | | &Resource::Torrent(ref t) => t.field(f), [INFO] [stderr] 813 | | &Resource::File(ref t) => t.field(f), [INFO] [stderr] ... | [INFO] [stderr] 816 | | &Resource::Tracker(ref t) => t.field(f), [INFO] [stderr] 817 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 810 | match *self { [INFO] [stderr] 811 | Resource::Server(ref t) => t.field(f), [INFO] [stderr] 812 | Resource::Torrent(ref t) => t.field(f), [INFO] [stderr] 813 | Resource::File(ref t) => t.field(f), [INFO] [stderr] 814 | Resource::Piece(ref t) => t.field(f), [INFO] [stderr] 815 | Resource::Peer(ref t) => t.field(f), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/resource.rs:850:56 [INFO] [stderr] | [INFO] [stderr] 850 | "throttle_up" => Some(self.throttle_up.map(|v| Field::N(v)).unwrap_or(FNULL)), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove closure as shown: `Field::N` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/resource.rs:851:60 [INFO] [stderr] | [INFO] [stderr] 851 | "throttle_down" => Some(self.throttle_down.map(|v| Field::N(v)).unwrap_or(FNULL)), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove closure as shown: `Field::N` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/resource.rs:899:41 [INFO] [stderr] | [INFO] [stderr] 899 | "priority" => Some(Field::N(self.priority as i64)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(self.priority)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/resource.rs:902:56 [INFO] [stderr] | [INFO] [stderr] 902 | "throttle_up" => Some(self.throttle_up.map(|v| Field::N(v)).unwrap_or(FNULL)), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove closure as shown: `Field::N` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/resource.rs:903:60 [INFO] [stderr] | [INFO] [stderr] 903 | "throttle_down" => Some(self.throttle_down.map(|v| Field::N(v)).unwrap_or(FNULL)), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove closure as shown: `Field::N` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/resource.rs:906:38 [INFO] [stderr] | [INFO] [stderr] 906 | "peers" => Some(Field::N(self.peers as i64)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i64::from(self.peers)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/resource.rs:907:41 [INFO] [stderr] | [INFO] [stderr] 907 | "trackers" => Some(Field::N(self.trackers as i64)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(self.trackers)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/resource.rs:913:67 [INFO] [stderr] | [INFO] [stderr] 913 | "piece_size" => Some(self.piece_size.map(|v| Field::N(v as i64)).unwrap_or(FNULL)), [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(v)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/resource.rs:914:57 [INFO] [stderr] | [INFO] [stderr] 914 | "files" => Some(self.files.map(|v| Field::N(v as i64)).unwrap_or(FNULL)), [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(v)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/resource.rs:954:41 [INFO] [stderr] | [INFO] [stderr] 954 | "priority" => Some(Field::N(self.priority as i64)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(self.priority)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/resource.rs:1009:19 [INFO] [stderr] | [INFO] [stderr] 1009 | pub fn as_str(&self) -> &'static str { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 10.39s [INFO] running `"docker" "inspect" "b46ac36fbdfce0b4d29b53552241132b3444da1ea641142feb501c59f2eb29c3"` [INFO] running `"docker" "rm" "-f" "b46ac36fbdfce0b4d29b53552241132b3444da1ea641142feb501c59f2eb29c3"` [INFO] [stdout] b46ac36fbdfce0b4d29b53552241132b3444da1ea641142feb501c59f2eb29c3