{"$message_type":"diagnostic","message":"unused import: `serde_json::Value`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/analytics.rs","byte_start":49,"byte_end":66,"line_start":3,"line_end":3,"column_start":5,"column_end":22,"is_primary":true,"text":[{"text":"use serde_json::Value;","highlight_start":5,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/analytics.rs","byte_start":45,"byte_end":68,"line_start":3,"line_end":4,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use serde_json::Value;","highlight_start":1,"highlight_end":23},{"text":"use std::collections::HashMap;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused import: `serde_json::Value`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/analytics.rs:3:5\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m3\u001b[0m \u001b[1m\u001b[94m|\u001b[0m use serde_json::Value;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default\n\n"} {"$message_type":"diagnostic","message":"unused import: `std::collections::HashMap`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/analytics.rs","byte_start":72,"byte_end":97,"line_start":4,"line_end":4,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"use std::collections::HashMap;","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/analytics.rs","byte_start":68,"byte_end":99,"line_start":4,"line_end":5,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use std::collections::HashMap;","highlight_start":1,"highlight_end":31},{"text":"","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused import: `std::collections::HashMap`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/analytics.rs:4:5\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m4\u001b[0m \u001b[1m\u001b[94m|\u001b[0m use std::collections::HashMap;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused import: `DateTime`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/reports.rs","byte_start":13,"byte_end":21,"line_start":1,"line_end":1,"column_start":14,"column_end":22,"is_primary":true,"text":[{"text":"use chrono::{DateTime, Utc};","highlight_start":14,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused import","code":null,"level":"help","spans":[{"file_name":"src/reports.rs","byte_start":13,"byte_end":23,"line_start":1,"line_end":1,"column_start":14,"column_end":24,"is_primary":true,"text":[{"text":"use chrono::{DateTime, Utc};","highlight_start":14,"highlight_end":24}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"src/reports.rs","byte_start":12,"byte_end":13,"line_start":1,"line_end":1,"column_start":13,"column_end":14,"is_primary":true,"text":[{"text":"use chrono::{DateTime, Utc};","highlight_start":13,"highlight_end":14}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"src/reports.rs","byte_start":26,"byte_end":27,"line_start":1,"line_end":1,"column_start":27,"column_end":28,"is_primary":true,"text":[{"text":"use chrono::{DateTime, Utc};","highlight_start":27,"highlight_end":28}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused import: `DateTime`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/reports.rs:1:14\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m1\u001b[0m \u001b[1m\u001b[94m|\u001b[0m use chrono::{DateTime, Utc};\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused import: `CString`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/ipc.rs","byte_start":117,"byte_end":124,"line_start":4,"line_end":4,"column_start":22,"column_end":29,"is_primary":true,"text":[{"text":"use std::ffi::{CStr, CString};","highlight_start":22,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused import","code":null,"level":"help","spans":[{"file_name":"src/ipc.rs","byte_start":115,"byte_end":124,"line_start":4,"line_end":4,"column_start":20,"column_end":29,"is_primary":true,"text":[{"text":"use std::ffi::{CStr, CString};","highlight_start":20,"highlight_end":29}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"src/ipc.rs","byte_start":110,"byte_end":111,"line_start":4,"line_end":4,"column_start":15,"column_end":16,"is_primary":true,"text":[{"text":"use std::ffi::{CStr, CString};","highlight_start":15,"highlight_end":16}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"src/ipc.rs","byte_start":124,"byte_end":125,"line_start":4,"line_end":4,"column_start":29,"column_end":30,"is_primary":true,"text":[{"text":"use std::ffi::{CStr, CString};","highlight_start":29,"highlight_end":30}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused import: `CString`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/ipc.rs:4:22\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m4\u001b[0m \u001b[1m\u001b[94m|\u001b[0m use std::ffi::{CStr, CString};\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused variable: `tenant_id`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/analytics.rs","byte_start":2103,"byte_end":2112,"line_start":63,"line_end":63,"column_start":33,"column_end":42,"is_primary":true,"text":[{"text":" async fn compute_mrr(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":33,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/analytics.rs","byte_start":2103,"byte_end":2112,"line_start":63,"line_end":63,"column_start":33,"column_end":42,"is_primary":true,"text":[{"text":" async fn compute_mrr(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":33,"highlight_end":42}],"label":null,"suggested_replacement":"_tenant_id","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `tenant_id`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/analytics.rs:63:33\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m63\u001b[0m \u001b[1m\u001b[94m|\u001b[0m async fn compute_mrr(&self, tenant_id: &str, period: &str) -> AnalyticsResult {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_tenant_id`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default\n\n"} {"$message_type":"diagnostic","message":"unused variable: `period`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/analytics.rs","byte_start":2120,"byte_end":2126,"line_start":63,"line_end":63,"column_start":50,"column_end":56,"is_primary":true,"text":[{"text":" async fn compute_mrr(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":50,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/analytics.rs","byte_start":2120,"byte_end":2126,"line_start":63,"line_end":63,"column_start":50,"column_end":56,"is_primary":true,"text":[{"text":" async fn compute_mrr(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":50,"highlight_end":56}],"label":null,"suggested_replacement":"_period","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `period`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/analytics.rs:63:50\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m63\u001b[0m \u001b[1m\u001b[94m|\u001b[0m async fn compute_mrr(&self, tenant_id: &str, period: &str) -> AnalyticsResult {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_period`\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused variable: `tenant_id`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/analytics.rs","byte_start":2506,"byte_end":2515,"line_start":76,"line_end":76,"column_start":33,"column_end":42,"is_primary":true,"text":[{"text":" async fn compute_arr(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":33,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/analytics.rs","byte_start":2506,"byte_end":2515,"line_start":76,"line_end":76,"column_start":33,"column_end":42,"is_primary":true,"text":[{"text":" async fn compute_arr(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":33,"highlight_end":42}],"label":null,"suggested_replacement":"_tenant_id","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `tenant_id`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/analytics.rs:76:33\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m76\u001b[0m \u001b[1m\u001b[94m|\u001b[0m async fn compute_arr(&self, tenant_id: &str, period: &str) -> AnalyticsResult {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_tenant_id`\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused variable: `period`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/analytics.rs","byte_start":2523,"byte_end":2529,"line_start":76,"line_end":76,"column_start":50,"column_end":56,"is_primary":true,"text":[{"text":" async fn compute_arr(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":50,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/analytics.rs","byte_start":2523,"byte_end":2529,"line_start":76,"line_end":76,"column_start":50,"column_end":56,"is_primary":true,"text":[{"text":" async fn compute_arr(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":50,"highlight_end":56}],"label":null,"suggested_replacement":"_period","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `period`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/analytics.rs:76:50\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m76\u001b[0m \u001b[1m\u001b[94m|\u001b[0m async fn compute_arr(&self, tenant_id: &str, period: &str) -> AnalyticsResult {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_period`\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused variable: `tenant_id`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/analytics.rs","byte_start":2891,"byte_end":2900,"line_start":88,"line_end":88,"column_start":35,"column_end":44,"is_primary":true,"text":[{"text":" async fn compute_churn(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":35,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/analytics.rs","byte_start":2891,"byte_end":2900,"line_start":88,"line_end":88,"column_start":35,"column_end":44,"is_primary":true,"text":[{"text":" async fn compute_churn(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":35,"highlight_end":44}],"label":null,"suggested_replacement":"_tenant_id","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `tenant_id`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/analytics.rs:88:35\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m88\u001b[0m \u001b[1m\u001b[94m|\u001b[0m async fn compute_churn(&self, tenant_id: &str, period: &str) -> AnalyticsResult {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_tenant_id`\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused variable: `period`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/analytics.rs","byte_start":2908,"byte_end":2914,"line_start":88,"line_end":88,"column_start":52,"column_end":58,"is_primary":true,"text":[{"text":" async fn compute_churn(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":52,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/analytics.rs","byte_start":2908,"byte_end":2914,"line_start":88,"line_end":88,"column_start":52,"column_end":58,"is_primary":true,"text":[{"text":" async fn compute_churn(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":52,"highlight_end":58}],"label":null,"suggested_replacement":"_period","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `period`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/analytics.rs:88:52\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m88\u001b[0m \u001b[1m\u001b[94m|\u001b[0m async fn compute_churn(&self, tenant_id: &str, period: &str) -> AnalyticsResult {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_period`\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused variable: `tenant_id`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/analytics.rs","byte_start":3216,"byte_end":3225,"line_start":99,"line_end":99,"column_start":33,"column_end":42,"is_primary":true,"text":[{"text":" async fn compute_ltv(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":33,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/analytics.rs","byte_start":3216,"byte_end":3225,"line_start":99,"line_end":99,"column_start":33,"column_end":42,"is_primary":true,"text":[{"text":" async fn compute_ltv(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":33,"highlight_end":42}],"label":null,"suggested_replacement":"_tenant_id","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `tenant_id`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/analytics.rs:99:33\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m99\u001b[0m \u001b[1m\u001b[94m|\u001b[0m async fn compute_ltv(&self, tenant_id: &str, period: &str) -> AnalyticsResult {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_tenant_id`\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused variable: `period`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/analytics.rs","byte_start":3233,"byte_end":3239,"line_start":99,"line_end":99,"column_start":50,"column_end":56,"is_primary":true,"text":[{"text":" async fn compute_ltv(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":50,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/analytics.rs","byte_start":3233,"byte_end":3239,"line_start":99,"line_end":99,"column_start":50,"column_end":56,"is_primary":true,"text":[{"text":" async fn compute_ltv(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":50,"highlight_end":56}],"label":null,"suggested_replacement":"_period","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `period`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/analytics.rs:99:50\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m99\u001b[0m \u001b[1m\u001b[94m|\u001b[0m async fn compute_ltv(&self, tenant_id: &str, period: &str) -> AnalyticsResult {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_period`\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused variable: `tenant_id`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/analytics.rs","byte_start":3599,"byte_end":3608,"line_start":111,"line_end":111,"column_start":33,"column_end":42,"is_primary":true,"text":[{"text":" async fn compute_cac(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":33,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/analytics.rs","byte_start":3599,"byte_end":3608,"line_start":111,"line_end":111,"column_start":33,"column_end":42,"is_primary":true,"text":[{"text":" async fn compute_cac(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":33,"highlight_end":42}],"label":null,"suggested_replacement":"_tenant_id","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `tenant_id`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/analytics.rs:111:33\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m111\u001b[0m \u001b[1m\u001b[94m|\u001b[0m async fn compute_cac(&self, tenant_id: &str, period: &str) -> AnalyticsResult {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_tenant_id`\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused variable: `period`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/analytics.rs","byte_start":3616,"byte_end":3622,"line_start":111,"line_end":111,"column_start":50,"column_end":56,"is_primary":true,"text":[{"text":" async fn compute_cac(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":50,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/analytics.rs","byte_start":3616,"byte_end":3622,"line_start":111,"line_end":111,"column_start":50,"column_end":56,"is_primary":true,"text":[{"text":" async fn compute_cac(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":50,"highlight_end":56}],"label":null,"suggested_replacement":"_period","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `period`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/analytics.rs:111:50\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m111\u001b[0m \u001b[1m\u001b[94m|\u001b[0m async fn compute_cac(&self, tenant_id: &str, period: &str) -> AnalyticsResult {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_period`\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused variable: `tenant_id`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/analytics.rs","byte_start":3977,"byte_end":3986,"line_start":123,"line_end":123,"column_start":38,"column_end":47,"is_primary":true,"text":[{"text":" async fn compute_pipeline(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":38,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/analytics.rs","byte_start":3977,"byte_end":3986,"line_start":123,"line_end":123,"column_start":38,"column_end":47,"is_primary":true,"text":[{"text":" async fn compute_pipeline(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":38,"highlight_end":47}],"label":null,"suggested_replacement":"_tenant_id","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `tenant_id`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/analytics.rs:123:38\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m123\u001b[0m \u001b[1m\u001b[94m|\u001b[0m async fn compute_pipeline(&self, tenant_id: &str, period: &str) -> AnalyticsResult {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_tenant_id`\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused variable: `period`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/analytics.rs","byte_start":3994,"byte_end":4000,"line_start":123,"line_end":123,"column_start":55,"column_end":61,"is_primary":true,"text":[{"text":" async fn compute_pipeline(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":55,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/analytics.rs","byte_start":3994,"byte_end":4000,"line_start":123,"line_end":123,"column_start":55,"column_end":61,"is_primary":true,"text":[{"text":" async fn compute_pipeline(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":55,"highlight_end":61}],"label":null,"suggested_replacement":"_period","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `period`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/analytics.rs:123:55\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m123\u001b[0m \u001b[1m\u001b[94m|\u001b[0m async fn compute_pipeline(&self, tenant_id: &str, period: &str) -> AnalyticsResult {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_period`\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused variable: `tenant_id`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/analytics.rs","byte_start":4421,"byte_end":4430,"line_start":136,"line_end":136,"column_start":40,"column_end":49,"is_primary":true,"text":[{"text":" async fn compute_conversion(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":40,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/analytics.rs","byte_start":4421,"byte_end":4430,"line_start":136,"line_end":136,"column_start":40,"column_end":49,"is_primary":true,"text":[{"text":" async fn compute_conversion(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":40,"highlight_end":49}],"label":null,"suggested_replacement":"_tenant_id","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `tenant_id`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/analytics.rs:136:40\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m136\u001b[0m \u001b[1m\u001b[94m|\u001b[0m async fn compute_conversion(&self, tenant_id: &str, period: &str) -> AnalyticsResult {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_tenant_id`\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused variable: `period`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/analytics.rs","byte_start":4438,"byte_end":4444,"line_start":136,"line_end":136,"column_start":57,"column_end":63,"is_primary":true,"text":[{"text":" async fn compute_conversion(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":57,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/analytics.rs","byte_start":4438,"byte_end":4444,"line_start":136,"line_end":136,"column_start":57,"column_end":63,"is_primary":true,"text":[{"text":" async fn compute_conversion(&self, tenant_id: &str, period: &str) -> AnalyticsResult {","highlight_start":57,"highlight_end":63}],"label":null,"suggested_replacement":"_period","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `period`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/analytics.rs:136:57\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m136\u001b[0m \u001b[1m\u001b[94m|\u001b[0m async fn compute_conversion(&self, tenant_id: &str, period: &str) -> AnalyticsResult {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_period`\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused variable: `tenant_id`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/reports.rs","byte_start":3367,"byte_end":3376,"line_start":85,"line_end":85,"column_start":48,"column_end":57,"is_primary":true,"text":[{"text":" async fn generate_financial_summary(&self, tenant_id: &str, params: &Value) -> Result {","highlight_start":48,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/reports.rs","byte_start":3367,"byte_end":3376,"line_start":85,"line_end":85,"column_start":48,"column_end":57,"is_primary":true,"text":[{"text":" async fn generate_financial_summary(&self, tenant_id: &str, params: &Value) -> Result {","highlight_start":48,"highlight_end":57}],"label":null,"suggested_replacement":"_tenant_id","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `tenant_id`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/reports.rs:85:48\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m85\u001b[0m \u001b[1m\u001b[94m|\u001b[0m async fn generate_financial_summary(&self, tenant_id: &str, params: &Value) -> Result {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_tenant_id`\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused variable: `tenant_id`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/reports.rs","byte_start":4815,"byte_end":4824,"line_start":117,"line_end":117,"column_start":45,"column_end":54,"is_primary":true,"text":[{"text":" async fn generate_sales_pipeline(&self, tenant_id: &str, params: &Value) -> Result {","highlight_start":45,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/reports.rs","byte_start":4815,"byte_end":4824,"line_start":117,"line_end":117,"column_start":45,"column_end":54,"is_primary":true,"text":[{"text":" async fn generate_sales_pipeline(&self, tenant_id: &str, params: &Value) -> Result {","highlight_start":45,"highlight_end":54}],"label":null,"suggested_replacement":"_tenant_id","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `tenant_id`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/reports.rs:117:45\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m117\u001b[0m \u001b[1m\u001b[94m|\u001b[0m async fn generate_sales_pipeline(&self, tenant_id: &str, params: &Value) -> Result {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_tenant_id`\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused variable: `tenant_id`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/reports.rs","byte_start":6166,"byte_end":6175,"line_start":148,"line_end":148,"column_start":49,"column_end":58,"is_primary":true,"text":[{"text":" async fn generate_customer_analytics(&self, tenant_id: &str, params: &Value) -> Result {","highlight_start":49,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/reports.rs","byte_start":6166,"byte_end":6175,"line_start":148,"line_end":148,"column_start":49,"column_end":58,"is_primary":true,"text":[{"text":" async fn generate_customer_analytics(&self, tenant_id: &str, params: &Value) -> Result {","highlight_start":49,"highlight_end":58}],"label":null,"suggested_replacement":"_tenant_id","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `tenant_id`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/reports.rs:148:49\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m148\u001b[0m \u001b[1m\u001b[94m|\u001b[0m async fn generate_customer_analytics(&self, tenant_id: &str, params: &Value) -> Result {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_tenant_id`\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused variable: `tenant_id`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/reports.rs","byte_start":7300,"byte_end":7309,"line_start":177,"line_end":177,"column_start":47,"column_end":56,"is_primary":true,"text":[{"text":" async fn generate_revenue_forecast(&self, tenant_id: &str, params: &Value) -> Result {","highlight_start":47,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/reports.rs","byte_start":7300,"byte_end":7309,"line_start":177,"line_end":177,"column_start":47,"column_end":56,"is_primary":true,"text":[{"text":" async fn generate_revenue_forecast(&self, tenant_id: &str, params: &Value) -> Result {","highlight_start":47,"highlight_end":56}],"label":null,"suggested_replacement":"_tenant_id","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `tenant_id`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/reports.rs:177:47\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m177\u001b[0m \u001b[1m\u001b[94m|\u001b[0m async fn generate_revenue_forecast(&self, tenant_id: &str, params: &Value) -> Result {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_tenant_id`\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused variable: `tenant_id`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/reports.rs","byte_start":8543,"byte_end":8552,"line_start":204,"line_end":204,"column_start":48,"column_end":57,"is_primary":true,"text":[{"text":" async fn generate_expense_breakdown(&self, tenant_id: &str, params: &Value) -> Result {","highlight_start":48,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/reports.rs","byte_start":8543,"byte_end":8552,"line_start":204,"line_end":204,"column_start":48,"column_end":57,"is_primary":true,"text":[{"text":" async fn generate_expense_breakdown(&self, tenant_id: &str, params: &Value) -> Result {","highlight_start":48,"highlight_end":57}],"label":null,"suggested_replacement":"_tenant_id","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `tenant_id`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/reports.rs:204:48\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m204\u001b[0m \u001b[1m\u001b[94m|\u001b[0m async fn generate_expense_breakdown(&self, tenant_id: &str, params: &Value) -> Result {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_tenant_id`\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unused variable: `tenant_id`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/reports.rs","byte_start":9626,"byte_end":9635,"line_start":226,"line_end":226,"column_start":50,"column_end":59,"is_primary":true,"text":[{"text":" async fn generate_cashflow_projection(&self, tenant_id: &str, params: &Value) -> Result {","highlight_start":50,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/reports.rs","byte_start":9626,"byte_end":9635,"line_start":226,"line_end":226,"column_start":50,"column_end":59,"is_primary":true,"text":[{"text":" async fn generate_cashflow_projection(&self, tenant_id: &str, params: &Value) -> Result {","highlight_start":50,"highlight_end":59}],"label":null,"suggested_replacement":"_tenant_id","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `tenant_id`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/reports.rs:226:50\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m226\u001b[0m \u001b[1m\u001b[94m|\u001b[0m async fn generate_cashflow_projection(&self, tenant_id: &str, params: &Value) -> Result {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_tenant_id`\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"method `batch_compute` is never used","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/analytics.rs","byte_start":310,"byte_end":330,"line_start":16,"line_end":16,"column_start":1,"column_end":21,"is_primary":false,"text":[{"text":"impl AnalyticsEngine {","highlight_start":1,"highlight_end":21}],"label":"method in this implementation","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/analytics.rs","byte_start":4857,"byte_end":4870,"line_start":149,"line_end":149,"column_start":12,"column_end":25,"is_primary":true,"text":[{"text":" pub fn batch_compute(&self, tenant_id: &str, metrics: &[(&str, &str)]) -> Vec {","highlight_start":12,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: method `batch_compute` is never used\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/analytics.rs:149:12\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m 16\u001b[0m \u001b[1m\u001b[94m|\u001b[0m impl AnalyticsEngine {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m--------------------\u001b[0m \u001b[1m\u001b[94mmethod in this implementation\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n\u001b[1m\u001b[94m149\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub fn batch_compute(&self, tenant_id: &str, metrics: &[(&str, &str)]) -> Vec {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default\n\n"} {"$message_type":"diagnostic","message":"fields `name` and `description` are never read","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/reports.rs","byte_start":179,"byte_end":193,"line_start":9,"line_end":9,"column_start":8,"column_end":22,"is_primary":false,"text":[{"text":"struct ReportTemplate {","highlight_start":8,"highlight_end":22}],"label":"fields in this struct","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/reports.rs","byte_start":200,"byte_end":204,"line_start":10,"line_end":10,"column_start":5,"column_end":9,"is_primary":true,"text":[{"text":" name: String,","highlight_start":5,"highlight_end":9}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/reports.rs","byte_start":218,"byte_end":229,"line_start":11,"line_end":11,"column_start":5,"column_end":16,"is_primary":true,"text":[{"text":" description: String,","highlight_start":5,"highlight_end":16}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: fields `name` and `description` are never read\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/reports.rs:10:5\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m 9\u001b[0m \u001b[1m\u001b[94m|\u001b[0m struct ReportTemplate {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m--------------\u001b[0m \u001b[1m\u001b[94mfields in this struct\u001b[0m\n\u001b[1m\u001b[94m10\u001b[0m \u001b[1m\u001b[94m|\u001b[0m name: String,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^\u001b[0m\n\u001b[1m\u001b[94m11\u001b[0m \u001b[1m\u001b[94m|\u001b[0m description: String,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"function `init_channel` is never used","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/ipc.rs","byte_start":215,"byte_end":227,"line_start":8,"line_end":8,"column_start":8,"column_end":20,"is_primary":true,"text":[{"text":"pub fn init_channel(name: &str) -> Result<(), String> {","highlight_start":8,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: function `init_channel` is never used\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/ipc.rs:8:8\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m8\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub fn init_channel(name: &str) -> Result<(), String> {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"27 warnings emitted","code":null,"level":"warning","spans":[],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: 27 warnings emitted\u001b[0m\n\n"}