Skip to content

generic storage

generic storage #159

Triggered via push March 22, 2024 21:28
Status Success
Total duration 7m 50s
Artifacts
Fit to window
Zoom out
Zoom in

Annotations

54 warnings
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/merkle_tree.rs#L165
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/merkle_tree.rs:165:36 | 165 | 0 => Branch::Right(self.nodes[index - 1].clone()), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.nodes[index - 1]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/merkle_tree.rs#L164
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/merkle_tree.rs:164:35 | 164 | 1 => Branch::Left(self.nodes[index + 1].clone()), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.nodes[index + 1]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/merkle_tree.rs#L123
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/merkle_tree.rs:123:9 | 123 | self.nodes[0].clone() | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.nodes[0]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L1078
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:1078:41 | 1078 | return SparseTree::new_leaf(hash.clone()); | ^^^^^^^^^^^^ help: try dereferencing it: `*hash` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L1041
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:1041:9 | 1041 | self.storage[self.root_index].clone() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.storage[self.root_index]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L1012
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:1012:9 | 1012 | self.storage.lock().expect("lock poisoned")[self.root_index].clone() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.storage.lock().expect("lock poisoned")[self.root_index]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L1001
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:1001:45 | 1001 | storage[leaf_index_in_dense_tree] = value.clone(); | ^^^^^^^^^^^^^ help: try dereferencing it: `*value` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L980
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:980:13 | 980 | r.storage[leaf_index_in_dense_tree].clone() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `r.storage[leaf_index_in_dense_tree]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L851
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:851:41 | 851 | return SparseTree::new_leaf(hash.clone()); | ^^^^^^^^^^^^ help: try dereferencing it: `*hash` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L814
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:814:9 | 814 | self.storage[self.root_index].clone() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.storage[self.root_index]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L785
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:785:9 | 785 | self.storage.lock().unwrap()[self.root_index].clone() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.storage.lock().unwrap()[self.root_index]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L774
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:774:45 | 774 | storage[leaf_index_in_dense_tree] = value.clone(); | ^^^^^^^^^^^^^ help: try dereferencing it: `*value` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L753
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:753:13 | 753 | r.storage[leaf_index_in_dense_tree].clone() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `r.storage[leaf_index_in_dense_tree]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L700
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:700:34 | 700 | let empties = repeat(empty_value.clone()).take(leaf_count - values.len()); | ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*empty_value` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L696
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:696:30 | 696 | let empties = repeat(empty_value.clone()).take(leaf_count); | ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*empty_value` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L660
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:660:16 | 660 | || self.root.clone(), | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.root` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L655
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:655:9 | 655 | self.root.clone() | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.root` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L629
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:629:35 | 629 | return Self::new_leaf(value.clone()); | ^^^^^^^^^^^^^ help: try dereferencing it: `*value` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L583
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:583:23 | 583 | root: self.root.clone(), | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.root` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L519
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:519:9 | 519 | self.empty_tree_values[0].clone() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.empty_tree_values[0]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L515
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:515:9 | 515 | self.empty_tree_values[self.depth].clone() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.empty_tree_values[self.depth]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L460
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:460:23 | 460 | let val = self.empty_tree_values[depth - 1].clone(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.empty_tree_values[depth - 1]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L313
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:313:47 | 313 | EmptyTree::new(current_depth, empty_leaf.clone()).into(), | ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*empty_leaf` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L291
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:291:47 | 291 | EmptyTree::new(current_depth, empty_value.clone()).into(), | ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*empty_value` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L268
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:268:47 | 268 | EmptyTree::new(current_depth, empty_value.clone()).into(), | ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*empty_value` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L261
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:261:61 | 261 | let mut result: Self = EmptyTree::new(prefix_depth, empty_value.clone()) | ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*empty_value` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait: src/lazy_merkle_tree.rs#L251
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait --> src/lazy_merkle_tree.rs:251:47 | 251 | EmptyTree::new(current_depth, empty_value.clone()).into(), | ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*empty_value` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy note: the lint level is defined here --> src/lib.rs:2:9 | 2 | #![warn(clippy::all, clippy::cargo)] | ^^^^^^^^^^^ = note: `#[warn(clippy::clone_on_copy)]` implied by `#[warn(clippy::all)]`
function `as_bytes` is never used: src/util.rs#L24
warning: function `as_bytes` is never used --> src/util.rs:24:22 | 24 | pub(crate) unsafe fn as_bytes<T: ?Sized>(p: &T) -> &[u8] { | ^^^^^^^^
function `children` is never used: src/dynamic_merkle_tree.rs#L511
warning: function `children` is never used --> src/dynamic_merkle_tree.rs:511:4 | 511 | fn children(i: usize) -> Option<(usize, usize)> { | ^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
unused import: `util::as_bytes`: src/lazy_merkle_tree.rs#L3
warning: unused import: `util::as_bytes` --> src/lazy_merkle_tree.rs:3:5 | 3 | util::as_bytes, | ^^^^^^^^^^^^^^
unused imports: `MmapMut`, `MmapOptions`: src/dynamic_merkle_tree.rs#L15
warning: unused imports: `MmapMut`, `MmapOptions` --> src/dynamic_merkle_tree.rs:15:15 | 15 | use mmap_rs::{MmapMut, MmapOptions}; | ^^^^^^^ ^^^^^^^^^^^
unused import: `thiserror::Error`: src/dynamic_merkle_tree.rs#L13
warning: unused import: `thiserror::Error` --> src/dynamic_merkle_tree.rs:13:5 | 13 | use thiserror::Error; | ^^^^^^^^^^^^^^^^
unused imports: `fs::OpenOptions`, `io::Write`, `path::PathBuf`: src/dynamic_merkle_tree.rs#L7
warning: unused imports: `fs::OpenOptions`, `io::Write`, `path::PathBuf` --> src/dynamic_merkle_tree.rs:7:5 | 7 | fs::OpenOptions, | ^^^^^^^^^^^^^^^ 8 | io::Write, | ^^^^^^^^^ ... 11 | path::PathBuf, | ^^^^^^^^^^^^^
unused import: `util::as_bytes`: src/dynamic_merkle_tree.rs#L3
warning: unused import: `util::as_bytes` --> src/dynamic_merkle_tree.rs:3:5 | 3 | util::as_bytes, | ^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
Lint
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions-rs/toolchain@v1, actions-rs/cargo@v1, actions-rs/clippy-check@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Lint
The following actions uses node12 which is deprecated and will be forced to run on node16: actions-rs/toolchain@v1, actions-rs/cargo@v1, actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Lint
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Lint
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Lint
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Lint
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Test
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions-rs/toolchain@v1, actions-rs/cargo@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Test
The following actions uses node12 which is deprecated and will be forced to run on node16: actions-rs/toolchain@v1, actions-rs/cargo@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Test: src/dynamic_merkle_tree.rs#L3
unused import: `util::as_bytes`
Test: src/dynamic_merkle_tree.rs#L7
unused imports: `fs::OpenOptions`, `io::Write`, `path::PathBuf`
Test: src/dynamic_merkle_tree.rs#L13
unused import: `thiserror::Error`
Test: src/dynamic_merkle_tree.rs#L15
unused imports: `MmapMut`, `MmapOptions`
Test: src/lazy_merkle_tree.rs#L3
unused import: `util::as_bytes`
Test: src/dynamic_merkle_tree.rs#L511
function `children` is never used
Test: src/util.rs#L24
function `as_bytes` is never used
Test
`semaphore` (lib) generated 7 warnings (run `cargo fix --lib -p semaphore` to apply 5 suggestions)