[INFO] fetching crate enso 0.1.1... [INFO] testing enso-0.1.1 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate enso 0.1.1 into /workspace/builds/worker-1-tc2/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-1-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate enso 0.1.1 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9120b9c30bfccb8764d0352514771d561af2e50f54accce96e486866df51acb5 [INFO] running `Command { std: "docker" "start" "-a" "9120b9c30bfccb8764d0352514771d561af2e50f54accce96e486866df51acb5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9120b9c30bfccb8764d0352514771d561af2e50f54accce96e486866df51acb5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9120b9c30bfccb8764d0352514771d561af2e50f54accce96e486866df51acb5", kill_on_drop: false }` [INFO] [stdout] 9120b9c30bfccb8764d0352514771d561af2e50f54accce96e486866df51acb5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fdd2b13bd4b675479312125f25fe494bc8f7abb5de016735e59649e86d739987 [INFO] running `Command { std: "docker" "start" "-a" "fdd2b13bd4b675479312125f25fe494bc8f7abb5de016735e59649e86d739987", kill_on_drop: false }` [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] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling ahash v0.7.8 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Compiling nibble_vec v0.1.0 [INFO] [stderr] Compiling endian-type v0.1.2 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling radix_trie v0.2.1 [INFO] [stderr] Compiling syn v2.0.108 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling fd-lock v4.0.4 [INFO] [stderr] Compiling lru v0.8.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling rustyline v17.0.2 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling 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 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: `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: 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: `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] | ^^^^ [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: maybe it is overwritten before being read? [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: 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 { [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(value: &T) -> Vec { [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(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, 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(&mut self, row: I) -> Result<(), DbError> [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn select_all(&mut self) -> Result>, DbError> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn select_by_pk(&mut self, pk: V) -> Result>, DbError> [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | pub fn delete_by_pk(&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 `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: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 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub fn execute(&mut self, query: &str) -> Result { [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 26.01s [INFO] running `Command { std: "docker" "inspect" "fdd2b13bd4b675479312125f25fe494bc8f7abb5de016735e59649e86d739987", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fdd2b13bd4b675479312125f25fe494bc8f7abb5de016735e59649e86d739987", kill_on_drop: false }` [INFO] [stdout] fdd2b13bd4b675479312125f25fe494bc8f7abb5de016735e59649e86d739987 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3d9ead639720b0d948692a73dba77a2669d03b2eb6f5dd82dd29763118c7fdc7 [INFO] running `Command { std: "docker" "start" "-a" "3d9ead639720b0d948692a73dba77a2669d03b2eb6f5dd82dd29763118c7fdc7", kill_on_drop: false }` [INFO] [stderr] Compiling 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 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: `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: 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: `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] | ^^^^ [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: maybe it is overwritten before being read? [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: 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 { [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(value: &T) -> Vec { [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(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, 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(&mut self, row: I) -> Result<(), DbError> [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn select_all(&mut self) -> Result>, DbError> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn select_by_pk(&mut self, pk: V) -> Result>, DbError> [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | pub fn delete_by_pk(&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 `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: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 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub fn execute(&mut self, query: &str) -> Result { [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 `test` profile [unoptimized + debuginfo] target(s) in 0.88s [INFO] running `Command { std: "docker" "inspect" "3d9ead639720b0d948692a73dba77a2669d03b2eb6f5dd82dd29763118c7fdc7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3d9ead639720b0d948692a73dba77a2669d03b2eb6f5dd82dd29763118c7fdc7", kill_on_drop: false }` [INFO] [stdout] 3d9ead639720b0d948692a73dba77a2669d03b2eb6f5dd82dd29763118c7fdc7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ee6b83d8b2914db39fcc26746f845d24c61e4465a73c0645e7b23b8fe9c44b01 [INFO] running `Command { std: "docker" "start" "-a" "ee6b83d8b2914db39fcc26746f845d24c61e4465a73c0645e7b23b8fe9c44b01", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `time` [INFO] [stderr] --> src/main.rs:1:31 [INFO] [stderr] | [INFO] [stderr] 1 | use std::{sync::{Arc, Mutex}, time}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `engine::Engine` [INFO] [stderr] --> src/main.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use engine::Engine; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DefaultEditor`, `Editor`, and `error::ReadlineError` [INFO] [stderr] --> src/main.rs:5:17 [INFO] [stderr] | [INFO] [stderr] 5 | use rustyline::{error::ReadlineError, DefaultEditor, Editor}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Lexer`, `Token`, and `parser::Parser` [INFO] [stderr] --> src/main.rs:6:19 [INFO] [stderr] | [INFO] [stderr] 6 | use sql::{lexer::{Lexer, Token}, parser::Parser}; [INFO] [stderr] | ^^^^^ ^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Column` and `Value` [INFO] [stderr] --> src/main.rs:8:13 [INFO] [stderr] | [INFO] [stderr] 8 | use types::{Column, Value}; [INFO] [stderr] | ^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `fmt::format` [INFO] [stderr] --> src/storage.rs:1:33 [INFO] [stderr] | [INFO] [stderr] 1 | use std::{collections::HashMap, fmt::format, fs::{rename, File, OpenOptions}, io::{Read, Seek, SeekFrom, Write}, num::NonZeroUsize, p... [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `api::Enso`, `ast::QueryResult`, `error::DbError`, `lexer::Lexer`, `parser::Parser`, and `schema` [INFO] [stderr] --> src/utils.rs:3:13 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::{api::Enso, error::DbError, schema, sql::{ast::QueryResult, lexer::Lexer, parser::Parser}}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `types::Column` [INFO] [stderr] --> src/utils.rs:4:13 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::{types::Column}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashMap` [INFO] [stderr] --> src/engine.rs:1:25 [INFO] [stderr] | [INFO] [stderr] 1 | use std::{collections::{HashMap, HashSet}, num::NonZeroUsize, sync::{atomic::{AtomicBool, Ordering}, Arc, Mutex, RwLock}, time::{Syst... [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Serialize` and `de::DeserializeOwned` [INFO] [stderr] --> src/engine.rs:3:13 [INFO] [stderr] | [INFO] [stderr] 3 | use serde::{de::DeserializeOwned, Serialize}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `from_bytes` and `to_bytes` [INFO] [stderr] --> src/engine.rs:4:72 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::{record::Record, storage::Storage, types::SegIndex, utils::{from_bytes, to_bytes}}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `sql::lexer::Token` and `types::DataType` [INFO] [stderr] --> src/error.rs:3:13 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::{sql::lexer::Token, types::DataType}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TableSchema` and `Value` [INFO] [stderr] --> src/repl.rs:5:132 [INFO] [stderr] | [INFO] [stderr] 5 | ...st::QueryResult, lexer::Lexer, parser::Parser}, types::{TableSchema, Value}}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/api.rs:157:14 [INFO] [stderr] | [INFO] [stderr] 157 | for (key, value) in self.engine.scan_prefix(&prefix) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/api.rs:173:14 [INFO] [stderr] | [INFO] [stderr] 173 | for (key, value) in self.engine.scan_prefix(&prefix) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column` [INFO] [stderr] --> src/api.rs:221:28 [INFO] [stderr] | [INFO] [stderr] 221 | Expr::Eq { column, value } => { [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `column: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `column` [INFO] [stderr] --> src/api.rs:265:24 [INFO] [stderr] | [INFO] [stderr] 265 | Expr::Eq { column, value } => { [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `column: _` [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/api.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | _ => Err(DbError::UnsupportedStatement), [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] | [INFO] [stderr] note: multiple earlier patterns match some of the same values [INFO] [stderr] --> src/api.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 286 | Stmt::CreateTable { table, columns, primary_key } => { [INFO] [stderr] | ------------------------------------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 291 | Stmt::Insert { table, values } => { [INFO] [stderr] | ------------------------------ matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 301 | Stmt::Select { table, filter } => { [INFO] [stderr] | ------------------------------ matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 309 | Stmt::Delete { table, filter } => { [INFO] [stderr] | ------------------------------ matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 314 | _ => Err(DbError::UnsupportedStatement), [INFO] [stderr] | ^ collectively making this unreachable [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `res` [INFO] [stderr] --> src/repl.rs:44:21 [INFO] [stderr] | [INFO] [stderr] 44 | let res = { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `idx` [INFO] [stderr] --> src/api.rs:352:17 [INFO] [stderr] | [INFO] [stderr] 352 | let idx = columns.len(); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/repl.rs:97:25 [INFO] [stderr] | [INFO] [stderr] 97 | / schema! { [INFO] [stderr] 98 | | id: Int => pk, [INFO] [stderr] 99 | | name: String, [INFO] [stderr] 100 | | } [INFO] [stderr] | |_________________________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] help: `idx` is captured in macro and introduced a unused variable [INFO] [stderr] --> src/api.rs:352:17 [INFO] [stderr] | [INFO] [stderr] 352 | let idx = columns.len(); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/repl.rs:97:25 [INFO] [stderr] | [INFO] [stderr] 97 | / schema! { [INFO] [stderr] 98 | | id: Int => pk, [INFO] [stderr] 99 | | name: String, [INFO] [stderr] 100 | | } [INFO] [stderr] | |_________________________- in this macro invocation [INFO] [stderr] = note: this warning originates in the macro `schema` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: value assigned to `primary_key` is never read [INFO] [stderr] --> src/api.rs:349:31 [INFO] [stderr] | [INFO] [stderr] 349 | let mut primary_key = None; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/repl.rs:97:25 [INFO] [stderr] | [INFO] [stderr] 97 | / schema! { [INFO] [stderr] 98 | | id: Int => pk, [INFO] [stderr] 99 | | name: String, [INFO] [stderr] 100 | | } [INFO] [stderr] | |_________________________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] = note: this warning originates in the macro `schema` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tcp.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | let mut response = { [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: method `read_at` is never used [INFO] [stderr] --> src/storage.rs:378:12 [INFO] [stderr] | [INFO] [stderr] 30 | impl Storage { [INFO] [stderr] | ------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 378 | pub fn read_at(&mut self, offset: u64) -> std::io::Result { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `to_bytes` is never used [INFO] [stderr] --> src/utils.rs:16:8 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn to_bytes(value: &T) -> Vec { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `from_bytes` is never used [INFO] [stderr] --> src/utils.rs:20:8 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn from_bytes(bytes: &[u8]) -> T { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `to_key_bytes` is never used [INFO] [stderr] --> src/types.rs:68:12 [INFO] [stderr] | [INFO] [stderr] 56 | impl Value { [INFO] [stderr] | ---------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 68 | pub fn to_key_bytes(&self) -> Result, DbError> { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `use_table`, `insert`, `select_all`, `select_by_pk`, and `delete_by_pk` are never used [INFO] [stderr] --> src/api.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 10 | impl Enso { [INFO] [stderr] | --------- associated items in this implementation [INFO] [stderr] 11 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 64 | pub fn use_table(&mut self, table: &str) -> Result<(), DbError> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 80 | pub fn insert(&mut self, row: I) -> Result<(), DbError> [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 149 | pub fn select_all(&mut self) -> Result>, DbError> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 182 | pub fn select_by_pk(&mut self, pk: V) -> Result>, DbError> [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 239 | pub fn delete_by_pk(&mut self, pk: V) -> Result<(), DbError> [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `column` is never read [INFO] [stderr] --> src/error.rs:17:20 [INFO] [stderr] | [INFO] [stderr] 17 | TypeMismatch { column: String }, [INFO] [stderr] | ------------ ^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/error.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | ParseError(String), [INFO] [stderr] | ---------- ^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 22 - ParseError(String), [INFO] [stderr] 22 + ParseError(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: fields `expected` and `found` are never read [INFO] [stderr] --> src/error.rs:23:23 [INFO] [stderr] | [INFO] [stderr] 23 | UnexpectedToken { expected: String, found: String }, [INFO] [stderr] | --------------- ^^^^^^^^ ^^^^^ [INFO] [stderr] | | [INFO] [stderr] | fields in this variant [INFO] [stderr] | [INFO] [stderr] = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/error.rs:27:8 [INFO] [stderr] | [INFO] [stderr] 27 | Io(std::io::Error), [INFO] [stderr] | -- ^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 27 - Io(std::io::Error), [INFO] [stderr] 27 + Io(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/error.rs:28:20 [INFO] [stderr] | [INFO] [stderr] 28 | SerdeJsonError(serde_json::Error), [INFO] [stderr] | -------------- ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 28 - SerdeJsonError(serde_json::Error), [INFO] [stderr] 28 + SerdeJsonError(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/error.rs:29:10 [INFO] [stderr] | [INFO] [stderr] 29 | Utf8(FromUtf8Error), [INFO] [stderr] | ---- ^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 29 - Utf8(FromUtf8Error), [INFO] [stderr] 29 + Utf8(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: variants `DatabaseExists`, `DatabaseNotFound`, `InvalidPrimaryKey`, `InvalidPrimaryKeyType`, and `NoTableSelected` are never constructed [INFO] [stderr] --> src/error.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 6 | pub enum DbError { [INFO] [stderr] | ------- variants in this enum [INFO] [stderr] 7 | DatabaseExists, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 8 | DatabaseNotFound, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 11 | InvalidPrimaryKey, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] 12 | InvalidPrimaryKeyType, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 13 | TableNotFound, [INFO] [stderr] 14 | NoTableSelected, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `DbError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: struct `Rowset` is never constructed [INFO] [stderr] --> src/sql/ast.rs:56:12 [INFO] [stderr] | [INFO] [stderr] 56 | pub struct Rowset { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `EnsoDB` is never constructed [INFO] [stderr] --> src/client.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct EnsoDB { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `connect` and `execute` are never used [INFO] [stderr] --> src/client.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 9 | impl EnsoDB { [INFO] [stderr] | ----------- associated items in this implementation [INFO] [stderr] 10 | pub fn connect(addr: &str) -> std::io::Result { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 15 | pub fn execute(&mut self, query: &str) -> Result { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/repl.rs:31:17 [INFO] [stderr] | [INFO] [stderr] 31 | rl.add_history_entry(line); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 31 | let _ = rl.add_history_entry(line); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `enso` (bin "enso" test) generated 38 warnings (run `cargo fix --bin "enso" -p enso --tests` to apply 19 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/enso-1e2d481dc1e7f2e3) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ee6b83d8b2914db39fcc26746f845d24c61e4465a73c0645e7b23b8fe9c44b01", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ee6b83d8b2914db39fcc26746f845d24c61e4465a73c0645e7b23b8fe9c44b01", kill_on_drop: false }` [INFO] [stdout] ee6b83d8b2914db39fcc26746f845d24c61e4465a73c0645e7b23b8fe9c44b01