[INFO] fetching crate pgpeek 1.0.0...
[INFO] building pgpeek-1.0.0 against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1
[INFO] extracting crate pgpeek 1.0.0 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate pgpeek 1.0.0
[INFO] finished tweaking crates.io crate pgpeek 1.0.0
[INFO] tweaked toml for crates.io crate pgpeek 1.0.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate pgpeek 1.0.0 on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate pgpeek 1.0.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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded stability v0.1.1
[INFO] [stderr]   Downloaded proc-macro2 v1.0.97
[INFO] [stderr]   Downloaded ratatui v0.25.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 277f2cd7fa0299e522b9849b84eb850c1da0b6313d5da079b3837a0af588d4ab
[INFO] running `Command { std: "docker" "start" "-a" "277f2cd7fa0299e522b9849b84eb850c1da0b6313d5da079b3837a0af588d4ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "277f2cd7fa0299e522b9849b84eb850c1da0b6313d5da079b3837a0af588d4ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "277f2cd7fa0299e522b9849b84eb850c1da0b6313d5da079b3837a0af588d4ab", kill_on_drop: false }`
[INFO] [stdout] 277f2cd7fa0299e522b9849b84eb850c1da0b6313d5da079b3837a0af588d4ab
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f2eb9b4c9ee3dd63d2590bb529001804ba88cb6a458a72f2d44e557bfe81f808
[INFO] running `Command { std: "docker" "start" "-a" "f2eb9b4c9ee3dd63d2590bb529001804ba88cb6a458a72f2d44e557bfe81f808", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.97
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling unicode-properties v0.1.3
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling fallible-iterator v0.2.0
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling uuid v1.18.0
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling whoami v1.6.1
[INFO] [stderr]    Compiling indoc v2.0.6
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling postgres-protocol v0.6.8
[INFO] [stderr]    Compiling stability v0.1.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling clap_derive v4.5.45
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling strum v0.25.0
[INFO] [stderr]    Compiling ratatui v0.25.0
[INFO] [stderr]    Compiling clap v4.5.45
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_json v1.0.142
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling postgres-types v0.2.9
[INFO] [stderr]    Compiling tokio-postgres v0.7.13
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling pgpeek v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: value assigned to `affected_rows` is never read
[INFO] [stdout]    --> src/database.rs:250:17
[INFO] [stdout]     |
[INFO] [stdout] 250 |         let mut affected_rows = None;
[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: variant `Command` is never constructed
[INFO] [stdout]   --> src/app.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum InputMode {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 32 |     Command,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InputMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_page` is never read
[INFO] [stdout]   --> src/app.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct AppContext {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub current_page: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_saved_query`, `get_default_connection`, `remove_connection`, `connection_exists`, and `list_connection_names` are never used
[INFO] [stdout]    --> src/config.rs:182:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | impl Config {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn add_saved_query(&mut self, key: String, query: SavedQuery) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn get_default_connection(&self) -> Option<&DatabaseConfig> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub fn remove_connection(&mut self, name: &str) -> Option<DatabaseConfig> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn connection_exists(&self, name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub fn list_connection_names(&self) -> Vec<&String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `character_maximum_length` is never read
[INFO] [stdout]   --> src/database.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct ColumnInfo {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub character_maximum_length: Option<i32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ColumnInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `test_connection`, `get_table_indexes`, and `get_table_count` are never used
[INFO] [stdout]    --> src/database.rs:71:18
[INFO] [stdout]     |
[INFO] [stdout]  53 | impl DatabaseConnection {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub async fn test_connection(&self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub async fn get_table_indexes(&self, schema: &str, table: &str) -> Result<Vec<IndexInfo>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 326 |     pub async fn get_table_count(&self, schema: &str, table: &str) -> Result<i64> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IndexInfo` is never constructed
[INFO] [stdout]    --> src/database.rs:334:12
[INFO] [stdout]     |
[INFO] [stdout] 334 | pub struct IndexInfo {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_raw_numeric_value` is never used
[INFO] [stdout]    --> src/database.rs:403:4
[INFO] [stdout]     |
[INFO] [stdout] 403 | fn get_raw_numeric_value(row: &Row, index: usize) -> Option<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `explain_query`, `get_query_plan`, `get_database_version`, `get_current_database`, and `get_current_user` are never used
[INFO] [stdout]    --> src/database.rs:420:18
[INFO] [stdout]     |
[INFO] [stdout] 419 | impl DatabaseConnection {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] 420 |     pub async fn explain_query(&self, sql: &str) -> Result<QueryResult> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 425 |     pub async fn get_query_plan(&self, sql: &str) -> Result<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 441 |     pub async fn get_database_version(&self) -> Result<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     pub async fn get_current_database(&self) -> Result<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 457 |     pub async fn get_current_user(&self) -> Result<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueryBuilder` is never constructed
[INFO] [stdout]  --> src/query.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct QueryBuilder {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/query.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl QueryBuilder {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 18 |     pub fn new(schema: &str, table: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn select(mut self, columns: Vec<&str>) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn where_clause(mut self, condition: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn and_where(mut self, condition: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn join(mut self, join_clause: &str) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn group_by_column(mut self, column: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn having_clause(mut self, condition: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn order_by(mut self, column: &str, direction: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn limit(mut self, limit: usize) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn offset(mut self, offset: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn build(self) -> String {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NaturalLanguageParser` is never constructed
[INFO] [stdout]    --> src/query.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct NaturalLanguageParser {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `QueryKeyword` is never used
[INFO] [stdout]    --> src/query.rs:133:10
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub enum QueryKeyword {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/query.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl NaturalLanguageParser {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 156 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn parse(&self, input: &str, schema: &str, table: &str) -> Result<String> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     fn handle_postgres_commands(&self, input: &str, schema: &str, table: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     fn parse_natural_query(&self, words: &[&str], schema: &str, table: &str) -> Result<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     fn parse_where_clause(&self, words: &[&str]) -> Result<Option<(String, usize)>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     fn parse_order_clause(&self, words: &[&str]) -> Option<(String, String, usize)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 412 |     fn extract_number(&self, words: &[&str]) -> Option<(usize, usize)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_table_info_query` is never used
[INFO] [stdout]    --> src/query.rs:438:8
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub fn build_table_info_query(schema: &str, table: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_table_stats_query` is never used
[INFO] [stdout]    --> src/query.rs:455:8
[INFO] [stdout]     |
[INFO] [stdout] 455 | pub fn build_table_stats_query(schema: &str, table: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_sample_data_query` is never used
[INFO] [stdout]    --> src/query.rs:467:8
[INFO] [stdout]     |
[INFO] [stdout] 467 | pub fn build_sample_data_query(schema: &str, table: &str, limit: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_search_query` is never used
[INFO] [stdout]    --> src/query.rs:471:8
[INFO] [stdout]     |
[INFO] [stdout] 471 | pub fn build_search_query(schema: &str, table: &str, column: &str, search_term: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueryTemplates` is never constructed
[INFO] [stdout]    --> src/query.rs:482:12
[INFO] [stdout]     |
[INFO] [stdout] 482 | pub struct QueryTemplates;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `recent_records`, `top_by_column`, `duplicates_by_column`, `empty_or_null_check`, and `column_statistics` are never used
[INFO] [stdout]    --> src/query.rs:485:12
[INFO] [stdout]     |
[INFO] [stdout] 484 | impl QueryTemplates {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] 485 |     pub fn recent_records(schema: &str, table: &str, date_column: &str, days: u32) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 492 |     pub fn top_by_column(schema: &str, table: &str, column: &str, limit: usize) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 499 |     pub fn duplicates_by_column(schema: &str, table: &str, column: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 512 |     pub fn empty_or_null_check(schema: &str, table: &str, column: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 519 |     pub fn column_statistics(schema: &str, table: &str, column: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `list_state`, `schema_list_state`, and `table_list_state` are never read
[INFO] [stdout]   --> src/ui.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct UI {
[INFO] [stdout]    |            -- fields in this struct
[INFO] [stdout] 15 |     table_state: TableState,
[INFO] [stdout] 16 |     list_state: ListState,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 17 |     schema_list_state: ListState,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     table_list_state: ListState,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 46.38s
[INFO] running `Command { std: "docker" "inspect" "f2eb9b4c9ee3dd63d2590bb529001804ba88cb6a458a72f2d44e557bfe81f808", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f2eb9b4c9ee3dd63d2590bb529001804ba88cb6a458a72f2d44e557bfe81f808", kill_on_drop: false }`
[INFO] [stdout] f2eb9b4c9ee3dd63d2590bb529001804ba88cb6a458a72f2d44e557bfe81f808
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1adc82d97d0dcc6b63810d25f9b69c245b986939ceaea7494679e2d4e1669eeb
[INFO] running `Command { std: "docker" "start" "-a" "1adc82d97d0dcc6b63810d25f9b69c245b986939ceaea7494679e2d4e1669eeb", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stderr]    Compiling tokio-postgres v0.7.13
[INFO] [stderr]    Compiling pgpeek v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Row` and `types::Type`
[INFO] [stdout]    --> src/database.rs:469:26
[INFO] [stdout]     |
[INFO] [stdout] 469 |     use tokio_postgres::{Row, types::Type};
[INFO] [stdout]     |                          ^^^  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `affected_rows` is never read
[INFO] [stdout]    --> src/database.rs:250:17
[INFO] [stdout]     |
[INFO] [stdout] 250 |         let mut affected_rows = None;
[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: variant `Command` is never constructed
[INFO] [stdout]   --> src/app.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum InputMode {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 32 |     Command,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InputMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_page` is never read
[INFO] [stdout]   --> src/app.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct AppContext {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub current_page: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_saved_query`, `get_default_connection`, `remove_connection`, `connection_exists`, and `list_connection_names` are never used
[INFO] [stdout]    --> src/config.rs:182:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | impl Config {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn add_saved_query(&mut self, key: String, query: SavedQuery) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn get_default_connection(&self) -> Option<&DatabaseConfig> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub fn remove_connection(&mut self, name: &str) -> Option<DatabaseConfig> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn connection_exists(&self, name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub fn list_connection_names(&self) -> Vec<&String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `character_maximum_length` is never read
[INFO] [stdout]   --> src/database.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct ColumnInfo {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub character_maximum_length: Option<i32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ColumnInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `test_connection`, `get_table_indexes`, and `get_table_count` are never used
[INFO] [stdout]    --> src/database.rs:71:18
[INFO] [stdout]     |
[INFO] [stdout]  53 | impl DatabaseConnection {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub async fn test_connection(&self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub async fn get_table_indexes(&self, schema: &str, table: &str) -> Result<Vec<IndexInfo>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 326 |     pub async fn get_table_count(&self, schema: &str, table: &str) -> Result<i64> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_raw_numeric_value` is never used
[INFO] [stdout]    --> src/database.rs:403:4
[INFO] [stdout]     |
[INFO] [stdout] 403 | fn get_raw_numeric_value(row: &Row, index: usize) -> Option<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `explain_query`, `get_query_plan`, `get_database_version`, `get_current_database`, and `get_current_user` are never used
[INFO] [stdout]    --> src/database.rs:420:18
[INFO] [stdout]     |
[INFO] [stdout] 419 | impl DatabaseConnection {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] 420 |     pub async fn explain_query(&self, sql: &str) -> Result<QueryResult> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 425 |     pub async fn get_query_plan(&self, sql: &str) -> Result<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 441 |     pub async fn get_database_version(&self) -> Result<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     pub async fn get_current_database(&self) -> Result<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 457 |     pub async fn get_current_user(&self) -> Result<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `and_where`, `join`, `group_by_column`, `having_clause`, and `offset` are never used
[INFO] [stdout]   --> src/query.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl QueryBuilder {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn and_where(mut self, condition: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn join(mut self, join_clause: &str) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn group_by_column(mut self, column: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn having_clause(mut self, condition: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn offset(mut self, offset: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `keywords` is never read
[INFO] [stdout]    --> src/query.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct NaturalLanguageParser {
[INFO] [stdout]     |            --------------------- field in this struct
[INFO] [stdout] 129 |     keywords: HashMap<String, QueryKeyword>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NaturalLanguageParser` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_table_info_query` is never used
[INFO] [stdout]    --> src/query.rs:438:8
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub fn build_table_info_query(schema: &str, table: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_table_stats_query` is never used
[INFO] [stdout]    --> src/query.rs:455:8
[INFO] [stdout]     |
[INFO] [stdout] 455 | pub fn build_table_stats_query(schema: &str, table: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_sample_data_query` is never used
[INFO] [stdout]    --> src/query.rs:467:8
[INFO] [stdout]     |
[INFO] [stdout] 467 | pub fn build_sample_data_query(schema: &str, table: &str, limit: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_search_query` is never used
[INFO] [stdout]    --> src/query.rs:471:8
[INFO] [stdout]     |
[INFO] [stdout] 471 | pub fn build_search_query(schema: &str, table: &str, column: &str, search_term: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `duplicates_by_column`, `empty_or_null_check`, and `column_statistics` are never used
[INFO] [stdout]    --> src/query.rs:499:12
[INFO] [stdout]     |
[INFO] [stdout] 484 | impl QueryTemplates {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 499 |     pub fn duplicates_by_column(schema: &str, table: &str, column: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 512 |     pub fn empty_or_null_check(schema: &str, table: &str, column: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 519 |     pub fn column_statistics(schema: &str, table: &str, column: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `list_state`, `schema_list_state`, and `table_list_state` are never read
[INFO] [stdout]   --> src/ui.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct UI {
[INFO] [stdout]    |            -- fields in this struct
[INFO] [stdout] 15 |     table_state: TableState,
[INFO] [stdout] 16 |     list_state: ListState,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 17 |     schema_list_state: ListState,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     table_list_state: ListState,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 12.37s
[INFO] running `Command { std: "docker" "inspect" "1adc82d97d0dcc6b63810d25f9b69c245b986939ceaea7494679e2d4e1669eeb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1adc82d97d0dcc6b63810d25f9b69c245b986939ceaea7494679e2d4e1669eeb", kill_on_drop: false }`
[INFO] [stdout] 1adc82d97d0dcc6b63810d25f9b69c245b986939ceaea7494679e2d4e1669eeb
