[INFO] crate persy 0.3.2 is already in cache [INFO] extracting crate persy 0.3.2 into work/ex/clippy-test-run/sources/stable/reg/persy/0.3.2 [INFO] extracting crate persy 0.3.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/persy/0.3.2 [INFO] validating manifest of persy-0.3.2 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of persy-0.3.2 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing persy-0.3.2 [INFO] finished frobbing persy-0.3.2 [INFO] frobbed toml for persy-0.3.2 written to work/ex/clippy-test-run/sources/stable/reg/persy/0.3.2/Cargo.toml [INFO] started frobbing persy-0.3.2 [INFO] finished frobbing persy-0.3.2 [INFO] frobbed toml for persy-0.3.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/persy/0.3.2/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting persy-0.3.2 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/persy/0.3.2:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 95090d00b6a9cc2610d959aab960392cfe6d998442c489e9af76973dd251e876 [INFO] running `"docker" "start" "-a" "95090d00b6a9cc2610d959aab960392cfe6d998442c489e9af76973dd251e876"` [INFO] [stderr] Checking persy v0.3.2 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/allocator.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | limit: limit, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `limit` [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/allocator.rs:99:13 [INFO] [stderr] | [INFO] [stderr] 99 | page: page, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `page` [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/transaction.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | 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/transaction.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | meta_id: meta_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `meta_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/transaction.rs:149:13 [INFO] [stderr] | [INFO] [stderr] 149 | 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/transaction.rs:167:13 [INFO] [stderr] | [INFO] [stderr] 167 | 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/transaction.rs:535:13 [INFO] [stderr] | [INFO] [stderr] 535 | segment: segment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `segment` [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/transaction.rs:538:13 [INFO] [stderr] | [INFO] [stderr] 538 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [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/transaction.rs:546:13 [INFO] [stderr] | [INFO] [stderr] 546 | segment: segment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `segment` [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/transaction.rs:550:13 [INFO] [stderr] | [INFO] [stderr] 550 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [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/transaction.rs:558:13 [INFO] [stderr] | [INFO] [stderr] 558 | segment: segment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `segment` [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/transaction.rs:560:13 [INFO] [stderr] | [INFO] [stderr] 560 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [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/transaction.rs:585:13 [INFO] [stderr] | [INFO] [stderr] 585 | segment: segment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `segment` [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/transaction.rs:596:13 [INFO] [stderr] | [INFO] [stderr] 596 | segment_id: segment_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `segment_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/transaction.rs:605:13 [INFO] [stderr] | [INFO] [stderr] 605 | segment_id: segment_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `segment_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/transaction.rs:614:13 [INFO] [stderr] | [INFO] [stderr] 614 | meta_id: meta_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `meta_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/transaction.rs:621:28 [INFO] [stderr] | [INFO] [stderr] 621 | FreedRecordPages { pages: pages } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `pages` [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/discref.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | buff: buff, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `buff` [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/discref.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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/discref.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | exp: exp, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `exp` [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/journal.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | prev: prev, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `prev` [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/journal.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | first_page: first_page, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_page` [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/journal.rs:126:13 [INFO] [stderr] | [INFO] [stderr] 126 | last_page: last_page, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `last_page` [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/journal.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | current: current, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `current` [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/journal.rs:669:13 [INFO] [stderr] | [INFO] [stderr] 669 | page: page, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `page` [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/journal.rs:670:13 [INFO] [stderr] | [INFO] [stderr] 670 | pos: pos, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pos` [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/segment.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | first_page: first_page, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_page` [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/segment.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | persistent_page: persistent_page, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `persistent_page` [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/segment.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | persistent_pos: persistent_pos, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `persistent_pos` [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/segment.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | alloc_page: alloc_page, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `alloc_page` [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/segment.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | alloc_pos: alloc_pos, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `alloc_pos` [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/segment.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | segment_id: segment_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `segment_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/segment.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | page: page, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `page` [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/segment.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | pos: pos, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pos` [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/segment.rs:321:13 [INFO] [stderr] | [INFO] [stderr] 321 | root_page: root_page, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `root_page` [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/segment.rs:322:13 [INFO] [stderr] | [INFO] [stderr] 322 | segments: segments, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `segments` [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/segment.rs:323:13 [INFO] [stderr] | [INFO] [stderr] 323 | segments_id: segments_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `segments_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/segment.rs:468:13 [INFO] [stderr] | [INFO] [stderr] 468 | address: address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `address` [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/segment.rs:469:13 [INFO] [stderr] | [INFO] [stderr] 469 | page: page, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `page` [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/persy.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | journal: journal, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `journal` [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/persy.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | address: address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `address` [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/persy.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | allocator: allocator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `allocator` [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/persy.rs:507:13 [INFO] [stderr] | [INFO] [stderr] 507 | page: page, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `page` [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/persy.rs:508:13 [INFO] [stderr] | [INFO] [stderr] 508 | pos: pos, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pos` [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/record_scanner.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | persy: persy, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `persy` [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/record_scanner.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | segment_id: segment_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `segment_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/record_scanner.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | scanner: scanner, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `scanner` [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/record_scanner.rs:66:29 [INFO] [stderr] | [INFO] [stderr] 66 | 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/record_scanner.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | persy: persy, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `persy` [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/record_scanner.rs:101:13 [INFO] [stderr] | [INFO] [stderr] 101 | segment_id: segment_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `segment_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/record_scanner.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | scanner: scanner, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `scanner` [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/record_scanner.rs:103:13 [INFO] [stderr] | [INFO] [stderr] 103 | tx: tx, [INFO] [stderr] | ^^^^^^ help: replace it with: `tx` [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/allocator.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | limit: limit, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `limit` [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/allocator.rs:99:13 [INFO] [stderr] | [INFO] [stderr] 99 | page: page, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `page` [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/transaction.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | 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/transaction.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | meta_id: meta_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `meta_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/transaction.rs:149:13 [INFO] [stderr] | [INFO] [stderr] 149 | 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/transaction.rs:167:13 [INFO] [stderr] | [INFO] [stderr] 167 | 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/transaction.rs:535:13 [INFO] [stderr] | [INFO] [stderr] 535 | segment: segment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `segment` [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/transaction.rs:538:13 [INFO] [stderr] | [INFO] [stderr] 538 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [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/transaction.rs:546:13 [INFO] [stderr] | [INFO] [stderr] 546 | segment: segment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `segment` [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/transaction.rs:550:13 [INFO] [stderr] | [INFO] [stderr] 550 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [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/transaction.rs:558:13 [INFO] [stderr] | [INFO] [stderr] 558 | segment: segment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `segment` [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/transaction.rs:560:13 [INFO] [stderr] | [INFO] [stderr] 560 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [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/transaction.rs:585:13 [INFO] [stderr] | [INFO] [stderr] 585 | segment: segment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `segment` [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/transaction.rs:596:13 [INFO] [stderr] | [INFO] [stderr] 596 | segment_id: segment_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `segment_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/transaction.rs:605:13 [INFO] [stderr] | [INFO] [stderr] 605 | segment_id: segment_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `segment_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/transaction.rs:614:13 [INFO] [stderr] | [INFO] [stderr] 614 | meta_id: meta_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `meta_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/transaction.rs:621:28 [INFO] [stderr] | [INFO] [stderr] 621 | FreedRecordPages { pages: pages } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `pages` [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/discref.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | buff: buff, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `buff` [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/discref.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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/discref.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | exp: exp, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `exp` [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/journal.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | prev: prev, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `prev` [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/journal.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | first_page: first_page, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_page` [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/journal.rs:126:13 [INFO] [stderr] | [INFO] [stderr] 126 | last_page: last_page, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `last_page` [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/journal.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | current: current, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `current` [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/journal.rs:669:13 [INFO] [stderr] | [INFO] [stderr] 669 | page: page, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `page` [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/journal.rs:670:13 [INFO] [stderr] | [INFO] [stderr] 670 | pos: pos, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pos` [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/segment.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | first_page: first_page, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `first_page` [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/segment.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | persistent_page: persistent_page, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `persistent_page` [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/segment.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | persistent_pos: persistent_pos, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `persistent_pos` [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/segment.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | alloc_page: alloc_page, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `alloc_page` [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/segment.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | alloc_pos: alloc_pos, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `alloc_pos` [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/segment.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | segment_id: segment_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `segment_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/segment.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | page: page, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `page` [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/segment.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | pos: pos, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pos` [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/segment.rs:321:13 [INFO] [stderr] | [INFO] [stderr] 321 | root_page: root_page, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `root_page` [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/segment.rs:322:13 [INFO] [stderr] | [INFO] [stderr] 322 | segments: segments, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `segments` [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/segment.rs:323:13 [INFO] [stderr] | [INFO] [stderr] 323 | segments_id: segments_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `segments_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/segment.rs:468:13 [INFO] [stderr] | [INFO] [stderr] 468 | address: address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `address` [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/segment.rs:469:13 [INFO] [stderr] | [INFO] [stderr] 469 | page: page, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `page` [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/persy.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | journal: journal, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `journal` [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/persy.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | address: address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `address` [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/persy.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | allocator: allocator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `allocator` [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/persy.rs:507:13 [INFO] [stderr] | [INFO] [stderr] 507 | page: page, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `page` [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/persy.rs:508:13 [INFO] [stderr] | [INFO] [stderr] 508 | pos: pos, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pos` [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/record_scanner.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | persy: persy, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `persy` [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/record_scanner.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | segment_id: segment_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `segment_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/record_scanner.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | scanner: scanner, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `scanner` [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/record_scanner.rs:66:29 [INFO] [stderr] | [INFO] [stderr] 66 | 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/record_scanner.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | persy: persy, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `persy` [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/record_scanner.rs:101:13 [INFO] [stderr] | [INFO] [stderr] 101 | segment_id: segment_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `segment_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/record_scanner.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | scanner: scanner, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `scanner` [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/record_scanner.rs:103:13 [INFO] [stderr] | [INFO] [stderr] 103 | tx: tx, [INFO] [stderr] | ^^^^^^ help: replace it with: `tx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/allocator.rs:141:9 [INFO] [stderr] | [INFO] [stderr] 141 | return self.disc.create_page(exp); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.disc.create_page(exp)` [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/address.rs:87:16 [INFO] [stderr] | [INFO] [stderr] 87 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 88 | | if let Some(temp_segment) = segments.segment_by_id_temp(segment) { [INFO] [stderr] 89 | | Ok(SegmentScanner::<'a>::new(self, temp_segment.first_page)) [INFO] [stderr] 90 | | } else { [INFO] [stderr] 91 | | Err(PersyError::SegmentNotFound) [INFO] [stderr] 92 | | } [INFO] [stderr] 93 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 87 | } else if let Some(temp_segment) = segments.segment_by_id_temp(segment) { [INFO] [stderr] 88 | Ok(SegmentScanner::<'a>::new(self, temp_segment.first_page)) [INFO] [stderr] 89 | } else { [INFO] [stderr] 90 | Err(PersyError::SegmentNotFound) [INFO] [stderr] 91 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/persy.rs:326:36 [INFO] [stderr] | [INFO] [stderr] 326 | TxRead::RECORD(rec) => return Ok(Some((rec.0, rec.1, segment_id))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some((rec.0, rec.1, segment_id)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/persy.rs:327:32 [INFO] [stderr] | [INFO] [stderr] 327 | TxRead::DELETED => return Ok(None), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(None)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/persy.rs:346:9 [INFO] [stderr] | [INFO] [stderr] 346 | return Ok(buffer); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(buffer)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/allocator.rs:29:28 [INFO] [stderr] | [INFO] [stderr] 29 | fn get(&mut self, key: &u64) -> Option { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u64` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/allocator.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | self.size = self.size + (1 << value.get_size_exp()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.size += (1 << value.get_size_exp())` [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: manual implementation of an assign operation [INFO] [stderr] --> src/allocator.rs:42:21 [INFO] [stderr] | [INFO] [stderr] 42 | self.size = self.size - (1 << en.1.get_size_exp()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.size -= (1 << en.1.get_size_exp())` [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: unneeded return statement [INFO] [stderr] --> src/allocator.rs:141:9 [INFO] [stderr] | [INFO] [stderr] 141 | return self.disc.create_page(exp); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.disc.create_page(exp)` [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/address.rs:87:16 [INFO] [stderr] | [INFO] [stderr] 87 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 88 | | if let Some(temp_segment) = segments.segment_by_id_temp(segment) { [INFO] [stderr] 89 | | Ok(SegmentScanner::<'a>::new(self, temp_segment.first_page)) [INFO] [stderr] 90 | | } else { [INFO] [stderr] 91 | | Err(PersyError::SegmentNotFound) [INFO] [stderr] 92 | | } [INFO] [stderr] 93 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 87 | } else if let Some(temp_segment) = segments.segment_by_id_temp(segment) { [INFO] [stderr] 88 | Ok(SegmentScanner::<'a>::new(self, temp_segment.first_page)) [INFO] [stderr] 89 | } else { [INFO] [stderr] 90 | Err(PersyError::SegmentNotFound) [INFO] [stderr] 91 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: The function/method `flush_page` doesn't need a mutable reference [INFO] [stderr] --> src/allocator.rs:192:30 [INFO] [stderr] | [INFO] [stderr] 192 | self.disc.flush_page(&mut pag)?; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [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/allocator.rs:196:5 [INFO] [stderr] | [INFO] [stderr] 196 | / pub fn disc<'a>(&'a self) -> &'a DiscRef { [INFO] [stderr] 197 | | &self.disc [INFO] [stderr] 198 | | } [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: unneeded return statement [INFO] [stderr] --> src/persy.rs:326:36 [INFO] [stderr] | [INFO] [stderr] 326 | TxRead::RECORD(rec) => return Ok(Some((rec.0, rec.1, segment_id))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some((rec.0, rec.1, segment_id)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/persy.rs:327:32 [INFO] [stderr] | [INFO] [stderr] 327 | TxRead::DELETED => return Ok(None), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(None)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/persy.rs:346:9 [INFO] [stderr] | [INFO] [stderr] 346 | return Ok(buffer); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(buffer)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/address.rs:112:48 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn create_temp_segment(&self, segment: &String) -> PRes { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/address.rs:137:18 [INFO] [stderr] | [INFO] [stderr] 137 | records: &Vec<(u32, RecRef, u16)>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(u32, RecRef, u16)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/address.rs:138:26 [INFO] [stderr] | [INFO] [stderr] 138 | created_updated: &Vec, [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/address.rs:139:18 [INFO] [stderr] | [INFO] [stderr] 139 | deleted: &Vec, [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/address.rs:227:84 [INFO] [stderr] | [INFO] [stderr] 227 | pub fn release_locks(&self, records: Vec<(u32, RecRef, u16)>, created_updated: &Vec, deleted: &Vec) -> PRes<()> { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/address.rs:227:104 [INFO] [stderr] | [INFO] [stderr] 227 | pub fn release_locks(&self, records: Vec<(u32, RecRef, u16)>, created_updated: &Vec, deleted: &Vec) -> PRes<()> { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/address.rs:264:18 [INFO] [stderr] | [INFO] [stderr] 264 | inserts: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[InsertRecord]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/address.rs:265:18 [INFO] [stderr] | [INFO] [stderr] 265 | updates: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[UpdateRecord]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/address.rs:266:18 [INFO] [stderr] | [INFO] [stderr] 266 | deletes: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[DeleteRecord]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/address.rs:267:18 [INFO] [stderr] | [INFO] [stderr] 267 | seg_ops: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[SegmentOperation]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 31 [INFO] [stderr] --> src/address.rs:262:5 [INFO] [stderr] | [INFO] [stderr] 262 | / pub fn apply( [INFO] [stderr] 263 | | &self, [INFO] [stderr] 264 | | inserts: &Vec, [INFO] [stderr] 265 | | updates: &Vec, [INFO] [stderr] ... | [INFO] [stderr] 449 | | Ok(()) [INFO] [stderr] 450 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/address.rs:393:27 [INFO] [stderr] | [INFO] [stderr] 393 | for (_, v) in &mut pages { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 393 | for v in pages.values_mut() { [INFO] [stderr] | ^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/address.rs:412:23 [INFO] [stderr] | [INFO] [stderr] 412 | for (_, v) in &mut pages { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 412 | for v in pages.values_mut() { [INFO] [stderr] | ^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/address.rs:452:43 [INFO] [stderr] | [INFO] [stderr] 452 | pub fn exists_segment(&self, segment: &String) -> PRes { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/address.rs:456:39 [INFO] [stderr] | [INFO] [stderr] 456 | pub fn segment_id(&self, segment: &String) -> PRes> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/transaction.rs:182:43 [INFO] [stderr] | [INFO] [stderr] 182 | pub fn exists_segment(&self, segment: &String) -> TxSegCheck { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/transaction.rs:185:17 [INFO] [stderr] | [INFO] [stderr] 185 | / match a { [INFO] [stderr] 186 | | &SegmentOperation::CREATE(ref c) => { [INFO] [stderr] 187 | | return TxSegCheck::CREATED(c.segment_id); [INFO] [stderr] 188 | | } [INFO] [stderr] 189 | | _ => {} [INFO] [stderr] 190 | | } [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] 185 | if let &SegmentOperation::CREATE(ref c) = a { [INFO] [stderr] 186 | return TxSegCheck::CREATED(c.segment_id); [INFO] [stderr] 187 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/transaction.rs:185:17 [INFO] [stderr] | [INFO] [stderr] 185 | / match a { [INFO] [stderr] 186 | | &SegmentOperation::CREATE(ref c) => { [INFO] [stderr] 187 | | return TxSegCheck::CREATED(c.segment_id); [INFO] [stderr] 188 | | } [INFO] [stderr] 189 | | _ => {} [INFO] [stderr] 190 | | } [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] 185 | match *a { [INFO] [stderr] 186 | SegmentOperation::CREATE(ref c) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/transaction.rs:219:45 [INFO] [stderr] | [INFO] [stderr] 219 | if self.segs_created_names.contains(name.into()) { [INFO] [stderr] | ^^^^^^^^^^^ help: consider removing `.into()`: `name` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/transaction.rs:275:34 [INFO] [stderr] | [INFO] [stderr] 275 | self.segs_updated.insert(update.segment.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `update.segment` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/transaction.rs:280:34 [INFO] [stderr] | [INFO] [stderr] 280 | self.segs_updated.insert(segment.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `segment` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/transaction.rs:288:34 [INFO] [stderr] | [INFO] [stderr] 288 | self.segs_updated.insert(delete.segment.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `delete.segment` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/transaction.rs:292:5 [INFO] [stderr] | [INFO] [stderr] 292 | / pub fn scan_insert<'a>(&'a self, seg: u32) -> TransactionInsertScanner<'a> { [INFO] [stderr] 293 | | TransactionInsertScanner { [INFO] [stderr] 294 | | tx: self, [INFO] [stderr] 295 | | segment: seg, [INFO] [stderr] 296 | | } [INFO] [stderr] 297 | | } [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/transaction.rs:354:29 [INFO] [stderr] | [INFO] [stderr] 354 | fn coll_locks(&self) -> (Vec<(u32, RecRef, u16)>, Vec, Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/transaction.rs:381:29 [INFO] [stderr] | [INFO] [stderr] 381 | records.insert((update.segment.clone(), update.recref.clone(), version)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `update.segment` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/transaction.rs:390:29 [INFO] [stderr] | [INFO] [stderr] 390 | records.insert((delete.segment.clone(), delete.recref.clone(), version)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `delete.segment` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/transaction.rs:394:30 [INFO] [stderr] | [INFO] [stderr] 394 | records.remove(&(insert.segment.clone(), insert.recref.clone(), 1)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `insert.segment` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/discref.rs:75:40 [INFO] [stderr] | [INFO] [stderr] 75 | self.buff.seek(SeekFrom::Start(pos as u64 + 2 as u64))?; [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(pos)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/discref.rs:122:17 [INFO] [stderr] | [INFO] [stderr] 122 | let ref mut fl = self.file.lock()?; [INFO] [stderr] | ----^^^^^^^^^^--------------------- help: try: `let fl = &mut (self.file.lock()?);` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/discref.rs:142:17 [INFO] [stderr] | [INFO] [stderr] 142 | let ref mut fl = self.file.lock()?; [INFO] [stderr] | ----^^^^^^^^^^--------------------- help: try: `let fl = &mut (self.file.lock()?);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/discref.rs:152:13 [INFO] [stderr] | [INFO] [stderr] 152 | let ref mut fl = self.file.lock()?; [INFO] [stderr] | ----^^^^^^^^^^--------------------- help: try: `let fl = &mut (self.file.lock()?);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/discref.rs:161:13 [INFO] [stderr] | [INFO] [stderr] 161 | let ref mut fl = self.file.lock()?; [INFO] [stderr] | ----^^^^^^^^^^--------------------- help: try: `let fl = &mut (self.file.lock()?);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/discref.rs:170:13 [INFO] [stderr] | [INFO] [stderr] 170 | let ref mut fl = self.file.lock()?; [INFO] [stderr] | ----^^^^^^^^^^--------------------- help: try: `let fl = &mut (self.file.lock()?);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/discref.rs:181:12 [INFO] [stderr] | [INFO] [stderr] 181 | Ok(self.file.lock()?.flush()?) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 181 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/journal.rs:220:13 [INFO] [stderr] | [INFO] [stderr] 220 | jr.current.write(&*buffer)?; [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] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/journal.rs:224:13 [INFO] [stderr] | [INFO] [stderr] 224 | jr.last_pos = jr.last_pos + buffer.len() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `jr.last_pos += buffer.len() as u32` [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: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/journal.rs:536:19 [INFO] [stderr] | [INFO] [stderr] 536 | read.take(len as u64).read_to_end(&mut slice)?; [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(len)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/journal.rs:538:12 [INFO] [stderr] | [INFO] [stderr] 538 | Ok((1 + 2 + len) as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(1 + 2 + len)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/journal.rs:598:21 [INFO] [stderr] | [INFO] [stderr] 598 | buffer.take(string_size as u64).read_to_end(&mut slice)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(string_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/journal.rs:600:12 [INFO] [stderr] | [INFO] [stderr] 600 | Ok((4 + string_size + 2) as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(4 + string_size + 2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/journal.rs:625:21 [INFO] [stderr] | [INFO] [stderr] 625 | buffer.take(string_size as u64).read_to_end(&mut slice)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(string_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/journal.rs:627:12 [INFO] [stderr] | [INFO] [stderr] 627 | Ok((4 + string_size + 2) as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(4 + string_size + 2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/journal.rs:653:13 [INFO] [stderr] | [INFO] [stderr] 653 | size = size - 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `size -= 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `config::Config` [INFO] [stderr] --> src/config.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | / pub fn new() -> Config { [INFO] [stderr] 63 | | Config { [INFO] [stderr] 64 | | cache_size: 32 * 1024 * 1024, [INFO] [stderr] 65 | | transaction_lock_timeout: Duration::new(15000, 0), [INFO] [stderr] 66 | | tx_strategy: TxStrategy::LastWin, [INFO] [stderr] 67 | | } [INFO] [stderr] 68 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 61 | impl Default for config::Config { [INFO] [stderr] 62 | fn default() -> Self { [INFO] [stderr] 63 | Self::new() [INFO] [stderr] 64 | } [INFO] [stderr] 65 | } [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/config.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | / pub fn transaction_lock_timeout<'a>(&'a self) -> &'a Duration { [INFO] [stderr] 75 | | &self.transaction_lock_timeout [INFO] [stderr] 76 | | } [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/config.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | / pub fn tx_strategy<'a>(&'a self) -> &'a TxStrategy { [INFO] [stderr] 87 | | &self.tx_strategy [INFO] [stderr] 88 | | } [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/segment.rs:31:132 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn new(first_page: u64, persistent_page: u64, persistent_pos: u32, alloc_page: u64, alloc_pos: u32, segment_id: u32, name: &String) -> Segment { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 31 | pub fn new(first_page: u64, persistent_page: u64, persistent_pos: u32, alloc_page: u64, alloc_pos: u32, segment_id: u32, name: &str) -> Segment { [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `name.clone()` to [INFO] [stderr] | [INFO] [stderr] 39 | name: name.to_string(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/segment.rs:268:30 [INFO] [stderr] | [INFO] [stderr] 268 | pub fn segment_hash(segment: &String) -> u32 { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/segment.rs:270:9 [INFO] [stderr] | [INFO] [stderr] 270 | let ref mut hasher = DefaultHasher::new(); [INFO] [stderr] | ----^^^^^^^^^^^^^^------------------------ help: try: `let hasher = &mut DefaultHasher::new();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/segment.rs:273:5 [INFO] [stderr] | [INFO] [stderr] 273 | val = val << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `val <<= 16` [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: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/segment.rs:274:12 [INFO] [stderr] | [INFO] [stderr] 274 | val |= rand::random::() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(rand::random::())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/segment.rs:336:39 [INFO] [stderr] | [INFO] [stderr] 336 | pub fn segment_id(&self, segment: &String) -> Option { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/segment.rs:344:5 [INFO] [stderr] | [INFO] [stderr] 344 | / pub fn segment_by_id<'a>(&'a self, id: u32) -> Option<&'a Segment> { [INFO] [stderr] 345 | | self.segments.get(&id) [INFO] [stderr] 346 | | } [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/segment.rs:348:5 [INFO] [stderr] | [INFO] [stderr] 348 | / pub fn segment_by_id_temp<'a>(&'a self, id: u32) -> Option<&'a Segment> { [INFO] [stderr] 349 | | self.temp_segments.get(&id) [INFO] [stderr] 350 | | } [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/segment.rs:352:40 [INFO] [stderr] | [INFO] [stderr] 352 | pub fn has_segment(&self, segment: &String) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/segment.rs:356:80 [INFO] [stderr] | [INFO] [stderr] 356 | pub fn create_temp_segment(&mut self, allocator: &Arc, segment: &String) -> PRes { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/segment.rs:392:48 [INFO] [stderr] | [INFO] [stderr] 392 | pub fn exists_real_or_temp(&self, segment: &u32) -> bool { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/segment.rs:406:73 [INFO] [stderr] | [INFO] [stderr] 406 | pub fn drop_segment(&mut self, allocator: &Arc, segment: &String) -> PRes<()> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/segment.rs:424:29 [INFO] [stderr] | [INFO] [stderr] 424 | for (_, segment) in &self.segments { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 424 | for segment in self.segments.values() { [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/segment.rs:507:20 [INFO] [stderr] | [INFO] [stderr] 507 | if !res.is_err() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `res.is_ok()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: The function/method `::init` doesn't need a mutable reference [INFO] [stderr] --> src/persy.rs:89:46 [INFO] [stderr] | [INFO] [stderr] 89 | let allocator_page = Allocator::init(&mut disc)?; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | let ref allocator = Allocator::new(disc, &Rc::new(Config::new()), allocator_page)?; [INFO] [stderr] | ----^^^^^^^^^^^^^------------------------------------------------------------------ help: try: `let allocator = &(Allocator::new(disc, &Rc::new(Config::new()), allocator_page)?);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:141:13 [INFO] [stderr] | [INFO] [stderr] 141 | let ref journal = self.journal; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let journal = &self.journal;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:174:13 [INFO] [stderr] | [INFO] [stderr] 174 | let ref allocator = self.allocator; [INFO] [stderr] | ----^^^^^^^^^^^^^------------------ help: try: `let allocator = &self.allocator;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:175:13 [INFO] [stderr] | [INFO] [stderr] 175 | let ref address = self.address; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let address = &self.address;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:236:13 [INFO] [stderr] | [INFO] [stderr] 236 | let ref journal = self.journal; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let journal = &self.journal;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/persy.rs:287:59 [INFO] [stderr] | [INFO] [stderr] 287 | fn check_segment_tx(&self, tx: &Transaction, segment: &String) -> PRes<(bool, u32)> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/persy.rs:301:75 [INFO] [stderr] | [INFO] [stderr] 301 | pub fn insert_record(&self, tx: &mut Transaction, segment: &str, rec: &Vec) -> PRes { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:305:13 [INFO] [stderr] | [INFO] [stderr] 305 | let ref allocator = self.allocator; [INFO] [stderr] | ----^^^^^^^^^^^^^------------------ help: try: `let allocator = &self.allocator;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:306:13 [INFO] [stderr] | [INFO] [stderr] 306 | let ref address = self.address; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let address = &self.address;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:307:13 [INFO] [stderr] | [INFO] [stderr] 307 | let ref journal = self.journal; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let journal = &self.journal;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/persy.rs:336:51 [INFO] [stderr] | [INFO] [stderr] 336 | fn read_ref(&self, tx: &Transaction, segment: &String, rec_ref: &RecRef) -> PRes> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/persy.rs:407:93 [INFO] [stderr] | [INFO] [stderr] 407 | pub fn update_record(&self, tx: &mut Transaction, segment: &str, rec_ref: &RecRef, rec: &Vec) -> PRes<()> { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:408:13 [INFO] [stderr] | [INFO] [stderr] 408 | let ref allocator = self.allocator; [INFO] [stderr] | ----^^^^^^^^^^^^^------------------ help: try: `let allocator = &self.allocator;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:409:13 [INFO] [stderr] | [INFO] [stderr] 409 | let ref journal = self.journal; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let journal = &self.journal;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:427:13 [INFO] [stderr] | [INFO] [stderr] 427 | let ref journal = self.journal; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let journal = &self.journal;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:436:13 [INFO] [stderr] | [INFO] [stderr] 436 | let ref allocator = self.allocator; [INFO] [stderr] | ----^^^^^^^^^^^^^------------------ help: try: `let allocator = &self.allocator;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:437:13 [INFO] [stderr] | [INFO] [stderr] 437 | let ref journal = self.journal; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let journal = &self.journal;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:438:13 [INFO] [stderr] | [INFO] [stderr] 438 | let ref address = self.address; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let address = &self.address;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:443:13 [INFO] [stderr] | [INFO] [stderr] 443 | let ref allocator = self.allocator; [INFO] [stderr] | ----^^^^^^^^^^^^^------------------ help: try: `let allocator = &self.allocator;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:444:13 [INFO] [stderr] | [INFO] [stderr] 444 | let ref journal = self.journal; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let journal = &self.journal;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:445:13 [INFO] [stderr] | [INFO] [stderr] 445 | let ref address = self.address; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let address = &self.address;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:452:13 [INFO] [stderr] | [INFO] [stderr] 452 | let ref allocator = self.allocator; [INFO] [stderr] | ----^^^^^^^^^^^^^------------------ help: try: `let allocator = &self.allocator;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:453:13 [INFO] [stderr] | [INFO] [stderr] 453 | let ref journal = self.journal; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let journal = &self.journal;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:454:13 [INFO] [stderr] | [INFO] [stderr] 454 | let ref address = self.address; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let address = &self.address;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:463:13 [INFO] [stderr] | [INFO] [stderr] 463 | let ref allocator = self.allocator; [INFO] [stderr] | ----^^^^^^^^^^^^^------------------ help: try: `let allocator = &self.allocator;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:464:13 [INFO] [stderr] | [INFO] [stderr] 464 | let ref journal = self.journal; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let journal = &self.journal;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:465:13 [INFO] [stderr] | [INFO] [stderr] 465 | let ref address = self.address; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let address = &self.address;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/record_scanner.rs:62:20 [INFO] [stderr] | [INFO] [stderr] 62 | if !res.is_err() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `res.is_ok()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/record_scanner.rs:137:20 [INFO] [stderr] | [INFO] [stderr] 137 | if !res.is_err() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `res.is_ok()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/lib.rs:317:75 [INFO] [stderr] | [INFO] [stderr] 317 | pub fn insert_record(&self, tx: &mut Transaction, segment: &str, rec: &Vec) -> PRes { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/lib.rs:453:89 [INFO] [stderr] | [INFO] [stderr] 453 | pub fn update_record(&self, tx: &mut Transaction, segment: &str, id: &PersyId, rec: &Vec) -> PRes<()> { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `persy`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/allocator.rs:29:28 [INFO] [stderr] | [INFO] [stderr] 29 | fn get(&mut self, key: &u64) -> Option { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u64` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/allocator.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | self.size = self.size + (1 << value.get_size_exp()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.size += (1 << value.get_size_exp())` [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: manual implementation of an assign operation [INFO] [stderr] --> src/allocator.rs:42:21 [INFO] [stderr] | [INFO] [stderr] 42 | self.size = self.size - (1 << en.1.get_size_exp()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.size -= (1 << en.1.get_size_exp())` [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: The function/method `flush_page` doesn't need a mutable reference [INFO] [stderr] --> src/allocator.rs:192:30 [INFO] [stderr] | [INFO] [stderr] 192 | self.disc.flush_page(&mut pag)?; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [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/allocator.rs:196:5 [INFO] [stderr] | [INFO] [stderr] 196 | / pub fn disc<'a>(&'a self) -> &'a DiscRef { [INFO] [stderr] 197 | | &self.disc [INFO] [stderr] 198 | | } [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/address.rs:112:48 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn create_temp_segment(&self, segment: &String) -> PRes { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/address.rs:137:18 [INFO] [stderr] | [INFO] [stderr] 137 | records: &Vec<(u32, RecRef, u16)>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(u32, RecRef, u16)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/address.rs:138:26 [INFO] [stderr] | [INFO] [stderr] 138 | created_updated: &Vec, [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/address.rs:139:18 [INFO] [stderr] | [INFO] [stderr] 139 | deleted: &Vec, [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/address.rs:227:84 [INFO] [stderr] | [INFO] [stderr] 227 | pub fn release_locks(&self, records: Vec<(u32, RecRef, u16)>, created_updated: &Vec, deleted: &Vec) -> PRes<()> { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/address.rs:227:104 [INFO] [stderr] | [INFO] [stderr] 227 | pub fn release_locks(&self, records: Vec<(u32, RecRef, u16)>, created_updated: &Vec, deleted: &Vec) -> PRes<()> { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/address.rs:264:18 [INFO] [stderr] | [INFO] [stderr] 264 | inserts: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[InsertRecord]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/address.rs:265:18 [INFO] [stderr] | [INFO] [stderr] 265 | updates: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[UpdateRecord]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/address.rs:266:18 [INFO] [stderr] | [INFO] [stderr] 266 | deletes: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[DeleteRecord]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/address.rs:267:18 [INFO] [stderr] | [INFO] [stderr] 267 | seg_ops: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[SegmentOperation]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 31 [INFO] [stderr] --> src/address.rs:262:5 [INFO] [stderr] | [INFO] [stderr] 262 | / pub fn apply( [INFO] [stderr] 263 | | &self, [INFO] [stderr] 264 | | inserts: &Vec, [INFO] [stderr] 265 | | updates: &Vec, [INFO] [stderr] ... | [INFO] [stderr] 449 | | Ok(()) [INFO] [stderr] 450 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/address.rs:393:27 [INFO] [stderr] | [INFO] [stderr] 393 | for (_, v) in &mut pages { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 393 | for v in pages.values_mut() { [INFO] [stderr] | ^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/address.rs:412:23 [INFO] [stderr] | [INFO] [stderr] 412 | for (_, v) in &mut pages { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 412 | for v in pages.values_mut() { [INFO] [stderr] | ^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/address.rs:452:43 [INFO] [stderr] | [INFO] [stderr] 452 | pub fn exists_segment(&self, segment: &String) -> PRes { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/address.rs:456:39 [INFO] [stderr] | [INFO] [stderr] 456 | pub fn segment_id(&self, segment: &String) -> PRes> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/transaction.rs:182:43 [INFO] [stderr] | [INFO] [stderr] 182 | pub fn exists_segment(&self, segment: &String) -> TxSegCheck { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/transaction.rs:185:17 [INFO] [stderr] | [INFO] [stderr] 185 | / match a { [INFO] [stderr] 186 | | &SegmentOperation::CREATE(ref c) => { [INFO] [stderr] 187 | | return TxSegCheck::CREATED(c.segment_id); [INFO] [stderr] 188 | | } [INFO] [stderr] 189 | | _ => {} [INFO] [stderr] 190 | | } [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] 185 | if let &SegmentOperation::CREATE(ref c) = a { [INFO] [stderr] 186 | return TxSegCheck::CREATED(c.segment_id); [INFO] [stderr] 187 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/transaction.rs:185:17 [INFO] [stderr] | [INFO] [stderr] 185 | / match a { [INFO] [stderr] 186 | | &SegmentOperation::CREATE(ref c) => { [INFO] [stderr] 187 | | return TxSegCheck::CREATED(c.segment_id); [INFO] [stderr] 188 | | } [INFO] [stderr] 189 | | _ => {} [INFO] [stderr] 190 | | } [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] 185 | match *a { [INFO] [stderr] 186 | SegmentOperation::CREATE(ref c) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/transaction.rs:219:45 [INFO] [stderr] | [INFO] [stderr] 219 | if self.segs_created_names.contains(name.into()) { [INFO] [stderr] | ^^^^^^^^^^^ help: consider removing `.into()`: `name` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/transaction.rs:275:34 [INFO] [stderr] | [INFO] [stderr] 275 | self.segs_updated.insert(update.segment.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `update.segment` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/transaction.rs:280:34 [INFO] [stderr] | [INFO] [stderr] 280 | self.segs_updated.insert(segment.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `segment` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/transaction.rs:288:34 [INFO] [stderr] | [INFO] [stderr] 288 | self.segs_updated.insert(delete.segment.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `delete.segment` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/transaction.rs:292:5 [INFO] [stderr] | [INFO] [stderr] 292 | / pub fn scan_insert<'a>(&'a self, seg: u32) -> TransactionInsertScanner<'a> { [INFO] [stderr] 293 | | TransactionInsertScanner { [INFO] [stderr] 294 | | tx: self, [INFO] [stderr] 295 | | segment: seg, [INFO] [stderr] 296 | | } [INFO] [stderr] 297 | | } [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/transaction.rs:354:29 [INFO] [stderr] | [INFO] [stderr] 354 | fn coll_locks(&self) -> (Vec<(u32, RecRef, u16)>, Vec, Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/transaction.rs:381:29 [INFO] [stderr] | [INFO] [stderr] 381 | records.insert((update.segment.clone(), update.recref.clone(), version)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `update.segment` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/transaction.rs:390:29 [INFO] [stderr] | [INFO] [stderr] 390 | records.insert((delete.segment.clone(), delete.recref.clone(), version)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `delete.segment` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/transaction.rs:394:30 [INFO] [stderr] | [INFO] [stderr] 394 | records.remove(&(insert.segment.clone(), insert.recref.clone(), 1)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `insert.segment` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/discref.rs:75:40 [INFO] [stderr] | [INFO] [stderr] 75 | self.buff.seek(SeekFrom::Start(pos as u64 + 2 as u64))?; [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(pos)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/discref.rs:122:17 [INFO] [stderr] | [INFO] [stderr] 122 | let ref mut fl = self.file.lock()?; [INFO] [stderr] | ----^^^^^^^^^^--------------------- help: try: `let fl = &mut (self.file.lock()?);` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/discref.rs:142:17 [INFO] [stderr] | [INFO] [stderr] 142 | let ref mut fl = self.file.lock()?; [INFO] [stderr] | ----^^^^^^^^^^--------------------- help: try: `let fl = &mut (self.file.lock()?);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/discref.rs:152:13 [INFO] [stderr] | [INFO] [stderr] 152 | let ref mut fl = self.file.lock()?; [INFO] [stderr] | ----^^^^^^^^^^--------------------- help: try: `let fl = &mut (self.file.lock()?);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/discref.rs:161:13 [INFO] [stderr] | [INFO] [stderr] 161 | let ref mut fl = self.file.lock()?; [INFO] [stderr] | ----^^^^^^^^^^--------------------- help: try: `let fl = &mut (self.file.lock()?);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/discref.rs:170:13 [INFO] [stderr] | [INFO] [stderr] 170 | let ref mut fl = self.file.lock()?; [INFO] [stderr] | ----^^^^^^^^^^--------------------- help: try: `let fl = &mut (self.file.lock()?);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/discref.rs:181:12 [INFO] [stderr] | [INFO] [stderr] 181 | Ok(self.file.lock()?.flush()?) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 181 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/discref.rs:204:13 [INFO] [stderr] | [INFO] [stderr] 204 | let ref mut pg = disc.load_page(page).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^--------------------------------- help: try: `let pg = &mut disc.load_page(page).unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/discref.rs:219:13 [INFO] [stderr] | [INFO] [stderr] 219 | let ref mut pg = disc.load_page(page).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^--------------------------------- help: try: `let pg = &mut disc.load_page(page).unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/discref.rs:222:13 [INFO] [stderr] | [INFO] [stderr] 222 | let ref mut pg1 = disc.load_page(page).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^^--------------------------------- help: try: `let pg1 = &mut disc.load_page(page).unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/discref.rs:238:13 [INFO] [stderr] | [INFO] [stderr] 238 | let ref mut pg = disc.load_page(page).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^--------------------------------- help: try: `let pg = &mut disc.load_page(page).unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/discref.rs:255:17 [INFO] [stderr] | [INFO] [stderr] 255 | let ref mut pg = disc.load_page(page).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^--------------------------------- help: try: `let pg = &mut disc.load_page(page).unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/discref.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | let ref mut pg = disc.load_page(page).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^--------------------------------- help: try: `let pg = &mut disc.load_page(page).unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/journal.rs:220:13 [INFO] [stderr] | [INFO] [stderr] 220 | jr.current.write(&*buffer)?; [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] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/journal.rs:224:13 [INFO] [stderr] | [INFO] [stderr] 224 | jr.last_pos = jr.last_pos + buffer.len() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `jr.last_pos += buffer.len() as u32` [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: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/journal.rs:536:19 [INFO] [stderr] | [INFO] [stderr] 536 | read.take(len as u64).read_to_end(&mut slice)?; [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(len)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/journal.rs:538:12 [INFO] [stderr] | [INFO] [stderr] 538 | Ok((1 + 2 + len) as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(1 + 2 + len)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/journal.rs:598:21 [INFO] [stderr] | [INFO] [stderr] 598 | buffer.take(string_size as u64).read_to_end(&mut slice)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(string_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/journal.rs:600:12 [INFO] [stderr] | [INFO] [stderr] 600 | Ok((4 + string_size + 2) as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(4 + string_size + 2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/journal.rs:625:21 [INFO] [stderr] | [INFO] [stderr] 625 | buffer.take(string_size as u64).read_to_end(&mut slice)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(string_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/journal.rs:627:12 [INFO] [stderr] | [INFO] [stderr] 627 | Ok((4 + string_size + 2) as u32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(4 + string_size + 2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/journal.rs:653:13 [INFO] [stderr] | [INFO] [stderr] 653 | size = size - 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `size -= 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `config::Config` [INFO] [stderr] --> src/config.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | / pub fn new() -> Config { [INFO] [stderr] 63 | | Config { [INFO] [stderr] 64 | | cache_size: 32 * 1024 * 1024, [INFO] [stderr] 65 | | transaction_lock_timeout: Duration::new(15000, 0), [INFO] [stderr] 66 | | tx_strategy: TxStrategy::LastWin, [INFO] [stderr] 67 | | } [INFO] [stderr] 68 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 61 | impl Default for config::Config { [INFO] [stderr] 62 | fn default() -> Self { [INFO] [stderr] 63 | Self::new() [INFO] [stderr] 64 | } [INFO] [stderr] 65 | } [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/config.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | / pub fn transaction_lock_timeout<'a>(&'a self) -> &'a Duration { [INFO] [stderr] 75 | | &self.transaction_lock_timeout [INFO] [stderr] 76 | | } [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/config.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | / pub fn tx_strategy<'a>(&'a self) -> &'a TxStrategy { [INFO] [stderr] 87 | | &self.tx_strategy [INFO] [stderr] 88 | | } [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/segment.rs:31:132 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn new(first_page: u64, persistent_page: u64, persistent_pos: u32, alloc_page: u64, alloc_pos: u32, segment_id: u32, name: &String) -> Segment { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 31 | pub fn new(first_page: u64, persistent_page: u64, persistent_pos: u32, alloc_page: u64, alloc_pos: u32, segment_id: u32, name: &str) -> Segment { [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `name.clone()` to [INFO] [stderr] | [INFO] [stderr] 39 | name: name.to_string(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/segment.rs:268:30 [INFO] [stderr] | [INFO] [stderr] 268 | pub fn segment_hash(segment: &String) -> u32 { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/segment.rs:270:9 [INFO] [stderr] | [INFO] [stderr] 270 | let ref mut hasher = DefaultHasher::new(); [INFO] [stderr] | ----^^^^^^^^^^^^^^------------------------ help: try: `let hasher = &mut DefaultHasher::new();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/segment.rs:273:5 [INFO] [stderr] | [INFO] [stderr] 273 | val = val << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `val <<= 16` [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: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/segment.rs:274:12 [INFO] [stderr] | [INFO] [stderr] 274 | val |= rand::random::() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(rand::random::())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/segment.rs:336:39 [INFO] [stderr] | [INFO] [stderr] 336 | pub fn segment_id(&self, segment: &String) -> Option { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/segment.rs:344:5 [INFO] [stderr] | [INFO] [stderr] 344 | / pub fn segment_by_id<'a>(&'a self, id: u32) -> Option<&'a Segment> { [INFO] [stderr] 345 | | self.segments.get(&id) [INFO] [stderr] 346 | | } [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/segment.rs:348:5 [INFO] [stderr] | [INFO] [stderr] 348 | / pub fn segment_by_id_temp<'a>(&'a self, id: u32) -> Option<&'a Segment> { [INFO] [stderr] 349 | | self.temp_segments.get(&id) [INFO] [stderr] 350 | | } [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/segment.rs:352:40 [INFO] [stderr] | [INFO] [stderr] 352 | pub fn has_segment(&self, segment: &String) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/segment.rs:356:80 [INFO] [stderr] | [INFO] [stderr] 356 | pub fn create_temp_segment(&mut self, allocator: &Arc, segment: &String) -> PRes { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/segment.rs:392:48 [INFO] [stderr] | [INFO] [stderr] 392 | pub fn exists_real_or_temp(&self, segment: &u32) -> bool { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/segment.rs:406:73 [INFO] [stderr] | [INFO] [stderr] 406 | pub fn drop_segment(&mut self, allocator: &Arc, segment: &String) -> PRes<()> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/segment.rs:424:29 [INFO] [stderr] | [INFO] [stderr] 424 | for (_, segment) in &self.segments { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 424 | for segment in self.segments.values() { [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/segment.rs:507:20 [INFO] [stderr] | [INFO] [stderr] 507 | if !res.is_err() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `res.is_ok()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: The function/method `::init` doesn't need a mutable reference [INFO] [stderr] --> src/persy.rs:89:46 [INFO] [stderr] | [INFO] [stderr] 89 | let allocator_page = Allocator::init(&mut disc)?; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | let ref allocator = Allocator::new(disc, &Rc::new(Config::new()), allocator_page)?; [INFO] [stderr] | ----^^^^^^^^^^^^^------------------------------------------------------------------ help: try: `let allocator = &(Allocator::new(disc, &Rc::new(Config::new()), allocator_page)?);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:141:13 [INFO] [stderr] | [INFO] [stderr] 141 | let ref journal = self.journal; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let journal = &self.journal;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:174:13 [INFO] [stderr] | [INFO] [stderr] 174 | let ref allocator = self.allocator; [INFO] [stderr] | ----^^^^^^^^^^^^^------------------ help: try: `let allocator = &self.allocator;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:175:13 [INFO] [stderr] | [INFO] [stderr] 175 | let ref address = self.address; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let address = &self.address;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:236:13 [INFO] [stderr] | [INFO] [stderr] 236 | let ref journal = self.journal; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let journal = &self.journal;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/persy.rs:287:59 [INFO] [stderr] | [INFO] [stderr] 287 | fn check_segment_tx(&self, tx: &Transaction, segment: &String) -> PRes<(bool, u32)> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/persy.rs:301:75 [INFO] [stderr] | [INFO] [stderr] 301 | pub fn insert_record(&self, tx: &mut Transaction, segment: &str, rec: &Vec) -> PRes { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:305:13 [INFO] [stderr] | [INFO] [stderr] 305 | let ref allocator = self.allocator; [INFO] [stderr] | ----^^^^^^^^^^^^^------------------ help: try: `let allocator = &self.allocator;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:306:13 [INFO] [stderr] | [INFO] [stderr] 306 | let ref address = self.address; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let address = &self.address;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:307:13 [INFO] [stderr] | [INFO] [stderr] 307 | let ref journal = self.journal; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let journal = &self.journal;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/persy.rs:336:51 [INFO] [stderr] | [INFO] [stderr] 336 | fn read_ref(&self, tx: &Transaction, segment: &String, rec_ref: &RecRef) -> PRes> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/persy.rs:407:93 [INFO] [stderr] | [INFO] [stderr] 407 | pub fn update_record(&self, tx: &mut Transaction, segment: &str, rec_ref: &RecRef, rec: &Vec) -> PRes<()> { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:408:13 [INFO] [stderr] | [INFO] [stderr] 408 | let ref allocator = self.allocator; [INFO] [stderr] | ----^^^^^^^^^^^^^------------------ help: try: `let allocator = &self.allocator;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:409:13 [INFO] [stderr] | [INFO] [stderr] 409 | let ref journal = self.journal; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let journal = &self.journal;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:427:13 [INFO] [stderr] | [INFO] [stderr] 427 | let ref journal = self.journal; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let journal = &self.journal;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:436:13 [INFO] [stderr] | [INFO] [stderr] 436 | let ref allocator = self.allocator; [INFO] [stderr] | ----^^^^^^^^^^^^^------------------ help: try: `let allocator = &self.allocator;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:437:13 [INFO] [stderr] | [INFO] [stderr] 437 | let ref journal = self.journal; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let journal = &self.journal;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:438:13 [INFO] [stderr] | [INFO] [stderr] 438 | let ref address = self.address; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let address = &self.address;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:443:13 [INFO] [stderr] | [INFO] [stderr] 443 | let ref allocator = self.allocator; [INFO] [stderr] | ----^^^^^^^^^^^^^------------------ help: try: `let allocator = &self.allocator;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:444:13 [INFO] [stderr] | [INFO] [stderr] 444 | let ref journal = self.journal; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let journal = &self.journal;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:445:13 [INFO] [stderr] | [INFO] [stderr] 445 | let ref address = self.address; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let address = &self.address;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:452:13 [INFO] [stderr] | [INFO] [stderr] 452 | let ref allocator = self.allocator; [INFO] [stderr] | ----^^^^^^^^^^^^^------------------ help: try: `let allocator = &self.allocator;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:453:13 [INFO] [stderr] | [INFO] [stderr] 453 | let ref journal = self.journal; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let journal = &self.journal;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:454:13 [INFO] [stderr] | [INFO] [stderr] 454 | let ref address = self.address; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let address = &self.address;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:463:13 [INFO] [stderr] | [INFO] [stderr] 463 | let ref allocator = self.allocator; [INFO] [stderr] | ----^^^^^^^^^^^^^------------------ help: try: `let allocator = &self.allocator;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:464:13 [INFO] [stderr] | [INFO] [stderr] 464 | let ref journal = self.journal; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let journal = &self.journal;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/persy.rs:465:13 [INFO] [stderr] | [INFO] [stderr] 465 | let ref address = self.address; [INFO] [stderr] | ----^^^^^^^^^^^---------------- help: try: `let address = &self.address;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/record_scanner.rs:62:20 [INFO] [stderr] | [INFO] [stderr] 62 | if !res.is_err() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `res.is_ok()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/record_scanner.rs:137:20 [INFO] [stderr] | [INFO] [stderr] 137 | if !res.is_err() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `res.is_ok()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/lib.rs:317:75 [INFO] [stderr] | [INFO] [stderr] 317 | pub fn insert_record(&self, tx: &mut Transaction, segment: &str, rec: &Vec) -> PRes { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/lib.rs:453:89 [INFO] [stderr] | [INFO] [stderr] 453 | pub fn update_record(&self, tx: &mut Transaction, segment: &str, id: &PersyId, rec: &Vec) -> PRes<()> { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `persy`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "95090d00b6a9cc2610d959aab960392cfe6d998442c489e9af76973dd251e876"` [INFO] running `"docker" "rm" "-f" "95090d00b6a9cc2610d959aab960392cfe6d998442c489e9af76973dd251e876"` [INFO] [stdout] 95090d00b6a9cc2610d959aab960392cfe6d998442c489e9af76973dd251e876