feat: bidirectional references #503
Annotations
78 warnings
this function has too many arguments (8/7):
grovedb/src/lib.rs#L933
warning: this function has too many arguments (8/7)
--> grovedb/src/lib.rs:933:5
|
933 | / fn verify_merk_and_submerks_in_transaction<'db, B: AsRef<[u8]>, S: StorageContext<'db>>(
934 | | &'db self,
935 | | merk: Merk<S>,
936 | | path: &SubtreePath<B>,
... |
941 | | grove_version: &GroveVersion,
942 | | ) -> Result<VerificationIssues, Error> {
| |__________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
grovedb/src/operations/proof/verify.rs#L228
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/proof/verify.rs:228:5
|
228 | / fn verify_layer_proof<T>(
229 | | layer_proof: &LayerProof,
230 | | prove_options: &ProveOptions,
231 | | query: &PathQuery,
... |
236 | | grove_version: &GroveVersion,
237 | | ) -> Result<CryptoHash, Error>
| |__________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this expression creates a reference which is immediately dereferenced by the compiler:
grovedb/src/operations/proof/generate.rs#L215
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> grovedb/src/operations/proof/generate.rs:215:74
|
215 | self.open_transactional_merk_at_path(path.as_slice().into(), &tx, None, grove_version)
| ^^^ help: change this to: `tx`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
|
this function has too many arguments (8/7):
grovedb/src/operations/insert/mod.rs#L166
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/insert/mod.rs:166:5
|
166 | / fn add_element_on_transaction<'db, B: AsRef<[u8]>>(
167 | | &'db self,
168 | | path: SubtreePath<B>,
169 | | key: &[u8],
... |
174 | | grove_version: &GroveVersion,
175 | | ) -> CostResult<Merk<PrefixedRocksDbTransactionContext<'db>>, Error> {
| |________________________________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
grovedb/src/operations/insert/mod.rs#L117
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/insert/mod.rs:117:5
|
117 | / fn insert_on_transaction<'db, 'b, B: AsRef<[u8]>>(
118 | | &self,
119 | | path: SubtreePath<'b, B>,
120 | | key: &[u8],
... |
125 | | grove_version: &GroveVersion,
126 | | ) -> CostResult<(), Error> {
| |______________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
the following explicit lifetimes could be elided: 'b, 'db:
grovedb/src/operations/insert/mod.rs#L117
warning: the following explicit lifetimes could be elided: 'b, 'db
--> grovedb/src/operations/insert/mod.rs:117:30
|
117 | fn insert_on_transaction<'db, 'b, B: AsRef<[u8]>>(
| ^^^ ^^
118 | &self,
119 | path: SubtreePath<'b, B>,
| ^^
...
123 | transaction: &'db Transaction,
| ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
117 ~ fn insert_on_transaction<B: AsRef<[u8]>>(
118 | &self,
119 ~ path: SubtreePath<'_, B>,
120 | key: &[u8],
121 | element: Element,
122 | options: InsertOptions,
123 ~ transaction: &Transaction,
|
|
this function has too many arguments (8/7):
grovedb/src/operations/insert/v1.rs#L17
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/insert/v1.rs:17:1
|
17 | / pub(super) fn insert_on_transaction<'db, 'b, B: AsRef<[u8]>>(
18 | | db: &GroveDb,
19 | | path: SubtreePath<'b, B>,
20 | | key: &[u8],
... |
25 | | grove_version: &GroveVersion,
26 | | ) -> CostResult<(), Error> {
| |__________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
the following explicit lifetimes could be elided: 'b, 'db:
grovedb/src/operations/insert/v1.rs#L17
warning: the following explicit lifetimes could be elided: 'b, 'db
--> grovedb/src/operations/insert/v1.rs:17:37
|
17 | pub(super) fn insert_on_transaction<'db, 'b, B: AsRef<[u8]>>(
| ^^^ ^^
18 | db: &GroveDb,
19 | path: SubtreePath<'b, B>,
| ^^
...
23 | transaction: &'db Transaction,
| ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
17 ~ pub(super) fn insert_on_transaction<B: AsRef<[u8]>>(
18 | db: &GroveDb,
19 ~ path: SubtreePath<'_, B>,
20 | key: &[u8],
21 | element: Element,
22 | options: InsertOptions,
23 ~ transaction: &Transaction,
|
|
this function has too many arguments (8/7):
grovedb/src/operations/insert/v0.rs#L12
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/insert/v0.rs:12:1
|
12 | / pub(super) fn insert_on_transaction<'db, 'b, B: AsRef<[u8]>>(
13 | | db: &GroveDb,
14 | | path: SubtreePath<'b, B>,
15 | | key: &[u8],
... |
20 | | grove_version: &GroveVersion,
21 | | ) -> CostResult<(), Error> {
| |__________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
grovedb/src/operations/get/query.rs#L629
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/get/query.rs:629:5
|
629 | / pub fn query_raw(
630 | | &self,
631 | | path_query: &PathQuery,
632 | | allow_cache: bool,
... |
637 | | grove_version: &GroveVersion,
638 | | ) -> CostResult<(QueryResultElements, u16), Error> {
| |______________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
grovedb/src/operations/get/query.rs#L255
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/get/query.rs:255:5
|
255 | / pub fn query(
256 | | &self,
257 | | path_query: &PathQuery,
258 | | allow_cache: bool,
... |
263 | | grove_version: &GroveVersion,
264 | | ) -> CostResult<(QueryResultElements, u16), Error> {
| |______________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
grovedb/src/operations/get/query.rs#L124
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/get/query.rs:124:5
|
124 | / pub fn query_many_raw(
125 | | &self,
126 | | path_queries: &[&PathQuery],
127 | | allow_cache: bool,
... |
132 | | grove_version: &GroveVersion,
133 | | ) -> CostResult<QueryResultElements, Error>
| |_______________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
grovedb/src/operations/delete/mod.rs#L532
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/delete/mod.rs:532:5
|
532 | / fn delete_internal_on_transaction<B: AsRef<[u8]>>(
533 | | &self,
534 | | path: SubtreePath<B>,
535 | | key: &[u8],
... |
547 | | grove_version: &GroveVersion,
548 | | ) -> CostResult<bool, Error> {
| |________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
grovedb/src/operations/delete/mod.rs#L409
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/delete/mod.rs:409:5
|
409 | / pub fn delete_operation_for_delete_internal<B: AsRef<[u8]>>(
410 | | &self,
411 | | path: SubtreePath<B>,
412 | | key: &[u8],
... |
417 | | grove_version: &GroveVersion,
418 | | ) -> CostResult<Option<QualifiedGroveDbOp>, Error> {
| |______________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
grovedb/src/operations/delete/worst_case.rs#L113
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/delete/worst_case.rs:113:5
|
113 | / pub fn worst_case_delete_operation_for_delete<'db, S: Storage<'db>>(
114 | | path: &KeyInfoPath,
115 | | key: &KeyInfo,
116 | | in_parent_tree_type: TreeType,
... |
121 | | grove_version: &GroveVersion,
122 | | ) -> CostResult<QualifiedGroveDbOp, Error> {
| |______________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
grovedb/src/operations/delete/delete_up_tree.rs#L199
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/delete/delete_up_tree.rs:199:5
|
199 | / pub fn add_delete_operations_for_delete_up_tree_while_empty<B: AsRef<[u8]>>(
200 | | &self,
201 | | path: SubtreePath<B>,
202 | | key: &[u8],
... |
207 | | grove_version: &GroveVersion,
208 | | ) -> CostResult<Option<Vec<QualifiedGroveDbOp>>, Error> {
| |___________________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
grovedb/src/operations/delete/delete_up_tree.rs#L167
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/delete/delete_up_tree.rs:167:5
|
167 | / pub fn delete_operations_for_delete_up_tree_while_empty<B: AsRef<[u8]>>(
168 | | &self,
169 | | path: SubtreePath<B>,
170 | | key: &[u8],
... |
175 | | grove_version: &GroveVersion,
176 | | ) -> CostResult<Vec<QualifiedGroveDbOp>, Error> {
| |___________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
grovedb/src/operations/delete/average_case.rs#L138
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/delete/average_case.rs:138:5
|
138 | / pub fn average_case_delete_operation_for_delete<'db, S: Storage<'db>>(
139 | | path: &KeyInfoPath,
140 | | key: &KeyInfo,
141 | | in_parent_tree_type: TreeType,
... |
146 | | grove_version: &GroveVersion,
147 | | ) -> CostResult<QualifiedGroveDbOp, Error> {
| |______________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
the following explicit lifetimes could be elided: 'c, 'db:
grovedb/src/operations/delete/v1.rs#L184
warning: the following explicit lifetimes could be elided: 'c, 'db
--> grovedb/src/operations/delete/v1.rs:184:6
|
184 | impl<'c, 'db, 'b, B: AsRef<[u8]>> util::Visit<'b, B> for DeletionVisitor<'c, 'db, 'b, B> {
| ^^ ^^^ ^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
184 - impl<'c, 'db, 'b, B: AsRef<[u8]>> util::Visit<'b, B> for DeletionVisitor<'c, 'db, 'b, B> {
184 + impl<'b, B: AsRef<[u8]>> util::Visit<'b, B> for DeletionVisitor<'_, '_, 'b, B> {
|
|
this function has too many arguments (8/7):
grovedb/src/operations/delete/v1.rs#L19
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/delete/v1.rs:19:1
|
19 | / pub(super) fn delete_internal_on_transaction<B: AsRef<[u8]>>(
20 | | db: &GroveDb,
21 | | path: SubtreePath<B>,
22 | | key: &[u8],
... |
34 | | grove_version: &GroveVersion,
35 | | ) -> CostResult<bool, Error> {
| |____________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
grovedb/src/operations/delete/v0.rs#L17
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/delete/v0.rs:17:1
|
17 | / pub(super) fn delete_internal_on_transaction<B: AsRef<[u8]>>(
18 | | db: &GroveDb,
19 | | path: SubtreePath<B>,
20 | | key: &[u8],
... |
32 | | grove_version: &GroveVersion,
33 | | ) -> CostResult<bool, Error> {
| |____________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this expression creates a reference which is immediately dereferenced by the compiler:
grovedb/src/merk_cache.rs#L254
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> grovedb/src/merk_cache.rs:254:33
|
254 | ... &self.version,
| ^^^^^^^^^^^^^ help: change this to: `self.version`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
|
this expression creates a reference which is immediately dereferenced by the compiler:
grovedb/src/merk_cache.rs#L114
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> grovedb/src/merk_cache.rs:114:59
|
114 | Element::get(&merk, parent_key, true, &self.version)
| ^^^^^^^^^^^^^ help: change this to: `self.version`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
|
this expression creates a reference which is immediately dereferenced by the compiler:
grovedb/src/merk_cache.rs#L114
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> grovedb/src/merk_cache.rs:114:34
|
114 | Element::get(&merk, parent_key, true, &self.version)
| ^^^^^ help: change this to: `merk`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
|
this function has too many arguments (12/7):
grovedb/src/element/query.rs#L717
warning: this function has too many arguments (12/7)
--> grovedb/src/element/query.rs:717:5
|
717 | / fn query_item(
718 | | storage: &RocksDbStorage,
719 | | item: &QueryItem,
720 | | results: &mut Vec<QueryResultElement>,
... |
729 | | grove_version: &GroveVersion,
730 | | ) -> CostResult<(), Error> {
| |______________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
grovedb/src/element/query.rs#L302
warning: this function has too many arguments (8/7)
--> grovedb/src/element/query.rs:302:5
|
302 | / pub fn get_query_apply_function(
303 | | storage: &RocksDbStorage,
304 | | path: &[&[u8]],
305 | | sized_query: &SizedQuery,
... |
310 | | grove_version: &GroveVersion,
311 | | ) -> CostResult<(QueryResultElements, u16), Error> {
| |______________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this expression creates a reference which is immediately dereferenced by the compiler:
grovedb/src/element/insert.rs#L544
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> grovedb/src/element/insert.rs:544:32
|
544 | Self::get_optional(&merk, &key, true, grove_version)
| ^^^^^ help: change this to: `merk`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
|
this expression creates a reference which is immediately dereferenced by the compiler:
grovedb/src/element/insert.rs#L381
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> grovedb/src/element/insert.rs:381:32
|
381 | Self::get_optional(&merk, &key, true, grove_version)
| ^^^^^ help: change this to: `merk`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
|
this expression creates a reference which is immediately dereferenced by the compiler:
grovedb/src/element/insert.rs#L239
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> grovedb/src/element/insert.rs:239:43
|
239 | 1 => { Self::get_optional(&merk, key, true, grove_version) }
| ^^^^^ help: change this to: `merk`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
|
this expression creates a reference which is immediately dereferenced by the compiler:
grovedb/src/debugger.rs#L346
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> grovedb/src/debugger.rs:346:29
|
346 | ... &tx,
| ^^^ help: change this to: `tx`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
|
the following explicit lifetimes could be elided: 'db, 'c:
grovedb/src/bidirectional_references.rs#L641
warning: the following explicit lifetimes could be elided: 'db, 'c
--> grovedb/src/bidirectional_references.rs:641:28
|
641 | fn get_backward_references<'db, 'c>(
| ^^^ ^^
642 | merk: &mut MerkHandle<'db, 'c>,
| ^^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
641 ~ fn get_backward_references(
642 ~ merk: &mut MerkHandle<'_, '_>,
|
|
the following explicit lifetimes could be elided: 'db, 'c:
grovedb/src/bidirectional_references.rs#L600
warning: the following explicit lifetimes could be elided: 'db, 'c
--> grovedb/src/bidirectional_references.rs:600:27
|
600 | fn add_backward_reference<'db, 'c>(
| ^^^ ^^
601 | target_merk: &mut MerkHandle<'db, 'c>,
| ^^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
600 ~ fn add_backward_reference(
601 ~ target_merk: &mut MerkHandle<'_, '_>,
|
|
the following explicit lifetimes could be elided: 'db, 'c:
grovedb/src/bidirectional_references.rs#L561
warning: the following explicit lifetimes could be elided: 'db, 'c
--> grovedb/src/bidirectional_references.rs:561:35
|
561 | fn get_backward_references_bitvec<'db, 'c>(
| ^^^ ^^
562 | merk: &mut MerkHandle<'db, 'c>,
| ^^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
561 ~ fn get_backward_references_bitvec(
562 ~ merk: &mut MerkHandle<'_, '_>,
|
|
this expression creates a reference which is immediately dereferenced by the compiler:
grovedb/src/bidirectional_references.rs#L462
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> grovedb/src/bidirectional_references.rs:462:17
|
462 | &merk_cache.version
| ^^^^^^^^^^^^^^^^^^^ help: change this to: `merk_cache.version`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
|
this expression creates a reference which is immediately dereferenced by the compiler:
grovedb/src/bidirectional_references.rs#L350
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> grovedb/src/bidirectional_references.rs:350:69
|
350 | cost_return_on_error!(&mut cost, new.value_hash(&merk_cache.version))
| ^^^^^^^^^^^^^^^^^^^ help: change this to: `merk_cache.version`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
|
this expression creates a reference which is immediately dereferenced by the compiler:
grovedb/src/bidirectional_references.rs#L316
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> grovedb/src/bidirectional_references.rs:316:69
|
316 | cost_return_on_error!(&mut cost, new.value_hash(&merk_cache.version))
| ^^^^^^^^^^^^^^^^^^^ help: change this to: `merk_cache.version`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
|
this expression creates a reference which is immediately dereferenced by the compiler:
grovedb/src/bidirectional_references.rs#L220
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> grovedb/src/bidirectional_references.rs:220:17
|
220 | &merk_cache.version,
| ^^^^^^^^^^^^^^^^^^^ help: change this to: `merk_cache.version`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
|
this lifetime isn't used in the function definition:
grovedb/src/bidirectional_references.rs#L113
warning: this lifetime isn't used in the function definition
--> grovedb/src/bidirectional_references.rs:113:66
|
113 | pub(crate) fn process_bidirectional_reference_insertion<'db, 'b, 'k, B: AsRef<[u8]>>(
| ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes
= note: `#[warn(clippy::extra_unused_lifetimes)]` on by default
|
the following explicit lifetimes could be elided: 'db:
grovedb/src/bidirectional_references.rs#L113
warning: the following explicit lifetimes could be elided: 'db
--> grovedb/src/bidirectional_references.rs:113:57
|
113 | pub(crate) fn process_bidirectional_reference_insertion<'db, 'b, 'k, B: AsRef<[u8]>>(
| ^^^
114 | merk_cache: &MerkCache<'db, 'b, B>,
| ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
113 ~ pub(crate) fn process_bidirectional_reference_insertion<'b, 'k, B: AsRef<[u8]>>(
114 ~ merk_cache: &MerkCache<'_, 'b, B>,
|
|
this expression creates a reference which is immediately dereferenced by the compiler:
grovedb/src/bidirectional_references.rs#L87
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> grovedb/src/bidirectional_references.rs:87:57
|
87 | get_backward_references_bitvec(target_merk, &target_key)
| ^^^^^^^^^^^ help: change this to: `target_key`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
= note: `#[warn(clippy::needless_borrow)]` on by default
|
the following explicit lifetimes could be elided: 'db, 'c:
grovedb/src/bidirectional_references.rs#L78
warning: the following explicit lifetimes could be elided: 'db, 'c
--> grovedb/src/bidirectional_references.rs:78:43
|
78 | fn remove_backward_reference_resolved<'db, 'c>(
| ^^^ ^^
79 | target_merk: &mut MerkHandle<'db, 'c>,
| ^^^ ^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
help: elide the lifetimes
|
78 ~ fn remove_backward_reference_resolved(
79 ~ target_merk: &mut MerkHandle<'_, '_>,
|
|
the following explicit lifetimes could be elided: 'c, 'db:
grovedb/src/bidirectional_references.rs#L44
warning: the following explicit lifetimes could be elided: 'c, 'db
--> grovedb/src/bidirectional_references.rs:44:34
|
44 | fn remove_backward_reference<'db, 'b, 'c, B: AsRef<[u8]>>(
| ^^^ ^^
45 | self,
46 | merk_cache: &'c MerkCache<'db, 'b, B>,
| ^^ ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
= note: `#[warn(clippy::needless_lifetimes)]` on by default
help: elide the lifetimes
|
44 ~ fn remove_backward_reference<'b, B: AsRef<[u8]>>(
45 | self,
46 ~ merk_cache: &MerkCache<'_, 'b, B>,
|
|
this function has too many arguments (8/7):
grovedb/src/batch/mod.rs#L2426
warning: this function has too many arguments (8/7)
--> grovedb/src/batch/mod.rs:2426:5
|
2426 | / pub fn apply_partial_batch_with_element_flags_update(
2427 | | &self,
2428 | | ops: Vec<QualifiedGroveDbOp>,
2429 | | batch_apply_options: Option<BatchApplyOptions>,
... |
2448 | | grove_version: &GroveVersion,
2449 | | ) -> CostResult<(), Error> {
| |______________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
grovedb/src/batch/mod.rs#L2055
warning: this function has too many arguments (8/7)
--> grovedb/src/batch/mod.rs:2055:5
|
2055 | / fn continue_partial_apply_body<'db, S: StorageContext<'db>>(
2056 | | &self,
2057 | | previous_leftover_operations: Option<OpsByLevelPath>,
2058 | | additional_ops: Vec<QualifiedGroveDbOp>,
... |
2074 | | grove_version: &GroveVersion,
2075 | | ) -> CostResult<Option<OpsByLevelPath>, Error> {
| |__________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (9/7):
grovedb/src/batch/mod.rs#L961
warning: this function has too many arguments (9/7)
--> grovedb/src/batch/mod.rs:961:5
|
961 | / fn process_reference_with_hop_count_greater_than_one<'a, G, SR>(
962 | | &'a mut self,
963 | | key: &[u8],
964 | | reference_path: &[Vec<u8>],
... |
970 | | grove_version: &GroveVersion,
971 | | ) -> CostResult<CryptoHash, Error>
| |______________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
grovedb/src/batch/mod.rs#L743
warning: this function has too many arguments (8/7)
--> grovedb/src/batch/mod.rs:743:5
|
743 | / fn process_reference<'a, G, SR>(
744 | | &'a mut self,
745 | | qualified_path: &[Vec<u8>],
746 | | ops_by_qualified_paths: &'a BTreeMap<Vec<Vec<u8>>, GroveOp>,
... |
751 | | grove_version: &GroveVersion,
752 | | ) -> CostResult<CryptoHash, Error>
| |______________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
grovedb/src/batch/mod.rs#L680
warning: this function has too many arguments (8/7)
--> grovedb/src/batch/mod.rs:680:5
|
680 | / fn execute_ops_on_path(
681 | | &mut self,
682 | | path: &KeyInfoPath,
683 | | ops_at_path_by_key: BTreeMap<KeyInfo, GroveOp>,
... |
688 | | grove_version: &GroveVersion,
689 | | ) -> CostResult<RootHashKeyAndAggregateData, Error>;
| |_______________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (9/7):
grovedb/src/batch/just_in_time_reference_update.rs#L29
warning: this function has too many arguments (9/7)
--> grovedb/src/batch/just_in_time_reference_update.rs:29:5
|
29 | / pub(crate) fn process_old_element_flags<G, SR>(
30 | | key: &[u8],
31 | | serialized: &[u8],
32 | | new_element: &mut Element,
... |
38 | | grove_version: &GroveVersion,
39 | | ) -> CostResult<CryptoHash, Error>
| |______________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
= note: `#[warn(clippy::too_many_arguments)]` on by default
|
field `visitor` is never read:
grovedb/src/util/visitor.rs#L33
warning: field `visitor` is never read
--> grovedb/src/util/visitor.rs:33:9
|
31 | pub(crate) struct WalkResult<V> {
| ---------- field in this struct
32 | pub short_circuited: bool,
33 | pub visitor: V,
| ^^^^^^^
|
variants `Execute`, `AverageCase`, and `WorstCase` are never constructed:
grovedb/src/batch/mode.rs#L18
warning: variants `Execute`, `AverageCase`, and `WorstCase` are never constructed
--> grovedb/src/batch/mode.rs:18:5
|
17 | pub enum BatchRunMode {
| ------------ variants in this enum
18 | Execute,
| ^^^^^^^
19 | #[cfg(feature = "estimated_costs")]
20 | AverageCase(HashMap<KeyInfoPath, EstimatedLayerInformation>),
| ^^^^^^^^^^^
21 | #[cfg(feature = "estimated_costs")]
22 | WorstCase(HashMap<KeyInfoPath, WorstCaseLayerInformation>),
| ^^^^^^^^^
|
= note: `BatchRunMode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
|
method `get_batch_run_mode` is never used:
grovedb/src/batch/mod.rs#L677
warning: method `get_batch_run_mode` is never used
--> grovedb/src/batch/mod.rs:677:8
|
674 | trait TreeCache<G, SR> {
| --------- method in this trait
...
677 | fn get_batch_run_mode(&self) -> BatchRunMode;
| ^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
|
this `else { if .. }` block can be collapsed:
grovedb/src/operations/insert/v1.rs#L142
warning: this `else { if .. }` block can be collapsed
--> grovedb/src/operations/insert/v1.rs:142:20
|
142 | } else {
| ____________________^
143 | | if options.propagate_backward_references {
144 | | let delta = cost_return_on_error!(
145 | | &mut cost,
... |
176 | | }
177 | | }
| |_____________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_else_if
= note: `#[warn(clippy::collapsible_else_if)]` on by default
help: collapse nested if block
|
142 ~ } else if options.propagate_backward_references {
143 + let delta = cost_return_on_error!(
144 + &mut cost,
145 + subtree_to_insert_into.for_merk(|m| element.insert_subtree_if_changed(
146 + m,
147 + key,
148 + NULL_HASH,
149 + Some(options.as_merk_options()),
150 + grove_version
151 + ))
152 + );
153 +
154 + cost_return_on_error!(
155 + &mut cost,
156 + process_update_element_with_backward_references(
157 + &cache,
158 + subtree_to_insert_into.clone(),
159 + path.derive_owned(),
160 + key,
161 + delta
162 + )
163 + );
164 + } else {
165 + cost_return_on_error!(
166 + &mut cost,
167 + subtree_to_insert_into.for_merk(|m| element.insert_subtree(
168 + m,
169 + key,
170 + NULL_HASH,
171 + Some(options.as_merk_options()),
172 + grove_version
173 + ))
174 + );
175 + }
|
|
constants have by default a `'static` lifetime:
grovedb/src/bidirectional_references.rs#L22
warning: constants have by default a `'static` lifetime
--> grovedb/src/bidirectional_references.rs:22:41
|
22 | const META_BACKWARD_REFERENCES_PREFIX: &'static [u8] = b"refs";
| -^^^^^^^----- help: consider removing `'static`: `&[u8]`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes
= note: `#[warn(clippy::redundant_static_lifetimes)]` on by default
|
unneeded sub `cfg` when there is only one condition:
grovedb/src/element/insert.rs#L648
warning: unneeded sub `cfg` when there is only one condition
--> grovedb/src/element/insert.rs:648:7
|
648 | #[cfg(all(feature = "minimal"))]
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "minimal"`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg
= note: `#[warn(clippy::non_minimal_cfg)]` on by default
|
this function has too many arguments (9/7):
merk/src/tree/mod.rs#L943
warning: this function has too many arguments (9/7)
--> merk/src/tree/mod.rs:943:5
|
943 | / pub fn put_value_with_reference_value_hash_and_value_cost(
944 | | mut self,
945 | | value: Vec<u8>,
946 | | value_hash: CryptoHash,
... |
969 | | >,
970 | | ) -> CostResult<Self, Error> {
| |________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
merk/src/tree/mod.rs#L885
warning: this function has too many arguments (8/7)
--> merk/src/tree/mod.rs:885:5
|
885 | / pub fn put_value_and_reference_value_hash(
886 | | mut self,
887 | | value: Vec<u8>,
888 | | value_hash: CryptoHash,
... |
910 | | >,
911 | | ) -> CostResult<Self, Error> {
| |________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
merk/src/tree/mod.rs#L829
warning: this function has too many arguments (8/7)
--> merk/src/tree/mod.rs:829:5
|
829 | / pub fn put_value_with_fixed_cost(
830 | | mut self,
831 | | value: Vec<u8>,
832 | | value_fixed_cost: u32,
... |
854 | | >,
855 | | ) -> CostResult<Self, Error> {
| |________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (9/7):
merk/src/tree/walk/mod.rs#L341
warning: this function has too many arguments (9/7)
--> merk/src/tree/walk/mod.rs:341:5
|
341 | / pub fn put_value_with_reference_value_hash_and_value_cost(
342 | | mut self,
343 | | value: Vec<u8>,
344 | | value_hash: CryptoHash,
... |
367 | | >,
368 | | ) -> CostResult<Self, Error> {
| |________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
merk/src/tree/walk/mod.rs#L295
warning: this function has too many arguments (8/7)
--> merk/src/tree/walk/mod.rs:295:5
|
295 | / pub fn put_value_and_reference_value_hash(
296 | | mut self,
297 | | value: Vec<u8>,
298 | | value_hash: CryptoHash,
... |
320 | | >,
321 | | ) -> CostResult<Self, Error> {
| |________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
merk/src/tree/walk/mod.rs#L249
warning: this function has too many arguments (8/7)
--> merk/src/tree/walk/mod.rs:249:5
|
249 | / pub fn put_value_with_fixed_cost(
250 | | mut self,
251 | | value: Vec<u8>,
252 | | value_fixed_cost: u32,
... |
274 | | >,
275 | | ) -> CostResult<Self, Error> {
| |________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (11/7):
merk/src/tree/ops.rs#L733
warning: this function has too many arguments (11/7)
--> merk/src/tree/ops.rs:733:5
|
733 | / fn recurse<K: AsRef<[u8]>, C, V, T, U, R>(
734 | | self,
735 | | batch: &MerkBatch<K>,
736 | | mid: usize,
... |
744 | | grove_version: &GroveVersion,
745 | | ) -> CostResult<(Option<Self>, KeyUpdates), Error>
| |______________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
merk/src/tree/ops.rs#L415
warning: this function has too many arguments (8/7)
--> merk/src/tree/ops.rs:415:5
|
415 | / fn apply_sorted<K: AsRef<[u8]>, C, V, T, U, R>(
416 | | self,
417 | | batch: &MerkBatch<K>,
418 | | old_specialized_cost: &C,
... |
423 | | grove_version: &GroveVersion,
424 | | ) -> CostResult<(Option<Self>, KeyUpdates), Error>
| |______________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (8/7):
merk/src/tree/ops.rs#L235
warning: this function has too many arguments (8/7)
--> merk/src/tree/ops.rs:235:5
|
235 | / fn build<K: AsRef<[u8]>, C, V, T, U, R>(
236 | | batch: &MerkBatch<K>,
237 | | source: S,
238 | | old_tree_cost: &C,
... |
243 | | grove_version: &GroveVersion,
244 | | ) -> CostResult<Option<TreeNode>, Error>
| |____________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (9/7):
merk/src/tree/ops.rs#L148
warning: this function has too many arguments (9/7)
--> merk/src/tree/ops.rs:148:5
|
148 | / pub fn apply_to<K: AsRef<[u8]>, C, V, T, U, R>(
149 | | maybe_tree: Option<Self>,
150 | | batch: &MerkBatch<K>,
151 | | source: S,
... |
157 | | grove_version: &GroveVersion,
158 | | ) -> CostContext<Result<(Option<TreeNode>, KeyUpdates), Error>>
| |___________________________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
module has the same name as its containing module:
merk/src/proofs/chunk.rs#L5
warning: module has the same name as its containing module
--> merk/src/proofs/chunk.rs:5:1
|
5 | pub mod chunk;
| ^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception
= note: `#[warn(clippy::module_inception)]` on by default
|
this function has too many arguments (8/7):
merk/src/merk/mod.rs#L694
warning: this function has too many arguments (8/7)
--> merk/src/merk/mod.rs:694:5
|
694 | / fn verify_link(
695 | | &self,
696 | | link: &Link,
697 | | parent_key: &[u8],
... |
702 | | grove_version: &GroveVersion,
703 | | ) {
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
very complex type used. Consider factoring parts into `type` definitions:
merk/src/merk/mod.rs#L634
warning: very complex type used. Consider factoring parts into `type` definitions
--> merk/src/merk/mod.rs:634:10
|
634 | ) -> (BTreeMap<Vec<u8>, CryptoHash>, BTreeMap<Vec<u8>, Vec<u8>>) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
|
this function has too many arguments (10/7):
merk/src/merk/apply.rs#L322
warning: this function has too many arguments (10/7)
--> merk/src/merk/apply.rs:322:5
|
322 | / pub fn apply_unchecked<KB, KA, C, V, T, U, R>(
323 | | &mut self,
324 | | batch: &MerkBatch<KB>,
325 | | aux: &AuxMerkBatch<KA>,
... |
332 | | grove_version: &GroveVersion,
333 | | ) -> CostResult<(), Error>
| |______________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
|
this function has too many arguments (10/7):
merk/src/merk/apply.rs#L206
warning: this function has too many arguments (10/7)
--> merk/src/merk/apply.rs:206:5
|
206 | / pub fn apply_with_costs_just_in_time_value_update<KB, KA>(
207 | | &mut self,
208 | | batch: &MerkBatch<KB>,
209 | | aux: &AuxMerkBatch<KA>,
... |
235 | | grove_version: &GroveVersion,
236 | | ) -> CostResult<(), Error>
| |______________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
= note: `#[warn(clippy::too_many_arguments)]` on by default
|
very complex type used. Consider factoring parts into `type` definitions:
merk/src/merk/chunks.rs#L393
warning: very complex type used. Consider factoring parts into `type` definitions
--> merk/src/merk/chunks.rs:393:10
|
393 | ) -> Option<Result<(Vec<Op>, Option<Vec<u8>>), Error>> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
|
very complex type used. Consider factoring parts into `type` definitions:
merk/src/merk/chunks.rs#L363
warning: very complex type used. Consider factoring parts into `type` definitions
--> merk/src/merk/chunks.rs:363:10
|
363 | ) -> Option<Result<(Vec<Op>, Option<Vec<u8>>), Error>> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
= note: `#[warn(clippy::type_complexity)]` on by default
|
method `apply_sorted_without_costs` is never used:
merk/src/tree/ops.rs#L390
warning: method `apply_sorted_without_costs` is never used
--> merk/src/tree/ops.rs:390:19
|
139 | / impl<S> Walker<S>
140 | | where
141 | | S: Fetch + Sized + Clone,
| |_____________________________- method in this implementation
...
390 | pub(crate) fn apply_sorted_without_costs<K: AsRef<[u8]>>(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
method `attempt_state_recovery` is never used:
merk/src/merk/restore.rs#L418
warning: method `attempt_state_recovery` is never used
--> merk/src/merk/restore.rs:418:8
|
68 | impl<'db, S: StorageContext<'db>> Restorer<S> {
| --------------------------------------------- method in this implementation
...
418 | fn attempt_state_recovery(&mut self, grove_version: &GroveVersion) -> Result<(), Error> {
| ^^^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
|
unexpected `cfg` condition name: `tests`:
merk/src/tree/fuzz_tests.rs#L3
warning: unexpected `cfg` condition name: `tests`
--> merk/src/tree/fuzz_tests.rs:3:8
|
3 | #![cfg(tests)]
| ^^^^^ help: there is a config with a similar name: `test`
|
= help: consider using a Cargo feature instead
= help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tests)'] }
= help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tests)");` to the top of the `build.rs`
= note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
= note: `#[warn(unexpected_cfgs)]` on by default
|
explicit call to `.into_iter()` in function argument accepting `IntoIterator`:
storage/src/storage.rs#L502
warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
--> storage/src/storage.rs:502:26
|
502 | ops.roots.extend(other_ops.roots.into_iter());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing the `.into_iter()`: `other_ops.roots`
|
note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
--> /rustc/e71f9a9a98b0faf423844bf0ba7438f29dc27d58/library/core/src/iter/traits/collect.rs:449:18
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
|
explicit call to `.into_iter()` in function argument accepting `IntoIterator`:
storage/src/storage.rs#L501
warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
--> storage/src/storage.rs:501:24
|
501 | ops.aux.extend(other_ops.aux.into_iter());
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing the `.into_iter()`: `other_ops.aux`
|
note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
--> /rustc/e71f9a9a98b0faf423844bf0ba7438f29dc27d58/library/core/src/iter/traits/collect.rs:449:18
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
|
explicit call to `.into_iter()` in function argument accepting `IntoIterator`:
storage/src/storage.rs#L500
warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
--> storage/src/storage.rs:500:25
|
500 | ops.meta.extend(other_ops.meta.into_iter());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing the `.into_iter()`: `other_ops.meta`
|
note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
--> /rustc/e71f9a9a98b0faf423844bf0ba7438f29dc27d58/library/core/src/iter/traits/collect.rs:449:18
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
|
explicit call to `.into_iter()` in function argument accepting `IntoIterator`:
storage/src/storage.rs#L499
warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator`
--> storage/src/storage.rs:499:25
|
499 | ops.data.extend(other_ops.data.into_iter());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing the `.into_iter()`: `other_ops.data`
|
note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()`
--> /rustc/e71f9a9a98b0faf423844bf0ba7438f29dc27d58/library/core/src/iter/traits/collect.rs:449:18
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
= note: `#[warn(clippy::useless_conversion)]` on by default
|