Skip to content

json-parser: support the JSON format produced by Clippy #91

Open
@kdudka

Description

@kdudka

The JSON parser used by csdiff utilities should accept the JSON format produced by cargo clippy --message-format=json on Rust projects. As I understand it, the command produces one JSON line per compilation unit. So their concatenation is not a valid JSON.
We either need to concatenate them in a JSON way (e.g. { "clippy-results" : [ json1, json2, ... ] }) or by storing a separate JSON file for each invocation of the compiler/analyzer. The latter may result in lower memory consumption while importing the results.

Useful links:

Example:

{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n   --> src/engine/sim_engine/blockdev.rs:118:1\n    |\n118 | impl<'a> Into<Value> for &'a SimDev {\n    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |\n    = note: `#[warn(clippy::from_over_into)]` on by default\n    = help: consider to implement `From<&'a engine::sim_engine::blockdev::SimDev>` instead\n    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"note","message":"`#[warn(clippy::from_over_into)]` on by default","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"consider to implement `From<&'a engine::sim_engine::blockdev::SimDev>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":3362,"byte_start":3327,"column_end":36,"column_start":1,"expansion":null,"file_name":"src/engine/sim_engine/blockdev.rs","is_primary":true,"label":null,"line_end":118,"line_start":118,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":36,"highlight_start":1,"text":"impl<'a> Into<Value> for &'a SimDev {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n  --> src/engine/sim_engine/engine.rs:52:1\n   |\n52 | impl<'a> Into<Value> for &'a SimEngine {\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n   |\n   = help: consider to implement `From<&'a engine::sim_engine::engine::SimEngine>` instead\n   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<&'a engine::sim_engine::engine::SimEngine>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":1804,"byte_start":1766,"column_end":39,"column_start":1,"expansion":null,"file_name":"src/engine/sim_engine/engine.rs","is_primary":true,"label":null,"line_end":52,"line_start":52,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":39,"highlight_start":1,"text":"impl<'a> Into<Value> for &'a SimEngine {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: this expression borrows a value the compiler would automatically borrow\n  --> src/engine/sim_engine/engine.rs:74:17\n   |\n74 |                 (&*block_on(self.stopped_pools.read())).iter().map(|(name, uuid, pool)| {\n   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `(*block_on(self.stopped_pools.read()))`\n   |\n   = note: `#[warn(clippy::needless_borrow)]` on by default\n   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow\n\n","children":[{"children":[],"code":null,"level":"note","message":"`#[warn(clippy::needless_borrow)]` on by default","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"change this to","rendered":null,"spans":[{"byte_end":2776,"byte_start":2737,"column_end":56,"column_start":17,"expansion":null,"file_name":"src/engine/sim_engine/engine.rs","is_primary":true,"label":null,"line_end":74,"line_start":74,"suggested_replacement":"(*block_on(self.stopped_pools.read()))","suggestion_applicability":"MachineApplicable","text":[{"highlight_end":56,"highlight_start":17,"text":"                (&*block_on(self.stopped_pools.read())).iter().map(|(name, uuid, pool)| {"}]}]}],"code":{"code":"clippy::needless_borrow","explanation":null},"level":"warning","message":"this expression borrows a value the compiler would automatically borrow","spans":[{"byte_end":2776,"byte_start":2737,"column_end":56,"column_start":17,"expansion":null,"file_name":"src/engine/sim_engine/engine.rs","is_primary":true,"label":null,"line_end":74,"line_start":74,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":56,"highlight_start":17,"text":"                (&*block_on(self.stopped_pools.read())).iter().map(|(name, uuid, pool)| {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: this expression borrows a value the compiler would automatically borrow\n   --> src/engine/sim_engine/engine.rs:102:38\n    |\n102 |                     \"stopped_pools\": (&*block_on(self.stopped_pools.read())).iter().map(|(name, uuid, pool)| {\n    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `(*block_on(self.stopped_pools.read()))`\n    |\n    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow\n\n","children":[{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"change this to","rendered":null,"spans":[{"byte_end":3765,"byte_start":3726,"column_end":77,"column_start":38,"expansion":null,"file_name":"src/engine/sim_engine/engine.rs","is_primary":true,"label":null,"line_end":102,"line_start":102,"suggested_replacement":"(*block_on(self.stopped_pools.read()))","suggestion_applicability":"MachineApplicable","text":[{"highlight_end":77,"highlight_start":38,"text":"                    \"stopped_pools\": (&*block_on(self.stopped_pools.read())).iter().map(|(name, uuid, pool)| {"}]}]}],"code":{"code":"clippy::needless_borrow","explanation":null},"level":"warning","message":"this expression borrows a value the compiler would automatically borrow","spans":[{"byte_end":3765,"byte_start":3726,"column_end":77,"column_start":38,"expansion":null,"file_name":"src/engine/sim_engine/engine.rs","is_primary":true,"label":null,"line_end":102,"line_start":102,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":77,"highlight_start":38,"text":"                    \"stopped_pools\": (&*block_on(self.stopped_pools.read())).iter().map(|(name, uuid, pool)| {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n  --> src/engine/sim_engine/filesystem.rs:59:1\n   |\n59 | impl<'a> Into<Value> for &'a SimFilesystem {\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n   |\n   = help: consider to implement `From<&'a engine::sim_engine::filesystem::SimFilesystem>` instead\n   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<&'a engine::sim_engine::filesystem::SimFilesystem>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":1355,"byte_start":1313,"column_end":43,"column_start":1,"expansion":null,"file_name":"src/engine/sim_engine/filesystem.rs","is_primary":true,"label":null,"line_end":59,"line_start":59,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":43,"highlight_start":1,"text":"impl<'a> Into<Value> for &'a SimFilesystem {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n   --> src/engine/sim_engine/pool.rs:126:1\n    |\n126 | impl<'a> Into<Value> for &'a SimPool {\n    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |\n    = help: consider to implement `From<&'a engine::sim_engine::pool::SimPool>` instead\n    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<&'a engine::sim_engine::pool::SimPool>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":4155,"byte_start":4119,"column_end":37,"column_start":1,"expansion":null,"file_name":"src/engine/sim_engine/pool.rs","is_primary":true,"label":null,"line_end":126,"line_start":126,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":37,"highlight_start":1,"text":"impl<'a> Into<Value> for &'a SimPool {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n   --> src/engine/strat_engine/backstore/backstore.rs:639:1\n    |\n639 | impl<'a> Into<Value> for &'a Backstore {\n    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |\n    = help: consider to implement `From<&'a engine::strat_engine::backstore::backstore::Backstore>` instead\n    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<&'a engine::strat_engine::backstore::backstore::Backstore>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":22648,"byte_start":22610,"column_end":39,"column_start":1,"expansion":null,"file_name":"src/engine/strat_engine/backstore/backstore.rs","is_primary":true,"label":null,"line_end":639,"line_start":639,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":39,"highlight_start":1,"text":"impl<'a> Into<Value> for &'a Backstore {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n   --> src/engine/strat_engine/backstore/blockdev.rs:316:1\n    |\n316 | impl<'a> Into<Value> for &'a StratBlockDev {\n    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |\n    = help: consider to implement `From<&'a engine::strat_engine::backstore::blockdev::StratBlockDev>` instead\n    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<&'a engine::strat_engine::backstore::blockdev::StratBlockDev>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":11563,"byte_start":11521,"column_end":43,"column_start":1,"expansion":null,"file_name":"src/engine/strat_engine/backstore/blockdev.rs","is_primary":true,"label":null,"line_end":316,"line_start":316,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":43,"highlight_start":1,"text":"impl<'a> Into<Value> for &'a StratBlockDev {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n  --> src/engine/strat_engine/backstore/crypt/shared.rs:79:1\n   |\n79 | impl Into<Value> for StratisLuks2Token {\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n   |\n   = help: consider to implement `From<engine::strat_engine::backstore::crypt::shared::StratisLuks2Token>` instead\n   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<engine::strat_engine::backstore::crypt::shared::StratisLuks2Token>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":2574,"byte_start":2536,"column_end":39,"column_start":1,"expansion":null,"file_name":"src/engine/strat_engine/backstore/crypt/shared.rs","is_primary":true,"label":null,"line_end":79,"line_start":79,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":39,"highlight_start":1,"text":"impl Into<Value> for StratisLuks2Token {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n   --> src/engine/strat_engine/engine.rs:247:1\n    |\n247 | impl<'a> Into<Value> for &'a StratEngine {\n    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |\n    = help: consider to implement `From<&'a engine::strat_engine::engine::StratEngine>` instead\n    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<&'a engine::strat_engine::engine::StratEngine>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":8980,"byte_start":8940,"column_end":41,"column_start":1,"expansion":null,"file_name":"src/engine/strat_engine/engine.rs","is_primary":true,"label":null,"line_end":247,"line_start":247,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":41,"highlight_start":1,"text":"impl<'a> Into<Value> for &'a StratEngine {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n  --> src/engine/strat_engine/liminal/device_info.rs:53:1\n   |\n53 | impl<'a> Into<Value> for &'a LLuksInfo {\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n   |\n   = help: consider to implement `From<&'a engine::strat_engine::liminal::device_info::LLuksInfo>` instead\n   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<&'a engine::strat_engine::liminal::device_info::LLuksInfo>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":1422,"byte_start":1384,"column_end":39,"column_start":1,"expansion":null,"file_name":"src/engine/strat_engine/liminal/device_info.rs","is_primary":true,"label":null,"line_end":53,"line_start":53,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":39,"highlight_start":1,"text":"impl<'a> Into<Value> for &'a LLuksInfo {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n   --> src/engine/strat_engine/liminal/device_info.rs:108:1\n    |\n108 | impl<'a> Into<Value> for &'a LStratisInfo {\n    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |\n    = help: consider to implement `From<&'a engine::strat_engine::liminal::device_info::LStratisInfo>` instead\n    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<&'a engine::strat_engine::liminal::device_info::LStratisInfo>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":3135,"byte_start":3094,"column_end":42,"column_start":1,"expansion":null,"file_name":"src/engine/strat_engine/liminal/device_info.rs","is_primary":true,"label":null,"line_end":108,"line_start":108,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":42,"highlight_start":1,"text":"impl<'a> Into<Value> for &'a LStratisInfo {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n   --> src/engine/strat_engine/liminal/device_info.rs:173:1\n    |\n173 | impl<'a> Into<Value> for &'a LInfo {\n    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |\n    = help: consider to implement `From<&'a engine::strat_engine::liminal::device_info::LInfo>` instead\n    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<&'a engine::strat_engine::liminal::device_info::LInfo>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":5264,"byte_start":5230,"column_end":35,"column_start":1,"expansion":null,"file_name":"src/engine/strat_engine/liminal/device_info.rs","is_primary":true,"label":null,"line_end":173,"line_start":173,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":35,"highlight_start":1,"text":"impl<'a> Into<Value> for &'a LInfo {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n   --> src/engine/strat_engine/liminal/device_info.rs:556:1\n    |\n556 | impl<'a> Into<Value> for &'a DeviceSet {\n    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |\n    = help: consider to implement `From<&'a engine::strat_engine::liminal::device_info::DeviceSet>` instead\n    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<&'a engine::strat_engine::liminal::device_info::DeviceSet>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":20323,"byte_start":20285,"column_end":39,"column_start":1,"expansion":null,"file_name":"src/engine/strat_engine/liminal/device_info.rs","is_primary":true,"label":null,"line_end":556,"line_start":556,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":39,"highlight_start":1,"text":"impl<'a> Into<Value> for &'a DeviceSet {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n   --> src/engine/strat_engine/liminal/device_info.rs:587:1\n    |\n587 | impl<'a> Into<Value> for &'a DeviceBag {\n    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |\n    = help: consider to implement `From<&'a engine::strat_engine::liminal::device_info::DeviceBag>` instead\n    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<&'a engine::strat_engine::liminal::device_info::DeviceBag>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":21180,"byte_start":21142,"column_end":39,"column_start":1,"expansion":null,"file_name":"src/engine/strat_engine/liminal/device_info.rs","is_primary":true,"label":null,"line_end":587,"line_start":587,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":39,"highlight_start":1,"text":"impl<'a> Into<Value> for &'a DeviceBag {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n   --> src/engine/strat_engine/liminal/identify.rs:101:1\n    |\n101 | impl<'a> Into<Value> for &'a StratisInfo {\n    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |\n    = help: consider to implement `From<&'a engine::strat_engine::liminal::identify::StratisInfo>` instead\n    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<&'a engine::strat_engine::liminal::identify::StratisInfo>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":3187,"byte_start":3147,"column_end":41,"column_start":1,"expansion":null,"file_name":"src/engine/strat_engine/liminal/identify.rs","is_primary":true,"label":null,"line_end":101,"line_start":101,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":41,"highlight_start":1,"text":"impl<'a> Into<Value> for &'a StratisInfo {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n   --> src/engine/strat_engine/liminal/liminal.rs:577:1\n    |\n577 | impl<'a> Into<Value> for &'a LiminalDevices {\n    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |\n    = help: consider to implement `From<&'a engine::strat_engine::liminal::liminal::LiminalDevices>` instead\n    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<&'a engine::strat_engine::liminal::liminal::LiminalDevices>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":22297,"byte_start":22254,"column_end":44,"column_start":1,"expansion":null,"file_name":"src/engine/strat_engine/liminal/liminal.rs","is_primary":true,"label":null,"line_end":577,"line_start":577,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":44,"highlight_start":1,"text":"impl<'a> Into<Value> for &'a LiminalDevices {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n  --> src/engine/strat_engine/metadata/static_header.rs:91:1\n   |\n91 | impl<'a> Into<Value> for &'a StratisIdentifiers {\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n   |\n   = help: consider to implement `From<&'a engine::strat_engine::metadata::static_header::StratisIdentifiers>` instead\n   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<&'a engine::strat_engine::metadata::static_header::StratisIdentifiers>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":2539,"byte_start":2492,"column_end":48,"column_start":1,"expansion":null,"file_name":"src/engine/strat_engine/metadata/static_header.rs","is_primary":true,"label":null,"line_end":91,"line_start":91,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":48,"highlight_start":1,"text":"impl<'a> Into<Value> for &'a StratisIdentifiers {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n   --> src/engine/strat_engine/pool.rs:423:1\n    |\n423 | impl<'a> Into<Value> for &'a StratPool {\n    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |\n    = help: consider to implement `From<&'a engine::strat_engine::pool::StratPool>` instead\n    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<&'a engine::strat_engine::pool::StratPool>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":15213,"byte_start":15175,"column_end":39,"column_start":1,"expansion":null,"file_name":"src/engine/strat_engine/pool.rs","is_primary":true,"label":null,"line_end":423,"line_start":423,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":39,"highlight_start":1,"text":"impl<'a> Into<Value> for &'a StratPool {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n   --> src/engine/strat_engine/thinpool/filesystem.rs:451:1\n    |\n451 | impl<'a> Into<Value> for &'a StratFilesystem {\n    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |\n    = help: consider to implement `From<&'a engine::strat_engine::thinpool::filesystem::StratFilesystem>` instead\n    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<&'a engine::strat_engine::thinpool::filesystem::StratFilesystem>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":16099,"byte_start":16055,"column_end":45,"column_start":1,"expansion":null,"file_name":"src/engine/strat_engine/thinpool/filesystem.rs","is_primary":true,"label":null,"line_end":451,"line_start":451,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":45,"highlight_start":1,"text":"impl<'a> Into<Value> for &'a StratFilesystem {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n    --> src/engine/strat_engine/thinpool/thinpool.rs:1572:1\n     |\n1572 | impl<'a> Into<Value> for &'a ThinPool {\n     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n     |\n     = help: consider to implement `From<&'a engine::strat_engine::thinpool::thinpool::ThinPool>` instead\n     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<&'a engine::strat_engine::thinpool::thinpool::ThinPool>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":58392,"byte_start":58355,"column_end":38,"column_start":1,"expansion":null,"file_name":"src/engine/strat_engine/thinpool/thinpool.rs","is_primary":true,"label":null,"line_end":1572,"line_start":1572,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":38,"highlight_start":1,"text":"impl<'a> Into<Value> for &'a ThinPool {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n   --> src/engine/structures/lock.rs:798:1\n    |\n798 | / impl<U, T> Into<Vec<SomeLockReadGuard<U, T>>> for AllLockReadGuard<U, T>\n799 | | where\n800 | |     U: AsUuid,\n801 | | {\n...   |\n827 | |     }\n828 | | }\n    | |_^\n    |\n    = help: consider to implement `From<engine::structures::lock::AllLockReadGuard<U, T>>` instead\n    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<engine::structures::lock::AllLockReadGuard<U, T>>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":24920,"byte_start":23940,"column_end":2,"column_start":1,"expansion":null,"file_name":"src/engine/structures/lock.rs","is_primary":true,"label":null,"line_end":828,"line_start":798,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":73,"highlight_start":1,"text":"impl<U, T> Into<Vec<SomeLockReadGuard<U, T>>> for AllLockReadGuard<U, T>"},{"highlight_end":6,"highlight_start":1,"text":"where"},{"highlight_end":15,"highlight_start":1,"text":"    U: AsUuid,"},{"highlight_end":2,"highlight_start":1,"text":"{"},{"highlight_end":90,"highlight_start":1,"text":"    // Needed because Rust mutability rules will prevent using lock_record mutably in two"},{"highlight_end":48,"highlight_start":1,"text":"    // different closures in the same iterator."},{"highlight_end":39,"highlight_start":1,"text":"    #[allow(clippy::needless_collect)]"},{"highlight_end":52,"highlight_start":1,"text":"    fn into(self) -> Vec<SomeLockReadGuard<U, T>> {"},{"highlight_end":54,"highlight_start":1,"text":"        let mut lock_record = self.0.acquire_mutex();"},{"highlight_end":54,"highlight_start":1,"text":"        assert!(lock_record.write_locked.is_empty());"},{"highlight_end":48,"highlight_start":1,"text":"        assert!(!lock_record.all_write_locked);"},{"highlight_end":1,"highlight_start":1,"text":""},{"highlight_end":33,"highlight_start":1,"text":"        let guards = lock_record"},{"highlight_end":19,"highlight_start":1,"text":"            .inner"},{"highlight_end":20,"highlight_start":1,"text":"            .iter()"},{"highlight_end":31,"highlight_start":1,"text":"            .map(|(n, u, t)| {"},{"highlight_end":18,"highlight_start":1,"text":"                ("},{"highlight_end":24,"highlight_start":1,"text":"                    *u,"},{"highlight_end":85,"highlight_start":1,"text":"                    SomeLockReadGuard(self.0.clone(), *u, n.clone(), t as *const _),"},{"highlight_end":18,"highlight_start":1,"text":"                )"},{"highlight_end":15,"highlight_start":1,"text":"            })"},{"highlight_end":34,"highlight_start":1,"text":"            .collect::<Vec<_>>();"},{"highlight_end":15,"highlight_start":1,"text":"        guards"},{"highlight_end":25,"highlight_start":1,"text":"            .into_iter()"},{"highlight_end":32,"highlight_start":1,"text":"            .map(|(u, guard)| {"},{"highlight_end":52,"highlight_start":1,"text":"                lock_record.add_read_lock(u, None);"},{"highlight_end":22,"highlight_start":1,"text":"                guard"},{"highlight_end":15,"highlight_start":1,"text":"            })"},{"highlight_end":33,"highlight_start":1,"text":"            .collect::<Vec<_>>()"},{"highlight_end":6,"highlight_start":1,"text":"    }"},{"highlight_end":2,"highlight_start":1,"text":"}"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n   --> src/engine/structures/lock.rs:899:1\n    |\n899 | / impl<U, T> Into<Vec<SomeLockWriteGuard<U, T>>> for AllLockWriteGuard<U, T>\n900 | | where\n901 | |     U: AsUuid,\n902 | | {\n...   |\n929 | |     }\n930 | | }\n    | |_^\n    |\n    = help: consider to implement `From<engine::structures::lock::AllLockWriteGuard<U, T>>` instead\n    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<engine::structures::lock::AllLockWriteGuard<U, T>>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":27671,"byte_start":26619,"column_end":2,"column_start":1,"expansion":null,"file_name":"src/engine/structures/lock.rs","is_primary":true,"label":null,"line_end":930,"line_start":899,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":75,"highlight_start":1,"text":"impl<U, T> Into<Vec<SomeLockWriteGuard<U, T>>> for AllLockWriteGuard<U, T>"},{"highlight_end":6,"highlight_start":1,"text":"where"},{"highlight_end":15,"highlight_start":1,"text":"    U: AsUuid,"},{"highlight_end":2,"highlight_start":1,"text":"{"},{"highlight_end":90,"highlight_start":1,"text":"    // Needed because Rust mutability rules will prevent using lock_record mutably in two"},{"highlight_end":48,"highlight_start":1,"text":"    // different closures in the same iterator."},{"highlight_end":39,"highlight_start":1,"text":"    #[allow(clippy::needless_collect)]"},{"highlight_end":53,"highlight_start":1,"text":"    fn into(self) -> Vec<SomeLockWriteGuard<U, T>> {"},{"highlight_end":54,"highlight_start":1,"text":"        let mut lock_record = self.0.acquire_mutex();"},{"highlight_end":53,"highlight_start":1,"text":"        assert!(lock_record.read_locked.is_empty());"},{"highlight_end":54,"highlight_start":1,"text":"        assert!(lock_record.write_locked.is_empty());"},{"highlight_end":52,"highlight_start":1,"text":"        assert_eq!(lock_record.all_read_locked, 0);"},{"highlight_end":1,"highlight_start":1,"text":""},{"highlight_end":33,"highlight_start":1,"text":"        let guards = lock_record"},{"highlight_end":19,"highlight_start":1,"text":"            .inner"},{"highlight_end":20,"highlight_start":1,"text":"            .iter()"},{"highlight_end":31,"highlight_start":1,"text":"            .map(|(n, u, t)| {"},{"highlight_end":18,"highlight_start":1,"text":"                ("},{"highlight_end":24,"highlight_start":1,"text":"                    *u,"},{"highlight_end":96,"highlight_start":1,"text":"                    SomeLockWriteGuard(self.0.clone(), *u, n.clone(), t as *const _ as *mut _),"},{"highlight_end":18,"highlight_start":1,"text":"                )"},{"highlight_end":15,"highlight_start":1,"text":"            })"},{"highlight_end":34,"highlight_start":1,"text":"            .collect::<Vec<_>>();"},{"highlight_end":15,"highlight_start":1,"text":"        guards"},{"highlight_end":25,"highlight_start":1,"text":"            .into_iter()"},{"highlight_end":32,"highlight_start":1,"text":"            .map(|(u, guard)| {"},{"highlight_end":53,"highlight_start":1,"text":"                lock_record.add_write_lock(u, None);"},{"highlight_end":22,"highlight_start":1,"text":"                guard"},{"highlight_end":15,"highlight_start":1,"text":"            })"},{"highlight_end":33,"highlight_start":1,"text":"            .collect::<Vec<_>>()"},{"highlight_end":6,"highlight_start":1,"text":"    }"},{"highlight_end":2,"highlight_start":1,"text":"}"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true\n   --> src/engine/types/keys.rs:154:1\n    |\n154 | impl<'a> Into<Value> for &'a EncryptionInfo {\n    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |\n    = help: consider to implement `From<&'a engine::types::keys::EncryptionInfo>` instead\n    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into\n\n","children":[{"children":[],"code":null,"level":"help","message":"consider to implement `From<&'a engine::types::keys::EncryptionInfo>` instead","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into","rendered":null,"spans":[]}],"code":{"code":"clippy::from_over_into","explanation":null},"level":"warning","message":"an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true","spans":[{"byte_end":5393,"byte_start":5350,"column_end":44,"column_start":1,"expansion":null,"file_name":"src/engine/types/keys.rs","is_primary":true,"label":null,"line_end":154,"line_start":154,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":44,"highlight_start":1,"text":"impl<'a> Into<Value> for &'a EncryptionInfo {"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: name `ERROR` contains a capitalized acronym\n  --> src/dbus_api/types.rs:74:5\n   |\n74 |     ERROR = 1,\n   |     ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Error`\n   |\n   = note: `#[warn(clippy::upper_case_acronyms)]` on by default\n   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms\n\n","children":[{"children":[],"code":null,"level":"note","message":"`#[warn(clippy::upper_case_acronyms)]` on by default","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms","rendered":null,"spans":[]},{"children":[],"code":null,"level":"help","message":"consider making the acronym lowercase, except the initial letter","rendered":null,"spans":[{"byte_end":2640,"byte_start":2635,"column_end":10,"column_start":5,"expansion":null,"file_name":"src/dbus_api/types.rs","is_primary":true,"label":null,"line_end":74,"line_start":74,"suggested_replacement":"Error","suggestion_applicability":"MaybeIncorrect","text":[{"highlight_end":10,"highlight_start":5,"text":"    ERROR = 1,"}]}]}],"code":{"code":"clippy::upper_case_acronyms","explanation":null},"level":"warning","message":"name `ERROR` contains a capitalized acronym","spans":[{"byte_end":2640,"byte_start":2635,"column_end":10,"column_start":5,"expansion":null,"file_name":"src/dbus_api/types.rs","is_primary":true,"label":null,"line_end":74,"line_start":74,"suggested_replacement":null,"suggestion_applicability":null,"text":[{"highlight_end":10,"highlight_start":5,"text":"    ERROR = 1,"}]}]}}
{"reason":"compiler-message","package_id":"stratisd 3.2.3 (path+file:///home/kdudka/fedora/stratisd/stratisd-3.2.3)","manifest_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stratisd","src_path":"/home/kdudka/fedora/stratisd/stratisd-3.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"message":{"rendered":"warning: 25 warnings emitted\n\n","children":[],"code":null,"level":"warning","message":"25 warnings emitted","spans":[]}}

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions