Devops #11
docker.yaml
on: pull_request
Build docker image
2m 31s
Annotations
40 warnings
unneeded `return` statement:
crates/flow-server/src/flow_logs.rs#L167
warning: unneeded `return` statement
--> crates/flow-server/src/flow_logs.rs:167:21
|
167 | None => return,
| ^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
= note: `#[warn(clippy::needless_return)]` on by default
help: replace `return` with a unit value
|
167 | None => (),
| ~~
|
called `.as_ref().map(|s| s.as_str())` on an `Option` value:
crates/flow-server/src/db_worker/mod.rs#L255
warning: called `.as_ref().map(|s| s.as_str())` on an `Option` value
--> crates/flow-server/src/db_worker/mod.rs:255:17
|
255 | / msg.filter
256 | | .as_ref()
257 | | .map(|s| s.as_str())
| |________________________________________^ help: consider using as_deref: `msg.filter.as_deref()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_as_ref_deref
= note: `#[warn(clippy::option_as_ref_deref)]` on by default
|
unneeded `return` statement:
crates/flow-server/src/flow_logs.rs#L167
warning: unneeded `return` statement
--> crates/flow-server/src/flow_logs.rs:167:21
|
167 | None => return,
| ^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
= note: `#[warn(clippy::needless_return)]` on by default
help: replace `return` with a unit value
|
167 | None => (),
| ~~
|
called `.as_ref().map(|s| s.as_str())` on an `Option` value:
crates/flow-server/src/db_worker/mod.rs#L255
warning: called `.as_ref().map(|s| s.as_str())` on an `Option` value
--> crates/flow-server/src/db_worker/mod.rs:255:17
|
255 | / msg.filter
256 | | .as_ref()
257 | | .map(|s| s.as_str())
| |________________________________________^ help: consider using as_deref: `msg.filter.as_deref()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_as_ref_deref
= note: `#[warn(clippy::option_as_ref_deref)]` on by default
|
this expression creates a reference which is immediately dereferenced by the compiler:
crates/flow/src/flow_graph.rs#L1159
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> crates/flow/src/flow_graph.rs:1159:53
|
1159 | n.command.input_is_required(&input_name).unwrap_or(true);
| ^^^^^^^^^^^ help: change this to: `input_name`
|
= 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:
crates/flow/src/flow_graph.rs#L648
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> crates/flow/src/flow_graph.rs:648:43
|
648 | tracker = tracker.zip(&edge_tracker);
| ^^^^^^^^^^^^^ help: change this to: `edge_tracker`
|
= 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
|
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`:
crates/flow/src/flow_graph.rs#L642
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
--> crates/flow/src/flow_graph.rs:642:13
|
642 | / match w.values.front() {
643 | | Some(EdgeValue {
644 | | value: Some(value),
645 | | tracker: edge_tracker,
... |
654 | | _ => {}
655 | | }
| |_____________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
= note: `#[warn(clippy::single_match)]` on by default
help: try
|
642 ~ if let Some(EdgeValue {
643 + value: Some(value),
644 + tracker: edge_tracker,
645 + }) = w.values.front() {
646 + let is_from_array = edge_tracker.is_array();
647 + tracker = tracker.zip(&edge_tracker);
648 + values.insert(w.to.clone(), value.clone());
649 + if is_from_array {
650 + w.values.pop_front();
651 + }
652 + }
|
|
this `else` branch is empty:
crates/flow/src/flow_graph.rs#L1608
warning: this `else` branch is empty
--> crates/flow/src/flow_graph.rs:1608:15
|
1608 | } else {
| _______________^
1609 | | }
| |_____________^ help: you can remove it
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_else
= note: `#[warn(clippy::needless_else)]` on by default
|
this `else { if .. }` block can be collapsed:
crates/flow/src/flow_graph.rs#L1603
warning: this `else { if .. }` block can be collapsed
--> crates/flow/src/flow_graph.rs:1603:16
|
1603 | } else {
| ________________^
1604 | | if e.weight().is_required_input {
1605 | | let source_finished = finished_recursive(f, s, e.source(), visited);
1606 | | all_sources_not_finished &= !source_finished;
... |
1609 | | }
1610 | | }
| |_________^
|
= 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
|
1603 ~ } else if e.weight().is_required_input {
1604 + let source_finished = finished_recursive(f, s, e.source(), visited);
1605 + all_sources_not_finished &= !source_finished;
1606 + filled = false;
1607 + } else {
1608 + }
|
|
direct implementation of `ToString`:
crates/db/src/config.rs#L18
warning: direct implementation of `ToString`
--> crates/db/src/config.rs:18:1
|
18 | / impl ToString for DbConfig {
19 | | fn to_string(&self) -> String {
20 | | format!(
21 | | "host={} port={} user={} password={} dbname={}",
... |
24 | | }
25 | | }
| |_^
|
= help: prefer implementing `Display` instead
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_trait_impl
= note: `#[warn(clippy::to_string_trait_impl)]` on by default
|
direct implementation of `ToString`:
crates/db/src/config.rs#L18
warning: direct implementation of `ToString`
--> crates/db/src/config.rs:18:1
|
18 | / impl ToString for DbConfig {
19 | | fn to_string(&self) -> String {
20 | | format!(
21 | | "host={} port={} user={} password={} dbname={}",
... |
24 | | }
25 | | }
| |_^
|
= help: prefer implementing `Display` instead
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_trait_impl
= note: `#[warn(clippy::to_string_trait_impl)]` on by default
|
module has the same name as its containing module:
crates/cmds-std/src/supabase/mod.rs#L1
warning: module has the same name as its containing module
--> crates/cmds-std/src/supabase/mod.rs:1:1
|
1 | pub mod supabase;
| ^^^^^^^^^^^^^^^^^
|
= 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
|
module has the same name as its containing module:
crates/cmds-std/src/supabase/mod.rs#L1
warning: module has the same name as its containing module
--> crates/cmds-std/src/supabase/mod.rs:1:1
|
1 | pub mod supabase;
| ^^^^^^^^^^^^^^^^^
|
= 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 expression creates a reference which is immediately dereferenced by the compiler:
crates/flow/src/flow_graph.rs#L1159
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> crates/flow/src/flow_graph.rs:1159:53
|
1159 | n.command.input_is_required(&input_name).unwrap_or(true);
| ^^^^^^^^^^^ help: change this to: `input_name`
|
= 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:
crates/flow/src/flow_graph.rs#L648
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> crates/flow/src/flow_graph.rs:648:43
|
648 | tracker = tracker.zip(&edge_tracker);
| ^^^^^^^^^^^^^ help: change this to: `edge_tracker`
|
= 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
|
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`:
crates/flow/src/flow_graph.rs#L642
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
--> crates/flow/src/flow_graph.rs:642:13
|
642 | / match w.values.front() {
643 | | Some(EdgeValue {
644 | | value: Some(value),
645 | | tracker: edge_tracker,
... |
654 | | _ => {}
655 | | }
| |_____________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
= note: `#[warn(clippy::single_match)]` on by default
help: try
|
642 ~ if let Some(EdgeValue {
643 + value: Some(value),
644 + tracker: edge_tracker,
645 + }) = w.values.front() {
646 + let is_from_array = edge_tracker.is_array();
647 + tracker = tracker.zip(&edge_tracker);
648 + values.insert(w.to.clone(), value.clone());
649 + if is_from_array {
650 + w.values.pop_front();
651 + }
652 + }
|
|
this `else` branch is empty:
crates/flow/src/flow_graph.rs#L1608
warning: this `else` branch is empty
--> crates/flow/src/flow_graph.rs:1608:15
|
1608 | } else {
| _______________^
1609 | | }
| |_____________^ help: you can remove it
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_else
= note: `#[warn(clippy::needless_else)]` on by default
|
this `else { if .. }` block can be collapsed:
crates/flow/src/flow_graph.rs#L1603
warning: this `else { if .. }` block can be collapsed
--> crates/flow/src/flow_graph.rs:1603:16
|
1603 | } else {
| ________________^
1604 | | if e.weight().is_required_input {
1605 | | let source_finished = finished_recursive(f, s, e.source(), visited);
1606 | | all_sources_not_finished &= !source_finished;
... |
1609 | | }
1610 | | }
| |_________^
|
= 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
|
1603 ~ } else if e.weight().is_required_input {
1604 + let source_finished = finished_recursive(f, s, e.source(), visited);
1605 + all_sources_not_finished &= !source_finished;
1606 + filled = false;
1607 + } else {
1608 + }
|
|
this expression creates a reference which is immediately dereferenced by the compiler:
lib/flow-lib/src/solana.rs#L776
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> lib/flow-lib/src/solana.rs:776:13
|
776 | &tx.get_recent_blockhash(),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `tx.get_recent_blockhash()`
|
= 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
|
this expression creates a reference which is immediately dereferenced by the compiler:
lib/flow-lib/src/solana.rs#L776
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> lib/flow-lib/src/solana.rs:776:13
|
776 | &tx.get_recent_blockhash(),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `tx.get_recent_blockhash()`
|
= 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
|
you seem to be trying to use `match` for an equality check. Consider using `if`:
crates/pdg-common/src/nft_metadata/generate.rs#L453
warning: you seem to be trying to use `match` for an equality check. Consider using `if`
--> crates/pdg-common/src/nft_metadata/generate.rs:453:9
|
453 | / match self.fx0 {
454 | | Fx0::Wood => {
455 | | self.wood_variation = Some(WoodVariation::choose(rng));
456 | | }
457 | | _ => {}
458 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
help: try
|
453 ~ if self.fx0 == Fx0::Wood {
454 + self.wood_variation = Some(WoodVariation::choose(rng));
455 + }
|
|
you seem to be trying to use `match` for an equality check. Consider using `if`:
crates/pdg-common/src/nft_metadata/generate.rs#L443
warning: you seem to be trying to use `match` for an equality check. Consider using `if`
--> crates/pdg-common/src/nft_metadata/generate.rs:443:9
|
443 | / match self.fx0 {
444 | | Fx0::Marble => {
445 | | self.marble_variation = Some(MarbleVariation::choose(rng));
446 | | }
447 | | _ => {}
448 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
help: try
|
443 ~ if self.fx0 == Fx0::Marble {
444 + self.marble_variation = Some(MarbleVariation::choose(rng));
445 + }
|
|
you seem to be trying to use `match` for an equality check. Consider using `if`:
crates/pdg-common/src/nft_metadata/generate.rs#L433
warning: you seem to be trying to use `match` for an equality check. Consider using `if`
--> crates/pdg-common/src/nft_metadata/generate.rs:433:9
|
433 | / match self.fx0 {
434 | | Fx0::No => {
435 | | self.body_material_variation = Some(BodyMaterialVariations::choose(rng));
436 | | }
437 | | _ => {}
438 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
help: try
|
433 ~ if self.fx0 == Fx0::No {
434 + self.body_material_variation = Some(BodyMaterialVariations::choose(rng));
435 + }
|
|
you seem to be trying to use `match` for an equality check. Consider using `if`:
crates/pdg-common/src/nft_metadata/generate.rs#L386
warning: you seem to be trying to use `match` for an equality check. Consider using `if`
--> crates/pdg-common/src/nft_metadata/generate.rs:386:9
|
386 | / match self.fx2 {
387 | | Fx2::Underwater => {
388 | | let jellyfish = FxJellyfish::choose(rng);
389 | | self.fx_jellifish = jellyfish;
... |
401 | | _ => {}
402 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
= note: `#[warn(clippy::single_match)]` on by default
help: try
|
386 ~ if self.fx2 == Fx2::Underwater {
387 + let jellyfish = FxJellyfish::choose(rng);
388 + self.fx_jellifish = jellyfish;
389 +
390 + self.underwater_fog_amount = rng.gen::<f64>() * 30.0;
391 + self.background_underwater_color_hue = 38.8;
392 +
393 + let env_light = if self.fx0 == Fx0::Hologram {
394 + EnvLight::UnderwaterHologram
395 + } else {
396 + EnvLight::Underwater
397 + };
398 + self.env_light = env_light;
399 + }
|
|
you seem to be trying to use `match` for an equality check. Consider using `if`:
crates/pdg-common/src/nft_metadata/generate.rs#L453
warning: you seem to be trying to use `match` for an equality check. Consider using `if`
--> crates/pdg-common/src/nft_metadata/generate.rs:453:9
|
453 | / match self.fx0 {
454 | | Fx0::Wood => {
455 | | self.wood_variation = Some(WoodVariation::choose(rng));
456 | | }
457 | | _ => {}
458 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
help: try
|
453 ~ if self.fx0 == Fx0::Wood {
454 + self.wood_variation = Some(WoodVariation::choose(rng));
455 + }
|
|
you seem to be trying to use `match` for an equality check. Consider using `if`:
crates/pdg-common/src/nft_metadata/generate.rs#L443
warning: you seem to be trying to use `match` for an equality check. Consider using `if`
--> crates/pdg-common/src/nft_metadata/generate.rs:443:9
|
443 | / match self.fx0 {
444 | | Fx0::Marble => {
445 | | self.marble_variation = Some(MarbleVariation::choose(rng));
446 | | }
447 | | _ => {}
448 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
help: try
|
443 ~ if self.fx0 == Fx0::Marble {
444 + self.marble_variation = Some(MarbleVariation::choose(rng));
445 + }
|
|
you seem to be trying to use `match` for an equality check. Consider using `if`:
crates/pdg-common/src/nft_metadata/generate.rs#L433
warning: you seem to be trying to use `match` for an equality check. Consider using `if`
--> crates/pdg-common/src/nft_metadata/generate.rs:433:9
|
433 | / match self.fx0 {
434 | | Fx0::No => {
435 | | self.body_material_variation = Some(BodyMaterialVariations::choose(rng));
436 | | }
437 | | _ => {}
438 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
help: try
|
433 ~ if self.fx0 == Fx0::No {
434 + self.body_material_variation = Some(BodyMaterialVariations::choose(rng));
435 + }
|
|
you seem to be trying to use `match` for an equality check. Consider using `if`:
crates/pdg-common/src/nft_metadata/generate.rs#L386
warning: you seem to be trying to use `match` for an equality check. Consider using `if`
--> crates/pdg-common/src/nft_metadata/generate.rs:386:9
|
386 | / match self.fx2 {
387 | | Fx2::Underwater => {
388 | | let jellyfish = FxJellyfish::choose(rng);
389 | | self.fx_jellifish = jellyfish;
... |
401 | | _ => {}
402 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
= note: `#[warn(clippy::single_match)]` on by default
help: try
|
386 ~ if self.fx2 == Fx2::Underwater {
387 + let jellyfish = FxJellyfish::choose(rng);
388 + self.fx_jellifish = jellyfish;
389 +
390 + self.underwater_fog_amount = rng.gen::<f64>() * 30.0;
391 + self.background_underwater_color_hue = 38.8;
392 +
393 + let env_light = if self.fx0 == Fx0::Hologram {
394 + EnvLight::UnderwaterHologram
395 + } else {
396 + EnvLight::Underwater
397 + };
398 + self.env_light = env_light;
399 + }
|
|
this `impl` can be derived:
crates/srpc/src/lib.rs#L77
warning: this `impl` can be derived
--> crates/srpc/src/lib.rs:77:1
|
77 | / impl Default for Service {
78 | | fn default() -> Self {
79 | | Self {
80 | | svc: None,
... |
83 | | }
84 | | }
| |_^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls
= note: `#[warn(clippy::derivable_impls)]` on by default
= help: remove the manual implementation...
help: ...and instead derive it
|
72 + #[derive(Default)]
73 | struct Service {
|
|
use of `default` to create a unit struct:
crates/srpc/src/lib.rs#L47
warning: use of `default` to create a unit struct
--> crates/srpc/src/lib.rs:47:25
|
47 | _phantom: <_>::default(),
| ^^^^^^^^^^^^ help: remove this call to `default`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_constructed_unit_structs
= note: `#[warn(clippy::default_constructed_unit_structs)]` on by default
|
this `impl` can be derived:
crates/srpc/src/lib.rs#L77
warning: this `impl` can be derived
--> crates/srpc/src/lib.rs:77:1
|
77 | / impl Default for Service {
78 | | fn default() -> Self {
79 | | Self {
80 | | svc: None,
... |
83 | | }
84 | | }
| |_^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls
= note: `#[warn(clippy::derivable_impls)]` on by default
= help: remove the manual implementation...
help: ...and instead derive it
|
72 + #[derive(Default)]
73 | struct Service {
|
|
use of `default` to create a unit struct:
crates/srpc/src/lib.rs#L47
warning: use of `default` to create a unit struct
--> crates/srpc/src/lib.rs:47:25
|
47 | _phantom: <_>::default(),
| ^^^^^^^^^^^^ help: remove this call to `default`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#default_constructed_unit_structs
= note: `#[warn(clippy::default_constructed_unit_structs)]` on by default
|
this returns a `Result<_, ()>`:
crates/utils/src/address_book.rs#L64
warning: this returns a `Result<_, ()>`
--> crates/utils/src/address_book.rs:64:5
|
64 | / pub fn try_start_with_context<A, F>(
65 | | &mut self,
66 | | id: A::ID,
67 | | make_actor: F,
68 | | rt: ArbiterHandle,
69 | | ) -> Result<actix::Addr<A>, ()>
| |___________________________________^
|
= help: use a custom `Error` type instead
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_unit_err
= note: `#[warn(clippy::result_unit_err)]` on by default
|
bound is defined in more than one place:
lib/flow-value/src/ser/seq.rs#L252
warning: bound is defined in more than one place
--> lib/flow-value/src/ser/seq.rs:252:34
|
252 | fn serialize_newtype_variant<T: ?Sized>(
| ^
...
260 | T: serde::Serialize,
| ^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
|
bound is defined in more than one place:
lib/flow-value/src/ser/seq.rs#L241
warning: bound is defined in more than one place
--> lib/flow-value/src/ser/seq.rs:241:33
|
241 | fn serialize_newtype_struct<T: ?Sized>(
| ^
...
247 | T: serde::Serialize,
| ^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
|
bound is defined in more than one place:
lib/flow-value/src/ser/seq.rs#L217
warning: bound is defined in more than one place
--> lib/flow-value/src/ser/seq.rs:217:23
|
217 | fn serialize_some<T: ?Sized>(self, _value: &T) -> Result<Self::Ok, Self::Error>
| ^
218 | where
219 | T: serde::Serialize,
| ^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
= note: `#[warn(clippy::multiple_bound_locations)]` on by default
|
this returns a `Result<_, ()>`:
crates/utils/src/address_book.rs#L64
warning: this returns a `Result<_, ()>`
--> crates/utils/src/address_book.rs:64:5
|
64 | / pub fn try_start_with_context<A, F>(
65 | | &mut self,
66 | | id: A::ID,
67 | | make_actor: F,
68 | | rt: ArbiterHandle,
69 | | ) -> Result<actix::Addr<A>, ()>
| |___________________________________^
|
= help: use a custom `Error` type instead
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_unit_err
= note: `#[warn(clippy::result_unit_err)]` on by default
|
bound is defined in more than one place:
lib/flow-value/src/ser/seq.rs#L252
warning: bound is defined in more than one place
--> lib/flow-value/src/ser/seq.rs:252:34
|
252 | fn serialize_newtype_variant<T: ?Sized>(
| ^
...
260 | T: serde::Serialize,
| ^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
|
bound is defined in more than one place:
lib/flow-value/src/ser/seq.rs#L241
warning: bound is defined in more than one place
--> lib/flow-value/src/ser/seq.rs:241:33
|
241 | fn serialize_newtype_struct<T: ?Sized>(
| ^
...
247 | T: serde::Serialize,
| ^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
|
bound is defined in more than one place:
lib/flow-value/src/ser/seq.rs#L217
warning: bound is defined in more than one place
--> lib/flow-value/src/ser/seq.rs:217:23
|
217 | fn serialize_some<T: ?Sized>(self, _value: &T) -> Result<Self::Ok, Self::Error>
| ^
218 | where
219 | T: serde::Serialize,
| ^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
= note: `#[warn(clippy::multiple_bound_locations)]` on by default
|