feat: bidirectional references and cleanup #393
clippy
2 errors, 79 warnings
Details
Results
Message level | Amount |
---|---|
Internal compiler error | 0 |
Error | 2 |
Warning | 79 |
Note | 0 |
Help | 0 |
Versions
- rustc 1.82.0 (f6e511eec 2024-10-15)
- cargo 1.82.0 (8f40fc59f 2024-08-21)
- clippy 0.1.82 (f6e511e 2024-10-15)
Annotations
Check failure on line 85 in node-grove/src/converter.rs
github-actions / clippy
non-exhaustive patterns: `grovedb::Element::BidirectionalReference(_, _, _, _)`, `grovedb::Element::ItemWithBackwardsReferences(_, _, _)` and `grovedb::Element::SumItemWithBackwardsReferences(_, _, _)` not covered
error[E0004]: non-exhaustive patterns: `grovedb::Element::BidirectionalReference(_, _, _, _)`, `grovedb::Element::ItemWithBackwardsReferences(_, _, _)` and `grovedb::Element::SumItemWithBackwardsReferences(_, _, _)` not covered
--> node-grove/src/converter.rs:85:43
|
85 | let js_value: Handle<JsValue> = match element {
| ^^^^^^^ patterns `grovedb::Element::BidirectionalReference(_, _, _, _)`, `grovedb::Element::ItemWithBackwardsReferences(_, _, _)` and `grovedb::Element::SumItemWithBackwardsReferences(_, _, _)` not covered
|
note: `grovedb::Element` defined here
--> /home/runner/work/grovedb/grovedb/grovedb/src/element/mod.rs:79:1
|
79 | pub enum Element {
| ^^^^^^^^^^^^^^^^
...
93 | BidirectionalReference(
| ---------------------- not covered
...
100 | ItemWithBackwardsReferences(
| --------------------------- not covered
...
107 | SumItemWithBackwardsReferences(
| ------------------------------ not covered
= note: the matched value is of type `grovedb::Element`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern, a match arm with multiple or-patterns as shown, or multiple match arms
|
94 ~ Element::SumTree(..) => nested_vecs_to_js(vec![], cx)?,
95 ~ grovedb::Element::BidirectionalReference(_, _, _, _) | grovedb::Element::ItemWithBackwardsReferences(_, _, _) | grovedb::Element::SumItemWithBackwardsReferences(_, _, _) => todo!(),
|
Check failure on line 35 in node-grove/src/converter.rs
github-actions / clippy
non-exhaustive patterns: `grovedb::Element::BidirectionalReference(_, _, _, _)`, `grovedb::Element::ItemWithBackwardsReferences(_, _, _)` and `grovedb::Element::SumItemWithBackwardsReferences(_, _, _)` not covered
error[E0004]: non-exhaustive patterns: `grovedb::Element::BidirectionalReference(_, _, _, _)`, `grovedb::Element::ItemWithBackwardsReferences(_, _, _)` and `grovedb::Element::SumItemWithBackwardsReferences(_, _, _)` not covered
--> node-grove/src/converter.rs:35:11
|
35 | match element {
| ^^^^^^^ patterns `grovedb::Element::BidirectionalReference(_, _, _, _)`, `grovedb::Element::ItemWithBackwardsReferences(_, _, _)` and `grovedb::Element::SumItemWithBackwardsReferences(_, _, _)` not covered
|
note: `grovedb::Element` defined here
--> /home/runner/work/grovedb/grovedb/grovedb/src/element/mod.rs:79:1
|
79 | pub enum Element {
| ^^^^^^^^^^^^^^^^
...
93 | BidirectionalReference(
| ---------------------- not covered
...
100 | ItemWithBackwardsReferences(
| --------------------------- not covered
...
107 | SumItemWithBackwardsReferences(
| ------------------------------ not covered
= note: the matched value is of type `grovedb::Element`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern, a match arm with multiple or-patterns as shown, or multiple match arms
|
40 ~ Element::SumTree(..) => "sum_tree".to_string(),
41 ~ grovedb::Element::BidirectionalReference(_, _, _, _) | grovedb::Element::ItemWithBackwardsReferences(_, _, _) | grovedb::Element::SumItemWithBackwardsReferences(_, _, _) => todo!(),
|
Check warning on line 791 in grovedb/src/lib.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> grovedb/src/lib.rs:782:5
|
782 | / fn verify_merk_and_submerks_in_transaction<'db, B: AsRef<[u8]>, S: StorageContext<'db>>(
783 | | &'db self,
784 | | merk: Merk<S>,
785 | | path: &SubtreePath<B>,
... |
790 | | grove_version: &GroveVersion,
791 | | ) -> Result<HashMap<Vec<Vec<u8>>, (CryptoHash, CryptoHash, CryptoHash)>, Error> {
| |___________________________________________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
Check warning on line 791 in grovedb/src/lib.rs
github-actions / clippy
very complex type used. Consider factoring parts into `type` definitions
warning: very complex type used. Consider factoring parts into `type` definitions
--> grovedb/src/lib.rs:791:10
|
791 | ) -> Result<HashMap<Vec<Vec<u8>>, (CryptoHash, CryptoHash, CryptoHash)>, Error> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
Check warning on line 767 in grovedb/src/lib.rs
github-actions / clippy
very complex type used. Consider factoring parts into `type` definitions
warning: very complex type used. Consider factoring parts into `type` definitions
--> grovedb/src/lib.rs:767:10
|
767 | ) -> Result<HashMap<Vec<Vec<u8>>, (CryptoHash, CryptoHash, CryptoHash)>, 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
Check warning on line 370 in grovedb/src/operations/proof/verify.rs
github-actions / clippy
called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()`
warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()`
--> grovedb/src/operations/proof/verify.rs:370:25
|
370 | limit_left.as_mut().map(|limit| *limit -= 1);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
| |
| help: try: `if let Some(limit) = limit_left.as_mut() { ... }`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn
Check warning on line 293 in grovedb/src/operations/proof/verify.rs
github-actions / clippy
called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()`
warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()`
--> grovedb/src/operations/proof/verify.rs:293:17
|
293 | limit_left.as_mut().map(|limit| *limit -= 1);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
| |
| help: try: `if let Some(limit) = limit_left.as_mut() { ... }`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn
= note: `#[warn(clippy::option_map_unit_fn)]` on by default
Check warning on line 238 in grovedb/src/operations/proof/verify.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/proof/verify.rs:229:5
|
229 | / fn verify_layer_proof<T>(
230 | | layer_proof: &LayerProof,
231 | | prove_options: &ProveOptions,
232 | | query: &PathQuery,
... |
237 | | grove_version: &GroveVersion,
238 | | ) -> Result<CryptoHash, Error>
| |__________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
Check warning on line 218 in grovedb/src/operations/proof/generate.rs
github-actions / clippy
this expression creates a reference which is immediately dereferenced by the compiler
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> grovedb/src/operations/proof/generate.rs:218:74
|
218 | 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
Check warning on line 162 in grovedb/src/operations/insert/mod.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/insert/mod.rs:153:5
|
153 | / fn add_element_on_transaction<'db, B: AsRef<[u8]>>(
154 | | &'db self,
155 | | path: SubtreePath<B>,
156 | | key: &[u8],
... |
161 | | grove_version: &GroveVersion,
162 | | ) -> CostResult<Merk<PrefixedRocksDbTransactionContext<'db>>, Error> {
| |________________________________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
Check warning on line 106 in grovedb/src/operations/insert/mod.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/insert/mod.rs:97:5
|
97 | / fn insert_on_transaction<'db, 'b, B: AsRef<[u8]>>(
98 | | &self,
99 | | path: SubtreePath<'b, B>,
100 | | key: &[u8],
... |
105 | | grove_version: &GroveVersion,
106 | | ) -> CostResult<(), Error> {
| |______________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
Check warning on line 574 in grovedb/src/operations/get/query.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/get/query.rs:565:5
|
565 | / pub fn query_raw(
566 | | &self,
567 | | path_query: &PathQuery,
568 | | allow_cache: bool,
... |
573 | | grove_version: &GroveVersion,
574 | | ) -> CostResult<(QueryResultElements, u16), Error> {
| |______________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
Check warning on line 246 in grovedb/src/operations/get/query.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/get/query.rs:237:5
|
237 | / pub fn query(
238 | | &self,
239 | | path_query: &PathQuery,
240 | | allow_cache: bool,
... |
245 | | grove_version: &GroveVersion,
246 | | ) -> CostResult<(QueryResultElements, u16), Error> {
| |______________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
Check warning on line 124 in grovedb/src/operations/get/query.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/get/query.rs:115:5
|
115 | / pub fn query_many_raw(
116 | | &self,
117 | | path_queries: &[&PathQuery],
118 | | allow_cache: bool,
... |
123 | | grove_version: &GroveVersion,
124 | | ) -> CostResult<QueryResultElements, Error>
| |_______________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
Check warning on line 597 in grovedb/src/operations/delete/mod.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/delete/mod.rs:581:5
|
581 | / fn delete_internal<B: AsRef<[u8]>>(
582 | | &self,
583 | | path: SubtreePath<B>,
584 | | key: &[u8],
... |
596 | | grove_version: &GroveVersion,
597 | | ) -> CostResult<bool, Error> {
| |________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
Check warning on line 457 in grovedb/src/operations/delete/mod.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/delete/mod.rs:448:5
|
448 | / pub fn delete_operation_for_delete_internal<B: AsRef<[u8]>>(
449 | | &self,
450 | | path: SubtreePath<B>,
451 | | key: &[u8],
... |
456 | | grove_version: &GroveVersion,
457 | | ) -> CostResult<Option<QualifiedGroveDbOp>, Error> {
| |______________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
Check warning on line 130 in grovedb/src/operations/delete/worst_case.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/delete/worst_case.rs:121:5
|
121 | / pub fn worst_case_delete_operation_for_delete<'db, S: Storage<'db>>(
122 | | path: &KeyInfoPath,
123 | | key: &KeyInfo,
124 | | parent_tree_is_sum_tree: bool,
... |
129 | | grove_version: &GroveVersion,
130 | | ) -> CostResult<QualifiedGroveDbOp, Error> {
| |______________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
Check warning on line 208 in grovedb/src/operations/delete/delete_up_tree.rs
github-actions / clippy
this function has too many arguments (8/7)
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
Check warning on line 176 in grovedb/src/operations/delete/delete_up_tree.rs
github-actions / clippy
this function has too many arguments (8/7)
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
Check warning on line 148 in grovedb/src/operations/delete/average_case.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> grovedb/src/operations/delete/average_case.rs:139:5
|
139 | / pub fn average_case_delete_operation_for_delete<'db, S: Storage<'db>>(
140 | | path: &KeyInfoPath,
141 | | key: &KeyInfo,
142 | | parent_tree_is_sum_tree: bool,
... |
147 | | grove_version: &GroveVersion,
148 | | ) -> CostResult<QualifiedGroveDbOp, Error> {
| |______________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
Check warning on line 134 in grovedb/src/merk_cache.rs
github-actions / clippy
this expression creates a reference which is immediately dereferenced by the compiler
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> grovedb/src/merk_cache.rs:134:9
|
134 | &self.0
| ^^^^^^^ help: change this to: `self.0`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
Check warning on line 119 in grovedb/src/merk_cache.rs
github-actions / clippy
call to `std::mem::forget` with a value that does not implement `Drop`. Forgetting such a type is the same as dropping it
warning: call to `std::mem::forget` with a value that does not implement `Drop`. Forgetting such a type is the same as dropping it
--> grovedb/src/merk_cache.rs:119:9
|
119 | mem::forget(result_uninit);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: argument has type `[std::mem::MaybeUninit<merk_cache::MerkHandle<'_, '_>>; N]`
--> grovedb/src/merk_cache.rs:119:21
|
119 | mem::forget(result_uninit);
| ^^^^^^^^^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#forget_non_drop
= note: `#[warn(clippy::forget_non_drop)]` on by default
Check warning on line 727 in grovedb/src/element/query.rs
github-actions / clippy
this function has too many arguments (12/7)
warning: this function has too many arguments (12/7)
--> grovedb/src/element/query.rs:714:5
|
714 | / fn query_item(
715 | | storage: &RocksDbStorage,
716 | | item: &QueryItem,
717 | | results: &mut Vec<QueryResultElement>,
... |
726 | | grove_version: &GroveVersion,
727 | | ) -> CostResult<(), Error> {
| |______________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
Check warning on line 313 in grovedb/src/element/query.rs
github-actions / clippy
this function has too many arguments (8/7)
warning: this function has too many arguments (8/7)
--> grovedb/src/element/query.rs:304:5
|
304 | / pub fn get_query_apply_function(
305 | | storage: &RocksDbStorage,
306 | | path: &[&[u8]],
307 | | sized_query: &SizedQuery,
... |
312 | | grove_version: &GroveVersion,
313 | | ) -> CostResult<(QueryResultElements, u16), Error> {
| |______________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
Check warning on line 342 in grovedb/src/element/helpers.rs
github-actions / clippy
this `let...else` may be rewritten with the `?` operator
warning: this `let...else` may be rewritten with the `?` operator
--> grovedb/src/element/helpers.rs:340:9
|
340 | / let Some(value_cost) = self.get_specialized_cost(grove_version).ok() else {
341 | | return None;
342 | | };
| |__________^ help: replace it with: `let value_cost = self.get_specialized_cost(grove_version).ok()?;`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark
= note: `#[warn(clippy::question_mark)]` on by default