[INFO] updating cached repository cheme/rust-striple [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/cheme/rust-striple [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/cheme/rust-striple" "work/ex/clippy-test-run/sources/stable/gh/cheme/rust-striple"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/cheme/rust-striple'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/cheme/rust-striple" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/cheme/rust-striple"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/cheme/rust-striple'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] e5298e9e043caf57c8774f66188554fbe18cf604 [INFO] sha for GitHub repo cheme/rust-striple: e5298e9e043caf57c8774f66188554fbe18cf604 [INFO] validating manifest of cheme/rust-striple 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 cheme/rust-striple 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 cheme/rust-striple [INFO] removed 0 missing examples [INFO] finished frobbing cheme/rust-striple [INFO] frobbed toml for cheme/rust-striple written to work/ex/clippy-test-run/sources/stable/gh/cheme/rust-striple/Cargo.toml [INFO] started frobbing cheme/rust-striple [INFO] removed 0 missing examples [INFO] finished frobbing cheme/rust-striple [INFO] frobbed toml for cheme/rust-striple written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/cheme/rust-striple/Cargo.toml [INFO] crate cheme/rust-striple has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting cheme/rust-striple against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/cheme/rust-striple:/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] 7b3b8cd9cfcbc9164506c606bcaa51241f0f7a2d389395241c6ceb59bbb66c8b [INFO] running `"docker" "start" "-a" "7b3b8cd9cfcbc9164506c606bcaa51241f0f7a2d389395241c6ceb59bbb66c8b"` [INFO] [stderr] Compiling rust-crypto v0.2.36 [INFO] [stderr] Checking num-complex v0.1.39 [INFO] [stderr] Checking uuid v0.5.1 [INFO] [stderr] Checking openssl-sys v0.9.15 [INFO] [stderr] Checking docopt v0.8.1 [INFO] [stderr] Checking openssl v0.9.15 [INFO] [stderr] Checking num v0.1.40 [INFO] [stderr] Checking striple v0.0.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/striple.rs:483:9 [INFO] [stderr] | [INFO] [stderr] 483 | contentenc : contentenc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contentenc` [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/striple.rs:489:9 [INFO] [stderr] | [INFO] [stderr] 489 | contentids : contentids, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contentids` [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/striple.rs:490:9 [INFO] [stderr] | [INFO] [stderr] 490 | content : content, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `content` [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/striple.rs:835:7 [INFO] [stderr] | [INFO] [stderr] 835 | contentenc : contentenc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contentenc` [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/striple.rs:836:7 [INFO] [stderr] | [INFO] [stderr] 836 | id : id, [INFO] [stderr] | ^^^^^^^ help: replace it with: `id` [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/striple.rs:837:7 [INFO] [stderr] | [INFO] [stderr] 837 | from : from, [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `from` [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/striple.rs:838:7 [INFO] [stderr] | [INFO] [stderr] 838 | sig : sig, [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `sig` [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/striple.rs:839:7 [INFO] [stderr] | [INFO] [stderr] 839 | about : about, [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `about` [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/striple.rs:840:7 [INFO] [stderr] | [INFO] [stderr] 840 | key : key, [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `key` [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/striple.rs:841:7 [INFO] [stderr] | [INFO] [stderr] 841 | contentids : contentids, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contentids` [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/striple.rs:842:7 [INFO] [stderr] | [INFO] [stderr] 842 | content : content, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `content` [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/striple.rs:944:9 [INFO] [stderr] | [INFO] [stderr] 944 | contentids : contentids, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contentids` [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/storage.rs:222:7 [INFO] [stderr] | [INFO] [stderr] 222 | iter : iter, [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `iter` [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/storage.rs:225:7 [INFO] [stderr] | [INFO] [stderr] 225 | salt : salt, [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `salt` [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/storage.rs:226:7 [INFO] [stderr] | [INFO] [stderr] 226 | cipher : cipher, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `cipher` [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/storage.rs:227:7 [INFO] [stderr] | [INFO] [stderr] 227 | key : key, [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `key` [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/stripledata.rs:166:5 [INFO] [stderr] | [INFO] [stderr] 166 | pubripemd : pubripemd, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pubripemd` [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/stripledata.rs:167:5 [INFO] [stderr] | [INFO] [stderr] 167 | pubsha512 : pubsha512, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pubsha512` [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/stripledata.rs:168:5 [INFO] [stderr] | [INFO] [stderr] 168 | pubsha256 : pubsha256, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pubsha256` [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/stripledata.rs:169:5 [INFO] [stderr] | [INFO] [stderr] 169 | rsa2048_sha512 : rsa2048_sha512, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `rsa2048_sha512` [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/stripledata.rs:170:5 [INFO] [stderr] | [INFO] [stderr] 170 | ecdsaripemd160 : ecdsaripemd160, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ecdsaripemd160` [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/striple.rs:483:9 [INFO] [stderr] | [INFO] [stderr] 483 | contentenc : contentenc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contentenc` [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/striple.rs:489:9 [INFO] [stderr] | [INFO] [stderr] 489 | contentids : contentids, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contentids` [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/striple.rs:490:9 [INFO] [stderr] | [INFO] [stderr] 490 | content : content, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `content` [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/striple.rs:835:7 [INFO] [stderr] | [INFO] [stderr] 835 | contentenc : contentenc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contentenc` [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/striple.rs:836:7 [INFO] [stderr] | [INFO] [stderr] 836 | id : id, [INFO] [stderr] | ^^^^^^^ help: replace it with: `id` [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/striple.rs:837:7 [INFO] [stderr] | [INFO] [stderr] 837 | from : from, [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `from` [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/striple.rs:838:7 [INFO] [stderr] | [INFO] [stderr] 838 | sig : sig, [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `sig` [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/striple.rs:839:7 [INFO] [stderr] | [INFO] [stderr] 839 | about : about, [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `about` [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/striple.rs:840:7 [INFO] [stderr] | [INFO] [stderr] 840 | key : key, [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `key` [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/striple.rs:841:7 [INFO] [stderr] | [INFO] [stderr] 841 | contentids : contentids, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contentids` [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/striple.rs:842:7 [INFO] [stderr] | [INFO] [stderr] 842 | content : content, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `content` [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/striple.rs:944:9 [INFO] [stderr] | [INFO] [stderr] 944 | contentids : contentids, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contentids` [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/storage.rs:222:7 [INFO] [stderr] | [INFO] [stderr] 222 | iter : iter, [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `iter` [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/storage.rs:225:7 [INFO] [stderr] | [INFO] [stderr] 225 | salt : salt, [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `salt` [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/storage.rs:226:7 [INFO] [stderr] | [INFO] [stderr] 226 | cipher : cipher, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `cipher` [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/storage.rs:227:7 [INFO] [stderr] | [INFO] [stderr] 227 | key : key, [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `key` [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/stripledata.rs:166:5 [INFO] [stderr] | [INFO] [stderr] 166 | pubripemd : pubripemd, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pubripemd` [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/stripledata.rs:167:5 [INFO] [stderr] | [INFO] [stderr] 167 | pubsha512 : pubsha512, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pubsha512` [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/stripledata.rs:168:5 [INFO] [stderr] | [INFO] [stderr] 168 | pubsha256 : pubsha256, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pubsha256` [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/stripledata.rs:169:5 [INFO] [stderr] | [INFO] [stderr] 169 | rsa2048_sha512 : rsa2048_sha512, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `rsa2048_sha512` [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/stripledata.rs:170:5 [INFO] [stderr] | [INFO] [stderr] 170 | ecdsaripemd160 : ecdsaripemd160, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ecdsaripemd160` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/striple.rs:23:20 [INFO] [stderr] | [INFO] [stderr] 23 | pub const NOKEY : &'static [u8] = &[]; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/striple.rs:1100:20 [INFO] [stderr] | [INFO] [stderr] 1100 | let wrnbbyte = ((nbbytes - nbbyte)) as u8 ^ 128; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unused import: `stripledata` [INFO] [stderr] --> src/anystriple.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use stripledata; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Read` [INFO] [stderr] --> src/anystriple.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::io::Read; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `striple::SignatureScheme` [INFO] [stderr] --> src/anystriple.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use striple::SignatureScheme; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `striple::IDDerivation` [INFO] [stderr] --> src/anystriple.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use striple::IDDerivation; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `NoIDDer`, `NoSigCh` [INFO] [stderr] --> src/anystriple.rs:12:3 [INFO] [stderr] | [INFO] [stderr] 12 | NoSigCh, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 13 | NoIDDer, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::result::Result as StdResult` [INFO] [stderr] --> src/anystriple.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | use std::result::Result as StdResult; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `from_error` [INFO] [stderr] --> src/storage.rs:31:3 [INFO] [stderr] | [INFO] [stderr] 31 | from_error, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `num::traits::ToPrimitive` [INFO] [stderr] --> src/storage.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | use num::traits::ToPrimitive; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `striple::Error` [INFO] [stderr] --> src/public.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use striple::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `anystriple::PubRipemd` [INFO] [stderr] --> src/public.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use anystriple::PubRipemd; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `anystriple::PubRipemd` [INFO] [stderr] --> src/public.rs:147:7 [INFO] [stderr] | [INFO] [stderr] 147 | use anystriple::PubRipemd; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `anystriple::EcdsaRipemd160` [INFO] [stderr] --> src/stripledata.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | use anystriple::EcdsaRipemd160; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `anystriple::PubRipemd` [INFO] [stderr] --> src/stripledata.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | use anystriple::PubRipemd; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `anystriple::PubSha256` [INFO] [stderr] --> src/stripledata.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | use anystriple::PubSha256; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `striple::Error` [INFO] [stderr] --> src/rsa_openssl.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use striple::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `striple::ErrorKind` [INFO] [stderr] --> src/rsa_openssl.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use striple::ErrorKind; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `self::openssl::error::ErrorStack` [INFO] [stderr] --> src/rsa_openssl.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use self::openssl::error::ErrorStack; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `anystriple::PubSha512` [INFO] [stderr] --> src/rsa_openssl.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | use anystriple::PubSha512; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `striple::Error` [INFO] [stderr] --> src/ecdsa_crypto.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use striple::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/striple.rs:23:20 [INFO] [stderr] | [INFO] [stderr] 23 | pub const NOKEY : &'static [u8] = &[]; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/striple.rs:1100:20 [INFO] [stderr] | [INFO] [stderr] 1100 | let wrnbbyte = ((nbbytes - nbbyte)) as u8 ^ 128; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/striple.rs:1243:24 [INFO] [stderr] | [INFO] [stderr] 1243 | assert_eq!(xtendsize(357000,1),vec![130,5,114,136]); [INFO] [stderr] | ^^^^^^ help: consider: `357_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/striple.rs:1255:58 [INFO] [stderr] | [INFO] [stderr] 1255 | assert_eq!(xtendsizedec(&[1,2,130,5,114,136],&mut 2,1),357000); [INFO] [stderr] | ^^^^^^ help: consider: `357_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/striple.rs:1268:79 [INFO] [stderr] | [INFO] [stderr] 1268 | assert_eq!(xtendsizeread(&mut Cursor::new(&[130,5,114,136][..]),1).unwrap(),357000); [INFO] [stderr] | ^^^^^^ help: consider: `357_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unused import: `striple::Error` [INFO] [stderr] --> src/striple.rs:1443:7 [INFO] [stderr] | [INFO] [stderr] 1443 | use striple::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/striple.rs:1939:5 [INFO] [stderr] | [INFO] [stderr] 1939 | return Ok(result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(result)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `stripledata` [INFO] [stderr] --> src/anystriple.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use stripledata; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Read` [INFO] [stderr] --> src/anystriple.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::io::Read; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `striple::SignatureScheme` [INFO] [stderr] --> src/anystriple.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use striple::SignatureScheme; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `striple::IDDerivation` [INFO] [stderr] --> src/anystriple.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use striple::IDDerivation; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `NoIDDer`, `NoSigCh` [INFO] [stderr] --> src/anystriple.rs:12:3 [INFO] [stderr] | [INFO] [stderr] 12 | NoSigCh, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 13 | NoIDDer, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::result::Result as StdResult` [INFO] [stderr] --> src/anystriple.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | use std::result::Result as StdResult; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `from_error` [INFO] [stderr] --> src/storage.rs:31:3 [INFO] [stderr] | [INFO] [stderr] 31 | from_error, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `num::traits::ToPrimitive` [INFO] [stderr] --> src/storage.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | use num::traits::ToPrimitive; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `striple::Error` [INFO] [stderr] --> src/public.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use striple::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `anystriple::PubRipemd` [INFO] [stderr] --> src/public.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use anystriple::PubRipemd; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `anystriple::EcdsaRipemd160` [INFO] [stderr] --> src/stripledata.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | use anystriple::EcdsaRipemd160; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `anystriple::PubRipemd` [INFO] [stderr] --> src/stripledata.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | use anystriple::PubRipemd; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `anystriple::PubSha256` [INFO] [stderr] --> src/stripledata.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | use anystriple::PubSha256; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `striple::Error` [INFO] [stderr] --> src/rsa_openssl.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use striple::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `striple::ErrorKind` [INFO] [stderr] --> src/rsa_openssl.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use striple::ErrorKind; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `self::openssl::error::ErrorStack` [INFO] [stderr] --> src/rsa_openssl.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use self::openssl::error::ErrorStack; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `striple::Error` [INFO] [stderr] --> src/ecdsa_crypto.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use striple::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'storage::openssl::hash::Hasher::finish': use finish2 instead [INFO] [stderr] --> src/rsa_openssl.rs:82:24 [INFO] [stderr] | [INFO] [stderr] 82 | let tosig = digest.finish()?; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'storage::openssl::hash::Hasher::finish': use finish2 instead [INFO] [stderr] --> src/rsa_openssl.rs:114:24 [INFO] [stderr] | [INFO] [stderr] 114 | let tosig = digest.finish()?; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `kl` [INFO] [stderr] --> src/storage.rs:198:9 [INFO] [stderr] | [INFO] [stderr] 198 | let kl = cipher.key_len(); [INFO] [stderr] | ^^ help: consider using `_kl` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/storage.rs:819:9 [INFO] [stderr] | [INFO] [stderr] 819 | let mut from = &mut self.0; [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/striple.rs:96:3 [INFO] [stderr] | [INFO] [stderr] 96 | fn get_content<'a>(&'a self) -> &'a Option>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/striple.rs:147:5 [INFO] [stderr] | [INFO] [stderr] 147 | / match self { [INFO] [stderr] 148 | | & mut BContRead::Bytes(ref mut b) => b, [INFO] [stderr] 149 | | & mut BContRead::LocalPath(ref mut p) => p, [INFO] [stderr] 150 | | } [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] 147 | match *self { [INFO] [stderr] 148 | BContRead::Bytes(ref mut b) => b, [INFO] [stderr] 149 | BContRead::LocalPath(ref mut p) => p, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/striple.rs:157:5 [INFO] [stderr] | [INFO] [stderr] 157 | / match self { [INFO] [stderr] 158 | | &BCont::OwnedBytes(ref b) => Ok(BContRead::Bytes(Cursor::new(&b[..]))), [INFO] [stderr] 159 | | &BCont::NotOwnedBytes(ref b) => Ok(BContRead::Bytes(Cursor::new(b))), [INFO] [stderr] 160 | | &BCont::LocalPath(ref p) => from_error(File::open(p).map(|f|BContRead::LocalPath(f))), [INFO] [stderr] 161 | | } [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] 157 | match *self { [INFO] [stderr] 158 | BCont::OwnedBytes(ref b) => Ok(BContRead::Bytes(Cursor::new(&b[..]))), [INFO] [stderr] 159 | BCont::NotOwnedBytes(ref b) => Ok(BContRead::Bytes(Cursor::new(b))), [INFO] [stderr] 160 | BCont::LocalPath(ref p) => from_error(File::open(p).map(|f|BContRead::LocalPath(f))), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/striple.rs:160:64 [INFO] [stderr] | [INFO] [stderr] 160 | &BCont::LocalPath(ref p) => from_error(File::open(p).map(|f|BContRead::LocalPath(f))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `BContRead::LocalPath` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/striple.rs:167:5 [INFO] [stderr] | [INFO] [stderr] 167 | / match self { [INFO] [stderr] 168 | | &BCont::OwnedBytes(ref b) => Ok((b.len() < CONTENT_LENGTH_COPYTRESHOLD, b.len())), [INFO] [stderr] 169 | | &BCont::NotOwnedBytes(ref b) => Ok((b.len() < CONTENT_LENGTH_COPYTRESHOLD, b.len())), [INFO] [stderr] 170 | | &BCont::LocalPath(ref p) => { [INFO] [stderr] ... | [INFO] [stderr] 173 | | }, [INFO] [stderr] 174 | | } [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] 167 | match *self { [INFO] [stderr] 168 | BCont::OwnedBytes(ref b) => Ok((b.len() < CONTENT_LENGTH_COPYTRESHOLD, b.len())), [INFO] [stderr] 169 | BCont::NotOwnedBytes(ref b) => Ok((b.len() < CONTENT_LENGTH_COPYTRESHOLD, b.len())), [INFO] [stderr] 170 | BCont::LocalPath(ref p) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/striple.rs:181:5 [INFO] [stderr] | [INFO] [stderr] 181 | / match self { [INFO] [stderr] 182 | | &BCont::OwnedBytes(ref b) => Ok(b.clone()), [INFO] [stderr] 183 | | &BCont::NotOwnedBytes(ref b) => Ok(b.to_vec()), [INFO] [stderr] 184 | | &BCont::LocalPath(_) => { [INFO] [stderr] ... | [INFO] [stderr] 189 | | }, [INFO] [stderr] 190 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 181 | match *self { [INFO] [stderr] 182 | BCont::OwnedBytes(ref b) => Ok(b.clone()), [INFO] [stderr] 183 | BCont::NotOwnedBytes(ref b) => Ok(b.to_vec()), [INFO] [stderr] 184 | BCont::LocalPath(_) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/striple.rs:193:5 [INFO] [stderr] | [INFO] [stderr] 193 | / match self { [INFO] [stderr] 194 | | &BCont::NotOwnedBytes(ref b) => BCont::OwnedBytes(b.to_vec()), [INFO] [stderr] 195 | | &BCont::OwnedBytes(ref b) => BCont::OwnedBytes(b.clone()), [INFO] [stderr] 196 | | &BCont::LocalPath(ref p) => BCont::LocalPath(p.clone()), [INFO] [stderr] 197 | | } [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] 193 | match *self { [INFO] [stderr] 194 | BCont::NotOwnedBytes(ref b) => BCont::OwnedBytes(b.to_vec()), [INFO] [stderr] 195 | BCont::OwnedBytes(ref b) => BCont::OwnedBytes(b.clone()), [INFO] [stderr] 196 | BCont::LocalPath(ref p) => BCont::LocalPath(p.clone()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/striple.rs:199:3 [INFO] [stderr] | [INFO] [stderr] 199 | / fn to_ref<'b>(&'b self) -> BCont<'b> { [INFO] [stderr] 200 | | match self { [INFO] [stderr] 201 | | &BCont::NotOwnedBytes(ref b) => BCont::NotOwnedBytes(b), [INFO] [stderr] 202 | | &BCont::OwnedBytes(ref b) => BCont::NotOwnedBytes(&b[..]), [INFO] [stderr] 203 | | &BCont::LocalPath(ref p) => BCont::LocalPath(p.clone()), [INFO] [stderr] 204 | | } [INFO] [stderr] 205 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/striple.rs:200:5 [INFO] [stderr] | [INFO] [stderr] 200 | / match self { [INFO] [stderr] 201 | | &BCont::NotOwnedBytes(ref b) => BCont::NotOwnedBytes(b), [INFO] [stderr] 202 | | &BCont::OwnedBytes(ref b) => BCont::NotOwnedBytes(&b[..]), [INFO] [stderr] 203 | | &BCont::LocalPath(ref p) => BCont::LocalPath(p.clone()), [INFO] [stderr] 204 | | } [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] 200 | match *self { [INFO] [stderr] 201 | BCont::NotOwnedBytes(ref b) => BCont::NotOwnedBytes(b), [INFO] [stderr] 202 | BCont::OwnedBytes(ref b) => BCont::NotOwnedBytes(&b[..]), [INFO] [stderr] 203 | BCont::LocalPath(ref p) => BCont::LocalPath(p.clone()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/striple.rs:487:23 [INFO] [stderr] | [INFO] [stderr] 487 | about : about.unwrap_or(vec!()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| vec!())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/striple.rs:591:8 [INFO] [stderr] | [INFO] [stderr] 591 | if self.about.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.about.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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/striple.rs:602:3 [INFO] [stderr] | [INFO] [stderr] 602 | / fn get_content<'a>(&'a self) -> &'a Option> { [INFO] [stderr] 603 | | &self.content [INFO] [stderr] 604 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/striple.rs:668:8 [INFO] [stderr] | [INFO] [stderr] 668 | if self.about.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.about.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/striple.rs:679:3 [INFO] [stderr] | [INFO] [stderr] 679 | / fn get_content<'b>(&'b self) -> &'b Option> { [INFO] [stderr] 680 | | &self.content [INFO] [stderr] 681 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'storage::openssl::hash::Hasher::finish': use finish2 instead [INFO] [stderr] --> src/rsa_openssl.rs:82:24 [INFO] [stderr] | [INFO] [stderr] 82 | let tosig = digest.finish()?; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/striple.rs:707:24 [INFO] [stderr] | [INFO] [stderr] 707 | pub fn copy_builder_id<'a,K : StripleKind>(algoid :&[u8], sr : Striple) -> Result> { [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: use of deprecated item 'storage::openssl::hash::Hasher::finish': use finish2 instead [INFO] [stderr] --> src/rsa_openssl.rs:114:24 [INFO] [stderr] | [INFO] [stderr] 114 | let tosig = digest.finish()?; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/striple.rs:752:3 [INFO] [stderr] | [INFO] [stderr] 752 | ix = ix + s; [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `ix += s` [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: length comparison to zero [INFO] [stderr] --> src/striple.rs:754:6 [INFO] [stderr] | [INFO] [stderr] 754 | if sig.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `sig.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/striple.rs:761:6 [INFO] [stderr] | [INFO] [stderr] 761 | if about.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `about.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/striple.rs:771:3 [INFO] [stderr] | [INFO] [stderr] 771 | ix = ix + s; [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `ix += s` [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] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/striple.rs:787:7 [INFO] [stderr] | [INFO] [stderr] 787 | / match &obc { [INFO] [stderr] 788 | | &Some (ref bc) => { [INFO] [stderr] 789 | | let mut r = bc.get_readable()?; [INFO] [stderr] 790 | | let mut tos = Cursor::new(tocheck).chain(r.trait_read()); [INFO] [stderr] ... | [INFO] [stderr] 793 | | &None => fromst.check_content(&mut Cursor::new(tocheck), sig)?, [INFO] [stderr] 794 | | }) [INFO] [stderr] | |_______^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 787 | match obc { [INFO] [stderr] 788 | Some (ref bc) => { [INFO] [stderr] 789 | let mut r = bc.get_readable()?; [INFO] [stderr] 790 | let mut tos = Cursor::new(tocheck).chain(r.trait_read()); [INFO] [stderr] 791 | fromst.check_content(&mut tos, sig)? [INFO] [stderr] 792 | }, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/striple.rs:812:7 [INFO] [stderr] | [INFO] [stderr] 812 | ix = ix + s; [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `ix += s` [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] warning: length comparison to zero [INFO] [stderr] --> src/striple.rs:828:6 [INFO] [stderr] | [INFO] [stderr] 828 | if id.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `id.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/striple.rs:829:6 [INFO] [stderr] | [INFO] [stderr] 829 | || from.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `from.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/striple.rs:830:7 [INFO] [stderr] | [INFO] [stderr] 830 | || (contentids.len() == 0 && content.is_none()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `contentids.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/striple.rs:891:3 [INFO] [stderr] | [INFO] [stderr] 891 | / fn get_content<'a>(&'a self) -> &'a Option> { [INFO] [stderr] 892 | | self.as_striple_if().get_content() [INFO] [stderr] 893 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/striple.rs:984:7 [INFO] [stderr] | [INFO] [stderr] 984 | Err(_) => [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/striple.rs:994:11 [INFO] [stderr] | [INFO] [stderr] 994 | Err(_) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [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/striple.rs:1077:5 [INFO] [stderr] | [INFO] [stderr] 1077 | / match self.2 { [INFO] [stderr] 1078 | | Some(ref tr) => { [INFO] [stderr] 1079 | | let trace = format!(" - trace : {}", tr); [INFO] [stderr] 1080 | | try!(ftr.write_str(&trace[..])); [INFO] [stderr] 1081 | | }, [INFO] [stderr] 1082 | | None => (), [INFO] [stderr] 1083 | | }; [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] 1077 | if let Some(ref tr) = self.2 { [INFO] [stderr] 1078 | let trace = format!(" - trace : {}", tr); [INFO] [stderr] 1079 | try!(ftr.write_str(&trace[..])); [INFO] [stderr] 1080 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `v`. [INFO] [stderr] --> src/striple.rs:1114:16 [INFO] [stderr] | [INFO] [stderr] 1114 | for i in 8 - nbbytes .. 8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 1114 | for in v.iter().skip(8 - nbbytes) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/striple.rs:1170:3 [INFO] [stderr] | [INFO] [stderr] 1170 | try!(r.read(&mut buf)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/striple.rs:1178:14 [INFO] [stderr] | [INFO] [stderr] 1178 | for _ in 0 .. 1 + addbytes { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use: `0..=addbytes` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/striple.rs:1186:5 [INFO] [stderr] | [INFO] [stderr] 1186 | nbbytes = nbbytes + addbytes; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `nbbytes += addbytes` [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] warning: manual implementation of an assign operation [INFO] [stderr] --> src/striple.rs:1306:3 [INFO] [stderr] | [INFO] [stderr] 1306 | *ix = *ix + s; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `*ix += s` [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] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/striple.rs:1370:37 [INFO] [stderr] | [INFO] [stderr] 1370 | let sptr : *const Striple = mem::transmute(ptr); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `ptr as *const striple::Striple` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/striple.rs:1379:35 [INFO] [stderr] | [INFO] [stderr] 1379 | let sptr : *mut Striple = mem::transmute(ptr); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `ptr as *mut striple::Striple` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/striple.rs:1397:43 [INFO] [stderr] | [INFO] [stderr] 1397 | let sptr : *const StripleRef<'a,SK> = mem::transmute(ptr); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `ptr as *const striple::StripleRef<'a, SK>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/striple.rs:1406:41 [INFO] [stderr] | [INFO] [stderr] 1406 | let sptr : *mut StripleRef<'a,SK> = mem::transmute(ptr); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `ptr as *mut striple::StripleRef<'a, SK>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/striple.rs:1984:12 [INFO] [stderr] | [INFO] [stderr] 1984 | .unwrap_or("error read content".as_bytes().to_vec()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "error read content".as_bytes().to_vec())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/striple.rs:1984:22 [INFO] [stderr] | [INFO] [stderr] 1984 | .unwrap_or("error read content".as_bytes().to_vec()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"error read content"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/striple.rs:1989:12 [INFO] [stderr] | [INFO] [stderr] 1989 | .unwrap_or("error read content".as_bytes().to_vec()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "error read content".as_bytes().to_vec())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/striple.rs:1989:22 [INFO] [stderr] | [INFO] [stderr] 1989 | .unwrap_or("error read content".as_bytes().to_vec()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"error read content"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/striple.rs:1992:9 [INFO] [stderr] | [INFO] [stderr] 1992 | "error read content".as_bytes().to_vec() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"error read content"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/anystriple.rs:153:5 [INFO] [stderr] | [INFO] [stderr] 153 | / match self { [INFO] [stderr] 154 | | $( & $en::$st(ref i) => i, )* [INFO] [stderr] 155 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] ... [INFO] [stderr] 163 | / derive_any_striple!(AnyStriple { [INFO] [stderr] 164 | | StripleRsa(StripleRSA), [INFO] [stderr] 165 | | StripleECDSA(StripleECDSA), [INFO] [stderr] 166 | | StriplePSha512(StriplePSha512), [INFO] [stderr] ... | [INFO] [stderr] 169 | | StripleNOKEY(Striple), [INFO] [stderr] 170 | | }); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/anystriple.rs:233:5 [INFO] [stderr] | [INFO] [stderr] 233 | / match self { [INFO] [stderr] 234 | | &AnyStriple::StriplePSha512(_) => { [INFO] [stderr] 235 | | true [INFO] [stderr] 236 | | }, [INFO] [stderr] ... | [INFO] [stderr] 245 | | } [INFO] [stderr] 246 | | } [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] 233 | match *self { [INFO] [stderr] 234 | AnyStriple::StriplePSha512(_) => { [INFO] [stderr] 235 | true [INFO] [stderr] 236 | }, [INFO] [stderr] 237 | AnyStriple::StriplePSha256(_) => { [INFO] [stderr] 238 | true [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/storage.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | / match self { [INFO] [stderr] 106 | | $( & $en::$st(ref i) => i.get_cypher_header(), )* [INFO] [stderr] 107 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] ... [INFO] [stderr] 131 | / derive_any_cypher!(AnyCyphers { [INFO] [stderr] 132 | | NoCypher(NoCypher), [INFO] [stderr] 133 | | Pbkdf2(Pbkdf2), [INFO] [stderr] 134 | | }); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/storage.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | / match self { [INFO] [stderr] 112 | | $( & $en::$st(ref i) => i.get_id_val(), )* [INFO] [stderr] 113 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] ... [INFO] [stderr] 131 | / derive_any_cypher!(AnyCyphers { [INFO] [stderr] 132 | | NoCypher(NoCypher), [INFO] [stderr] 133 | | Pbkdf2(Pbkdf2), [INFO] [stderr] 134 | | }); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/storage.rs:117:5 [INFO] [stderr] | [INFO] [stderr] 117 | / match self { [INFO] [stderr] 118 | | $( & $en::$st(ref i) => i.encrypt(cont), )* [INFO] [stderr] 119 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] ... [INFO] [stderr] 131 | / derive_any_cypher!(AnyCyphers { [INFO] [stderr] 132 | | NoCypher(NoCypher), [INFO] [stderr] 133 | | Pbkdf2(Pbkdf2), [INFO] [stderr] 134 | | }); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/storage.rs:123:5 [INFO] [stderr] | [INFO] [stderr] 123 | / match self { [INFO] [stderr] 124 | | $( & $en::$st(ref i) => i.decrypt(cont), )* [INFO] [stderr] 125 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] ... [INFO] [stderr] 131 | / derive_any_cypher!(AnyCyphers { [INFO] [stderr] 132 | | NoCypher(NoCypher), [INFO] [stderr] 133 | | Pbkdf2(Pbkdf2), [INFO] [stderr] 134 | | }); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/storage.rs:183:3 [INFO] [stderr] | [INFO] [stderr] 183 | try!(file.read(&mut salt)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/storage.rs:271:7 [INFO] [stderr] | [INFO] [stderr] 271 | to_enc.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!to_enc.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/storage.rs:303:7 [INFO] [stderr] | [INFO] [stderr] 303 | to_dec.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!to_dec.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/storage.rs:362:3 [INFO] [stderr] | [INFO] [stderr] 362 | / match fm { [INFO] [stderr] 363 | | &FileMode::Idem => { [INFO] [stderr] 364 | | try!(dest.write(&[STRIPLE_TAG_BYTE])); [INFO] [stderr] 365 | | Ok(true) [INFO] [stderr] ... | [INFO] [stderr] 415 | | }, [INFO] [stderr] 416 | | } [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] 362 | match *fm { [INFO] [stderr] 363 | FileMode::Idem => { [INFO] [stderr] 364 | try!(dest.write(&[STRIPLE_TAG_BYTE])); [INFO] [stderr] 365 | Ok(true) [INFO] [stderr] 366 | }, [INFO] [stderr] 367 | FileMode::NoFile => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:364:7 [INFO] [stderr] | [INFO] [stderr] 364 | try!(dest.write(&[STRIPLE_TAG_BYTE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:368:7 [INFO] [stderr] | [INFO] [stderr] 368 | try!(dest.write(&[STRIPLE_TAG_BYTE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:377:11 [INFO] [stderr] | [INFO] [stderr] 377 | try!(dest.write(&[STRIPLE_TAG_FILE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:378:11 [INFO] [stderr] | [INFO] [stderr] 378 | try!(dest.write(&xtendsize(pathb.len(),STORAGEPATH_LENGTH))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:379:11 [INFO] [stderr] | [INFO] [stderr] 379 | try!(dest.write(pathb)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:382:10 [INFO] [stderr] | [INFO] [stderr] 382 | try!(dest.write(&[STRIPLE_TAG_BYTE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:386:9 [INFO] [stderr] | [INFO] [stderr] 386 | try!(dest.write(&[STRIPLE_TAG_BYTE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:397:11 [INFO] [stderr] | [INFO] [stderr] 397 | dest.write(&[STRIPLE_TAG_FILE])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:398:11 [INFO] [stderr] | [INFO] [stderr] 398 | dest.write(&xtendsize(pathb.len(),STORAGEPATH_LENGTH))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:399:11 [INFO] [stderr] | [INFO] [stderr] 399 | dest.write(&pathb)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:402:10 [INFO] [stderr] | [INFO] [stderr] 402 | try!(dest.write(&[STRIPLE_TAG_BYTE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:406:9 [INFO] [stderr] | [INFO] [stderr] 406 | try!(dest.write(&[STRIPLE_TAG_BYTE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/storage.rs:420:3 [INFO] [stderr] | [INFO] [stderr] 420 | / match fm { [INFO] [stderr] 421 | | &FileMode::Idem => { [INFO] [stderr] 422 | | try!(dest.write(&[STRIPLE_TAG_FILE])); [INFO] [stderr] 423 | | let pathb = path.to_str().unwrap().as_bytes(); [INFO] [stderr] ... | [INFO] [stderr] 473 | | }, [INFO] [stderr] 474 | | } [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] 420 | match *fm { [INFO] [stderr] 421 | FileMode::Idem => { [INFO] [stderr] 422 | try!(dest.write(&[STRIPLE_TAG_FILE])); [INFO] [stderr] 423 | let pathb = path.to_str().unwrap().as_bytes(); [INFO] [stderr] 424 | try!(dest.write(&xtendsize(pathb.len(),STORAGEPATH_LENGTH))); [INFO] [stderr] 425 | try!(dest.write(pathb)); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:422:9 [INFO] [stderr] | [INFO] [stderr] 422 | try!(dest.write(&[STRIPLE_TAG_FILE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:424:9 [INFO] [stderr] | [INFO] [stderr] 424 | try!(dest.write(&xtendsize(pathb.len(),STORAGEPATH_LENGTH))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:425:9 [INFO] [stderr] | [INFO] [stderr] 425 | try!(dest.write(pathb)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:429:7 [INFO] [stderr] | [INFO] [stderr] 429 | try!(dest.write(&[STRIPLE_TAG_BYTE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:433:7 [INFO] [stderr] | [INFO] [stderr] 433 | try!(dest.write(&[STRIPLE_TAG_FILE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:447:7 [INFO] [stderr] | [INFO] [stderr] 447 | try!(dest.write(&xtendsize(pb.len(),STORAGEPATH_LENGTH))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:448:7 [INFO] [stderr] | [INFO] [stderr] 448 | try!(dest.write(pb)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:452:7 [INFO] [stderr] | [INFO] [stderr] 452 | try!(dest.write(&[STRIPLE_TAG_FILE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:456:9 [INFO] [stderr] | [INFO] [stderr] 456 | try!(dest.write(&xtendsize(pb.len(),STORAGEPATH_LENGTH))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:457:9 [INFO] [stderr] | [INFO] [stderr] 457 | try!(dest.write(pb)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:463:9 [INFO] [stderr] | [INFO] [stderr] 463 | try!(dest.write(&xtendsize(pb.len(),STORAGEPATH_LENGTH))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:464:9 [INFO] [stderr] | [INFO] [stderr] 464 | try!(dest.write(pb)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:486:11 [INFO] [stderr] | [INFO] [stderr] 486 | try!(dest.write(&[STRIPLE_TAG_BYTE])); false [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/storage.rs:489:11 [INFO] [stderr] | [INFO] [stderr] 489 | / match bcont { [INFO] [stderr] 490 | | &BCont::OwnedBytes(ref b) => { [INFO] [stderr] 491 | | try!(writebcontheader(&b[..], fm, dest)) [INFO] [stderr] 492 | | }, [INFO] [stderr] ... | [INFO] [stderr] 499 | | [INFO] [stderr] 500 | | } [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 *bcont { [INFO] [stderr] 490 | BCont::OwnedBytes(ref b) => { [INFO] [stderr] 491 | try!(writebcontheader(&b[..], fm, dest)) [INFO] [stderr] 492 | }, [INFO] [stderr] 493 | BCont::NotOwnedBytes(ref b) => { [INFO] [stderr] 494 | try!(writebcontheader(&b[..], fm, dest)) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:507:11 [INFO] [stderr] | [INFO] [stderr] 507 | dest.write(&xtendsize(encprikey.len(),STORAGEPK_LENGTH))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:508:11 [INFO] [stderr] | [INFO] [stderr] 508 | dest.write(&encprikey)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:511:11 [INFO] [stderr] | [INFO] [stderr] 511 | try!(dest.write(&xtendsize(0,STORAGEPK_LENGTH))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:519:9 [INFO] [stderr] | [INFO] [stderr] 519 | try!(dest.write(&xtendsize(to_ser.len() + oaddedcont,STORAGEST_LENGTH))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:521:9 [INFO] [stderr] | [INFO] [stderr] 521 | try!(dest.write(&xtendsize(to_ser.len(),STORAGEST_LENGTH))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:523:7 [INFO] [stderr] | [INFO] [stderr] 523 | try!(dest.write(&to_ser)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/storage.rs:525:9 [INFO] [stderr] | [INFO] [stderr] 525 | / match ocont { [INFO] [stderr] 526 | | Some (ref bc) => { [INFO] [stderr] 527 | | match bc.get_readable() { [INFO] [stderr] 528 | | Ok(mut r) => { [INFO] [stderr] ... | [INFO] [stderr] 546 | | None => (), [INFO] [stderr] 547 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 525 | if let Some (ref bc) = ocont { [INFO] [stderr] 526 | match bc.get_readable() { [INFO] [stderr] 527 | Ok(mut r) => { [INFO] [stderr] 528 | let mut buff = &mut [0;BUFF_WRITE]; [INFO] [stderr] 529 | let mut from = r.trait_read(); [INFO] [stderr] 530 | loop { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:537:21 [INFO] [stderr] | [INFO] [stderr] 537 | try!(dest.write(&buff[0..end])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:539:21 [INFO] [stderr] | [INFO] [stderr] 539 | try!(dest.write(buff)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/storage.rs:575:7 [INFO] [stderr] | [INFO] [stderr] 575 | try!(from.read(&mut bpath[..])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/storage.rs:594:5 [INFO] [stderr] | [INFO] [stderr] 594 | try!(from.read(&mut pkey[..])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/storage.rs:603:3 [INFO] [stderr] | [INFO] [stderr] 603 | from.read(&mut st[..])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:659:3 [INFO] [stderr] | [INFO] [stderr] 659 | try!(file.write(&cypher.get_cypher_header())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:675:3 [INFO] [stderr] | [INFO] [stderr] 675 | try!(file.write(&cypher.get_cypher_header())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/storage.rs:794:3 [INFO] [stderr] | [INFO] [stderr] 794 | try!(from.read(tag)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/storage.rs:822:5 [INFO] [stderr] | [INFO] [stderr] 822 | try!(from.read(&mut res)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused variable: `kl` [INFO] [stderr] --> src/storage.rs:198:9 [INFO] [stderr] | [INFO] [stderr] 198 | let kl = cipher.key_len(); [INFO] [stderr] | ^^ help: consider using `_kl` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/storage.rs:851:3 [INFO] [stderr] | [INFO] [stderr] 851 | entry.read(tag)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/storage.rs:866:3 [INFO] [stderr] | [INFO] [stderr] 866 | entry.read(&mut bufpri[..])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/public.rs:164:6 [INFO] [stderr] | [INFO] [stderr] 164 | digest.write(&buff[0 .. end])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/public.rs:166:7 [INFO] [stderr] | [INFO] [stderr] 166 | digest.write(buff)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/rsa_openssl.rs:47:11 [INFO] [stderr] | [INFO] [stderr] 47 | Ok(if sig.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `sig.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/rsa_openssl.rs:105:9 [INFO] [stderr] | [INFO] [stderr] 105 | digest.write(&buff[0 .. end])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/rsa_openssl.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | digest.write(buff)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/ecdsa_crypto.rs:38:8 [INFO] [stderr] | [INFO] [stderr] 38 | if sig.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `sig.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> src/for_c/mod.rs:71:3 [INFO] [stderr] | [INFO] [stderr] 71 | drop(st.0) [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::drop_copy)] on by default [INFO] [stderr] note: argument has type *mut storage::FileStripleIterator fn(&'r [u8], striple::StripleRef<'s, striple::NoKind>) -> std::result::Result> [INFO] [stderr] --> src/for_c/mod.rs:71:8 [INFO] [stderr] | [INFO] [stderr] 71 | drop(st.0) [INFO] [stderr] | ^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> src/for_c/mod.rs:75:3 [INFO] [stderr] | [INFO] [stderr] 75 | drop(st.0) [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type *const anystriple::AnyStriple [INFO] [stderr] --> src/for_c/mod.rs:75:8 [INFO] [stderr] | [INFO] [stderr] 75 | drop(st.0) [INFO] [stderr] | ^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> src/for_c/mod.rs:79:3 [INFO] [stderr] | [INFO] [stderr] 79 | drop(st.0) [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type *const (anystriple::AnyStriple, std::vec::Vec) [INFO] [stderr] --> src/for_c/mod.rs:79:8 [INFO] [stderr] | [INFO] [stderr] 79 | drop(st.0) [INFO] [stderr] | ^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const anystriple::AnyStriple`) to a reference type (`&anystriple::AnyStriple`) [INFO] [stderr] --> src/for_c/mod.rs:97:25 [INFO] [stderr] | [INFO] [stderr] 97 | let s : &AnyStriple = transmute(st.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&*st.0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/for_c/mod.rs:109:26 [INFO] [stderr] | [INFO] [stderr] 109 | let disp : *const () = transmute(st.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `st.0 as *const ()` [INFO] [stderr] ... [INFO] [stderr] 123 | getter!(get_enc); [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const anystriple::AnyStriple`) to a reference type (`&anystriple::AnyStriple`) [INFO] [stderr] --> src/for_c/mod.rs:111:25 [INFO] [stderr] | [INFO] [stderr] 111 | let s : &AnyStriple = transmute(st.0); // Note that it is also somehow fine for (AnyStriple,Vec), but in most case we should convert owned striple to its striple (no polymorphism here). [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&*st.0` [INFO] [stderr] ... [INFO] [stderr] 123 | getter!(get_enc); [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`*const u8`) to itself [INFO] [stderr] --> src/for_c/mod.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | bytes : transmute(b.as_ptr()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 123 | getter!(get_enc); [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_transmute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/for_c/mod.rs:109:26 [INFO] [stderr] | [INFO] [stderr] 109 | let disp : *const () = transmute(st.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `st.0 as *const ()` [INFO] [stderr] ... [INFO] [stderr] 124 | getter!(get_id); [INFO] [stderr] | ---------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const anystriple::AnyStriple`) to a reference type (`&anystriple::AnyStriple`) [INFO] [stderr] --> src/for_c/mod.rs:111:25 [INFO] [stderr] | [INFO] [stderr] 111 | let s : &AnyStriple = transmute(st.0); // Note that it is also somehow fine for (AnyStriple,Vec), but in most case we should convert owned striple to its striple (no polymorphism here). [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&*st.0` [INFO] [stderr] ... [INFO] [stderr] 124 | getter!(get_id); [INFO] [stderr] | ---------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`*const u8`) to itself [INFO] [stderr] --> src/for_c/mod.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | bytes : transmute(b.as_ptr()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 124 | getter!(get_id); [INFO] [stderr] | ---------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/for_c/mod.rs:109:26 [INFO] [stderr] | [INFO] [stderr] 109 | let disp : *const () = transmute(st.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `st.0 as *const ()` [INFO] [stderr] ... [INFO] [stderr] 125 | getter!(get_about); [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const anystriple::AnyStriple`) to a reference type (`&anystriple::AnyStriple`) [INFO] [stderr] --> src/for_c/mod.rs:111:25 [INFO] [stderr] | [INFO] [stderr] 111 | let s : &AnyStriple = transmute(st.0); // Note that it is also somehow fine for (AnyStriple,Vec), but in most case we should convert owned striple to its striple (no polymorphism here). [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&*st.0` [INFO] [stderr] ... [INFO] [stderr] 125 | getter!(get_about); [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`*const u8`) to itself [INFO] [stderr] --> src/for_c/mod.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | bytes : transmute(b.as_ptr()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 125 | getter!(get_about); [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/for_c/mod.rs:109:26 [INFO] [stderr] | [INFO] [stderr] 109 | let disp : *const () = transmute(st.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `st.0 as *const ()` [INFO] [stderr] ... [INFO] [stderr] 126 | getter!(get_key); [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const anystriple::AnyStriple`) to a reference type (`&anystriple::AnyStriple`) [INFO] [stderr] --> src/for_c/mod.rs:111:25 [INFO] [stderr] | [INFO] [stderr] 111 | let s : &AnyStriple = transmute(st.0); // Note that it is also somehow fine for (AnyStriple,Vec), but in most case we should convert owned striple to its striple (no polymorphism here). [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&*st.0` [INFO] [stderr] ... [INFO] [stderr] 126 | getter!(get_key); [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`*const u8`) to itself [INFO] [stderr] --> src/for_c/mod.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | bytes : transmute(b.as_ptr()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 126 | getter!(get_key); [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/for_c/mod.rs:109:26 [INFO] [stderr] | [INFO] [stderr] 109 | let disp : *const () = transmute(st.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `st.0 as *const ()` [INFO] [stderr] ... [INFO] [stderr] 127 | getter!(get_algo_key); [INFO] [stderr] | ---------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const anystriple::AnyStriple`) to a reference type (`&anystriple::AnyStriple`) [INFO] [stderr] --> src/for_c/mod.rs:111:25 [INFO] [stderr] | [INFO] [stderr] 111 | let s : &AnyStriple = transmute(st.0); // Note that it is also somehow fine for (AnyStriple,Vec), but in most case we should convert owned striple to its striple (no polymorphism here). [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&*st.0` [INFO] [stderr] ... [INFO] [stderr] 127 | getter!(get_algo_key); [INFO] [stderr] | ---------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`*const u8`) to itself [INFO] [stderr] --> src/for_c/mod.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | bytes : transmute(b.as_ptr()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 127 | getter!(get_algo_key); [INFO] [stderr] | ---------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/for_c/mod.rs:109:26 [INFO] [stderr] | [INFO] [stderr] 109 | let disp : *const () = transmute(st.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `st.0 as *const ()` [INFO] [stderr] ... [INFO] [stderr] 128 | getter!(get_sig); [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const anystriple::AnyStriple`) to a reference type (`&anystriple::AnyStriple`) [INFO] [stderr] --> src/for_c/mod.rs:111:25 [INFO] [stderr] | [INFO] [stderr] 111 | let s : &AnyStriple = transmute(st.0); // Note that it is also somehow fine for (AnyStriple,Vec), but in most case we should convert owned striple to its striple (no polymorphism here). [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&*st.0` [INFO] [stderr] ... [INFO] [stderr] 128 | getter!(get_sig); [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`*const u8`) to itself [INFO] [stderr] --> src/for_c/mod.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | bytes : transmute(b.as_ptr()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 128 | getter!(get_sig); [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const (anystriple::AnyStriple, std::vec::Vec)`) to a reference type (`&(anystriple::AnyStriple, std::vec::Vec)`) [INFO] [stderr] --> src/for_c/mod.rs:134:36 [INFO] [stderr] | [INFO] [stderr] 134 | let s : &(AnyStriple, Vec) = transmute(st.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&*st.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`*const u8`) to itself [INFO] [stderr] --> src/for_c/mod.rs:137:13 [INFO] [stderr] | [INFO] [stderr] 137 | bytes : transmute(b.as_ptr()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const anystriple::AnyStriple`) to a reference type (`&anystriple::AnyStriple`) [INFO] [stderr] --> src/for_c/mod.rs:146:25 [INFO] [stderr] | [INFO] [stderr] 146 | let s : &AnyStriple = transmute(st.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&*st.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/for_c/mod.rs:149:3 [INFO] [stderr] | [INFO] [stderr] 149 | / match s { [INFO] [stderr] 150 | | &BCont::OwnedBytes(ref b) => { [INFO] [stderr] 151 | | striple_bcont { [INFO] [stderr] 152 | | bytes : transmute((&b[..]).as_ptr()), [INFO] [stderr] ... | [INFO] [stderr] 173 | | }, [INFO] [stderr] 174 | | }).unwrap_or( [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] 149 | match *s { [INFO] [stderr] 150 | BCont::OwnedBytes(ref b) => { [INFO] [stderr] 151 | striple_bcont { [INFO] [stderr] 152 | bytes : transmute((&b[..]).as_ptr()), [INFO] [stderr] 153 | length : b.len() as size_t, [INFO] [stderr] 154 | ispath : false, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`*const u8`) to itself [INFO] [stderr] --> src/for_c/mod.rs:152:17 [INFO] [stderr] | [INFO] [stderr] 152 | bytes : transmute((&b[..]).as_ptr()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a pointer [INFO] [stderr] --> src/for_c/mod.rs:160:17 [INFO] [stderr] | [INFO] [stderr] 160 | bytes : transmute(&(*bb)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `&(*bb) as *const &&[u8] as *const u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a pointer [INFO] [stderr] --> src/for_c/mod.rs:169:17 [INFO] [stderr] | [INFO] [stderr] 169 | bytes : transmute(&(*bb)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `&(*bb) as *const &[u8] as *const u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`*const u8`) to itself [INFO] [stderr] --> src/for_c/mod.rs:192:13 [INFO] [stderr] | [INFO] [stderr] 192 | bytes : transmute(b.as_ptr()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`*const for_c::striple_bytes`) to itself [INFO] [stderr] --> src/for_c/mod.rs:196:10 [INFO] [stderr] | [INFO] [stderr] 196 | sb : transmute(c.as_ptr()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const (anystriple::AnyStriple, std::vec::Vec)`) to a reference type (`&(anystriple::AnyStriple, std::vec::Vec)`) [INFO] [stderr] --> src/for_c/mod.rs:250:41 [INFO] [stderr] | [INFO] [stderr] 250 | let ef : &(AnyStriple, Vec) = transmute(ptr.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `&*ptr.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/for_c/mod.rs:285:29 [INFO] [stderr] | [INFO] [stderr] 285 | let cpathu8 : *const u8 = transmute(cpath); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `cpath as *const u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*mut storage::FileStripleIterator fn(&'r [u8], striple::StripleRef<'s, striple::NoKind>) -> std::result::Result>`) to a reference type (`&mut storage::FileStripleIterator fn(&'r [u8], striple::StripleRef<'s, striple::NoKind>) -> std::result::Result>`) [INFO] [stderr] --> src/for_c/mod.rs:329:29 [INFO] [stderr] | [INFO] [stderr] 329 | let iter : &mut CIfIter = transmute(iter.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `&mut *iter.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a pointer [INFO] [stderr] --> src/for_c/mod.rs:347:32 [INFO] [stderr] | [INFO] [stderr] 347 | let disp : *const () = transmute(&(* st)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `&(* st) as *const (anystriple::AnyStriple, std::vec::Vec) as *const ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a pointer [INFO] [stderr] --> src/for_c/mod.rs:356:42 [INFO] [stderr] | [INFO] [stderr] 356 | let disp : *const AnyStriple = transmute (&(*st)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `&(*st) as *const anystriple::AnyStriple` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] error: aborting due to 51 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `striple`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/storage.rs:819:9 [INFO] [stderr] | [INFO] [stderr] 819 | let mut from = &mut self.0; [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/striple.rs:96:3 [INFO] [stderr] | [INFO] [stderr] 96 | fn get_content<'a>(&'a self) -> &'a Option>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/striple.rs:147:5 [INFO] [stderr] | [INFO] [stderr] 147 | / match self { [INFO] [stderr] 148 | | & mut BContRead::Bytes(ref mut b) => b, [INFO] [stderr] 149 | | & mut BContRead::LocalPath(ref mut p) => p, [INFO] [stderr] 150 | | } [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] 147 | match *self { [INFO] [stderr] 148 | BContRead::Bytes(ref mut b) => b, [INFO] [stderr] 149 | BContRead::LocalPath(ref mut p) => p, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/striple.rs:157:5 [INFO] [stderr] | [INFO] [stderr] 157 | / match self { [INFO] [stderr] 158 | | &BCont::OwnedBytes(ref b) => Ok(BContRead::Bytes(Cursor::new(&b[..]))), [INFO] [stderr] 159 | | &BCont::NotOwnedBytes(ref b) => Ok(BContRead::Bytes(Cursor::new(b))), [INFO] [stderr] 160 | | &BCont::LocalPath(ref p) => from_error(File::open(p).map(|f|BContRead::LocalPath(f))), [INFO] [stderr] 161 | | } [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] 157 | match *self { [INFO] [stderr] 158 | BCont::OwnedBytes(ref b) => Ok(BContRead::Bytes(Cursor::new(&b[..]))), [INFO] [stderr] 159 | BCont::NotOwnedBytes(ref b) => Ok(BContRead::Bytes(Cursor::new(b))), [INFO] [stderr] 160 | BCont::LocalPath(ref p) => from_error(File::open(p).map(|f|BContRead::LocalPath(f))), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/striple.rs:160:64 [INFO] [stderr] | [INFO] [stderr] 160 | &BCont::LocalPath(ref p) => from_error(File::open(p).map(|f|BContRead::LocalPath(f))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `BContRead::LocalPath` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/striple.rs:167:5 [INFO] [stderr] | [INFO] [stderr] 167 | / match self { [INFO] [stderr] 168 | | &BCont::OwnedBytes(ref b) => Ok((b.len() < CONTENT_LENGTH_COPYTRESHOLD, b.len())), [INFO] [stderr] 169 | | &BCont::NotOwnedBytes(ref b) => Ok((b.len() < CONTENT_LENGTH_COPYTRESHOLD, b.len())), [INFO] [stderr] 170 | | &BCont::LocalPath(ref p) => { [INFO] [stderr] ... | [INFO] [stderr] 173 | | }, [INFO] [stderr] 174 | | } [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] 167 | match *self { [INFO] [stderr] 168 | BCont::OwnedBytes(ref b) => Ok((b.len() < CONTENT_LENGTH_COPYTRESHOLD, b.len())), [INFO] [stderr] 169 | BCont::NotOwnedBytes(ref b) => Ok((b.len() < CONTENT_LENGTH_COPYTRESHOLD, b.len())), [INFO] [stderr] 170 | BCont::LocalPath(ref p) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/striple.rs:181:5 [INFO] [stderr] | [INFO] [stderr] 181 | / match self { [INFO] [stderr] 182 | | &BCont::OwnedBytes(ref b) => Ok(b.clone()), [INFO] [stderr] 183 | | &BCont::NotOwnedBytes(ref b) => Ok(b.to_vec()), [INFO] [stderr] 184 | | &BCont::LocalPath(_) => { [INFO] [stderr] ... | [INFO] [stderr] 189 | | }, [INFO] [stderr] 190 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 181 | match *self { [INFO] [stderr] 182 | BCont::OwnedBytes(ref b) => Ok(b.clone()), [INFO] [stderr] 183 | BCont::NotOwnedBytes(ref b) => Ok(b.to_vec()), [INFO] [stderr] 184 | BCont::LocalPath(_) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/striple.rs:193:5 [INFO] [stderr] | [INFO] [stderr] 193 | / match self { [INFO] [stderr] 194 | | &BCont::NotOwnedBytes(ref b) => BCont::OwnedBytes(b.to_vec()), [INFO] [stderr] 195 | | &BCont::OwnedBytes(ref b) => BCont::OwnedBytes(b.clone()), [INFO] [stderr] 196 | | &BCont::LocalPath(ref p) => BCont::LocalPath(p.clone()), [INFO] [stderr] 197 | | } [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] 193 | match *self { [INFO] [stderr] 194 | BCont::NotOwnedBytes(ref b) => BCont::OwnedBytes(b.to_vec()), [INFO] [stderr] 195 | BCont::OwnedBytes(ref b) => BCont::OwnedBytes(b.clone()), [INFO] [stderr] 196 | BCont::LocalPath(ref p) => BCont::LocalPath(p.clone()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/striple.rs:199:3 [INFO] [stderr] | [INFO] [stderr] 199 | / fn to_ref<'b>(&'b self) -> BCont<'b> { [INFO] [stderr] 200 | | match self { [INFO] [stderr] 201 | | &BCont::NotOwnedBytes(ref b) => BCont::NotOwnedBytes(b), [INFO] [stderr] 202 | | &BCont::OwnedBytes(ref b) => BCont::NotOwnedBytes(&b[..]), [INFO] [stderr] 203 | | &BCont::LocalPath(ref p) => BCont::LocalPath(p.clone()), [INFO] [stderr] 204 | | } [INFO] [stderr] 205 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/striple.rs:200:5 [INFO] [stderr] | [INFO] [stderr] 200 | / match self { [INFO] [stderr] 201 | | &BCont::NotOwnedBytes(ref b) => BCont::NotOwnedBytes(b), [INFO] [stderr] 202 | | &BCont::OwnedBytes(ref b) => BCont::NotOwnedBytes(&b[..]), [INFO] [stderr] 203 | | &BCont::LocalPath(ref p) => BCont::LocalPath(p.clone()), [INFO] [stderr] 204 | | } [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] 200 | match *self { [INFO] [stderr] 201 | BCont::NotOwnedBytes(ref b) => BCont::NotOwnedBytes(b), [INFO] [stderr] 202 | BCont::OwnedBytes(ref b) => BCont::NotOwnedBytes(&b[..]), [INFO] [stderr] 203 | BCont::LocalPath(ref p) => BCont::LocalPath(p.clone()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/striple.rs:487:23 [INFO] [stderr] | [INFO] [stderr] 487 | about : about.unwrap_or(vec!()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| vec!())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/striple.rs:591:8 [INFO] [stderr] | [INFO] [stderr] 591 | if self.about.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.about.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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/striple.rs:602:3 [INFO] [stderr] | [INFO] [stderr] 602 | / fn get_content<'a>(&'a self) -> &'a Option> { [INFO] [stderr] 603 | | &self.content [INFO] [stderr] 604 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/striple.rs:668:8 [INFO] [stderr] | [INFO] [stderr] 668 | if self.about.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.about.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/striple.rs:679:3 [INFO] [stderr] | [INFO] [stderr] 679 | / fn get_content<'b>(&'b self) -> &'b Option> { [INFO] [stderr] 680 | | &self.content [INFO] [stderr] 681 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/striple.rs:707:24 [INFO] [stderr] | [INFO] [stderr] 707 | pub fn copy_builder_id<'a,K : StripleKind>(algoid :&[u8], sr : Striple) -> Result> { [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: manual implementation of an assign operation [INFO] [stderr] --> src/striple.rs:752:3 [INFO] [stderr] | [INFO] [stderr] 752 | ix = ix + s; [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `ix += s` [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: length comparison to zero [INFO] [stderr] --> src/striple.rs:754:6 [INFO] [stderr] | [INFO] [stderr] 754 | if sig.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `sig.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/striple.rs:761:6 [INFO] [stderr] | [INFO] [stderr] 761 | if about.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `about.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/striple.rs:771:3 [INFO] [stderr] | [INFO] [stderr] 771 | ix = ix + s; [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `ix += s` [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] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/striple.rs:787:7 [INFO] [stderr] | [INFO] [stderr] 787 | / match &obc { [INFO] [stderr] 788 | | &Some (ref bc) => { [INFO] [stderr] 789 | | let mut r = bc.get_readable()?; [INFO] [stderr] 790 | | let mut tos = Cursor::new(tocheck).chain(r.trait_read()); [INFO] [stderr] ... | [INFO] [stderr] 793 | | &None => fromst.check_content(&mut Cursor::new(tocheck), sig)?, [INFO] [stderr] 794 | | }) [INFO] [stderr] | |_______^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 787 | match obc { [INFO] [stderr] 788 | Some (ref bc) => { [INFO] [stderr] 789 | let mut r = bc.get_readable()?; [INFO] [stderr] 790 | let mut tos = Cursor::new(tocheck).chain(r.trait_read()); [INFO] [stderr] 791 | fromst.check_content(&mut tos, sig)? [INFO] [stderr] 792 | }, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/striple.rs:812:7 [INFO] [stderr] | [INFO] [stderr] 812 | ix = ix + s; [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `ix += s` [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] warning: length comparison to zero [INFO] [stderr] --> src/striple.rs:828:6 [INFO] [stderr] | [INFO] [stderr] 828 | if id.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `id.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/striple.rs:829:6 [INFO] [stderr] | [INFO] [stderr] 829 | || from.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `from.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/striple.rs:830:7 [INFO] [stderr] | [INFO] [stderr] 830 | || (contentids.len() == 0 && content.is_none()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `contentids.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/striple.rs:891:3 [INFO] [stderr] | [INFO] [stderr] 891 | / fn get_content<'a>(&'a self) -> &'a Option> { [INFO] [stderr] 892 | | self.as_striple_if().get_content() [INFO] [stderr] 893 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/striple.rs:984:7 [INFO] [stderr] | [INFO] [stderr] 984 | Err(_) => [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/striple.rs:994:11 [INFO] [stderr] | [INFO] [stderr] 994 | Err(_) => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [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/striple.rs:1077:5 [INFO] [stderr] | [INFO] [stderr] 1077 | / match self.2 { [INFO] [stderr] 1078 | | Some(ref tr) => { [INFO] [stderr] 1079 | | let trace = format!(" - trace : {}", tr); [INFO] [stderr] 1080 | | try!(ftr.write_str(&trace[..])); [INFO] [stderr] 1081 | | }, [INFO] [stderr] 1082 | | None => (), [INFO] [stderr] 1083 | | }; [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] 1077 | if let Some(ref tr) = self.2 { [INFO] [stderr] 1078 | let trace = format!(" - trace : {}", tr); [INFO] [stderr] 1079 | try!(ftr.write_str(&trace[..])); [INFO] [stderr] 1080 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `v`. [INFO] [stderr] --> src/striple.rs:1114:16 [INFO] [stderr] | [INFO] [stderr] 1114 | for i in 8 - nbbytes .. 8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 1114 | for in v.iter().skip(8 - nbbytes) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/striple.rs:1170:3 [INFO] [stderr] | [INFO] [stderr] 1170 | try!(r.read(&mut buf)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/striple.rs:1178:14 [INFO] [stderr] | [INFO] [stderr] 1178 | for _ in 0 .. 1 + addbytes { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use: `0..=addbytes` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/striple.rs:1186:5 [INFO] [stderr] | [INFO] [stderr] 1186 | nbbytes = nbbytes + addbytes; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `nbbytes += addbytes` [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] warning: manual implementation of an assign operation [INFO] [stderr] --> src/striple.rs:1306:3 [INFO] [stderr] | [INFO] [stderr] 1306 | *ix = *ix + s; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `*ix += s` [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] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/striple.rs:1370:37 [INFO] [stderr] | [INFO] [stderr] 1370 | let sptr : *const Striple = mem::transmute(ptr); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `ptr as *const striple::Striple` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/striple.rs:1379:35 [INFO] [stderr] | [INFO] [stderr] 1379 | let sptr : *mut Striple = mem::transmute(ptr); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `ptr as *mut striple::Striple` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/striple.rs:1397:43 [INFO] [stderr] | [INFO] [stderr] 1397 | let sptr : *const StripleRef<'a,SK> = mem::transmute(ptr); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `ptr as *const striple::StripleRef<'a, SK>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/striple.rs:1406:41 [INFO] [stderr] | [INFO] [stderr] 1406 | let sptr : *mut StripleRef<'a,SK> = mem::transmute(ptr); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `ptr as *mut striple::StripleRef<'a, SK>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `==` [INFO] [stderr] --> src/striple.rs:1642:13 [INFO] [stderr] | [INFO] [stderr] 1642 | assert!((sig_2 == sig_2) || (key_2 != key_2)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::eq_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `!=` [INFO] [stderr] --> src/striple.rs:1642:33 [INFO] [stderr] | [INFO] [stderr] 1642 | assert!((sig_2 == sig_2) || (key_2 != key_2)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/striple.rs:1675:31 [INFO] [stderr] | [INFO] [stderr] 1675 | assert!(!S::check_content(&vec!(1,2,3,4), &mut cont_1, &sig_1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: you can use a slice directly: `&[1,2,3,4]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/striple.rs:1678:52 [INFO] [stderr] | [INFO] [stderr] 1678 | assert!(!S::check_content(&kp2.0, &mut cont_2, &vec!()).unwrap()); [INFO] [stderr] | ^^^^^^^ help: you can use a slice directly: `&[]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 33 [INFO] [stderr] --> src/striple.rs:1726:3 [INFO] [stderr] | [INFO] [stderr] 1726 | / pub fn chaining_test () { [INFO] [stderr] 1727 | | let contentenc = random_bytes(99); [INFO] [stderr] 1728 | | let ownedroot : (Striple, Vec) = Striple::new( [INFO] [stderr] 1729 | | contentenc.clone(), [INFO] [stderr] ... | [INFO] [stderr] 1879 | | [INFO] [stderr] 1880 | | } [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: length comparison to zero [INFO] [stderr] --> src/striple.rs:1907:8 [INFO] [stderr] | [INFO] [stderr] 1907 | (st1.sig.len()==0 && st1.id == st2.sig) || [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `st1.sig.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/striple.rs:1908:8 [INFO] [stderr] | [INFO] [stderr] 1908 | (st2.sig.len()==0 && st2.id == st1.sig) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `st2.sig.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/striple.rs:1912:8 [INFO] [stderr] | [INFO] [stderr] 1912 | (st1.about.len() == 0 && st1.id == st2.about) || [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `st1.about.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/striple.rs:1913:8 [INFO] [stderr] | [INFO] [stderr] 1913 | (st2.about.len() == 0 && st2.id == st1.about) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `st2.about.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/striple.rs:1931:22 [INFO] [stderr] | [INFO] [stderr] 1931 | if i1 != i2 || &buff1[0..i1] != &buff2[0..i2] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 1931 | if i1 != i2 || buff1[0..i1] != buff2[0..i2] { [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/striple.rs:1984:12 [INFO] [stderr] | [INFO] [stderr] 1984 | .unwrap_or("error read content".as_bytes().to_vec()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "error read content".as_bytes().to_vec())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/striple.rs:1984:22 [INFO] [stderr] | [INFO] [stderr] 1984 | .unwrap_or("error read content".as_bytes().to_vec()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"error read content"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/striple.rs:1989:12 [INFO] [stderr] | [INFO] [stderr] 1989 | .unwrap_or("error read content".as_bytes().to_vec()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "error read content".as_bytes().to_vec())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/striple.rs:1989:22 [INFO] [stderr] | [INFO] [stderr] 1989 | .unwrap_or("error read content".as_bytes().to_vec()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"error read content"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/striple.rs:1992:9 [INFO] [stderr] | [INFO] [stderr] 1992 | "error read content".as_bytes().to_vec() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"error read content"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/anystriple.rs:153:5 [INFO] [stderr] | [INFO] [stderr] 153 | / match self { [INFO] [stderr] 154 | | $( & $en::$st(ref i) => i, )* [INFO] [stderr] 155 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] ... [INFO] [stderr] 163 | / derive_any_striple!(AnyStriple { [INFO] [stderr] 164 | | StripleRsa(StripleRSA), [INFO] [stderr] 165 | | StripleECDSA(StripleECDSA), [INFO] [stderr] 166 | | StriplePSha512(StriplePSha512), [INFO] [stderr] ... | [INFO] [stderr] 169 | | StripleNOKEY(Striple), [INFO] [stderr] 170 | | }); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/anystriple.rs:233:5 [INFO] [stderr] | [INFO] [stderr] 233 | / match self { [INFO] [stderr] 234 | | &AnyStriple::StriplePSha512(_) => { [INFO] [stderr] 235 | | true [INFO] [stderr] 236 | | }, [INFO] [stderr] ... | [INFO] [stderr] 245 | | } [INFO] [stderr] 246 | | } [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] 233 | match *self { [INFO] [stderr] 234 | AnyStriple::StriplePSha512(_) => { [INFO] [stderr] 235 | true [INFO] [stderr] 236 | }, [INFO] [stderr] 237 | AnyStriple::StriplePSha256(_) => { [INFO] [stderr] 238 | true [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/storage.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | / match self { [INFO] [stderr] 106 | | $( & $en::$st(ref i) => i.get_cypher_header(), )* [INFO] [stderr] 107 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] ... [INFO] [stderr] 131 | / derive_any_cypher!(AnyCyphers { [INFO] [stderr] 132 | | NoCypher(NoCypher), [INFO] [stderr] 133 | | Pbkdf2(Pbkdf2), [INFO] [stderr] 134 | | }); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/storage.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | / match self { [INFO] [stderr] 112 | | $( & $en::$st(ref i) => i.get_id_val(), )* [INFO] [stderr] 113 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] ... [INFO] [stderr] 131 | / derive_any_cypher!(AnyCyphers { [INFO] [stderr] 132 | | NoCypher(NoCypher), [INFO] [stderr] 133 | | Pbkdf2(Pbkdf2), [INFO] [stderr] 134 | | }); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/storage.rs:117:5 [INFO] [stderr] | [INFO] [stderr] 117 | / match self { [INFO] [stderr] 118 | | $( & $en::$st(ref i) => i.encrypt(cont), )* [INFO] [stderr] 119 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] ... [INFO] [stderr] 131 | / derive_any_cypher!(AnyCyphers { [INFO] [stderr] 132 | | NoCypher(NoCypher), [INFO] [stderr] 133 | | Pbkdf2(Pbkdf2), [INFO] [stderr] 134 | | }); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/storage.rs:123:5 [INFO] [stderr] | [INFO] [stderr] 123 | / match self { [INFO] [stderr] 124 | | $( & $en::$st(ref i) => i.decrypt(cont), )* [INFO] [stderr] 125 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] ... [INFO] [stderr] 131 | / derive_any_cypher!(AnyCyphers { [INFO] [stderr] 132 | | NoCypher(NoCypher), [INFO] [stderr] 133 | | Pbkdf2(Pbkdf2), [INFO] [stderr] 134 | | }); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/storage.rs:183:3 [INFO] [stderr] | [INFO] [stderr] 183 | try!(file.read(&mut salt)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/storage.rs:271:7 [INFO] [stderr] | [INFO] [stderr] 271 | to_enc.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!to_enc.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/storage.rs:303:7 [INFO] [stderr] | [INFO] [stderr] 303 | to_dec.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!to_dec.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/storage.rs:362:3 [INFO] [stderr] | [INFO] [stderr] 362 | / match fm { [INFO] [stderr] 363 | | &FileMode::Idem => { [INFO] [stderr] 364 | | try!(dest.write(&[STRIPLE_TAG_BYTE])); [INFO] [stderr] 365 | | Ok(true) [INFO] [stderr] ... | [INFO] [stderr] 415 | | }, [INFO] [stderr] 416 | | } [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] 362 | match *fm { [INFO] [stderr] 363 | FileMode::Idem => { [INFO] [stderr] 364 | try!(dest.write(&[STRIPLE_TAG_BYTE])); [INFO] [stderr] 365 | Ok(true) [INFO] [stderr] 366 | }, [INFO] [stderr] 367 | FileMode::NoFile => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:364:7 [INFO] [stderr] | [INFO] [stderr] 364 | try!(dest.write(&[STRIPLE_TAG_BYTE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:368:7 [INFO] [stderr] | [INFO] [stderr] 368 | try!(dest.write(&[STRIPLE_TAG_BYTE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:377:11 [INFO] [stderr] | [INFO] [stderr] 377 | try!(dest.write(&[STRIPLE_TAG_FILE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:378:11 [INFO] [stderr] | [INFO] [stderr] 378 | try!(dest.write(&xtendsize(pathb.len(),STORAGEPATH_LENGTH))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:379:11 [INFO] [stderr] | [INFO] [stderr] 379 | try!(dest.write(pathb)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:382:10 [INFO] [stderr] | [INFO] [stderr] 382 | try!(dest.write(&[STRIPLE_TAG_BYTE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:386:9 [INFO] [stderr] | [INFO] [stderr] 386 | try!(dest.write(&[STRIPLE_TAG_BYTE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:397:11 [INFO] [stderr] | [INFO] [stderr] 397 | dest.write(&[STRIPLE_TAG_FILE])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:398:11 [INFO] [stderr] | [INFO] [stderr] 398 | dest.write(&xtendsize(pathb.len(),STORAGEPATH_LENGTH))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:399:11 [INFO] [stderr] | [INFO] [stderr] 399 | dest.write(&pathb)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:402:10 [INFO] [stderr] | [INFO] [stderr] 402 | try!(dest.write(&[STRIPLE_TAG_BYTE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:406:9 [INFO] [stderr] | [INFO] [stderr] 406 | try!(dest.write(&[STRIPLE_TAG_BYTE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/storage.rs:420:3 [INFO] [stderr] | [INFO] [stderr] 420 | / match fm { [INFO] [stderr] 421 | | &FileMode::Idem => { [INFO] [stderr] 422 | | try!(dest.write(&[STRIPLE_TAG_FILE])); [INFO] [stderr] 423 | | let pathb = path.to_str().unwrap().as_bytes(); [INFO] [stderr] ... | [INFO] [stderr] 473 | | }, [INFO] [stderr] 474 | | } [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] 420 | match *fm { [INFO] [stderr] 421 | FileMode::Idem => { [INFO] [stderr] 422 | try!(dest.write(&[STRIPLE_TAG_FILE])); [INFO] [stderr] 423 | let pathb = path.to_str().unwrap().as_bytes(); [INFO] [stderr] 424 | try!(dest.write(&xtendsize(pathb.len(),STORAGEPATH_LENGTH))); [INFO] [stderr] 425 | try!(dest.write(pathb)); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:422:9 [INFO] [stderr] | [INFO] [stderr] 422 | try!(dest.write(&[STRIPLE_TAG_FILE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:424:9 [INFO] [stderr] | [INFO] [stderr] 424 | try!(dest.write(&xtendsize(pathb.len(),STORAGEPATH_LENGTH))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:425:9 [INFO] [stderr] | [INFO] [stderr] 425 | try!(dest.write(pathb)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:429:7 [INFO] [stderr] | [INFO] [stderr] 429 | try!(dest.write(&[STRIPLE_TAG_BYTE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:433:7 [INFO] [stderr] | [INFO] [stderr] 433 | try!(dest.write(&[STRIPLE_TAG_FILE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:447:7 [INFO] [stderr] | [INFO] [stderr] 447 | try!(dest.write(&xtendsize(pb.len(),STORAGEPATH_LENGTH))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:448:7 [INFO] [stderr] | [INFO] [stderr] 448 | try!(dest.write(pb)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:452:7 [INFO] [stderr] | [INFO] [stderr] 452 | try!(dest.write(&[STRIPLE_TAG_FILE])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:456:9 [INFO] [stderr] | [INFO] [stderr] 456 | try!(dest.write(&xtendsize(pb.len(),STORAGEPATH_LENGTH))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:457:9 [INFO] [stderr] | [INFO] [stderr] 457 | try!(dest.write(pb)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:463:9 [INFO] [stderr] | [INFO] [stderr] 463 | try!(dest.write(&xtendsize(pb.len(),STORAGEPATH_LENGTH))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:464:9 [INFO] [stderr] | [INFO] [stderr] 464 | try!(dest.write(pb)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:486:11 [INFO] [stderr] | [INFO] [stderr] 486 | try!(dest.write(&[STRIPLE_TAG_BYTE])); false [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/storage.rs:489:11 [INFO] [stderr] | [INFO] [stderr] 489 | / match bcont { [INFO] [stderr] 490 | | &BCont::OwnedBytes(ref b) => { [INFO] [stderr] 491 | | try!(writebcontheader(&b[..], fm, dest)) [INFO] [stderr] 492 | | }, [INFO] [stderr] ... | [INFO] [stderr] 499 | | [INFO] [stderr] 500 | | } [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 *bcont { [INFO] [stderr] 490 | BCont::OwnedBytes(ref b) => { [INFO] [stderr] 491 | try!(writebcontheader(&b[..], fm, dest)) [INFO] [stderr] 492 | }, [INFO] [stderr] 493 | BCont::NotOwnedBytes(ref b) => { [INFO] [stderr] 494 | try!(writebcontheader(&b[..], fm, dest)) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:507:11 [INFO] [stderr] | [INFO] [stderr] 507 | dest.write(&xtendsize(encprikey.len(),STORAGEPK_LENGTH))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:508:11 [INFO] [stderr] | [INFO] [stderr] 508 | dest.write(&encprikey)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:511:11 [INFO] [stderr] | [INFO] [stderr] 511 | try!(dest.write(&xtendsize(0,STORAGEPK_LENGTH))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:519:9 [INFO] [stderr] | [INFO] [stderr] 519 | try!(dest.write(&xtendsize(to_ser.len() + oaddedcont,STORAGEST_LENGTH))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:521:9 [INFO] [stderr] | [INFO] [stderr] 521 | try!(dest.write(&xtendsize(to_ser.len(),STORAGEST_LENGTH))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:523:7 [INFO] [stderr] | [INFO] [stderr] 523 | try!(dest.write(&to_ser)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/storage.rs:525:9 [INFO] [stderr] | [INFO] [stderr] 525 | / match ocont { [INFO] [stderr] 526 | | Some (ref bc) => { [INFO] [stderr] 527 | | match bc.get_readable() { [INFO] [stderr] 528 | | Ok(mut r) => { [INFO] [stderr] ... | [INFO] [stderr] 546 | | None => (), [INFO] [stderr] 547 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 525 | if let Some (ref bc) = ocont { [INFO] [stderr] 526 | match bc.get_readable() { [INFO] [stderr] 527 | Ok(mut r) => { [INFO] [stderr] 528 | let mut buff = &mut [0;BUFF_WRITE]; [INFO] [stderr] 529 | let mut from = r.trait_read(); [INFO] [stderr] 530 | loop { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:537:21 [INFO] [stderr] | [INFO] [stderr] 537 | try!(dest.write(&buff[0..end])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:539:21 [INFO] [stderr] | [INFO] [stderr] 539 | try!(dest.write(buff)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/storage.rs:575:7 [INFO] [stderr] | [INFO] [stderr] 575 | try!(from.read(&mut bpath[..])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/storage.rs:594:5 [INFO] [stderr] | [INFO] [stderr] 594 | try!(from.read(&mut pkey[..])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/storage.rs:603:3 [INFO] [stderr] | [INFO] [stderr] 603 | from.read(&mut st[..])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:659:3 [INFO] [stderr] | [INFO] [stderr] 659 | try!(file.write(&cypher.get_cypher_header())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/storage.rs:675:3 [INFO] [stderr] | [INFO] [stderr] 675 | try!(file.write(&cypher.get_cypher_header())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/storage.rs:794:3 [INFO] [stderr] | [INFO] [stderr] 794 | try!(from.read(tag)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/storage.rs:822:5 [INFO] [stderr] | [INFO] [stderr] 822 | try!(from.read(&mut res)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/storage.rs:851:3 [INFO] [stderr] | [INFO] [stderr] 851 | entry.read(tag)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/storage.rs:866:3 [INFO] [stderr] | [INFO] [stderr] 866 | entry.read(&mut bufpri[..])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/public.rs:164:6 [INFO] [stderr] | [INFO] [stderr] 164 | digest.write(&buff[0 .. end])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/public.rs:166:7 [INFO] [stderr] | [INFO] [stderr] 166 | digest.write(buff)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/rsa_openssl.rs:47:11 [INFO] [stderr] | [INFO] [stderr] 47 | Ok(if sig.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `sig.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/rsa_openssl.rs:105:9 [INFO] [stderr] | [INFO] [stderr] 105 | digest.write(&buff[0 .. end])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/rsa_openssl.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | digest.write(buff)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/ecdsa_crypto.rs:38:8 [INFO] [stderr] | [INFO] [stderr] 38 | if sig.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `sig.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> src/for_c/mod.rs:71:3 [INFO] [stderr] | [INFO] [stderr] 71 | drop(st.0) [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::drop_copy)] on by default [INFO] [stderr] note: argument has type *mut storage::FileStripleIterator fn(&'r [u8], striple::StripleRef<'s, striple::NoKind>) -> std::result::Result> [INFO] [stderr] --> src/for_c/mod.rs:71:8 [INFO] [stderr] | [INFO] [stderr] 71 | drop(st.0) [INFO] [stderr] | ^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> src/for_c/mod.rs:75:3 [INFO] [stderr] | [INFO] [stderr] 75 | drop(st.0) [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type *const anystriple::AnyStriple [INFO] [stderr] --> src/for_c/mod.rs:75:8 [INFO] [stderr] | [INFO] [stderr] 75 | drop(st.0) [INFO] [stderr] | ^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> src/for_c/mod.rs:79:3 [INFO] [stderr] | [INFO] [stderr] 79 | drop(st.0) [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type *const (anystriple::AnyStriple, std::vec::Vec) [INFO] [stderr] --> src/for_c/mod.rs:79:8 [INFO] [stderr] | [INFO] [stderr] 79 | drop(st.0) [INFO] [stderr] | ^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const anystriple::AnyStriple`) to a reference type (`&anystriple::AnyStriple`) [INFO] [stderr] --> src/for_c/mod.rs:97:25 [INFO] [stderr] | [INFO] [stderr] 97 | let s : &AnyStriple = transmute(st.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&*st.0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/for_c/mod.rs:109:26 [INFO] [stderr] | [INFO] [stderr] 109 | let disp : *const () = transmute(st.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `st.0 as *const ()` [INFO] [stderr] ... [INFO] [stderr] 123 | getter!(get_enc); [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const anystriple::AnyStriple`) to a reference type (`&anystriple::AnyStriple`) [INFO] [stderr] --> src/for_c/mod.rs:111:25 [INFO] [stderr] | [INFO] [stderr] 111 | let s : &AnyStriple = transmute(st.0); // Note that it is also somehow fine for (AnyStriple,Vec), but in most case we should convert owned striple to its striple (no polymorphism here). [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&*st.0` [INFO] [stderr] ... [INFO] [stderr] 123 | getter!(get_enc); [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`*const u8`) to itself [INFO] [stderr] --> src/for_c/mod.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | bytes : transmute(b.as_ptr()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 123 | getter!(get_enc); [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_transmute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/for_c/mod.rs:109:26 [INFO] [stderr] | [INFO] [stderr] 109 | let disp : *const () = transmute(st.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `st.0 as *const ()` [INFO] [stderr] ... [INFO] [stderr] 124 | getter!(get_id); [INFO] [stderr] | ---------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const anystriple::AnyStriple`) to a reference type (`&anystriple::AnyStriple`) [INFO] [stderr] --> src/for_c/mod.rs:111:25 [INFO] [stderr] | [INFO] [stderr] 111 | let s : &AnyStriple = transmute(st.0); // Note that it is also somehow fine for (AnyStriple,Vec), but in most case we should convert owned striple to its striple (no polymorphism here). [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&*st.0` [INFO] [stderr] ... [INFO] [stderr] 124 | getter!(get_id); [INFO] [stderr] | ---------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`*const u8`) to itself [INFO] [stderr] --> src/for_c/mod.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | bytes : transmute(b.as_ptr()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 124 | getter!(get_id); [INFO] [stderr] | ---------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/for_c/mod.rs:109:26 [INFO] [stderr] | [INFO] [stderr] 109 | let disp : *const () = transmute(st.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `st.0 as *const ()` [INFO] [stderr] ... [INFO] [stderr] 125 | getter!(get_about); [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const anystriple::AnyStriple`) to a reference type (`&anystriple::AnyStriple`) [INFO] [stderr] --> src/for_c/mod.rs:111:25 [INFO] [stderr] | [INFO] [stderr] 111 | let s : &AnyStriple = transmute(st.0); // Note that it is also somehow fine for (AnyStriple,Vec), but in most case we should convert owned striple to its striple (no polymorphism here). [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&*st.0` [INFO] [stderr] ... [INFO] [stderr] 125 | getter!(get_about); [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`*const u8`) to itself [INFO] [stderr] --> src/for_c/mod.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | bytes : transmute(b.as_ptr()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 125 | getter!(get_about); [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/for_c/mod.rs:109:26 [INFO] [stderr] | [INFO] [stderr] 109 | let disp : *const () = transmute(st.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `st.0 as *const ()` [INFO] [stderr] ... [INFO] [stderr] 126 | getter!(get_key); [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const anystriple::AnyStriple`) to a reference type (`&anystriple::AnyStriple`) [INFO] [stderr] --> src/for_c/mod.rs:111:25 [INFO] [stderr] | [INFO] [stderr] 111 | let s : &AnyStriple = transmute(st.0); // Note that it is also somehow fine for (AnyStriple,Vec), but in most case we should convert owned striple to its striple (no polymorphism here). [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&*st.0` [INFO] [stderr] ... [INFO] [stderr] 126 | getter!(get_key); [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`*const u8`) to itself [INFO] [stderr] --> src/for_c/mod.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | bytes : transmute(b.as_ptr()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 126 | getter!(get_key); [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/for_c/mod.rs:109:26 [INFO] [stderr] | [INFO] [stderr] 109 | let disp : *const () = transmute(st.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `st.0 as *const ()` [INFO] [stderr] ... [INFO] [stderr] 127 | getter!(get_algo_key); [INFO] [stderr] | ---------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const anystriple::AnyStriple`) to a reference type (`&anystriple::AnyStriple`) [INFO] [stderr] --> src/for_c/mod.rs:111:25 [INFO] [stderr] | [INFO] [stderr] 111 | let s : &AnyStriple = transmute(st.0); // Note that it is also somehow fine for (AnyStriple,Vec), but in most case we should convert owned striple to its striple (no polymorphism here). [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&*st.0` [INFO] [stderr] ... [INFO] [stderr] 127 | getter!(get_algo_key); [INFO] [stderr] | ---------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`*const u8`) to itself [INFO] [stderr] --> src/for_c/mod.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | bytes : transmute(b.as_ptr()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 127 | getter!(get_algo_key); [INFO] [stderr] | ---------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/for_c/mod.rs:109:26 [INFO] [stderr] | [INFO] [stderr] 109 | let disp : *const () = transmute(st.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `st.0 as *const ()` [INFO] [stderr] ... [INFO] [stderr] 128 | getter!(get_sig); [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const anystriple::AnyStriple`) to a reference type (`&anystriple::AnyStriple`) [INFO] [stderr] --> src/for_c/mod.rs:111:25 [INFO] [stderr] | [INFO] [stderr] 111 | let s : &AnyStriple = transmute(st.0); // Note that it is also somehow fine for (AnyStriple,Vec), but in most case we should convert owned striple to its striple (no polymorphism here). [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&*st.0` [INFO] [stderr] ... [INFO] [stderr] 128 | getter!(get_sig); [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`*const u8`) to itself [INFO] [stderr] --> src/for_c/mod.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | bytes : transmute(b.as_ptr()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 128 | getter!(get_sig); [INFO] [stderr] | ----------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const (anystriple::AnyStriple, std::vec::Vec)`) to a reference type (`&(anystriple::AnyStriple, std::vec::Vec)`) [INFO] [stderr] --> src/for_c/mod.rs:134:36 [INFO] [stderr] | [INFO] [stderr] 134 | let s : &(AnyStriple, Vec) = transmute(st.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&*st.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`*const u8`) to itself [INFO] [stderr] --> src/for_c/mod.rs:137:13 [INFO] [stderr] | [INFO] [stderr] 137 | bytes : transmute(b.as_ptr()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const anystriple::AnyStriple`) to a reference type (`&anystriple::AnyStriple`) [INFO] [stderr] --> src/for_c/mod.rs:146:25 [INFO] [stderr] | [INFO] [stderr] 146 | let s : &AnyStriple = transmute(st.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&*st.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/for_c/mod.rs:149:3 [INFO] [stderr] | [INFO] [stderr] 149 | / match s { [INFO] [stderr] 150 | | &BCont::OwnedBytes(ref b) => { [INFO] [stderr] 151 | | striple_bcont { [INFO] [stderr] 152 | | bytes : transmute((&b[..]).as_ptr()), [INFO] [stderr] ... | [INFO] [stderr] 173 | | }, [INFO] [stderr] 174 | | }).unwrap_or( [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] 149 | match *s { [INFO] [stderr] 150 | BCont::OwnedBytes(ref b) => { [INFO] [stderr] 151 | striple_bcont { [INFO] [stderr] 152 | bytes : transmute((&b[..]).as_ptr()), [INFO] [stderr] 153 | length : b.len() as size_t, [INFO] [stderr] 154 | ispath : false, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`*const u8`) to itself [INFO] [stderr] --> src/for_c/mod.rs:152:17 [INFO] [stderr] | [INFO] [stderr] 152 | bytes : transmute((&b[..]).as_ptr()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a pointer [INFO] [stderr] --> src/for_c/mod.rs:160:17 [INFO] [stderr] | [INFO] [stderr] 160 | bytes : transmute(&(*bb)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `&(*bb) as *const &&[u8] as *const u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a pointer [INFO] [stderr] --> src/for_c/mod.rs:169:17 [INFO] [stderr] | [INFO] [stderr] 169 | bytes : transmute(&(*bb)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `&(*bb) as *const &[u8] as *const u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`*const u8`) to itself [INFO] [stderr] --> src/for_c/mod.rs:192:13 [INFO] [stderr] | [INFO] [stderr] 192 | bytes : transmute(b.as_ptr()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`*const for_c::striple_bytes`) to itself [INFO] [stderr] --> src/for_c/mod.rs:196:10 [INFO] [stderr] | [INFO] [stderr] 196 | sb : transmute(c.as_ptr()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const (anystriple::AnyStriple, std::vec::Vec)`) to a reference type (`&(anystriple::AnyStriple, std::vec::Vec)`) [INFO] [stderr] --> src/for_c/mod.rs:250:41 [INFO] [stderr] | [INFO] [stderr] 250 | let ef : &(AnyStriple, Vec) = transmute(ptr.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `&*ptr.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer to a pointer [INFO] [stderr] --> src/for_c/mod.rs:285:29 [INFO] [stderr] | [INFO] [stderr] 285 | let cpathu8 : *const u8 = transmute(cpath); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `cpath as *const u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*mut storage::FileStripleIterator fn(&'r [u8], striple::StripleRef<'s, striple::NoKind>) -> std::result::Result>`) to a reference type (`&mut storage::FileStripleIterator fn(&'r [u8], striple::StripleRef<'s, striple::NoKind>) -> std::result::Result>`) [INFO] [stderr] --> src/for_c/mod.rs:329:29 [INFO] [stderr] | [INFO] [stderr] 329 | let iter : &mut CIfIter = transmute(iter.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `&mut *iter.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a pointer [INFO] [stderr] --> src/for_c/mod.rs:347:32 [INFO] [stderr] | [INFO] [stderr] 347 | let disp : *const () = transmute(&(* st)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `&(* st) as *const (anystriple::AnyStriple, std::vec::Vec) as *const ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a pointer [INFO] [stderr] --> src/for_c/mod.rs:356:42 [INFO] [stderr] | [INFO] [stderr] 356 | let disp : *const AnyStriple = transmute (&(*st)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `&(*st) as *const anystriple::AnyStriple` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] error: aborting due to 53 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `striple`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "7b3b8cd9cfcbc9164506c606bcaa51241f0f7a2d389395241c6ceb59bbb66c8b"` [INFO] running `"docker" "rm" "-f" "7b3b8cd9cfcbc9164506c606bcaa51241f0f7a2d389395241c6ceb59bbb66c8b"` [INFO] [stdout] 7b3b8cd9cfcbc9164506c606bcaa51241f0f7a2d389395241c6ceb59bbb66c8b