testing: create cln from btc node #535
Annotations
77 warnings
returning the result of a `let` binding from a block:
tests/src/lib.rs#L47
warning: returning the result of a `let` binding from a block
--> tests/src/lib.rs:47:9
|
46 | let cln = async_run!(cln::Node::with_params("--developer", "regtest")).unwrap();
| -------------------------------------------------------------------------------- unnecessary `let` binding
47 | cln
| ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
help: return the expression directly
|
46 ~
47 ~ async_run!(cln::Node::with_params("--developer", "regtest")).unwrap()
|
|
returning the result of a `let` binding from a block:
tests/src/lib.rs#L40
warning: returning the result of a `let` binding from a block
--> tests/src/lib.rs:40:9
|
39 | ... let cln = async_run!(cln::Node::with_params(&format!("--developer --plugin={pwd}/target/debug/examples/foo_plugin --plugin={pwd}/target/debug/examples/macros_ex"), "regtest")).unwrap();
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- unnecessary `let` binding
40 | ... cln
| ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
= note: `#[warn(clippy::let_and_return)]` on by default
help: return the expression directly
|
39 ~
40 ~ async_run!(cln::Node::with_params(&format!("--developer --plugin={pwd}/target/debug/examples/foo_plugin --plugin={pwd}/target/debug/examples/macros_ex"), "regtest")).unwrap()
|
|
usage of an `Arc` that is not `Send` and `Sync`:
testing/src/cln.rs#L85
warning: usage of an `Arc` that is not `Send` and `Sync`
--> testing/src/cln.rs:85:19
|
85 | let btc = Arc::new(btc);
| ^^^^^^^^^^^^^
|
= note: `Arc<BtcNode>` is not `Send` and `Sync` as:
= note: - the trait `Sync` is not implemented for `BtcNode`
= help: consider using an `Rc` instead. `Arc` does not provide benefits for non `Send` and `Sync` types
= note: if you intend to use `Arc` with `Send` and `Sync` traits
= note: wrap the inner type with a `Mutex` or implement `Send` and `Sync` for `BtcNode`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync
= note: `#[warn(clippy::arc_with_non_send_sync)]` on by default
|
this `RefCell` reference is held across an `await` point:
testing/src/btc.rs#L105
warning: this `RefCell` reference is held across an `await` point
--> testing/src/btc.rs:105:24
|
105 | for process in self.process.borrow_mut().iter_mut() {
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: ensure the reference is dropped before calling `await`
note: these are all the `await` points this reference is held through
--> testing/src/btc.rs:106:28
|
106 | process.kill().await?;
| ^^^^^
107 | let _ = process.wait().await?;
| ^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_refcell_ref
= note: `#[warn(clippy::await_holding_refcell_ref)]` on by default
|
`crate` references the macro call's crate:
testing/src/lib.rs#L32
warning: `crate` references the macro call's crate
--> testing/src/lib.rs:32:17
|
32 | use crate::DEFAULT_TIMEOUT;
| ^^^^^ help: to reference the macro definition's crate, use: `$crate`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def
= note: `#[warn(clippy::crate_in_macro_def)]` on by default
|
redundant pattern matching, consider using `is_ok()`:
plugin/src/plugin.rs#L274
warning: redundant pattern matching, consider using `is_ok()`
--> plugin/src/plugin.rs:274:19
|
274 | while let Ok(_) = reader.read_line(&mut buffer) {
| ----------^^^^^-------------------------------- help: try: `while reader.read_line(&mut buffer).is_ok()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching
= note: `#[warn(clippy::redundant_pattern_matching)]` on by default
|
using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`:
plugin/src/plugin.rs#L145
warning: using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`
--> plugin/src/plugin.rs:145:25
|
145 | "string" => def_val.and_then(|val| Some(serde_json::json!(val))),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `def_val.map(|val| serde_json::json!(val))`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map
|
using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`:
plugin/src/plugin.rs#L144
warning: using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`
--> plugin/src/plugin.rs:144:22
|
144 | "int" => def_val.and_then(|val| Some(serde_json::json!(val.parse::<i64>().unwrap()))),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `def_val.map(|val| serde_json::json!(val.parse::<i64>().unwrap()))`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map
|
using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`:
plugin/src/plugin.rs#L142
warning: using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`
--> plugin/src/plugin.rs:142:17
|
142 | def_val.and_then(|val| Some(serde_json::json!(val.parse::<bool>().unwrap())))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `def_val.map(|val| serde_json::json!(val.parse::<bool>().unwrap()))`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map
= note: `#[warn(clippy::bind_instead_of_map)]` on by default
|
very complex type used. Consider factoring parts into `type` definitions:
plugin/src/plugin.rs#L53
warning: very complex type used. Consider factoring parts into `type` definitions
--> plugin/src/plugin.rs:53:14
|
53 | on_init: Option<Arc<dyn Fn(&mut Plugin<T>) -> Value>>,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
|
the following explicit lifetimes could be elided: 'c:
plugin/src/commands/mod.rs#L27
warning: the following explicit lifetimes could be elided: 'c
--> plugin/src/commands/mod.rs:27:18
|
27 | fn call_void<'c>(&self, _plugin: &mut Plugin<T>, _request: &'c serde_json::Value) {}
| ^^ ^^
|
= 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
|
27 - fn call_void<'c>(&self, _plugin: &mut Plugin<T>, _request: &'c serde_json::Value) {}
27 + fn call_void(&self, _plugin: &mut Plugin<T>, _request: &serde_json::Value) {}
|
|
this lifetime isn't used in the function definition:
plugin/src/commands/mod.rs#L18
warning: this lifetime isn't used in the function definition
--> plugin/src/commands/mod.rs:18:13
|
18 | fn call<'c>(
| ^^
|
= 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
|
very complex type used. Consider factoring parts into `type` definitions:
plugin/src/commands/builtin.rs#L54
warning: very complex type used. Consider factoring parts into `type` definitions
--> plugin/src/commands/builtin.rs:54:25
|
54 | pub(crate) on_init: Option<Arc<dyn Fn(&mut Plugin<T>) -> Value>>,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= 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
|
single-character string constant used as pattern:
plugin_macros/src/attr_parser.rs#L39
warning: single-character string constant used as pattern
--> plugin_macros/src/attr_parser.rs:39:47
|
39 | let value = value.to_string().replace("\"", "");
| ^^^^ help: try using a `char` instead: `'\"'`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern
= note: `#[warn(clippy::single_char_pattern)]` on by default
|
this `impl` can be derived:
plugin_macros/src/plugin.rs#L61
warning: this `impl` can be derived
--> plugin_macros/src/plugin.rs:61:1
|
61 | / impl Default for PluginDeclaration {
62 | | fn default() -> Self {
63 | | Self {
64 | | state: None,
... |
70 | | }
71 | | }
| |_^
|
= 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
|
9 + #[derive(Default)]
10 | pub struct PluginDeclaration {
|
|
this expression creates a reference which is immediately dereferenced by the compiler:
plugin_macros/src/plugin.rs#L45
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> plugin_macros/src/plugin.rs:45:47
|
45 | let mut inner = KTokenStream::new(&inner);
| ^^^^^^ help: change this to: `inner`
|
= 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:
plugin_macros/src/plugin.rs#L30
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> plugin_macros/src/plugin.rs:30:47
|
30 | let mut inner = KTokenStream::new(&inner);
| ^^^^^^ help: change this to: `inner`
|
= 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
|
Lints
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, 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/.
|
Lints
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, 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/
|
Lints
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/
|
Lints
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/
|
Lints
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/
|
Lints
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/
|
Lints
the following packages contain code that will be rejected by a future version of Rust: rstest v0.10.0
|
Build (nightly)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, 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/.
|
Build (nightly)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, 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/
|
Build (nightly)
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/
|
Build (nightly)
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/
|
Build (nightly)
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/
|
Build (nightly)
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/
|
Build (nightly):
plugin/src/plugin.rs#L7
the item `String` is imported redundantly
|
Build (nightly)
`clightningrpc-plugin` (lib) generated 1 warning
|
Build (nightly):
common/src/errors.rs#L21
the item `serde_json` is imported redundantly
|
Build (nightly)
`clightningrpc-common` (lib) generated 1 warning
|
Build (nightly):
tests/src/lib.rs#L33
the item `async_run` is imported redundantly
|
Build (nightly)
`tests` (lib) generated 1 warning
|
Build (nightly)
the following packages contain code that will be rejected by a future version of Rust: rstest v0.10.0
|
Build (nightly):
tests/src/lib.rs#L33
the item `async_run` is imported redundantly
|
Build (nightly):
common/src/errors.rs#L21
the item `serde_json` is imported redundantly
|
Build (nightly)
`clightningrpc-common` (lib) generated 1 warning
|
Build (nightly):
plugin/src/plugin.rs#L7
the item `String` is imported redundantly
|
Build (nightly)
`tests` (lib) generated 1 warning
|
Build (nightly)
`clightningrpc-common` (lib) generated 1 warning (1 duplicate)
|
Build (nightly)
the following packages contain code that will be rejected by a future version of Rust: rstest v0.10.0
|
Build (beta)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, 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/.
|
Build (beta)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, 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/
|
Build (beta)
the following packages contain code that will be rejected by a future version of Rust: rstest v0.10.0
|
Build (beta)
the following packages contain code that will be rejected by a future version of Rust: rstest v0.10.0
|
Build (beta)
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/
|
Build (beta)
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/
|
Build (beta)
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/
|
Build (beta)
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/
|
Build (stable)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, 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/.
|
Build (stable)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, 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/
|
Build (stable)
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/
|
Build (stable)
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/
|
Build (stable)
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/
|
Build (stable)
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/
|
Build (stable)
the following packages contain code that will be rejected by a future version of Rust: rstest v0.10.0
|
Build (stable)
the following packages contain code that will be rejected by a future version of Rust: rstest v0.10.0
|
returning the result of a `let` binding from a block:
tests/src/lib.rs#L47
warning: returning the result of a `let` binding from a block
--> tests/src/lib.rs:47:9
|
46 | let cln = async_run!(cln::Node::with_params("--developer", "regtest")).unwrap();
| -------------------------------------------------------------------------------- unnecessary `let` binding
47 | cln
| ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
help: return the expression directly
|
46 ~
47 ~ async_run!(cln::Node::with_params("--developer", "regtest")).unwrap()
|
|
returning the result of a `let` binding from a block:
tests/src/lib.rs#L40
warning: returning the result of a `let` binding from a block
--> tests/src/lib.rs:40:9
|
39 | ... let cln = async_run!(cln::Node::with_params(&format!("--developer --plugin={pwd}/target/debug/examples/foo_plugin --plugin={pwd}/target/debug/examples/macros_ex"), "regtest")).unwrap();
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- unnecessary `let` binding
40 | ... cln
| ^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
= note: `#[warn(clippy::let_and_return)]` on by default
help: return the expression directly
|
39 ~
40 ~ async_run!(cln::Node::with_params(&format!("--developer --plugin={pwd}/target/debug/examples/foo_plugin --plugin={pwd}/target/debug/examples/macros_ex"), "regtest")).unwrap()
|
|
usage of an `Arc` that is not `Send` and `Sync`:
testing/src/cln.rs#L85
warning: usage of an `Arc` that is not `Send` and `Sync`
--> testing/src/cln.rs:85:19
|
85 | let btc = Arc::new(btc);
| ^^^^^^^^^^^^^
|
= note: `Arc<BtcNode>` is not `Send` and `Sync` as:
= note: - the trait `Sync` is not implemented for `BtcNode`
= help: consider using an `Rc` instead. `Arc` does not provide benefits for non `Send` and `Sync` types
= note: if you intend to use `Arc` with `Send` and `Sync` traits
= note: wrap the inner type with a `Mutex` or implement `Send` and `Sync` for `BtcNode`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync
= note: `#[warn(clippy::arc_with_non_send_sync)]` on by default
|
this `RefCell` reference is held across an `await` point:
testing/src/btc.rs#L105
warning: this `RefCell` reference is held across an `await` point
--> testing/src/btc.rs:105:24
|
105 | for process in self.process.borrow_mut().iter_mut() {
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: ensure the reference is dropped before calling `await`
note: these are all the `await` points this reference is held through
--> testing/src/btc.rs:106:28
|
106 | process.kill().await?;
| ^^^^^
107 | let _ = process.wait().await?;
| ^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#await_holding_refcell_ref
= note: `#[warn(clippy::await_holding_refcell_ref)]` on by default
|
`crate` references the macro call's crate:
testing/src/lib.rs#L32
warning: `crate` references the macro call's crate
--> testing/src/lib.rs:32:17
|
32 | use crate::DEFAULT_TIMEOUT;
| ^^^^^ help: to reference the macro definition's crate, use: `$crate`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def
= note: `#[warn(clippy::crate_in_macro_def)]` on by default
|
redundant pattern matching, consider using `is_ok()`:
plugin/src/plugin.rs#L274
warning: redundant pattern matching, consider using `is_ok()`
--> plugin/src/plugin.rs:274:19
|
274 | while let Ok(_) = reader.read_line(&mut buffer) {
| ----------^^^^^-------------------------------- help: try: `while reader.read_line(&mut buffer).is_ok()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching
= note: `#[warn(clippy::redundant_pattern_matching)]` on by default
|
using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`:
plugin/src/plugin.rs#L145
warning: using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`
--> plugin/src/plugin.rs:145:25
|
145 | "string" => def_val.and_then(|val| Some(serde_json::json!(val))),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `def_val.map(|val| serde_json::json!(val))`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map
|
using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`:
plugin/src/plugin.rs#L144
warning: using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`
--> plugin/src/plugin.rs:144:22
|
144 | "int" => def_val.and_then(|val| Some(serde_json::json!(val.parse::<i64>().unwrap()))),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `def_val.map(|val| serde_json::json!(val.parse::<i64>().unwrap()))`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map
|
using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`:
plugin/src/plugin.rs#L142
warning: using `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`
--> plugin/src/plugin.rs:142:17
|
142 | def_val.and_then(|val| Some(serde_json::json!(val.parse::<bool>().unwrap())))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `def_val.map(|val| serde_json::json!(val.parse::<bool>().unwrap()))`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map
= note: `#[warn(clippy::bind_instead_of_map)]` on by default
|
very complex type used. Consider factoring parts into `type` definitions:
plugin/src/plugin.rs#L53
warning: very complex type used. Consider factoring parts into `type` definitions
--> plugin/src/plugin.rs:53:14
|
53 | on_init: Option<Arc<dyn Fn(&mut Plugin<T>) -> Value>>,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
|
the following explicit lifetimes could be elided: 'c:
plugin/src/commands/mod.rs#L27
warning: the following explicit lifetimes could be elided: 'c
--> plugin/src/commands/mod.rs:27:18
|
27 | fn call_void<'c>(&self, _plugin: &mut Plugin<T>, _request: &'c serde_json::Value) {}
| ^^ ^^
|
= 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
|
27 - fn call_void<'c>(&self, _plugin: &mut Plugin<T>, _request: &'c serde_json::Value) {}
27 + fn call_void(&self, _plugin: &mut Plugin<T>, _request: &serde_json::Value) {}
|
|
this lifetime isn't used in the function definition:
plugin/src/commands/mod.rs#L18
warning: this lifetime isn't used in the function definition
--> plugin/src/commands/mod.rs:18:13
|
18 | fn call<'c>(
| ^^
|
= 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
|
very complex type used. Consider factoring parts into `type` definitions:
plugin/src/commands/builtin.rs#L54
warning: very complex type used. Consider factoring parts into `type` definitions
--> plugin/src/commands/builtin.rs:54:25
|
54 | pub(crate) on_init: Option<Arc<dyn Fn(&mut Plugin<T>) -> Value>>,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= 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
|
single-character string constant used as pattern:
plugin_macros/src/attr_parser.rs#L39
warning: single-character string constant used as pattern
--> plugin_macros/src/attr_parser.rs:39:47
|
39 | let value = value.to_string().replace("\"", "");
| ^^^^ help: try using a `char` instead: `'\"'`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern
= note: `#[warn(clippy::single_char_pattern)]` on by default
|
this `impl` can be derived:
plugin_macros/src/plugin.rs#L61
warning: this `impl` can be derived
--> plugin_macros/src/plugin.rs:61:1
|
61 | / impl Default for PluginDeclaration {
62 | | fn default() -> Self {
63 | | Self {
64 | | state: None,
... |
70 | | }
71 | | }
| |_^
|
= 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
|
9 + #[derive(Default)]
10 | pub struct PluginDeclaration {
|
|
this expression creates a reference which is immediately dereferenced by the compiler:
plugin_macros/src/plugin.rs#L45
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> plugin_macros/src/plugin.rs:45:47
|
45 | let mut inner = KTokenStream::new(&inner);
| ^^^^^^ help: change this to: `inner`
|
= 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:
plugin_macros/src/plugin.rs#L30
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> plugin_macros/src/plugin.rs:30:47
|
30 | let mut inner = KTokenStream::new(&inner);
| ^^^^^^ help: change this to: `inner`
|
= 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
|