[INFO] fetching crate enso 0.1.1...
[INFO] checking enso-0.1.1 against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] extracting crate enso 0.1.1 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate enso 0.1.1
[INFO] finished tweaking crates.io crate enso 0.1.1
[INFO] tweaked toml for crates.io crate enso 0.1.1 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate enso 0.1.1 on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate enso 0.1.1 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" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: explicit `package.readme` can be inferred
[INFO] [stderr]   --> Cargo.toml:44:1
[INFO] [stderr]    |
[INFO] [stderr] 44 | readme = "README.md"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::manual_readme` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.readme`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:40:12
[INFO] [stderr]    |
[INFO] [stderr] 40 | homepage = "https://github.com/aether-flux/enso"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 | repository = "https://github.com/aether-flux/enso"
[INFO] [stderr]    |              -------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `enso` (manifest) generated 2 warnings
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded lru v0.8.1
[INFO] [stderr]   Downloaded rustyline v17.0.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 322730bc7f89c5a7f88b1ef0531f0073fac33c168b92049ccb939b44df6057e5
[INFO] running `Command { std: "docker" "start" "322730bc7f89c5a7f88b1ef0531f0073fac33c168b92049ccb939b44df6057e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "322730bc7f89c5a7f88b1ef0531f0073fac33c168b92049ccb939b44df6057e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "322730bc7f89c5a7f88b1ef0531f0073fac33c168b92049ccb939b44df6057e5" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "322730bc7f89c5a7f88b1ef0531f0073fac33c168b92049ccb939b44df6057e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "322730bc7f89c5a7f88b1ef0531f0073fac33c168b92049ccb939b44df6057e5" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: explicit `package.readme` can be inferred
[INFO] [stderr]   --> Cargo.toml:44:1
[INFO] [stderr]    |
[INFO] [stderr] 44 | readme = "README.md"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::manual_readme` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.readme`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:40:12
[INFO] [stderr]    |
[INFO] [stderr] 40 | homepage = "https://github.com/aether-flux/enso"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 | repository = "https://github.com/aether-flux/enso"
[INFO] [stderr]    |              -------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `enso` (manifest) generated 2 warnings
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]     Checking nibble_vec v0.1.0
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]     Checking home v0.5.12
[INFO] [stderr]     Checking log v0.4.28
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking radix_trie v0.2.1
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking fd-lock v4.0.4
[INFO] [stderr]     Checking lru v0.8.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking rustyline v17.0.2
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking enso v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `time`
[INFO] [stdout]  --> src/main.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::{Arc, Mutex}, time};
[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: `engine::Engine`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use engine::Engine;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DefaultEditor`, `Editor`, and `error::ReadlineError`
[INFO] [stdout]  --> src/main.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rustyline::{error::ReadlineError, DefaultEditor, Editor};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Lexer`, `Token`, and `parser::Parser`
[INFO] [stdout]  --> src/main.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sql::{lexer::{Lexer, Token}, parser::Parser};
[INFO] [stdout]   |                   ^^^^^  ^^^^^   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Column` and `Value`
[INFO] [stdout]  --> src/main.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use types::{Column, Value};
[INFO] [stdout]   |             ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt::format`
[INFO] [stdout]  --> src/storage.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, fmt::format, fs::{rename, File, OpenOptions}, io::{Read, Seek, SeekFrom, Write}, num::NonZeroUsize, p...
[INFO] [stdout]   |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `api::Enso`, `ast::QueryResult`, `error::DbError`, `lexer::Lexer`, `parser::Parser`, and `schema`
[INFO] [stdout]  --> src/utils.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{api::Enso, error::DbError, schema, sql::{ast::QueryResult, lexer::Lexer, parser::Parser}};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^        ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `types::Column`
[INFO] [stdout]  --> src/utils.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{types::Column};
[INFO] [stdout]   |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/engine.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::{HashMap, HashSet}, num::NonZeroUsize, sync::{atomic::{AtomicBool, Ordering}, Arc, Mutex, RwLock}, time::{Syst...
[INFO] [stdout]   |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Serialize` and `de::DeserializeOwned`
[INFO] [stdout]  --> src/engine.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{de::DeserializeOwned, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `from_bytes` and `to_bytes`
[INFO] [stdout]  --> src/engine.rs:4:72
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{record::Record, storage::Storage, types::SegIndex, utils::{from_bytes, to_bytes}};
[INFO] [stdout]   |                                                                        ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `sql::lexer::Token` and `types::DataType`
[INFO] [stdout]  --> src/error.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{sql::lexer::Token, types::DataType};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TableSchema` and `Value`
[INFO] [stdout]  --> src/repl.rs:5:132
[INFO] [stdout]   |
[INFO] [stdout] 5 | ...st::QueryResult, lexer::Lexer, parser::Parser}, types::{TableSchema, Value}};
[INFO] [stdout]   |                                                            ^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `time`
[INFO] [stdout]  --> src/main.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::{Arc, Mutex}, time};
[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: `engine::Engine`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use engine::Engine;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DefaultEditor`, `Editor`, and `error::ReadlineError`
[INFO] [stdout]  --> src/main.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rustyline::{error::ReadlineError, DefaultEditor, Editor};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Lexer`, `Token`, and `parser::Parser`
[INFO] [stdout]  --> src/main.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sql::{lexer::{Lexer, Token}, parser::Parser};
[INFO] [stdout]   |                   ^^^^^  ^^^^^   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Column` and `Value`
[INFO] [stdout]  --> src/main.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use types::{Column, Value};
[INFO] [stdout]   |             ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt::format`
[INFO] [stdout]  --> src/storage.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, fmt::format, fs::{rename, File, OpenOptions}, io::{Read, Seek, SeekFrom, Write}, num::NonZeroUsize, p...
[INFO] [stdout]   |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `api::Enso`, `ast::QueryResult`, `error::DbError`, `lexer::Lexer`, `parser::Parser`, and `schema`
[INFO] [stdout]  --> src/utils.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{api::Enso, error::DbError, schema, sql::{ast::QueryResult, lexer::Lexer, parser::Parser}};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^        ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `types::Column`
[INFO] [stdout]  --> src/utils.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{types::Column};
[INFO] [stdout]   |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/engine.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::{HashMap, HashSet}, num::NonZeroUsize, sync::{atomic::{AtomicBool, Ordering}, Arc, Mutex, RwLock}, time::{Syst...
[INFO] [stdout]   |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Serialize` and `de::DeserializeOwned`
[INFO] [stdout]  --> src/engine.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{de::DeserializeOwned, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `from_bytes` and `to_bytes`
[INFO] [stdout]  --> src/engine.rs:4:72
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{record::Record, storage::Storage, types::SegIndex, utils::{from_bytes, to_bytes}};
[INFO] [stdout]   |                                                                        ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `sql::lexer::Token` and `types::DataType`
[INFO] [stdout]  --> src/error.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{sql::lexer::Token, types::DataType};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TableSchema` and `Value`
[INFO] [stdout]  --> src/repl.rs:5:132
[INFO] [stdout]   |
[INFO] [stdout] 5 | ...st::QueryResult, lexer::Lexer, parser::Parser}, types::{TableSchema, Value}};
[INFO] [stdout]   |                                                            ^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/api.rs:157:14
[INFO] [stdout]     |
[INFO] [stdout] 157 |         for (key, value) in self.engine.scan_prefix(&prefix) {
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/api.rs:157:14
[INFO] [stdout]     |
[INFO] [stdout] 157 |         for (key, value) in self.engine.scan_prefix(&prefix) {
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/api.rs:173:14
[INFO] [stdout]     |
[INFO] [stdout] 173 |         for (key, value) in self.engine.scan_prefix(&prefix) {
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/api.rs:173:14
[INFO] [stdout]     |
[INFO] [stdout] 173 |         for (key, value) in self.engine.scan_prefix(&prefix) {
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `column`
[INFO] [stdout]    --> src/api.rs:221:28
[INFO] [stdout]     |
[INFO] [stdout] 221 |                 Expr::Eq { column, value } => {
[INFO] [stdout]     |                            ^^^^^^ help: try ignoring the field: `column: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `column`
[INFO] [stdout]    --> src/api.rs:221:28
[INFO] [stdout]     |
[INFO] [stdout] 221 |                 Expr::Eq { column, value } => {
[INFO] [stdout]     |                            ^^^^^^ help: try ignoring the field: `column: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `column`
[INFO] [stdout]    --> src/api.rs:265:24
[INFO] [stdout]     |
[INFO] [stdout] 265 |             Expr::Eq { column, value } => {
[INFO] [stdout]     |                        ^^^^^^ help: try ignoring the field: `column: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `column`
[INFO] [stdout]    --> src/api.rs:265:24
[INFO] [stdout]     |
[INFO] [stdout] 265 |             Expr::Eq { column, value } => {
[INFO] [stdout]     |                        ^^^^^^ help: try ignoring the field: `column: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/api.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 |             _ => Err(DbError::UnsupportedStatement),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/api.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 286 |             Stmt::CreateTable { table, columns, primary_key } => {
[INFO] [stdout]     |             ------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 291 |             Stmt::Insert { table, values } => {
[INFO] [stdout]     |             ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 301 |             Stmt::Select { table, filter } => {
[INFO] [stdout]     |             ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 309 |             Stmt::Delete { table, filter } => {
[INFO] [stdout]     |             ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 314 |             _ => Err(DbError::UnsupportedStatement),
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/api.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 |             _ => Err(DbError::UnsupportedStatement),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/api.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 286 |             Stmt::CreateTable { table, columns, primary_key } => {
[INFO] [stdout]     |             ------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 291 |             Stmt::Insert { table, values } => {
[INFO] [stdout]     |             ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 301 |             Stmt::Select { table, filter } => {
[INFO] [stdout]     |             ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 309 |             Stmt::Delete { table, filter } => {
[INFO] [stdout]     |             ------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 314 |             _ => Err(DbError::UnsupportedStatement),
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/repl.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 let res = {
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/repl.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 let res = {
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/api.rs:352:17
[INFO] [stdout]     |
[INFO] [stdout] 352 |               let idx = columns.len();
[INFO] [stdout]     |                   ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/repl.rs:97:25
[INFO] [stdout]     |
[INFO] [stdout]  97 | /                         schema! {
[INFO] [stdout]  98 | |                             id: Int => pk,
[INFO] [stdout]  99 | |                             name: String,
[INFO] [stdout] 100 | |                         }
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: `idx` is captured in macro and introduced a unused variable
[INFO] [stdout]    --> src/api.rs:352:17
[INFO] [stdout]     |
[INFO] [stdout] 352 |               let idx = columns.len();
[INFO] [stdout]     |                   ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/repl.rs:97:25
[INFO] [stdout]     |
[INFO] [stdout]  97 | /                         schema! {
[INFO] [stdout]  98 | |                             id: Int => pk,
[INFO] [stdout]  99 | |                             name: String,
[INFO] [stdout] 100 | |                         }
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `schema` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `primary_key` is never read
[INFO] [stdout]    --> src/api.rs:349:31
[INFO] [stdout]     |
[INFO] [stdout] 349 |           let mut primary_key = None;
[INFO] [stdout]     |                                 ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 363 |                       primary_key = Some(idx);
[INFO] [stdout]     |                       ----------------------- `primary_key` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/repl.rs:97:25
[INFO] [stdout]     |
[INFO] [stdout]  97 | /                         schema! {
[INFO] [stdout]  98 | |                             id: Int => pk,
[INFO] [stdout]  99 | |                             name: String,
[INFO] [stdout] 100 | |                         }
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `schema` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/api.rs:352:17
[INFO] [stdout]     |
[INFO] [stdout] 352 |               let idx = columns.len();
[INFO] [stdout]     |                   ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/repl.rs:97:25
[INFO] [stdout]     |
[INFO] [stdout]  97 | /                         schema! {
[INFO] [stdout]  98 | |                             id: Int => pk,
[INFO] [stdout]  99 | |                             name: String,
[INFO] [stdout] 100 | |                         }
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: `idx` is captured in macro and introduced a unused variable
[INFO] [stdout]    --> src/api.rs:352:17
[INFO] [stdout]     |
[INFO] [stdout] 352 |               let idx = columns.len();
[INFO] [stdout]     |                   ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/repl.rs:97:25
[INFO] [stdout]     |
[INFO] [stdout]  97 | /                         schema! {
[INFO] [stdout]  98 | |                             id: Int => pk,
[INFO] [stdout]  99 | |                             name: String,
[INFO] [stdout] 100 | |                         }
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `schema` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `primary_key` is never read
[INFO] [stdout]    --> src/api.rs:349:31
[INFO] [stdout]     |
[INFO] [stdout] 349 |           let mut primary_key = None;
[INFO] [stdout]     |                                 ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 363 |                       primary_key = Some(idx);
[INFO] [stdout]     |                       ----------------------- `primary_key` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/repl.rs:97:25
[INFO] [stdout]     |
[INFO] [stdout]  97 | /                         schema! {
[INFO] [stdout]  98 | |                             id: Int => pk,
[INFO] [stdout]  99 | |                             name: String,
[INFO] [stdout] 100 | |                         }
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `schema` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tcp.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let mut response = {
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/tcp.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let mut response = {
[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: method `read_at` is never used
[INFO] [stdout]    --> src/storage.rs:378:12
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl Storage {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 378 |     pub fn read_at(&mut self, offset: u64) -> std::io::Result<Record> {
[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 `to_bytes` is never used
[INFO] [stdout]   --> src/utils.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn to_bytes<T: Serialize>(value: &T) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_at` is never used
[INFO] [stdout]    --> src/storage.rs:378:12
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl Storage {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 378 |     pub fn read_at(&mut self, offset: u64) -> std::io::Result<Record> {
[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 `from_bytes` is never used
[INFO] [stdout]   --> src/utils.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn from_bytes<T: DeserializeOwned>(bytes: &[u8]) -> T {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_key_bytes` is never used
[INFO] [stdout]   --> src/types.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl Value {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn to_key_bytes(&self) -> Result<Vec<u8>, DbError> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_bytes` is never used
[INFO] [stdout]   --> src/utils.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn to_bytes<T: Serialize>(value: &T) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `from_bytes` is never used
[INFO] [stdout]   --> src/utils.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn from_bytes<T: DeserializeOwned>(bytes: &[u8]) -> T {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_key_bytes` is never used
[INFO] [stdout]   --> src/types.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl Value {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn to_key_bytes(&self) -> Result<Vec<u8>, DbError> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `use_table`, `insert`, `select_all`, `select_by_pk`, and `delete_by_pk` are never used
[INFO] [stdout]    --> src/api.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl Enso {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout]  11 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn use_table(&mut self, table: &str) -> Result<(), DbError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn insert<I, V>(&mut self, row: I) -> Result<(), DbError>
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn select_all(&mut self) -> Result<Vec<Vec<Value>>, DbError> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn select_by_pk<V>(&mut self, pk: V) -> Result<Option<Vec<Value>>, DbError>
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn delete_by_pk<V>(&mut self, pk: V) -> Result<(), DbError>
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `use_table`, `insert`, `select_all`, `select_by_pk`, and `delete_by_pk` are never used
[INFO] [stdout]    --> src/api.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl Enso {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout]  11 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn use_table(&mut self, table: &str) -> Result<(), DbError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn insert<I, V>(&mut self, row: I) -> Result<(), DbError>
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn select_all(&mut self) -> Result<Vec<Vec<Value>>, DbError> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn select_by_pk<V>(&mut self, pk: V) -> Result<Option<Vec<Value>>, DbError>
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn delete_by_pk<V>(&mut self, pk: V) -> Result<(), DbError>
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `column` is never read
[INFO] [stdout]   --> src/error.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 |     TypeMismatch { column: String },
[INFO] [stdout]    |     ------------   ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `column` is never read
[INFO] [stdout]   --> src/error.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 |     TypeMismatch { column: String },
[INFO] [stdout]    |     ------------   ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |     ParseError(String),
[INFO] [stdout]    |     ---------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 22 -     ParseError(String),
[INFO] [stdout] 22 +     ParseError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expected` and `found` are never read
[INFO] [stdout]   --> src/error.rs:23:23
[INFO] [stdout]    |
[INFO] [stdout] 23 |     UnexpectedToken { expected: String, found: String },
[INFO] [stdout]    |     ---------------   ^^^^^^^^          ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |     ParseError(String),
[INFO] [stdout]    |     ---------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 22 -     ParseError(String),
[INFO] [stdout] 22 +     ParseError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Io(std::io::Error),
[INFO] [stdout]    |     -- ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 27 -     Io(std::io::Error),
[INFO] [stdout] 27 +     Io(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expected` and `found` are never read
[INFO] [stdout]   --> src/error.rs:23:23
[INFO] [stdout]    |
[INFO] [stdout] 23 |     UnexpectedToken { expected: String, found: String },
[INFO] [stdout]    |     ---------------   ^^^^^^^^          ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 |     SerdeJsonError(serde_json::Error),
[INFO] [stdout]    |     -------------- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 28 -     SerdeJsonError(serde_json::Error),
[INFO] [stdout] 28 +     SerdeJsonError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 |     Utf8(FromUtf8Error),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 29 -     Utf8(FromUtf8Error),
[INFO] [stdout] 29 +     Utf8(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `DatabaseExists`, `DatabaseNotFound`, `InvalidPrimaryKey`, `InvalidPrimaryKeyType`, and `NoTableSelected` are never constructed
[INFO] [stdout]   --> src/error.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum DbError {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout]  7 |     DatabaseExists,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]  8 |     DatabaseNotFound,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     InvalidPrimaryKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     InvalidPrimaryKeyType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     TableNotFound,
[INFO] [stdout] 14 |     NoTableSelected,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rowset` is never constructed
[INFO] [stdout]   --> src/sql/ast.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct Rowset {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EnsoDB` is never constructed
[INFO] [stdout]  --> src/client.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct EnsoDB {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `connect` and `execute` are never used
[INFO] [stdout]   --> src/client.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl EnsoDB {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn connect(addr: &str) -> std::io::Result<Self> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn execute(&mut self, query: &str) -> Result<String, DbError> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Io(std::io::Error),
[INFO] [stdout]    |     -- ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 27 -     Io(std::io::Error),
[INFO] [stdout] 27 +     Io(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 |     SerdeJsonError(serde_json::Error),
[INFO] [stdout]    |     -------------- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 28 -     SerdeJsonError(serde_json::Error),
[INFO] [stdout] 28 +     SerdeJsonError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/error.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 |     Utf8(FromUtf8Error),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 29 -     Utf8(FromUtf8Error),
[INFO] [stdout] 29 +     Utf8(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `DatabaseExists`, `DatabaseNotFound`, `InvalidPrimaryKey`, `InvalidPrimaryKeyType`, and `NoTableSelected` are never constructed
[INFO] [stdout]   --> src/error.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum DbError {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout]  7 |     DatabaseExists,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]  8 |     DatabaseNotFound,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     InvalidPrimaryKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     InvalidPrimaryKeyType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     TableNotFound,
[INFO] [stdout] 14 |     NoTableSelected,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rowset` is never constructed
[INFO] [stdout]   --> src/sql/ast.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct Rowset {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EnsoDB` is never constructed
[INFO] [stdout]  --> src/client.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct EnsoDB {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `connect` and `execute` are never used
[INFO] [stdout]   --> src/client.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl EnsoDB {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn connect(addr: &str) -> std::io::Result<Self> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn execute(&mut self, query: &str) -> Result<String, DbError> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/repl.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 rl.add_history_entry(line);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 let _ = rl.add_history_entry(line);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/repl.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 rl.add_history_entry(line);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 let _ = rl.add_history_entry(line);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.92s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.30.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "322730bc7f89c5a7f88b1ef0531f0073fac33c168b92049ccb939b44df6057e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "322730bc7f89c5a7f88b1ef0531f0073fac33c168b92049ccb939b44df6057e5", kill_on_drop: false }`
[INFO] [stdout] 322730bc7f89c5a7f88b1ef0531f0073fac33c168b92049ccb939b44df6057e5
