[INFO] fetching crate command-vault 0.3.0... [INFO] checking command-vault-0.3.0 against try#66388cc165a6c4ac98c074dc9f0281ff23528c55 for pr-150727 [INFO] extracting crate command-vault 0.3.0 into /workspace/builds/worker-5-tc2/source [INFO] started tweaking crates.io crate command-vault 0.3.0 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate command-vault 0.3.0 [INFO] tweaked toml for crates.io crate command-vault 0.3.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate command-vault 0.3.0 on toolchain 66388cc165a6c4ac98c074dc9f0281ff23528c55 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate command-vault 0.3.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2f2e34ba831f980d2f8d3032c0951b8fc0e46766e9b723edd2a173008744888d [INFO] running `Command { std: "docker" "start" "-a" "2f2e34ba831f980d2f8d3032c0951b8fc0e46766e9b723edd2a173008744888d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2f2e34ba831f980d2f8d3032c0951b8fc0e46766e9b723edd2a173008744888d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2f2e34ba831f980d2f8d3032c0951b8fc0e46766e9b723edd2a173008744888d", kill_on_drop: false }` [INFO] [stdout] 2f2e34ba831f980d2f8d3032c0951b8fc0e46766e9b723edd2a173008744888d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ce9cbaa0765b14f5c8ed88136fec07a922986473e099b7cbea26c56ec95b2ede [INFO] running `Command { std: "docker" "start" "-a" "ce9cbaa0765b14f5c8ed88136fec07a922986473e099b7cbea26c56ec95b2ede", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.90 [INFO] [stderr] Compiling rustversion v1.0.18 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Compiling cc v1.2.3 [INFO] [stderr] Compiling rustix v0.38.42 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking ahash v0.8.11 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Checking foldhash v0.1.3 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling serde_json v1.0.133 [INFO] [stderr] Compiling anyhow v1.0.94 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking itertools v0.11.0 [INFO] [stderr] Checking hashbrown v0.15.2 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking clap_builder v4.5.23 [INFO] [stderr] Checking console v0.15.8 [INFO] [stderr] Checking fuzzy-matcher v0.3.7 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Checking iana-time-zone v0.1.61 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Compiling indoc v2.0.5 [INFO] [stderr] Checking fallible-iterator v0.3.0 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Checking crossterm v0.27.0 [INFO] [stderr] Checking dirs v5.0.1 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking shell-escape v0.1.5 [INFO] [stderr] Checking hashlink v0.8.4 [INFO] [stderr] Checking dashmap v5.5.3 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Compiling libsqlite3-sys v0.27.0 [INFO] [stderr] Checking lru v0.12.5 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking tempfile v3.14.0 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Compiling serde_derive v1.0.216 [INFO] [stderr] Compiling strum_macros v0.25.3 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling clap_derive v4.5.18 [INFO] [stderr] Compiling serial_test_derive v2.0.0 [INFO] [stderr] Compiling ctor v0.2.9 [INFO] [stderr] Checking serial_test v2.0.0 [INFO] [stderr] Checking strum v0.25.0 [INFO] [stderr] Checking ratatui v0.24.0 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking dialoguer v0.11.0 [INFO] [stderr] Checking clap v4.5.23 [INFO] [stderr] Checking serde v1.0.216 [INFO] [stderr] Checking chrono v0.4.39 [INFO] [stderr] Checking rusqlite v0.30.0 [INFO] [stderr] Checking command-vault v0.3.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/exec/mod.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/exec/mod.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/exec/mod.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/exec/mod.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `command_id` [INFO] [stdout] --> src/ui/app.rs:234:45 [INFO] [stdout] | [INFO] [stdout] 234 | ... if let Some(command_id) = self.commands[filtered_idx].id { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `final_command` is never read [INFO] [stdout] --> src/utils/params.rs:99:33 [INFO] [stdout] | [INFO] [stdout] 99 | let mut final_command = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `command_id` [INFO] [stdout] --> src/ui/app.rs:234:45 [INFO] [stdout] | [INFO] [stdout] 234 | ... if let Some(command_id) = self.commands[filtered_idx].id { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `final_command` is never read [INFO] [stdout] --> src/utils/params.rs:99:33 [INFO] [stdout] | [INFO] [stdout] 99 | let mut final_command = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] thread 'rustc' (895) panicked at /rustc-dev/66388cc165a6c4ac98c074dc9f0281ff23528c55/compiler/rustc_ast/src/attr/mod.rs:302:36: [INFO] [stderr] attribute is missing tokens: Attribute { kind: Normal(NormalAttr { item: AttrItem { unsafety: Default, path: Path { span: tests/shell_test.rs:10:1: 10:8 (#7), segments: [PathSegment { ident: #7, id: NodeId(4294967040), args: None }], tokens: None }, args: Unparsed(Empty), tokens: None }, tokens: None }), id: AttrId(17), style: Outer, span: tests/shell_test.rs:10:1: 10:8 (#7) } [INFO] [stderr] stack backtrace: [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> tests/db_test.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 0: 0x7c6306c2bfa3 - <::print::DisplayBacktrace as core[75ca2badb63c4514]::fmt::Display>::fmt [INFO] [stdout] warning: unused import: `Database` [INFO] [stdout] --> tests/ui_test.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | db::{Command, Database}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 1: 0x7c630720fb48 - core[75ca2badb63c4514]::fmt::write [INFO] [stderr] 2: 0x7c6306c42226 - ::write_fmt [INFO] [stderr] 3: 0x7c6306c01b98 - std[7d609349af90bec6]::panicking::default_hook::{closure#0} [INFO] [stderr] 4: 0x7c6306c1f833 - std[7d609349af90bec6]::panicking::default_hook [INFO] [stderr] 5: 0x7c6305c0236a - std[7d609349af90bec6]::panicking::update_hook::>::{closure#0} [INFO] [stderr] 6: 0x7c6306c1fb12 - std[7d609349af90bec6]::panicking::panic_with_hook [INFO] [stderr] 7: 0x7c6306c01c58 - std[7d609349af90bec6]::panicking::panic_handler::{closure#0} [INFO] [stderr] 8: 0x7c6306bf89a9 - std[7d609349af90bec6]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stderr] 9: 0x7c6306c0372d - __rustc[69841a6cbc58d81d]::rust_begin_unwind [INFO] [stderr] 10: 0x7c6303838f9c - core[75ca2badb63c4514]::panicking::panic_fmt [INFO] [stderr] 11: 0x7c6307fe0110 - ::token_trees [INFO] [stderr] 12: 0x7c630881c314 - ::fully_expand_fragment [INFO] [stderr] 13: 0x7c63087e65d2 - ::expand_crate [INFO] [stderr] 14: 0x7c63078f0af3 - rustc_interface[903e43df8d6bd657]::passes::configure_and_expand [INFO] [stderr] 15: 0x7c6308407658 - rustc_interface[903e43df8d6bd657]::passes::resolver_for_lowering_raw [INFO] [stderr] 16: 0x7c63084073cd - rustc_query_impl[8c5349e00d64015e]::plumbing::__rust_begin_short_backtrace::> [INFO] [stderr] 17: 0x7c63084073a7 - >::call_once [INFO] [stderr] 18: 0x7c63083ecb5f - rustc_query_system[d45be4fb383a0235]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[8c5349e00d64015e]::plumbing::QueryCtxt, false> [INFO] [stderr] 19: 0x7c63083ec6bc - rustc_query_impl[8c5349e00d64015e]::query_impl::resolver_for_lowering_raw::get_query_non_incr::__rust_end_short_backtrace [INFO] [stderr] 20: 0x7c630857127b - , rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core[75ca2badb63c4514]::ops::function::FnOnce<(&rustc_session[1e6875ba352dc1ba]::session::Session, rustc_middle[2342951a64deba5]::ty::context::CurrentGcx, alloc[d7482eb0f1d19161]::sync::Arc, &std[7d609349af90bec6]::sync::once_lock::OnceLock, &rustc_data_structures[c82a87ce5cdbfc92]::sync::worker_local::WorkerLocal, &rustc_data_structures[c82a87ce5cdbfc92]::sync::worker_local::WorkerLocal, rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0} [INFO] [stderr] 21: 0x7c630845ac98 - rustc_interface[903e43df8d6bd657]::interface::run_compiler::<(), rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}>::{closure#1} [INFO] [stderr] 22: 0x7c63082eac4e - std[7d609349af90bec6]::sys::backtrace::__rust_begin_short_backtrace::::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()> [INFO] [stderr] 23: 0x7c63082eaa20 - ::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[75ca2badb63c4514]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stderr] 24: 0x7c63082ed138 - ::new::thread_start [INFO] [stderr] 25: 0x7c6301e8aaa4 - [INFO] [stderr] 26: 0x7c6301f17a64 - clone [INFO] [stderr] 27: 0x0 - [INFO] [stderr] [INFO] [stderr] error: the compiler unexpectedly panicked. this is a bug. [INFO] [stderr] [INFO] [stderr] note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md [INFO] [stderr] [INFO] [stderr] note: please make sure that you have updated to the latest nightly [INFO] [stderr] [INFO] [stderr] warning: the ICE couldn't be written to `/opt/rustwide/workdir/rustc-ice-2026-01-08T17_56_15-872.txt`: Read-only file system (os error 30) [INFO] [stderr] [INFO] [stderr] note: rustc 1.94.0-nightly (66388cc16 2026-01-08) running on x86_64-unknown-linux-gnu [INFO] [stderr] [INFO] [stderr] note: compiler flags: -C embed-bitcode=no -C debuginfo=2 [INFO] [stderr] [INFO] [stderr] note: some of the compiler flags provided by cargo are hidden [INFO] [stderr] [INFO] [stderr] query stack during panic: [INFO] [stderr] #0 [resolver_for_lowering_raw] getting the resolver for lowering [INFO] [stderr] end of query stack [INFO] [stderr] error: could not compile `command-vault` (test "shell_test") [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/66388cc165a6c4ac98c074dc9f0281ff23528c55/bin/rustc --crate-name shell_test --edition=2021 tests/shell_test.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=7a70610a0bdf14f0 -C extra-filename=-4e155177d77187e9 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern anyhow=/opt/rustwide/target/debug/deps/libanyhow-5f72fc54f9d6bd38.rmeta --extern atty=/opt/rustwide/target/debug/deps/libatty-7789ff1575c7caf9.rmeta --extern chrono=/opt/rustwide/target/debug/deps/libchrono-04a6b510ac7c0fa6.rmeta --extern clap=/opt/rustwide/target/debug/deps/libclap-48081641259dd096.rmeta --extern colored=/opt/rustwide/target/debug/deps/libcolored-6e81ee6df29e140f.rmeta --extern command_vault=/opt/rustwide/target/debug/deps/libcommand_vault-c7a4b30caddc930f.rmeta --extern crossterm=/opt/rustwide/target/debug/deps/libcrossterm-22e3249583fd054f.rmeta --extern ctor=/opt/rustwide/target/debug/deps/libctor-54102835eb613cd5.so --extern dialoguer=/opt/rustwide/target/debug/deps/libdialoguer-b2203e1344d34d20.rmeta --extern dirs=/opt/rustwide/target/debug/deps/libdirs-7b24a8d496601db6.rmeta --extern ratatui=/opt/rustwide/target/debug/deps/libratatui-0f2f85054bd40b52.rmeta --extern regex=/opt/rustwide/target/debug/deps/libregex-5283b3525d11c903.rmeta --extern rusqlite=/opt/rustwide/target/debug/deps/librusqlite-7c6cd77d7bd6210c.rmeta --extern serde=/opt/rustwide/target/debug/deps/libserde-2f6200ce682ea395.rmeta --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-15678afc985dcd0c.rmeta --extern serial_test=/opt/rustwide/target/debug/deps/libserial_test-342ee0b93413eb47.rmeta --extern shell_escape=/opt/rustwide/target/debug/deps/libshell_escape-7a463754c64c2b4c.rmeta --extern tempfile=/opt/rustwide/target/debug/deps/libtempfile-0a2f9e7300035870.rmeta --cap-lints=forbid -L native=/opt/rustwide/target/debug/build/libsqlite3-sys-f3ec260f77ba277b/out` (exit status: 101) [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/exec/mod.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/exec/mod.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Cursor` [INFO] [stdout] --> tests/exec_test.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::io::Cursor; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/ui_test.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | let mut app = App::new(commands.clone(), &mut db, true); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `db` [INFO] [stdout] --> tests/db_test.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | let db = Database::new(db_path.to_str().unwrap())?; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_db` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/ui_test.rs:241:9 [INFO] [stdout] | [INFO] [stdout] 241 | let mut app = App::new(commands.clone(), &mut db, false); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dir_path` [INFO] [stdout] --> tests/exec_test.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | let dir_path = temp_path.canonicalize()?.to_string_lossy().to_string(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dir_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/exec/mod.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/exec/mod.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `command_id` [INFO] [stdout] --> src/ui/app.rs:234:45 [INFO] [stdout] | [INFO] [stdout] 234 | ... if let Some(command_id) = self.commands[filtered_idx].id { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `command_id` [INFO] [stdout] --> src/ui/app.rs:234:45 [INFO] [stdout] | [INFO] [stdout] 234 | ... if let Some(command_id) = self.commands[filtered_idx].id { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `final_command` is never read [INFO] [stdout] --> src/utils/params.rs:99:33 [INFO] [stdout] | [INFO] [stdout] 99 | let mut final_command = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_commands` is never used [INFO] [stdout] --> src/cli/commands.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn print_commands(commands: &[Command]) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_commands_ui` is never used [INFO] [stdout] --> src/cli/commands.rs:60:4 [INFO] [stdout] | [INFO] [stdout] 60 | fn print_commands_ui(terminal: &mut Terminal>, commands: &[Command]) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `setup_terminal` is never used [INFO] [stdout] --> src/cli/commands.rs:101:4 [INFO] [stdout] | [INFO] [stdout] 101 | fn setup_terminal() -> Result>> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `restore_terminal` is never used [INFO] [stdout] --> src/cli/commands.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | fn restore_terminal(terminal: &mut Terminal>) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_command` is never used [INFO] [stdout] --> src/cli/commands.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn handle_command(command: Commands, db: &mut Database, debug: bool) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Command` is never constructed [INFO] [stdout] --> src/db/models.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct Command { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parameter` is never constructed [INFO] [stdout] --> src/db/models.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | pub struct Parameter { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `with_description` are never used [INFO] [stdout] --> src/db/models.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl Parameter { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 74 | pub fn new(name: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn with_description(name: String, description: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Database` is never constructed [INFO] [stdout] --> src/db/store.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct Database { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `final_command` is never read [INFO] [stdout] --> src/utils/params.rs:99:33 [INFO] [stdout] | [INFO] [stdout] 99 | let mut final_command = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/db/store.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Database { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn new(path: &str) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn init(&self) -> Result<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn add_command(&mut self, command: &Command) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn add_tags_to_command(&mut self, command_id: i64, tags: &[String]) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | pub fn remove_tag_from_command(&mut self, command_id: i64, tag_name: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn search_commands(&self, query: &str, limit: usize) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | pub fn search_by_tag(&self, tag: &str, limit: usize) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 338 | pub fn list_tags(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | pub fn list_commands(&self, limit: usize, ascending: bool) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 424 | pub fn get_command(&self, id: i64) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 477 | pub fn update_command(&mut self, command: &Command) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 541 | pub fn delete_command(&mut self, command_id: i64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_shell_integration_dir` is never used [INFO] [stdout] --> src/shell/hooks.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn get_shell_integration_dir() -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_zsh_integration_path` is never used [INFO] [stdout] --> src/shell/hooks.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn get_zsh_integration_path() -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_bash_integration_path` is never used [INFO] [stdout] --> src/shell/hooks.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn get_bash_integration_path() -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_fish_integration_path` is never used [INFO] [stdout] --> src/shell/hooks.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn get_fish_integration_path() -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_current_shell` is never used [INFO] [stdout] --> src/shell/hooks.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn detect_current_shell() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_shell_integration_script` is never used [INFO] [stdout] --> src/shell/hooks.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn get_shell_integration_script(shell: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_shell` is never used [INFO] [stdout] --> src/shell/hooks.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn init_shell(shell_override: Option) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `App` is never constructed [INFO] [stdout] --> src/ui/app.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct App<'a> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `run`, `run_app`, `update_filtered_commands`, and `ui` are never used [INFO] [stdout] --> src/ui/app.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl<'a> App<'a> { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 34 | pub fn new(commands: Vec, db: &'a mut Database, debug_mode: bool) -> App<'a> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn run(&mut self) -> Result<()> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | fn run_app(&mut self, terminal: &mut Terminal>) -> Result<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | pub fn update_filtered_commands(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | fn ui(&mut self, f: &mut ratatui::Frame) { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `centered_rect` is never used [INFO] [stdout] --> src/ui/app.rs:480:4 [INFO] [stdout] | [INFO] [stdout] 480 | fn centered_rect(percent_x: u16, percent_y: u16, r: Rect) -> Rect { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `setup_terminal` is never used [INFO] [stdout] --> src/ui/app.rs:492:4 [INFO] [stdout] | [INFO] [stdout] 492 | fn setup_terminal() -> Result>> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `restore_terminal` is never used [INFO] [stdout] --> src/ui/app.rs:502:4 [INFO] [stdout] | [INFO] [stdout] 502 | fn restore_terminal(terminal: &mut Terminal>) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `copy_to_clipboard` is never used [INFO] [stdout] --> src/ui/app.rs:510:4 [INFO] [stdout] | [INFO] [stdout] 510 | fn copy_to_clipboard(text: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `CommandResult` is never used [INFO] [stdout] --> src/ui/add.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub type CommandResult = Option<(String, Vec, Option)>; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AddCommandApp` is never constructed [INFO] [stdout] --> src/ui/add.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct AddCommandApp { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `InputMode` is never used [INFO] [stdout] --> src/ui/add.rs:40:10 [INFO] [stdout] | [INFO] [stdout] 40 | pub enum InputMode { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/ui/add.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl AddCommandApp { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 49 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn run(&mut self) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | fn run_app(&mut self, terminal: &mut Terminal>) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub fn set_command(&mut self, command: String) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | pub fn set_tags(&mut self, tags: Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | fn ui(&self, f: &mut ratatui::Frame) { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 324 | fn suggest_tags(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 355 | pub fn handle_key_event(&mut self, key: KeyEvent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `setup_terminal` is never used [INFO] [stdout] --> src/ui/add.rs:420:4 [INFO] [stdout] | [INFO] [stdout] 420 | fn setup_terminal() -> Result>> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `restore_terminal` is never used [INFO] [stdout] --> src/ui/add.rs:430:4 [INFO] [stdout] | [INFO] [stdout] 430 | fn restore_terminal(terminal: &mut Terminal>) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `centered_rect` is never used [INFO] [stdout] --> src/ui/add.rs:437:4 [INFO] [stdout] | [INFO] [stdout] 437 | fn centered_rect(percent_x: u16, percent_y: u16, r: Rect) -> Rect { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_datetime` is never used [INFO] [stdout] --> src/utils/time.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn parse_datetime(s: &str) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_parameters` is never used [INFO] [stdout] --> src/utils/params.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn parse_parameters(command: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `substitute_parameters` is never used [INFO] [stdout] --> src/utils/params.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn substitute_parameters(command: &str, parameters: &[Parameter], test_input: Option<&str>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prompt_parameters` is never used [INFO] [stdout] --> src/utils/params.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn prompt_parameters(command: &str, parameters: &[Parameter], test_input: Option<&str>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExecutionContext` is never constructed [INFO] [stdout] --> src/exec/mod.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct ExecutionContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `wrap_command` is never used [INFO] [stdout] --> src/exec/mod.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn wrap_command(command: &str, test_mode: bool) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_path_traversal_attempt` is never used [INFO] [stdout] --> src/exec/mod.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn is_path_traversal_attempt(command: &str, working_dir: &Path) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_shell_command` is never used [INFO] [stdout] --> src/exec/mod.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn execute_shell_command(ctx: &ExecutionContext) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_command` is never used [INFO] [stdout] --> src/exec/mod.rs:135:8 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn execute_command(command: &Command) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_commands` is never used [INFO] [stdout] --> src/cli/commands.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn print_commands(commands: &[Command]) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_commands_ui` is never used [INFO] [stdout] --> src/cli/commands.rs:60:4 [INFO] [stdout] | [INFO] [stdout] 60 | fn print_commands_ui(terminal: &mut Terminal>, commands: &[Command]) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `setup_terminal` is never used [INFO] [stdout] --> src/cli/commands.rs:101:4 [INFO] [stdout] | [INFO] [stdout] 101 | fn setup_terminal() -> Result>> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `restore_terminal` is never used [INFO] [stdout] --> src/cli/commands.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | fn restore_terminal(terminal: &mut Terminal>) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_command` is never used [INFO] [stdout] --> src/cli/commands.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn handle_command(command: Commands, db: &mut Database, debug: bool) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Command` is never constructed [INFO] [stdout] --> src/db/models.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct Command { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parameter` is never constructed [INFO] [stdout] --> src/db/models.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | pub struct Parameter { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `with_description` are never used [INFO] [stdout] --> src/db/models.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl Parameter { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 74 | pub fn new(name: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn with_description(name: String, description: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Database` is never constructed [INFO] [stdout] --> src/db/store.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct Database { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/db/store.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Database { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn new(path: &str) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn init(&self) -> Result<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn add_command(&mut self, command: &Command) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn add_tags_to_command(&mut self, command_id: i64, tags: &[String]) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | pub fn remove_tag_from_command(&mut self, command_id: i64, tag_name: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn search_commands(&self, query: &str, limit: usize) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | pub fn search_by_tag(&self, tag: &str, limit: usize) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 338 | pub fn list_tags(&self) -> Result> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | pub fn list_commands(&self, limit: usize, ascending: bool) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 424 | pub fn get_command(&self, id: i64) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 477 | pub fn update_command(&mut self, command: &Command) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 541 | pub fn delete_command(&mut self, command_id: i64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_shell_integration_dir` is never used [INFO] [stdout] --> src/shell/hooks.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn get_shell_integration_dir() -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_zsh_integration_path` is never used [INFO] [stdout] --> src/shell/hooks.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn get_zsh_integration_path() -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_bash_integration_path` is never used [INFO] [stdout] --> src/shell/hooks.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn get_bash_integration_path() -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_fish_integration_path` is never used [INFO] [stdout] --> src/shell/hooks.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn get_fish_integration_path() -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_current_shell` is never used [INFO] [stdout] --> src/shell/hooks.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn detect_current_shell() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_shell_integration_script` is never used [INFO] [stdout] --> src/shell/hooks.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn get_shell_integration_script(shell: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_shell` is never used [INFO] [stdout] --> src/shell/hooks.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn init_shell(shell_override: Option) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `App` is never constructed [INFO] [stdout] --> src/ui/app.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct App<'a> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `run`, `run_app`, `update_filtered_commands`, and `ui` are never used [INFO] [stdout] --> src/ui/app.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl<'a> App<'a> { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 34 | pub fn new(commands: Vec, db: &'a mut Database, debug_mode: bool) -> App<'a> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn run(&mut self) -> Result<()> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | fn run_app(&mut self, terminal: &mut Terminal>) -> Result<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | pub fn update_filtered_commands(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | fn ui(&mut self, f: &mut ratatui::Frame) { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `centered_rect` is never used [INFO] [stdout] --> src/ui/app.rs:480:4 [INFO] [stdout] | [INFO] [stdout] 480 | fn centered_rect(percent_x: u16, percent_y: u16, r: Rect) -> Rect { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `setup_terminal` is never used [INFO] [stdout] --> src/ui/app.rs:492:4 [INFO] [stdout] | [INFO] [stdout] 492 | fn setup_terminal() -> Result>> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `restore_terminal` is never used [INFO] [stdout] --> src/ui/app.rs:502:4 [INFO] [stdout] | [INFO] [stdout] 502 | fn restore_terminal(terminal: &mut Terminal>) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `copy_to_clipboard` is never used [INFO] [stdout] --> src/ui/app.rs:510:4 [INFO] [stdout] | [INFO] [stdout] 510 | fn copy_to_clipboard(text: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `CommandResult` is never used [INFO] [stdout] --> src/ui/add.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub type CommandResult = Option<(String, Vec, Option)>; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AddCommandApp` is never constructed [INFO] [stdout] --> src/ui/add.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct AddCommandApp { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `InputMode` is never used [INFO] [stdout] --> src/ui/add.rs:40:10 [INFO] [stdout] | [INFO] [stdout] 40 | pub enum InputMode { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/ui/add.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl AddCommandApp { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 49 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn run(&mut self) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | fn run_app(&mut self, terminal: &mut Terminal>) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub fn set_command(&mut self, command: String) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | pub fn set_tags(&mut self, tags: Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | fn ui(&self, f: &mut ratatui::Frame) { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 324 | fn suggest_tags(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 355 | pub fn handle_key_event(&mut self, key: KeyEvent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `setup_terminal` is never used [INFO] [stdout] --> src/ui/add.rs:420:4 [INFO] [stdout] | [INFO] [stdout] 420 | fn setup_terminal() -> Result>> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `restore_terminal` is never used [INFO] [stdout] --> src/ui/add.rs:430:4 [INFO] [stdout] | [INFO] [stdout] 430 | fn restore_terminal(terminal: &mut Terminal>) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `centered_rect` is never used [INFO] [stdout] --> src/ui/add.rs:437:4 [INFO] [stdout] | [INFO] [stdout] 437 | fn centered_rect(percent_x: u16, percent_y: u16, r: Rect) -> Rect { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_datetime` is never used [INFO] [stdout] --> src/utils/time.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn parse_datetime(s: &str) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_parameters` is never used [INFO] [stdout] --> src/utils/params.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn parse_parameters(command: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `substitute_parameters` is never used [INFO] [stdout] --> src/utils/params.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn substitute_parameters(command: &str, parameters: &[Parameter], test_input: Option<&str>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prompt_parameters` is never used [INFO] [stdout] --> src/utils/params.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn prompt_parameters(command: &str, parameters: &[Parameter], test_input: Option<&str>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExecutionContext` is never constructed [INFO] [stdout] --> src/exec/mod.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct ExecutionContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `wrap_command` is never used [INFO] [stdout] --> src/exec/mod.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn wrap_command(command: &str, test_mode: bool) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_path_traversal_attempt` is never used [INFO] [stdout] --> src/exec/mod.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn is_path_traversal_attempt(command: &str, working_dir: &Path) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_shell_command` is never used [INFO] [stdout] --> src/exec/mod.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn execute_shell_command(ctx: &ExecutionContext) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_command` is never used [INFO] [stdout] --> src/exec/mod.rs:135:8 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn execute_command(command: &Command) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ce9cbaa0765b14f5c8ed88136fec07a922986473e099b7cbea26c56ec95b2ede", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ce9cbaa0765b14f5c8ed88136fec07a922986473e099b7cbea26c56ec95b2ede", kill_on_drop: false }` [INFO] [stdout] ce9cbaa0765b14f5c8ed88136fec07a922986473e099b7cbea26c56ec95b2ede