warning: unused import: `info`
--> src/services/config.rs:6:22
|
6 | use tracing::{debug, info};
| ^^^^
|
= note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
warning: unused import: `Serialize`
--> src/services/jug0.rs:7:26
|
7 | use serde::{Deserialize, Serialize};
| ^^^^^^^^^
warning: unused import: `tokio::sync::mpsc::UnboundedSender`
--> src/services/jug0.rs:11:5
|
11 | use tokio::sync::mpsc::UnboundedSender;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `crate::services::agent_loader::AgentRegistry`
--> src/builtins/mod.rs:199:17
|
199 | use crate::services::agent_loader::AgentRegistry;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `crate::services::prompt_loader::PromptRegistry`
--> src/builtins/mod.rs:200:17
|
200 | use crate::services::prompt_loader::PromptRegistry;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `trace`
--> src/builtins/ai.rs:10:35
|
10 | use tracing::{debug, error, info, trace, warn};
| ^^^^^
warning: unused import: `std::io::Write`
--> src/registry/package.rs:11:5
|
11 | use std::io::Write;
| ^^^^^^^^^^^^^^
warning: unused import: `info`
--> src/runtime/python/mod.rs:15:22
|
15 | use tracing::{debug, info};
| ^^^^
warning: variable does not need to be mutable
--> src/core/executor.rs:262:13
|
262 | let mut rt = runtime
| ----^^
| |
| help: remove this `mut`
|
= note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
warning: variable does not need to be mutable
--> src/core/executor.rs:697:13
|
697 | let mut degrees = in_degrees.lock().unwrap();
| ----^^^^^^^
| |
| help: remove this `mut`
warning: unused variable: `workflow_base_dir`
--> src/builtins/mod.rs:193:13
|
193 | let workflow_base_dir = abs_workflow_path
| ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workflow_base_dir`
|
= note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
warning: variable does not need to be mutable
--> src/builtins/ai.rs:764:13
|
764 | let mut chat_messages_buffer = vec![json!({
| ----^^^^^^^^^^^^^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> src/builtins/ai.rs:770:13
|
770 | let mut active_session_id = if let Some(explicit_id) = params.get("chat_id") {
| ----^^^^^^^^^^^^^^^^^
| |
| help: remove this `mut`
warning: value assigned to `resolved_sys_prompt` is never read
--> src/builtins/ai.rs:901:43
|
901 | let mut resolved_sys_prompt = String::new();
| ^^^^^^^^^^^^^
|
= help: maybe it is overwritten before being read?
= note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
warning: fields `prompt_registry` and `agent_registry` are never read
--> src/builtins/mod.rs:55:5
|
50 | pub struct BuiltinRegistry {
| --------------- fields in this struct
...
55 | prompt_registry: Arc<PromptRegistry>,
| ^^^^^^^^^^^^^^^
56 | agent_registry: Arc<AgentRegistry>,
| ^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
warning: methods `try_execute_builtin`, `try_execute_mcp`, and `execute_local_tool` are never used
--> src/builtins/ai.rs:138:14
|
31 | impl Chat {
| --------- methods in this implementation
...
138 | async fn try_execute_builtin(
| ^^^^^^^^^^^^^^^^^^^
...
180 | async fn try_execute_mcp(&self, tool_name: &str, args_str: &str) -> Option<String> {
| ^^^^^^^^^^^^^^^
...
195 | async fn execute_local_tool(
| ^^^^^^^^^^^^^^^^^^
warning: field `max_workers` is never read
--> src/runtime/python/worker.rs:195:5
|
192 | pub struct PythonWorkerPool {
| ---------------- field in this struct
...
195 | max_workers: usize,
| ^^^^^^^^^^^
warning: `juglans` (lib) generated 17 warnings (run `cargo fix --lib -p juglans` to apply 13 suggestions)
warning: unused import: `crate::services::agent_loader::AgentRegistry`
--> src/builtins/mod.rs:199:17
|
199 | use crate::services::agent_loader::AgentRegistry;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
warning: unused imports: `PythonError`, `PythonRequest`, and `PythonResponse`
--> src/runtime/python/mod.rs:8:20
|
8 | pub use protocol::{PythonError, PythonRequest, PythonResponse};
| ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
warning: unused import: `PythonWorker`
--> src/runtime/python/mod.rs:9:18
|
9 | pub use worker::{PythonWorker, PythonWorkerPool};
| ^^^^^^^^^^^^
warning: unused imports: `PythonRuntime`, `PythonWorkerPool`, `get_python_ref`, and `is_python_ref`
--> src/runtime/mod.rs:7:18
|
7 | pub use python::{get_python_ref, is_python_ref, PythonRuntime, PythonWorkerPool};
| ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
warning: unused import: `info`
--> src/services/config.rs:6:22
|
6 | use tracing::{debug, info};
| ^^^^
warning: unused import: `render::render_markdown`
--> src/ui/mod.rs:9:9
|
9 | pub use render::render_markdown;
| ^^^^^^^^^^^^^^^^^^^^^^^
warning: variable does not need to be mutable
--> src/builtins/ai.rs:764:13
|
764 | let mut chat_messages_buffer = vec![json!({
| ----^^^^^^^^^^^^^^^^^^^^
| |
| help: remove this `mut`
|
= note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
warning: variable does not need to be mutable
--> src/core/executor.rs:262:13
|
262 | let mut rt = runtime
| ----^^
| |
| help: remove this `mut`
warning: function `send_webhook_rich` is never used
--> src/adapters/feishu.rs:359:14
|
359 | pub async fn send_webhook_rich(
| ^^^^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
warning: fields `prompt_registry` and `agent_registry` are never read
--> src/builtins/mod.rs:55:5
|
50 | pub struct BuiltinRegistry {
| --------------- fields in this struct
...
55 | prompt_registry: Arc<PromptRegistry>,
| ^^^^^^^^^^^^^^^
56 | agent_registry: Arc<AgentRegistry>,
| ^^^^^^^^^^^^^^
warning: methods `set_max_depth`, `get_execution_stack`, `get_execution_depth`, and `clear_trace` are never used
--> src/core/context.rs:92:12
|
76 | impl WorkflowContext {
| -------------------- methods in this implementation
...
92 | pub fn set_max_depth(&mut self, max_depth: usize) {
| ^^^^^^^^^^^^^
...
156 | pub fn get_execution_stack(&self) -> Result<Vec<String>> {
| ^^^^^^^^^^^^^^^^^^^
...
165 | pub fn get_execution_depth(&self) -> Result<usize> {
| ^^^^^^^^^^^^^^^^^^^
...
365 | pub fn clear_trace(&self) {
| ^^^^^^^^^^^
warning: methods `eval_as_bool` and `eval_as_array` are never used
--> src/core/expr_eval.rs:58:12
|
29 | impl ExprEvaluator {
| ------------------ methods in this implementation
...
58 | pub fn eval_as_bool<F>(&self, expr_str: &str, resolver: &F) -> Result<bool>
| ^^^^^^^^^^^^
...
67 | pub fn eval_as_array<F>(&self, expr_str: &str, resolver: &F) -> Result<Vec<Value>>
| ^^^^^^^^^^^^^
warning: variant `ExternalCall` is never constructed
--> src/core/graph.rs:27:5
|
13 | pub enum NodeType {
| -------- variant in this enum
...
27 | ExternalCall {
| ^^^^^^^^^^^^
|
= note: `NodeType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
warning: fields `license`, `compatibility`, `allowed_tools`, and `metadata` are never read
--> src/core/skill_parser.rs:16:9
|
13 | pub struct SkillFrontmatter {
| ---------------- fields in this struct
...
16 | pub license: Option<String>,
| ^^^^^^^
17 | pub compatibility: Option<String>,
| ^^^^^^^^^^^^^
18 | pub allowed_tools: Option<String>,
| ^^^^^^^^^^^^^
19 | pub metadata: HashMap<String, String>,
| ^^^^^^^^
|
= note: `SkillFrontmatter` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
warning: method `run` is never used
--> src/core/executor.rs:644:18
|
51 | impl WorkflowExecutor {
| --------------------- method in this implementation
...
644 | pub async fn run(
| ^^^
warning: associated function `with_dir` is never used
--> src/registry/cache.rs:27:12
|
16 | impl PackageCache {
| ----------------- associated function in this implementation
...
27 | pub fn with_dir(cache_dir: PathBuf) -> Result<Self> {
| ^^^^^^^^
warning: fields `name`, `slug`, `description`, `author`, and `license` are never read
--> src/registry/client.rs:13:9
|
12 | pub struct PackageResponse {
| --------------- fields in this struct
13 | pub name: String,
| ^^^^
14 | pub slug: String,
| ^^^^
15 | pub description: Option<String>,
| ^^^^^^^^^^^
16 | pub author: Option<String>,
| ^^^^^^
17 | pub license: Option<String>,
| ^^^^^^^
|
= note: `PackageResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
warning: fields `entry`, `checksum`, and `published_at` are never read
--> src/registry/client.rs:24:9
|
22 | pub struct VersionEntry {
| ------------ fields in this struct
23 | pub version: String,
24 | pub entry: Option<String>,
| ^^^^^
25 | pub checksum: Option<String>,
| ^^^^^^^^
26 | pub published_at: Option<String>,
| ^^^^^^^^^^^^
|
= note: `VersionEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
warning: associated items `new` and `ensure_installed` are never used
--> src/registry/installer.rs:33:12
|
32 | impl PackageInstaller {
| --------------------- associated items in this implementation
33 | pub fn new(client: RegistryClient, cache: PackageCache) -> Self {
| ^^^
...
100 | pub async fn ensure_installed(
| ^^^^^^^^^^^^^^^^
warning: method `get` is never used
--> src/registry/lock.rs:72:12
|
47 | impl LockFile {
| ------------- method in this implementation
...
72 | pub fn get(&self, name: &str) -> Option<&LockedPackage> {
| ^^^
warning: method `version` is never used
--> src/registry/package.rs:121:12
|
42 | impl PackageManifest {
| -------------------- method in this implementation
...
121 | pub fn version(&self) -> Result<semver::Version> {
| ^^^^^^^
warning: static `PYTHON_RUNTIME` is never used
--> src/runtime/python/mod.rs:18:8
|
18 | static PYTHON_RUNTIME: OnceLock<Arc<PythonRuntime>> = OnceLock::new();
| ^^^^^^^^^^^^^^
warning: associated items `init_global`, `global`, `is_module_imported`, and `call_method` are never used
--> src/runtime/python/mod.rs:42:12
|
30 | impl PythonRuntime {
| ------------------ associated items in this implementation
...
42 | pub fn init_global(max_workers: usize) -> Result<Arc<PythonRuntime>> {
| ^^^^^^^^^^^
...
51 | pub fn global() -> Option<Arc<PythonRuntime>> {
| ^^^^^^
...
79 | pub fn is_module_imported(&self, module: &str) -> bool {
| ^^^^^^^^^^^^^^^^^^
...
194 | pub fn call_method(
| ^^^^^^^^^^^
warning: function `is_python_ref` is never used
--> src/runtime/python/mod.rs:233:8
|
233 | pub fn is_python_ref(value: &Value) -> bool {
| ^^^^^^^^^^^^^
warning: function `get_python_ref` is never used
--> src/runtime/python/mod.rs:238:8
|
238 | pub fn get_python_ref(value: &Value) -> Option<&str> {
| ^^^^^^^^^^^^^^
warning: variant `Getattr` is never constructed
--> src/runtime/python/protocol.rs:22:5
|
12 | pub enum PythonRequest {
| ------------- variant in this enum
...
22 | Getattr {
| ^^^^^^^
|
= note: `PythonRequest` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
warning: method `id` is never used
--> src/runtime/python/protocol.rs:54:12
|
33 | impl PythonRequest {
| ------------------ method in this implementation
...
54 | pub fn id(&self) -> &str {
| ^^
warning: field `id` is never read
--> src/runtime/python/protocol.rs:76:9
|
75 | pub struct PythonResponse {
| -------------- field in this struct
76 | pub id: String,
| ^^
|
= note: `PythonResponse` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
warning: methods `into_value` and `get_ref` are never used
--> src/runtime/python/protocol.rs:92:12
|
85 | impl PythonResponse {
| ------------------- methods in this implementation
...
92 | pub fn into_value(self) -> Option<Value> {
| ^^^^^^^^^^
...
101 | pub fn get_ref(&self) -> Option<&str> {
| ^^^^^^^
warning: method `worker_count` is never used
--> src/runtime/python/worker.rs:245:12
|
198 | impl PythonWorkerPool {
| --------------------- method in this implementation
...
245 | pub fn worker_count(&self) -> usize {
| ^^^^^^^^^^^^
warning: methods `contains`, `list_slugs`, and `clear` are never used
--> src/services/tool_registry.rs:45:12
|
14 | impl ToolRegistry {
| ----------------- methods in this implementation
...
45 | pub fn contains(&self, slug: &str) -> bool {
| ^^^^^^^^
...
50 | pub fn list_slugs(&self) -> Vec<String> {
| ^^^^^^^^^^
...
118 | pub fn clear(&mut self) {
| ^^^^^
warning: fields `calls` and `chat_id` are never read
--> src/services/jug0.rs:27:17
|
27 | ToolCalls { calls: Vec<Value>, chat_id: String },
| --------- ^^^^^ ^^^^^^^
| |
| fields in this variant
|
= note: `ChatOutput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
warning: field `handle` is never read
--> src/services/jug0.rs:61:9
|
60 | pub struct HandleLookup {
| ------------ field in this struct
61 | pub handle: String,
| ^^^^^^
|
= note: `HandleLookup` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
warning: fields `id`, `description`, `username`, and `avatar` are never read
--> src/services/jug0.rs:69:9
|
68 | pub struct RemoteAgentDetail {
| ----------------- fields in this struct
69 | pub id: Uuid,
| ^^
...
72 | pub description: Option<String>,
| ^^^^^^^^^^^
...
75 | pub username: Option<String>,
| ^^^^^^^^
76 | pub avatar: Option<String>,
| ^^^^^^
|
= note: `RemoteAgentDetail` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
warning: fields `id` and `slug` are never read
--> src/services/jug0.rs:83:9
|
82 | pub struct RemotePromptDetail {
| ------------------ fields in this struct
83 | pub id: Uuid,
| ^^
84 | pub slug: String,
| ^^^^
|
= note: `RemotePromptDetail` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
warning: fields `model`, `stream`, and `memory` are never read
--> src/services/web_server.rs:144:9
|
138 | pub struct ChatRequest {
| ----------- fields in this struct
...
144 | pub model: Option<String>,
| ^^^^^
145 | pub tools: Option<Vec<Value>>,
146 | pub stream: Option<bool>,
| ^^^^^^
147 | pub memory: Option<bool>,
| ^^^^^^
|
= note: `ChatRequest` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
warning: field `model` is never read
--> src/services/web_server.rs:163:9
|
160 | pub struct AgentConfigInput {
| ---------------- field in this struct
...
163 | pub model: Option<String>,
| ^^^^^
|
= note: `AgentConfigInput` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
warning: fields `data` and `tool_call_id` are never read
--> src/services/web_server.rs:174:9
|
169 | pub struct MessagePart {
| ----------- fields in this struct
...
174 | pub data: Option<Value>,
| ^^^^
175 | pub tool_call_id: Option<String>,
| ^^^^^^^^^^^^
|
= note: `MessagePart` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
warning: method `total_duration` is never used
--> src/testing/mod.rs:68:12
|
59 | impl FileTestResult {
| ------------------- method in this implementation
...
68 | pub fn total_duration(&self) -> Duration {
| ^^^^^^^^^^^^^^
warning: associated function `is_test_file` is never used
--> src/testing/mod.rs:362:12
|
80 | impl TestRunner {
| --------------- associated function in this implementation
...
362 | pub fn is_test_file(path: &Path) -> bool {
| ^^^^^^^^^^^^
warning: function `show_status` is never used
--> src/ui/render.rs:24:8
|
24 | pub fn show_status(chat_id: Option<&str>, status: &str, depth: usize) {
| ^^^^^^^^^^^
warning: field `id` is never read
--> src/ui/tui/claude_code.rs:20:20
|
20 | ToolUseStart { id: String, name: String },
| ------------ ^^
| |
| field in this variant
|
= note: `ClaudeEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
warning: field `index` is never read
--> src/ui/tui/claude_code.rs:24:24
|
24 | ContentBlockStop { index: u32 },
| ---------------- ^^^^^
| |
| field in this variant
|
= note: `ClaudeEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
warning: field `duration_ms` is never read
--> src/ui/tui/claude_code.rs:32:9
|
30 | Result {
| ------ field in this variant
31 | cost_usd: f64,
32 | duration_ms: u64,
| ^^^^^^^^^^^
|
= note: `ClaudeEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
warning: fields `tool_name` and `input` are never read
--> src/ui/tui/claude_code.rs:40:9
|
38 | PermissionRequest {
| ----------------- fields in this variant
39 | request_id: String,
40 | tool_name: String,
| ^^^^^^^^^
41 | input: serde_json::Value,
| ^^^^^
|
= note: `ClaudeEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
warning: field `success` is never read
--> src/ui/tui/claude_code.rs:45:9
|
44 | ProcessExited {
| ------------- field in this variant
45 | success: bool,
| ^^^^^^^
|
= note: `ClaudeEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
warning: variant `PermissionRequest` is never constructed
--> src/ui/tui/dialog.rs:20:5
|
13 | pub enum Dialog {
| ------ variant in this enum
...
20 | PermissionRequest {
| ^^^^^^^^^^^^^^^^^
|
= note: `Dialog` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
warning: fields `0` and `1` are never read
--> src/ui/tui/event.rs:12:12
|
12 | Resize(u16, u16),
| ------ ^^^ ^^^
| |
| fields in this variant
|
= note: `AppEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
|
12 - Resize(u16, u16),
12 + Resize((), ()),
|
warning: fields `tick_counter` and `request_start` are never read
--> src/ui/tui/messages.rs:197:9
|
191 | pub struct MessagesWidget<'a> {
| -------------- fields in this struct
...
197 | pub tick_counter: u32,
| ^^^^^^^^^^^^
198 | pub request_start: Option<Instant>,
| ^^^^^^^^^^^^^
warning: fields `border_focused`, `user_msg`, and `assistant_msg` are never read
--> src/ui/tui/theme.rs:9:9
|
4 | pub struct Theme {
| ----- fields in this struct
...
9 | pub border_focused: Color,
| ^^^^^^^^^^^^^^
10 | pub user_msg: Color,
| ^^^^^^^^
11 | pub assistant_msg: Color,
| ^^^^^^^^^^^^^
|
= note: `Theme` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
--> src/adapters/feishu.rs:187:5
|
187 | drop(bot_config);
| ^^^^^----------^
| |
| argument has type `&FeishuBotConfig`
|
= note: `#[warn(dropping_references)]` on by default
help: use `let _ = ...` to ignore the expression or result
|
187 - drop(bot_config);
187 + let _ = bot_config;
|
warning: `juglans` (bin "juglans") generated 63 warnings (12 duplicates) (run `cargo fix --bin "juglans" -p juglans` to apply 8 suggestions)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.23s
Running `target/debug/juglans chat`