[INFO] cloning repository https://github.com/irrum6/qrtdb [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/irrum6/qrtdb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Firrum6%2Fqrtdb", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Firrum6%2Fqrtdb'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 40ac5c63de453a5418fd9e0c3fad0db46fee956f [INFO] building irrum6/qrtdb against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Firrum6%2Fqrtdb" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/irrum6/qrtdb on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/irrum6/qrtdb [INFO] finished tweaking git repo https://github.com/irrum6/qrtdb [INFO] tweaked toml for git repo https://github.com/irrum6/qrtdb written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/irrum6/qrtdb 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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0cda983782e9a287aaaea93f1962c5689693149907621980a8c4189283f8b861 [INFO] running `Command { std: "docker" "start" "-a" "0cda983782e9a287aaaea93f1962c5689693149907621980a8c4189283f8b861", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0cda983782e9a287aaaea93f1962c5689693149907621980a8c4189283f8b861", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0cda983782e9a287aaaea93f1962c5689693149907621980a8c4189283f8b861", kill_on_drop: false }` [INFO] [stdout] 0cda983782e9a287aaaea93f1962c5689693149907621980a8c4189283f8b861 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 26eceb841f3ca1a775717119633f4ae24e762c8e381e1429d90f82a61c3daa23 [INFO] running `Command { std: "docker" "start" "-a" "26eceb841f3ca1a775717119633f4ae24e762c8e381e1429d90f82a61c3daa23", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling qrtdb v0.12.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Read`, `fs::File`, and `self` [INFO] [stdout] --> src/db4.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | fs::File, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 6 | io::{self, Read}, [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::qrtlib::statements::WhereClauses` [INFO] [stdout] --> src/field_types/mod.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use crate::qrtlib::statements::WhereClauses; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContextTypes`, `QueryContext`, `SessionContext`, and `self` [INFO] [stdout] --> src/statements.rs:4:27 [INFO] [stdout] | [INFO] [stdout] 4 | qrtlib::context::{self, Context, ContextTypes, QueryContext, SessionContext}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `all_consuming`, `bytes`, `char as ncchar`, `delimited`, `error::context`, `is_alphabetic`, `is_newline`, `is_not`, `is_space`, `line_ending`, `map_parser`, `map`, `multi::separated_list1`, `newline`, `opt`, `pair`, `preceded`, `recognize`, `self`, `separated_pair`, `take_till`, `take_while1`, `take_while`, and `terminated` [INFO] [stdout] --> src/parser/token.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | bytes, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 5 | bytes::complete::{is_not, tag, tag_no_case, take_till, take_until, take_while, take_while1}, [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 6 | character::complete::{self, char as ncchar, line_ending, multispace0, newline}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] 7 | character::{is_alphabetic, is_newline, is_space}, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] 8 | combinator::{self, all_consuming, map, map_parser, opt, recognize}, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^ [INFO] [stdout] 9 | error::context, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 10 | multi::separated_list1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | sequence::{delimited, pair, preceded, separated_pair, terminated, tuple}, [INFO] [stdout] | ^^^^^^^^^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContextTypes`, `Context`, `QueryContext`, `SessionContext`, and `self` [INFO] [stdout] --> src/parser/token.rs:24:34 [INFO] [stdout] | [INFO] [stdout] 24 | use crate::qrtlib::context::{self, Context, ContextTypes, QueryContext, SessionContext}; [INFO] [stdout] | ^^^^ ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContextTypes`, `QueryContext`, `SessionContext`, `database`, and `self` [INFO] [stdout] --> src/identity.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | database, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | qrtlib::context::{self, Context, ContextTypes, QueryContext, SessionContext}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dbname` is never read [INFO] [stdout] --> src/db4.rs:127:21 [INFO] [stdout] | [INFO] [stdout] 127 | let mut dbname = String::new(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dbname` is never read [INFO] [stdout] --> src/db4.rs:131:17 [INFO] [stdout] | [INFO] [stdout] 131 | dbname = objectnames[0].clone(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dbname` is never read [INFO] [stdout] --> src/db4.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | let mut dbname = String::new(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `namespace` is never read [INFO] [stdout] --> src/db4.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let mut namespace = String::new(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tablename` is never read [INFO] [stdout] --> src/db4.rs:151:21 [INFO] [stdout] | [INFO] [stdout] 151 | let mut tablename = String::new(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tablename_full` is never read [INFO] [stdout] --> src/db4.rs:152:21 [INFO] [stdout] | [INFO] [stdout] 152 | let mut tablename_full = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dab_index` is never read [INFO] [stdout] --> src/db4.rs:153:21 [INFO] [stdout] | [INFO] [stdout] 153 | let mut dab_index: u64 = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/db4.rs:187:17 [INFO] [stdout] | [INFO] [stdout] 187 | let index = 0; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/db4.rs:186:34 [INFO] [stdout] | [INFO] [stdout] 186 | fn drop_table(&mut self, name: String) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dbname` is never read [INFO] [stdout] --> src/db4.rs:212:21 [INFO] [stdout] | [INFO] [stdout] 212 | let mut dbname = String::new(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `namespace` is never read [INFO] [stdout] --> src/db4.rs:213:21 [INFO] [stdout] | [INFO] [stdout] 213 | let mut namespace = String::new(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tablename` is never read [INFO] [stdout] --> src/db4.rs:214:21 [INFO] [stdout] | [INFO] [stdout] 214 | let mut tablename = String::new(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tablename_full` is never read [INFO] [stdout] --> src/db4.rs:215:21 [INFO] [stdout] | [INFO] [stdout] 215 | let mut tablename_full = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dab_index` is never read [INFO] [stdout] --> src/db4.rs:216:21 [INFO] [stdout] | [INFO] [stdout] 216 | let mut dab_index: u64 = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rem` [INFO] [stdout] --> src/db4.rs:367:21 [INFO] [stdout] | [INFO] [stdout] 367 | Ok((rem, mut stmt)) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/db4.rs:375:21 [INFO] [stdout] | [INFO] [stdout] 375 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `str` [INFO] [stdout] --> src/field_types/datefield4.rs:227:21 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn new2(str: &str) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/field_types/mod.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | _ => None, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/field_types/mod.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 80 | FieldTypes::Number(_) => { [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 84 | FieldTypes::Integer(_) => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 88 | FieldTypes::SignedInteger(_) => { [INFO] [stdout] | ---------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 92 | FieldTypes::Varchar(_) => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 105 | _ => None, [INFO] [stdout] | ^ ...and 2 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/table/record.rs:53:45 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn set(&mut self, index: usize, v: &String) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `record` [INFO] [stdout] --> src/table/record.rs:59:33 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn serialize_record(record: Record) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_record` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/table/record.rs:63:35 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn deserialize_record(data: Vec, table: Table) -> Record { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `table` [INFO] [stdout] --> src/table/record.rs:63:50 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn deserialize_record(data: Vec, table: Table) -> Record { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_table` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/table/mod.rs:412:17 [INFO] [stdout] | [INFO] [stdout] 412 | for r in &mut self.records { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pname` [INFO] [stdout] --> src/table/mod.rs:435:25 [INFO] [stdout] | [INFO] [stdout] 435 | let pname = split_updater[0].clone(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_pname` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/table/mod.rs:436:25 [INFO] [stdout] | [INFO] [stdout] 436 | let value = split_updater[1].clone(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/table/mod.rs:413:21 [INFO] [stdout] | [INFO] [stdout] 413 | let mut applies = true; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/table/mod.rs:451:17 [INFO] [stdout] | [INFO] [stdout] 451 | for r in &mut self.records { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/table/mod.rs:452:21 [INFO] [stdout] | [INFO] [stdout] 452 | let mut applies = true; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/statements.rs:229:34 [INFO] [stdout] | [INFO] [stdout] 229 | FieldTypes::Date(v) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/statements.rs:230:25 [INFO] [stdout] | [INFO] [stdout] 230 | let x: u64 = self.value.parse().unwrap(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/statements.rs:269:21 [INFO] [stdout] | [INFO] [stdout] 269 | let mut value = x[1].clone(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/statements.rs:361:27 [INFO] [stdout] | [INFO] [stdout] 361 | pub fn get(&self, s: &str) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exit` [INFO] [stdout] --> src/parser/token.rs:266:21 [INFO] [stdout] | [INFO] [stdout] 266 | let mut exit = false; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_exit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/parser/token.rs:321:21 [INFO] [stdout] | [INFO] [stdout] 321 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser/token.rs:266:17 [INFO] [stdout] | [INFO] [stdout] 266 | let mut exit = false; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exit` [INFO] [stdout] --> src/parser/token.rs:360:21 [INFO] [stdout] | [INFO] [stdout] 360 | let mut exit = false; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_exit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/parser/token.rs:378:21 [INFO] [stdout] | [INFO] [stdout] 378 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `db` [INFO] [stdout] --> src/parser/token.rs:354:30 [INFO] [stdout] | [INFO] [stdout] 354 | fn process3(input: &str, db: &Database4) -> Vec { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_db` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser/token.rs:360:17 [INFO] [stdout] | [INFO] [stdout] 360 | let mut exit = false; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable_name` [INFO] [stdout] --> src/context.rs:58:42 [INFO] [stdout] | [INFO] [stdout] 58 | fn set_variable_value(&mut self, variable_name: String, value: String) -> (String, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/context.rs:58:65 [INFO] [stdout] | [INFO] [stdout] 58 | fn set_variable_value(&mut self, variable_name: String, value: String) -> (String, bool) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable_name` [INFO] [stdout] --> src/context.rs:62:39 [INFO] [stdout] | [INFO] [stdout] 62 | fn set_alias_value(&mut self, variable_name: String, value: Name) -> (Name, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/context.rs:62:62 [INFO] [stdout] | [INFO] [stdout] 62 | fn set_alias_value(&mut self, variable_name: String, value: Name) -> (Name, bool) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable_name` [INFO] [stdout] --> src/context.rs:120:42 [INFO] [stdout] | [INFO] [stdout] 120 | fn set_variable_value(&mut self, variable_name: String, value: String) -> (String, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/context.rs:120:65 [INFO] [stdout] | [INFO] [stdout] 120 | fn set_variable_value(&mut self, variable_name: String, value: String) -> (String, bool) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable_name` [INFO] [stdout] --> src/context.rs:124:39 [INFO] [stdout] | [INFO] [stdout] 124 | fn set_alias_value(&mut self, variable_name: String, value: Name) -> (Name, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/context.rs:124:62 [INFO] [stdout] | [INFO] [stdout] 124 | fn set_alias_value(&mut self, variable_name: String, value: Name) -> (Name, bool) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable_name` [INFO] [stdout] --> src/context.rs:182:42 [INFO] [stdout] | [INFO] [stdout] 182 | fn set_variable_value(&mut self, variable_name: String, value: String) -> (String, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/context.rs:182:65 [INFO] [stdout] | [INFO] [stdout] 182 | fn set_variable_value(&mut self, variable_name: String, value: String) -> (String, bool) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable_name` [INFO] [stdout] --> src/context.rs:186:39 [INFO] [stdout] | [INFO] [stdout] 186 | fn set_alias_value(&mut self, variable_name: String, value: Name) -> (Name, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/context.rs:186:62 [INFO] [stdout] | [INFO] [stdout] 186 | fn set_alias_value(&mut self, variable_name: String, value: Name) -> (Name, bool) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Namespace` is never constructed [INFO] [stdout] --> src/database.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Namespace { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_context`, `table_info`, `alter_table`, and `drop_table` are never used [INFO] [stdout] --> src/db4.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl Database4 { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 60 | fn set_context(&mut self, ctx: ContextTypes) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | fn table_info(&self, s: Statement) -> QueryResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | fn alter_table(&mut self) {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 185 | [INFO] [stdout] 186 | fn drop_table(&mut self, name: String) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/parser/token.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum PrimaryExpression<'a> { [INFO] [stdout] | ----------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 38 | Comment(&'a str), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | Remove, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | AddTable2(&'a str), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | ChangeTable2(&'a str), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 59 | // \!tt! [INFO] [stdout] 60 | RemoveTable(&'a str), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 61 | // \!table! [INFO] [stdout] 62 | RemoveTable2(&'a str), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 63 | Alias(&'a str), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 64 | VariableName(&'a str), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 65 | Value(&'a str), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 66 | Text(&'a str), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PrimaryExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/field_types/datefield4.rs:51:33 [INFO] [stdout] | [INFO] [stdout] 51 | let split = split[2].clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/field_types/datefield4.rs:59:33 [INFO] [stdout] | [INFO] [stdout] 59 | let split = split[1].clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/field_types/datefield4.rs:68:33 [INFO] [stdout] | [INFO] [stdout] 68 | let split = split[2].clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/table/mod.rs:91:39 [INFO] [stdout] | [INFO] [stdout] 91 | let name = split[0].trim().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.01s [INFO] running `Command { std: "docker" "inspect" "26eceb841f3ca1a775717119633f4ae24e762c8e381e1429d90f82a61c3daa23", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "26eceb841f3ca1a775717119633f4ae24e762c8e381e1429d90f82a61c3daa23", kill_on_drop: false }` [INFO] [stdout] 26eceb841f3ca1a775717119633f4ae24e762c8e381e1429d90f82a61c3daa23 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c0c341f3a5475ecefc8e6c1bb58ea76a511125e4f9a987c06c815b2adef39976 [INFO] running `Command { std: "docker" "start" "-a" "c0c341f3a5475ecefc8e6c1bb58ea76a511125e4f9a987c06c815b2adef39976", kill_on_drop: false }` [INFO] [stdout] warning: unused imports: `Read`, `fs::File`, and `self` [INFO] [stdout] --> src/db4.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | fs::File, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 6 | io::{self, Read}, [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::qrtlib::statements::WhereClauses` [INFO] [stdout] --> src/field_types/mod.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use crate::qrtlib::statements::WhereClauses; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContextTypes`, `QueryContext`, `SessionContext`, and `self` [INFO] [stdout] --> src/statements.rs:4:27 [INFO] [stdout] | [INFO] [stdout] 4 | qrtlib::context::{self, Context, ContextTypes, QueryContext, SessionContext}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `all_consuming`, `bytes`, `char as ncchar`, `delimited`, `error::context`, `is_alphabetic`, `is_newline`, `is_not`, `is_space`, `line_ending`, `map_parser`, `map`, `multi::separated_list1`, `newline`, `opt`, `pair`, `preceded`, `recognize`, `self`, `separated_pair`, `take_till`, `take_while1`, `take_while`, and `terminated` [INFO] [stdout] --> src/parser/token.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | bytes, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 5 | bytes::complete::{is_not, tag, tag_no_case, take_till, take_until, take_while, take_while1}, [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 6 | character::complete::{self, char as ncchar, line_ending, multispace0, newline}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] 7 | character::{is_alphabetic, is_newline, is_space}, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] 8 | combinator::{self, all_consuming, map, map_parser, opt, recognize}, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^ [INFO] [stdout] 9 | error::context, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 10 | multi::separated_list1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | sequence::{delimited, pair, preceded, separated_pair, terminated, tuple}, [INFO] [stdout] | ^^^^^^^^^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContextTypes`, `Context`, `QueryContext`, `SessionContext`, and `self` [INFO] [stdout] --> src/parser/token.rs:24:34 [INFO] [stdout] | [INFO] [stdout] 24 | use crate::qrtlib::context::{self, Context, ContextTypes, QueryContext, SessionContext}; [INFO] [stdout] | ^^^^ ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContextTypes`, `QueryContext`, `SessionContext`, `database`, and `self` [INFO] [stdout] --> src/identity.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | database, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | qrtlib::context::{self, Context, ContextTypes, QueryContext, SessionContext}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dbname` is never read [INFO] [stdout] --> src/db4.rs:127:21 [INFO] [stdout] | [INFO] [stdout] 127 | let mut dbname = String::new(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dbname` is never read [INFO] [stdout] --> src/db4.rs:131:17 [INFO] [stdout] | [INFO] [stdout] 131 | dbname = objectnames[0].clone(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dbname` is never read [INFO] [stdout] --> src/db4.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | let mut dbname = String::new(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `namespace` is never read [INFO] [stdout] --> src/db4.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let mut namespace = String::new(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tablename` is never read [INFO] [stdout] --> src/db4.rs:151:21 [INFO] [stdout] | [INFO] [stdout] 151 | let mut tablename = String::new(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tablename_full` is never read [INFO] [stdout] --> src/db4.rs:152:21 [INFO] [stdout] | [INFO] [stdout] 152 | let mut tablename_full = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dab_index` is never read [INFO] [stdout] --> src/db4.rs:153:21 [INFO] [stdout] | [INFO] [stdout] 153 | let mut dab_index: u64 = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/db4.rs:187:17 [INFO] [stdout] | [INFO] [stdout] 187 | let index = 0; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/db4.rs:186:34 [INFO] [stdout] | [INFO] [stdout] 186 | fn drop_table(&mut self, name: String) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dbname` is never read [INFO] [stdout] --> src/db4.rs:212:21 [INFO] [stdout] | [INFO] [stdout] 212 | let mut dbname = String::new(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `namespace` is never read [INFO] [stdout] --> src/db4.rs:213:21 [INFO] [stdout] | [INFO] [stdout] 213 | let mut namespace = String::new(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tablename` is never read [INFO] [stdout] --> src/db4.rs:214:21 [INFO] [stdout] | [INFO] [stdout] 214 | let mut tablename = String::new(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tablename_full` is never read [INFO] [stdout] --> src/db4.rs:215:21 [INFO] [stdout] | [INFO] [stdout] 215 | let mut tablename_full = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dab_index` is never read [INFO] [stdout] --> src/db4.rs:216:21 [INFO] [stdout] | [INFO] [stdout] 216 | let mut dab_index: u64 = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rem` [INFO] [stdout] --> src/db4.rs:367:21 [INFO] [stdout] | [INFO] [stdout] 367 | Ok((rem, mut stmt)) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/db4.rs:375:21 [INFO] [stdout] | [INFO] [stdout] 375 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `str` [INFO] [stdout] --> src/field_types/datefield4.rs:227:21 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn new2(str: &str) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/field_types/mod.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | _ => None, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/field_types/mod.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 80 | FieldTypes::Number(_) => { [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 84 | FieldTypes::Integer(_) => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 88 | FieldTypes::SignedInteger(_) => { [INFO] [stdout] | ---------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 92 | FieldTypes::Varchar(_) => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 105 | _ => None, [INFO] [stdout] | ^ ...and 2 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/table/record.rs:53:45 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn set(&mut self, index: usize, v: &String) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `record` [INFO] [stdout] --> src/table/record.rs:59:33 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn serialize_record(record: Record) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_record` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/table/record.rs:63:35 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn deserialize_record(data: Vec, table: Table) -> Record { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `table` [INFO] [stdout] --> src/table/record.rs:63:50 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn deserialize_record(data: Vec, table: Table) -> Record { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_table` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/table/mod.rs:412:17 [INFO] [stdout] | [INFO] [stdout] 412 | for r in &mut self.records { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pname` [INFO] [stdout] --> src/table/mod.rs:435:25 [INFO] [stdout] | [INFO] [stdout] 435 | let pname = split_updater[0].clone(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_pname` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/table/mod.rs:436:25 [INFO] [stdout] | [INFO] [stdout] 436 | let value = split_updater[1].clone(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/table/mod.rs:413:21 [INFO] [stdout] | [INFO] [stdout] 413 | let mut applies = true; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/table/mod.rs:451:17 [INFO] [stdout] | [INFO] [stdout] 451 | for r in &mut self.records { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/table/mod.rs:452:21 [INFO] [stdout] | [INFO] [stdout] 452 | let mut applies = true; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/statements.rs:229:34 [INFO] [stdout] | [INFO] [stdout] 229 | FieldTypes::Date(v) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/statements.rs:230:25 [INFO] [stdout] | [INFO] [stdout] 230 | let x: u64 = self.value.parse().unwrap(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/statements.rs:269:21 [INFO] [stdout] | [INFO] [stdout] 269 | let mut value = x[1].clone(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/statements.rs:361:27 [INFO] [stdout] | [INFO] [stdout] 361 | pub fn get(&self, s: &str) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exit` [INFO] [stdout] --> src/parser/token.rs:266:21 [INFO] [stdout] | [INFO] [stdout] 266 | let mut exit = false; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_exit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/parser/token.rs:321:21 [INFO] [stdout] | [INFO] [stdout] 321 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser/token.rs:266:17 [INFO] [stdout] | [INFO] [stdout] 266 | let mut exit = false; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exit` [INFO] [stdout] --> src/parser/token.rs:360:21 [INFO] [stdout] | [INFO] [stdout] 360 | let mut exit = false; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_exit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/parser/token.rs:378:21 [INFO] [stdout] | [INFO] [stdout] 378 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `db` [INFO] [stdout] --> src/parser/token.rs:354:30 [INFO] [stdout] | [INFO] [stdout] 354 | fn process3(input: &str, db: &Database4) -> Vec { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_db` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser/token.rs:360:17 [INFO] [stdout] | [INFO] [stdout] 360 | let mut exit = false; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable_name` [INFO] [stdout] --> src/context.rs:58:42 [INFO] [stdout] | [INFO] [stdout] 58 | fn set_variable_value(&mut self, variable_name: String, value: String) -> (String, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/context.rs:58:65 [INFO] [stdout] | [INFO] [stdout] 58 | fn set_variable_value(&mut self, variable_name: String, value: String) -> (String, bool) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable_name` [INFO] [stdout] --> src/context.rs:62:39 [INFO] [stdout] | [INFO] [stdout] 62 | fn set_alias_value(&mut self, variable_name: String, value: Name) -> (Name, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/context.rs:62:62 [INFO] [stdout] | [INFO] [stdout] 62 | fn set_alias_value(&mut self, variable_name: String, value: Name) -> (Name, bool) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable_name` [INFO] [stdout] --> src/context.rs:120:42 [INFO] [stdout] | [INFO] [stdout] 120 | fn set_variable_value(&mut self, variable_name: String, value: String) -> (String, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/context.rs:120:65 [INFO] [stdout] | [INFO] [stdout] 120 | fn set_variable_value(&mut self, variable_name: String, value: String) -> (String, bool) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling qrtdb v0.12.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `variable_name` [INFO] [stdout] --> src/context.rs:124:39 [INFO] [stdout] | [INFO] [stdout] 124 | fn set_alias_value(&mut self, variable_name: String, value: Name) -> (Name, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/context.rs:124:62 [INFO] [stdout] | [INFO] [stdout] 124 | fn set_alias_value(&mut self, variable_name: String, value: Name) -> (Name, bool) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable_name` [INFO] [stdout] --> src/context.rs:182:42 [INFO] [stdout] | [INFO] [stdout] 182 | fn set_variable_value(&mut self, variable_name: String, value: String) -> (String, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/context.rs:182:65 [INFO] [stdout] | [INFO] [stdout] 182 | fn set_variable_value(&mut self, variable_name: String, value: String) -> (String, bool) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable_name` [INFO] [stdout] --> src/context.rs:186:39 [INFO] [stdout] | [INFO] [stdout] 186 | fn set_alias_value(&mut self, variable_name: String, value: Name) -> (Name, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/context.rs:186:62 [INFO] [stdout] | [INFO] [stdout] 186 | fn set_alias_value(&mut self, variable_name: String, value: Name) -> (Name, bool) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Namespace` is never constructed [INFO] [stdout] --> src/database.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Namespace { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_context`, `table_info`, `alter_table`, and `drop_table` are never used [INFO] [stdout] --> src/db4.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl Database4 { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 60 | fn set_context(&mut self, ctx: ContextTypes) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | fn table_info(&self, s: Statement) -> QueryResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | fn alter_table(&mut self) {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 185 | [INFO] [stdout] 186 | fn drop_table(&mut self, name: String) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/parser/token.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum PrimaryExpression<'a> { [INFO] [stdout] | ----------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 38 | Comment(&'a str), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | Remove, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | AddTable2(&'a str), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | ChangeTable2(&'a str), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 59 | // \!tt! [INFO] [stdout] 60 | RemoveTable(&'a str), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 61 | // \!table! [INFO] [stdout] 62 | RemoveTable2(&'a str), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 63 | Alias(&'a str), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 64 | VariableName(&'a str), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 65 | Value(&'a str), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 66 | Text(&'a str), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PrimaryExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/field_types/datefield4.rs:51:33 [INFO] [stdout] | [INFO] [stdout] 51 | let split = split[2].clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/field_types/datefield4.rs:59:33 [INFO] [stdout] | [INFO] [stdout] 59 | let split = split[1].clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/field_types/datefield4.rs:68:33 [INFO] [stdout] | [INFO] [stdout] 68 | let split = split[2].clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/table/mod.rs:91:39 [INFO] [stdout] | [INFO] [stdout] 91 | let name = split[0].trim().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `fs::File`, and `self` [INFO] [stdout] --> src/db4.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | fs::File, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 6 | io::{self, Read}, [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::qrtlib::statements::WhereClauses` [INFO] [stdout] --> src/field_types/mod.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use crate::qrtlib::statements::WhereClauses; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContextTypes`, `QueryContext`, `SessionContext`, and `self` [INFO] [stdout] --> src/statements.rs:4:27 [INFO] [stdout] | [INFO] [stdout] 4 | qrtlib::context::{self, Context, ContextTypes, QueryContext, SessionContext}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `all_consuming`, `bytes`, `char as ncchar`, `delimited`, `error::context`, `is_alphabetic`, `is_newline`, `is_not`, `is_space`, `line_ending`, `map_parser`, `map`, `multi::separated_list1`, `newline`, `opt`, `pair`, `preceded`, `recognize`, `self`, `separated_pair`, `take_till`, `take_while1`, `take_while`, and `terminated` [INFO] [stdout] --> src/parser/token.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | bytes, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 5 | bytes::complete::{is_not, tag, tag_no_case, take_till, take_until, take_while, take_while1}, [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 6 | character::complete::{self, char as ncchar, line_ending, multispace0, newline}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] 7 | character::{is_alphabetic, is_newline, is_space}, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] 8 | combinator::{self, all_consuming, map, map_parser, opt, recognize}, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^ [INFO] [stdout] 9 | error::context, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 10 | multi::separated_list1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | sequence::{delimited, pair, preceded, separated_pair, terminated, tuple}, [INFO] [stdout] | ^^^^^^^^^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContextTypes`, `Context`, `QueryContext`, `SessionContext`, and `self` [INFO] [stdout] --> src/parser/token.rs:24:34 [INFO] [stdout] | [INFO] [stdout] 24 | use crate::qrtlib::context::{self, Context, ContextTypes, QueryContext, SessionContext}; [INFO] [stdout] | ^^^^ ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ContextTypes`, `QueryContext`, `SessionContext`, `database`, and `self` [INFO] [stdout] --> src/identity.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | database, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | qrtlib::context::{self, Context, ContextTypes, QueryContext, SessionContext}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dbname` is never read [INFO] [stdout] --> src/db4.rs:127:21 [INFO] [stdout] | [INFO] [stdout] 127 | let mut dbname = String::new(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dbname` is never read [INFO] [stdout] --> src/db4.rs:131:17 [INFO] [stdout] | [INFO] [stdout] 131 | dbname = objectnames[0].clone(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dbname` is never read [INFO] [stdout] --> src/db4.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | let mut dbname = String::new(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `namespace` is never read [INFO] [stdout] --> src/db4.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | let mut namespace = String::new(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tablename` is never read [INFO] [stdout] --> src/db4.rs:151:21 [INFO] [stdout] | [INFO] [stdout] 151 | let mut tablename = String::new(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tablename_full` is never read [INFO] [stdout] --> src/db4.rs:152:21 [INFO] [stdout] | [INFO] [stdout] 152 | let mut tablename_full = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dab_index` is never read [INFO] [stdout] --> src/db4.rs:153:21 [INFO] [stdout] | [INFO] [stdout] 153 | let mut dab_index: u64 = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/db4.rs:187:17 [INFO] [stdout] | [INFO] [stdout] 187 | let index = 0; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/db4.rs:186:34 [INFO] [stdout] | [INFO] [stdout] 186 | fn drop_table(&mut self, name: String) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dbname` is never read [INFO] [stdout] --> src/db4.rs:212:21 [INFO] [stdout] | [INFO] [stdout] 212 | let mut dbname = String::new(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `namespace` is never read [INFO] [stdout] --> src/db4.rs:213:21 [INFO] [stdout] | [INFO] [stdout] 213 | let mut namespace = String::new(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tablename` is never read [INFO] [stdout] --> src/db4.rs:214:21 [INFO] [stdout] | [INFO] [stdout] 214 | let mut tablename = String::new(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tablename_full` is never read [INFO] [stdout] --> src/db4.rs:215:21 [INFO] [stdout] | [INFO] [stdout] 215 | let mut tablename_full = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dab_index` is never read [INFO] [stdout] --> src/db4.rs:216:21 [INFO] [stdout] | [INFO] [stdout] 216 | let mut dab_index: u64 = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rem` [INFO] [stdout] --> src/db4.rs:367:21 [INFO] [stdout] | [INFO] [stdout] 367 | Ok((rem, mut stmt)) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/db4.rs:375:21 [INFO] [stdout] | [INFO] [stdout] 375 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `str` [INFO] [stdout] --> src/field_types/datefield4.rs:227:21 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn new2(str: &str) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/field_types/mod.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | _ => None, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/field_types/mod.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 80 | FieldTypes::Number(_) => { [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 84 | FieldTypes::Integer(_) => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 88 | FieldTypes::SignedInteger(_) => { [INFO] [stdout] | ---------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 92 | FieldTypes::Varchar(_) => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 105 | _ => None, [INFO] [stdout] | ^ ...and 2 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/table/record.rs:53:45 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn set(&mut self, index: usize, v: &String) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `record` [INFO] [stdout] --> src/table/record.rs:59:33 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn serialize_record(record: Record) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_record` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/table/record.rs:63:35 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn deserialize_record(data: Vec, table: Table) -> Record { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `table` [INFO] [stdout] --> src/table/record.rs:63:50 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn deserialize_record(data: Vec, table: Table) -> Record { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_table` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/table/mod.rs:412:17 [INFO] [stdout] | [INFO] [stdout] 412 | for r in &mut self.records { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pname` [INFO] [stdout] --> src/table/mod.rs:435:25 [INFO] [stdout] | [INFO] [stdout] 435 | let pname = split_updater[0].clone(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_pname` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/table/mod.rs:436:25 [INFO] [stdout] | [INFO] [stdout] 436 | let value = split_updater[1].clone(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/table/mod.rs:413:21 [INFO] [stdout] | [INFO] [stdout] 413 | let mut applies = true; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/table/mod.rs:451:17 [INFO] [stdout] | [INFO] [stdout] 451 | for r in &mut self.records { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/table/mod.rs:452:21 [INFO] [stdout] | [INFO] [stdout] 452 | let mut applies = true; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/statements.rs:229:34 [INFO] [stdout] | [INFO] [stdout] 229 | FieldTypes::Date(v) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/statements.rs:230:25 [INFO] [stdout] | [INFO] [stdout] 230 | let x: u64 = self.value.parse().unwrap(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/statements.rs:269:21 [INFO] [stdout] | [INFO] [stdout] 269 | let mut value = x[1].clone(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/statements.rs:361:27 [INFO] [stdout] | [INFO] [stdout] 361 | pub fn get(&self, s: &str) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exit` [INFO] [stdout] --> src/parser/token.rs:266:21 [INFO] [stdout] | [INFO] [stdout] 266 | let mut exit = false; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_exit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/parser/token.rs:321:21 [INFO] [stdout] | [INFO] [stdout] 321 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser/token.rs:266:17 [INFO] [stdout] | [INFO] [stdout] 266 | let mut exit = false; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exit` [INFO] [stdout] --> src/parser/token.rs:360:21 [INFO] [stdout] | [INFO] [stdout] 360 | let mut exit = false; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_exit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/parser/token.rs:378:21 [INFO] [stdout] | [INFO] [stdout] 378 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `db` [INFO] [stdout] --> src/parser/token.rs:354:30 [INFO] [stdout] | [INFO] [stdout] 354 | fn process3(input: &str, db: &Database4) -> Vec { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_db` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser/token.rs:360:17 [INFO] [stdout] | [INFO] [stdout] 360 | let mut exit = false; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable_name` [INFO] [stdout] --> src/context.rs:58:42 [INFO] [stdout] | [INFO] [stdout] 58 | fn set_variable_value(&mut self, variable_name: String, value: String) -> (String, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/context.rs:58:65 [INFO] [stdout] | [INFO] [stdout] 58 | fn set_variable_value(&mut self, variable_name: String, value: String) -> (String, bool) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable_name` [INFO] [stdout] --> src/context.rs:62:39 [INFO] [stdout] | [INFO] [stdout] 62 | fn set_alias_value(&mut self, variable_name: String, value: Name) -> (Name, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/context.rs:62:62 [INFO] [stdout] | [INFO] [stdout] 62 | fn set_alias_value(&mut self, variable_name: String, value: Name) -> (Name, bool) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable_name` [INFO] [stdout] --> src/context.rs:120:42 [INFO] [stdout] | [INFO] [stdout] 120 | fn set_variable_value(&mut self, variable_name: String, value: String) -> (String, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/context.rs:120:65 [INFO] [stdout] | [INFO] [stdout] 120 | fn set_variable_value(&mut self, variable_name: String, value: String) -> (String, bool) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable_name` [INFO] [stdout] --> src/context.rs:124:39 [INFO] [stdout] | [INFO] [stdout] 124 | fn set_alias_value(&mut self, variable_name: String, value: Name) -> (Name, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/context.rs:124:62 [INFO] [stdout] | [INFO] [stdout] 124 | fn set_alias_value(&mut self, variable_name: String, value: Name) -> (Name, bool) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable_name` [INFO] [stdout] --> src/context.rs:182:42 [INFO] [stdout] | [INFO] [stdout] 182 | fn set_variable_value(&mut self, variable_name: String, value: String) -> (String, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/context.rs:182:65 [INFO] [stdout] | [INFO] [stdout] 182 | fn set_variable_value(&mut self, variable_name: String, value: String) -> (String, bool) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable_name` [INFO] [stdout] --> src/context.rs:186:39 [INFO] [stdout] | [INFO] [stdout] 186 | fn set_alias_value(&mut self, variable_name: String, value: Name) -> (Name, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/context.rs:186:62 [INFO] [stdout] | [INFO] [stdout] 186 | fn set_alias_value(&mut self, variable_name: String, value: Name) -> (Name, bool) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Namespace` is never constructed [INFO] [stdout] --> src/database.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Namespace { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_context`, `table_info`, `alter_table`, and `drop_table` are never used [INFO] [stdout] --> src/db4.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl Database4 { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 60 | fn set_context(&mut self, ctx: ContextTypes) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | fn table_info(&self, s: Statement) -> QueryResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | fn alter_table(&mut self) {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 185 | [INFO] [stdout] 186 | fn drop_table(&mut self, name: String) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/parser/token.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum PrimaryExpression<'a> { [INFO] [stdout] | ----------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 38 | Comment(&'a str), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | Remove, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | AddTable2(&'a str), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | ChangeTable2(&'a str), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 59 | // \!tt! [INFO] [stdout] 60 | RemoveTable(&'a str), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 61 | // \!table! [INFO] [stdout] 62 | RemoveTable2(&'a str), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 63 | Alias(&'a str), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 64 | VariableName(&'a str), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 65 | Value(&'a str), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 66 | Text(&'a str), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PrimaryExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/field_types/datefield4.rs:51:33 [INFO] [stdout] | [INFO] [stdout] 51 | let split = split[2].clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/field_types/datefield4.rs:59:33 [INFO] [stdout] | [INFO] [stdout] 59 | let split = split[1].clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/field_types/datefield4.rs:68:33 [INFO] [stdout] | [INFO] [stdout] 68 | let split = split[2].clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/table/mod.rs:91:39 [INFO] [stdout] | [INFO] [stdout] 91 | let name = split[0].trim().clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.51s [INFO] running `Command { std: "docker" "inspect" "c0c341f3a5475ecefc8e6c1bb58ea76a511125e4f9a987c06c815b2adef39976", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c0c341f3a5475ecefc8e6c1bb58ea76a511125e4f9a987c06c815b2adef39976", kill_on_drop: false }` [INFO] [stdout] c0c341f3a5475ecefc8e6c1bb58ea76a511125e4f9a987c06c815b2adef39976