[INFO] cloning repository https://github.com/itarato/toydb [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/itarato/toydb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitarato%2Ftoydb", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitarato%2Ftoydb'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 52c5021c9b965ae3e3ad58fdcb4129b2e1bd29e3 [INFO] testing itarato/toydb against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitarato%2Ftoydb" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/itarato/toydb [INFO] finished tweaking git repo https://github.com/itarato/toydb [INFO] tweaked toml for git repo https://github.com/itarato/toydb written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/itarato/toydb on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/itarato/toydb 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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded cfg-if v0.1.3 [INFO] [stderr] Downloaded quote v0.6.3 [INFO] [stderr] Downloaded lazy_static v1.0.2 [INFO] [stderr] Downloaded itoa v0.4.1 [INFO] [stderr] Downloaded proc-macro2 v0.4.6 [INFO] [stderr] Downloaded httparse v1.2.4 [INFO] [stderr] Downloaded serde_derive v1.0.66 [INFO] [stderr] Downloaded string v0.1.0 [INFO] [stderr] Downloaded wincolor v0.1.6 [INFO] [stderr] Downloaded tokio-reactor v0.1.2 [INFO] [stderr] Downloaded atty v0.2.10 [INFO] [stderr] Downloaded tokio-codec v0.1.0 [INFO] [stderr] Downloaded arrayvec v0.4.7 [INFO] [stderr] Downloaded crossbeam-deque v0.3.1 [INFO] [stderr] Downloaded tokio-threadpool v0.1.4 [INFO] [stderr] Downloaded indexmap v1.0.1 [INFO] [stderr] Downloaded syn v0.14.2 [INFO] [stderr] Downloaded regex v1.0.0 [INFO] [stderr] Downloaded regex-syntax v0.6.0 [INFO] [stderr] Downloaded http v0.1.6 [INFO] [stderr] Downloaded futures v0.1.21 [INFO] [stderr] Downloaded bytes v0.4.8 [INFO] [stderr] Downloaded tokio-timer v0.2.4 [INFO] [stderr] Downloaded tokio-io v0.1.7 [INFO] [stderr] Downloaded mio v0.6.14 [INFO] [stderr] Downloaded tokio-executor v0.1.2 [INFO] [stderr] Downloaded crossbeam-utils v0.3.2 [INFO] [stderr] Downloaded tokio-udp v0.1.1 [INFO] [stderr] Downloaded tokio v0.1.7 [INFO] [stderr] Downloaded net2 v0.2.32 [INFO] [stderr] Downloaded termcolor v0.3.6 [INFO] [stderr] Downloaded env_logger v0.5.10 [INFO] [stderr] Downloaded tokio-tcp v0.1.0 [INFO] [stderr] Downloaded serde_json v1.0.21 [INFO] [stderr] Downloaded tokio-fs v0.1.1 [INFO] [stderr] Downloaded crossbeam-epoch v0.4.3 [INFO] [stderr] Downloaded serde v1.0.66 [INFO] [stderr] Downloaded winapi v0.3.4 [INFO] [stderr] Downloaded h2 v0.1.9 [INFO] [stderr] Downloaded hyper v0.12.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 07e2501b1d8a6c8ec8daa56e8f9e5bb6480915a81ce446111e9cacae7ef931a2 [INFO] running `Command { std: "docker" "start" "-a" "07e2501b1d8a6c8ec8daa56e8f9e5bb6480915a81ce446111e9cacae7ef931a2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "07e2501b1d8a6c8ec8daa56e8f9e5bb6480915a81ce446111e9cacae7ef931a2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "07e2501b1d8a6c8ec8daa56e8f9e5bb6480915a81ce446111e9cacae7ef931a2", kill_on_drop: false }` [INFO] [stdout] 07e2501b1d8a6c8ec8daa56e8f9e5bb6480915a81ce446111e9cacae7ef931a2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 298f74174947272942be0bd0eb5551abc3bbc2f4490fa82bf2a508980fbd4bb3 [INFO] running `Command { std: "docker" "start" "-a" "298f74174947272942be0bd0eb5551abc3bbc2f4490fa82bf2a508980fbd4bb3", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling libc v0.2.42 [INFO] [stderr] Compiling cfg-if v0.1.3 [INFO] [stderr] Compiling futures v0.1.21 [INFO] [stderr] Compiling byteorder v1.2.3 [INFO] [stderr] Compiling lazy_static v1.0.2 [INFO] [stderr] Compiling nodrop v0.1.12 [INFO] [stderr] Compiling memoffset v0.2.1 [INFO] [stderr] Compiling scopeguard v0.3.3 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling serde v1.0.66 [INFO] [stderr] Compiling ucd-util v0.1.1 [INFO] [stderr] Compiling regex v1.0.0 [INFO] [stderr] Compiling utf8-ranges v1.0.0 [INFO] [stderr] Compiling indexmap v1.0.1 [INFO] [stderr] Compiling string v0.1.0 [INFO] [stderr] Compiling log v0.4.1 [INFO] [stderr] Compiling arrayvec v0.4.7 [INFO] [stderr] Compiling crossbeam-utils v0.3.2 [INFO] [stderr] Compiling try-lock v0.1.0 [INFO] [stderr] Compiling unreachable v1.0.0 [INFO] [stderr] Compiling proc-macro2 v0.4.6 [INFO] [stderr] Compiling regex-syntax v0.6.0 [INFO] [stderr] Compiling quick-error v1.2.2 [INFO] [stderr] Compiling unicode-width v0.1.5 [INFO] [stderr] Compiling httparse v1.2.4 [INFO] [stderr] Compiling thread_local v0.3.5 [INFO] [stderr] Compiling itoa v0.4.1 [INFO] [stderr] Compiling termcolor v0.3.6 [INFO] [stderr] Compiling textwrap v0.10.0 [INFO] [stderr] Compiling humantime v1.1.1 [INFO] [stderr] Compiling crossbeam-epoch v0.4.3 [INFO] [stderr] Compiling bitflags v1.0.3 [INFO] [stderr] Compiling strsim v0.7.0 [INFO] [stderr] Compiling iovec v0.1.2 [INFO] [stderr] Compiling net2 v0.2.32 [INFO] [stderr] Compiling num_cpus v1.8.0 [INFO] [stderr] Compiling rand v0.4.2 [INFO] [stderr] Compiling memchr v2.0.1 [INFO] [stderr] Compiling atty v0.2.10 [INFO] [stderr] Compiling quote v0.6.3 [INFO] [stderr] Compiling bytes v0.4.8 [INFO] [stderr] Compiling aho-corasick v0.6.4 [INFO] [stderr] Compiling syn v0.14.2 [INFO] [stderr] Compiling mio v0.6.14 [INFO] [stderr] Compiling crossbeam-deque v0.3.1 [INFO] [stderr] Compiling time v0.1.40 [INFO] [stderr] Compiling vec_map v0.8.1 [INFO] [stderr] Compiling clap v2.32.0 [INFO] [stderr] Compiling http v0.1.6 [INFO] [stderr] Compiling tokio-io v0.1.7 [INFO] [stderr] Compiling tokio-executor v0.1.2 [INFO] [stderr] Compiling futures-cpupool v0.1.8 [INFO] [stderr] Compiling want v0.0.4 [INFO] [stderr] Compiling tokio-threadpool v0.1.4 [INFO] [stderr] Compiling tokio-timer v0.2.4 [INFO] [stderr] Compiling tokio-reactor v0.1.2 [INFO] [stderr] Compiling tokio-codec v0.1.0 [INFO] [stderr] Compiling tokio-udp v0.1.1 [INFO] [stderr] Compiling tokio-tcp v0.1.0 [INFO] [stderr] Compiling tokio-fs v0.1.1 [INFO] [stderr] Compiling tokio v0.1.7 [INFO] [stderr] Compiling serde_derive v1.0.66 [INFO] [stderr] Compiling h2 v0.1.9 [INFO] [stderr] Compiling env_logger v0.5.10 [INFO] [stderr] Compiling serde_json v1.0.21 [INFO] [stderr] Compiling hyper v0.12.1 [INFO] [stderr] Compiling toydb v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `util` [INFO] [stdout] --> src/dbserver.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use util; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred [INFO] [stdout] --> src/main.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | / lazy_static! { [INFO] [stdout] 28 | | static ref IS_VERBOSE: Mutex> = Mutex::new(Cell::new(false)); [INFO] [stdout] 29 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prelude` [INFO] [stdout] --> src/repl.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, prelude::*, Write}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dbserver.rs:82:10 [INFO] [stdout] | [INFO] [stdout] 82 | ) -> Box, Error = hyper::Error> + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 82 | ) -> Box, Error = hyper::Error> + Send> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Query` is never used [INFO] [stdout] --> src/query.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Query { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Type` is never used [INFO] [stdout] --> src/query.rs:24:10 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum Type { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FieldDef` is never constructed [INFO] [stdout] --> src/query.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct FieldDef { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/query.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl FieldDef { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 45 | pub fn new(name: String, config: Type) -> FieldDef { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CreateQuery` is never constructed [INFO] [stdout] --> src/query.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct CreateQuery { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/query.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 57 | impl CreateQuery { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 58 | pub fn new(table: String, fields: Vec, indices: Vec) -> CreateQuery { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Relation` is never used [INFO] [stdout] --> src/query.rs:67:10 [INFO] [stdout] | [INFO] [stdout] 67 | pub enum Relation { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from` is never used [INFO] [stdout] --> src/query.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl Relation { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 74 | pub fn from(raw: &String) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FieldCondition` is never constructed [INFO] [stdout] --> src/query.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 95 | pub struct FieldCondition { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/query.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 101 | impl FieldCondition { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] 102 | pub fn new(field_name: String, relation: String, value: String) -> FieldCondition { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SelectQuery` is never constructed [INFO] [stdout] --> src/query.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 112 | pub struct SelectQuery { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/query.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 118 | impl SelectQuery { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 119 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InsertQuery` is never constructed [INFO] [stdout] --> src/query.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 133 | pub struct InsertQuery { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/query.rs:139:12 [INFO] [stdout] | [INFO] [stdout] 138 | impl InsertQuery { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 139 | pub fn new(table_name: String, raw_inserts: HashMap) -> InsertQuery { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DescribeQuery` is never constructed [INFO] [stdout] --> src/query.rs:148:12 [INFO] [stdout] | [INFO] [stdout] 148 | pub struct DescribeQuery; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parse` is never used [INFO] [stdout] --> src/query_parser.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl QueryParser { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn parse(&self, raw: &String) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tokenize` is never used [INFO] [stdout] --> src/query_parser.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn tokenize(raw: &String) -> Vec<&str> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_create_table` is never used [INFO] [stdout] --> src/query_parser.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn parse_create_table(tokens: &mut Vec<&str>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_select` is never used [INFO] [stdout] --> src/query_parser.rs:122:4 [INFO] [stdout] | [INFO] [stdout] 122 | fn parse_select(tokens: &mut Vec<&str>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_insert` is never used [INFO] [stdout] --> src/query_parser.rs:153:4 [INFO] [stdout] | [INFO] [stdout] 153 | fn parse_insert(tokens: &mut Vec<&str>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/query.rs:23:21 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(PartialEq, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Type` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Type` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/query.rs:23:32 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(PartialEq, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Type` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Type` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/query.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `FieldDef` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FieldDef` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/query.rs:38:28 [INFO] [stdout] | [INFO] [stdout] 38 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `FieldDef` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FieldDef` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (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/engine.rs:86:21 [INFO] [stdout] | [INFO] [stdout] 86 | let mut index = self.indices.get_mut(column_name).unwrap(); [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: function `is_verbose` is never used [INFO] [stdout] --> src/main.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn is_verbose() -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_pos` is never used [INFO] [stdout] --> src/index.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub trait Index { [INFO] [stdout] | ----- method in this trait [INFO] [stdout] 5 | fn insert(&mut self, val: util::Val, at: usize); [INFO] [stdout] 6 | fn get_pos(&self, val: util::Val) -> Option<&Vec>; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `looks_like_query` is never used [INFO] [stdout] --> src/query_parser.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl QueryParser { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 9 | pub fn looks_like_query(raw: &String) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/dbserver.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | self.engine_operator.lock().unwrap().init(); [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] 21 | let _ = self.engine_operator.lock().unwrap().init(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/engine.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `ColumnInfo` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ColumnInfo` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/engine.rs:10:28 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `ColumnInfo` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ColumnInfo` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/query.rs:23:21 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(PartialEq, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Type` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Type` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/query.rs:23:32 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(PartialEq, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Type` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Type` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/query.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `FieldDef` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FieldDef` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/query.rs:38:28 [INFO] [stdout] | [INFO] [stdout] 38 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `FieldDef` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FieldDef` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/table_sync.rs:24:46 [INFO] [stdout] | [INFO] [stdout] 24 | let mut f: File = File::open(path.clone()).unwrap(); [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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/util.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | #[derive(Serialize, Deserialize, Eq, Hash)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Val` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Val` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/util.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | #[derive(Serialize, Deserialize, Eq, Hash)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Val` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Val` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.23s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.14.2 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "298f74174947272942be0bd0eb5551abc3bbc2f4490fa82bf2a508980fbd4bb3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "298f74174947272942be0bd0eb5551abc3bbc2f4490fa82bf2a508980fbd4bb3", kill_on_drop: false }` [INFO] [stdout] 298f74174947272942be0bd0eb5551abc3bbc2f4490fa82bf2a508980fbd4bb3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3bf94e119d93dc2b8c913cc16e5124817042d7e7c4510b6b80025d72e481e074 [INFO] running `Command { std: "docker" "start" "-a" "3bf94e119d93dc2b8c913cc16e5124817042d7e7c4510b6b80025d72e481e074", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling toydb v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `prelude` [INFO] [stdout] --> src/repl.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, prelude::*, Write}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Select`, `Insert`, and `Describe` are never constructed [INFO] [stdout] --> src/query.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Query { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] 6 | Create(CreateQuery), [INFO] [stdout] 7 | Select(SelectQuery), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 8 | Insert(InsertQuery), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | Describe(DescribeQuery), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Relation` is never used [INFO] [stdout] --> src/query.rs:67:10 [INFO] [stdout] | [INFO] [stdout] 67 | pub enum Relation { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from` is never used [INFO] [stdout] --> src/query.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl Relation { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 74 | pub fn from(raw: &String) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `field_name`, `relation`, and `value` are never read [INFO] [stdout] --> src/query.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 95 | pub struct FieldCondition { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 96 | pub field_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 97 | pub relation: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 98 | pub value: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FieldCondition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/query.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 101 | impl FieldCondition { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] 102 | pub fn new(field_name: String, relation: String, value: String) -> FieldCondition { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `table`, `columns`, and `conditions` are never read [INFO] [stdout] --> src/query.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 112 | pub struct SelectQuery { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 113 | pub table: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 114 | pub columns: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 115 | pub conditions: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SelectQuery` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/query.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 118 | impl SelectQuery { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 119 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `table_name` and `raw_inserts` are never read [INFO] [stdout] --> src/query.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 133 | pub struct InsertQuery { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 134 | pub table_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 135 | pub raw_inserts: HashMap, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InsertQuery` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/query.rs:139:12 [INFO] [stdout] | [INFO] [stdout] 138 | impl InsertQuery { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 139 | pub fn new(table_name: String, raw_inserts: HashMap) -> InsertQuery { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parse` is never used [INFO] [stdout] --> src/query_parser.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl QueryParser { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn parse(&self, raw: &String) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tokenize` is never used [INFO] [stdout] --> src/query_parser.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn tokenize(raw: &String) -> Vec<&str> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_select` is never used [INFO] [stdout] --> src/query_parser.rs:122:4 [INFO] [stdout] | [INFO] [stdout] 122 | fn parse_select(tokens: &mut Vec<&str>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_insert` is never used [INFO] [stdout] --> src/query_parser.rs:153:4 [INFO] [stdout] | [INFO] [stdout] 153 | fn parse_insert(tokens: &mut Vec<&str>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/query.rs:23:21 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(PartialEq, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Type` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Type` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/query.rs:23:32 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(PartialEq, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Type` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Type` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/query.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `FieldDef` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FieldDef` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/query.rs:38:28 [INFO] [stdout] | [INFO] [stdout] 38 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `FieldDef` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FieldDef` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `util` [INFO] [stdout] --> src/dbserver.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use util; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred [INFO] [stdout] --> src/main.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | / lazy_static! { [INFO] [stdout] 28 | | static ref IS_VERBOSE: Mutex> = Mutex::new(Cell::new(false)); [INFO] [stdout] 29 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dbserver.rs:82:10 [INFO] [stdout] | [INFO] [stdout] 82 | ) -> Box, Error = hyper::Error> + Send> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 82 | ) -> Box, Error = hyper::Error> + Send> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/engine.rs:86:21 [INFO] [stdout] | [INFO] [stdout] 86 | let mut index = self.indices.get_mut(column_name).unwrap(); [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: function `is_verbose` is never used [INFO] [stdout] --> src/main.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn is_verbose() -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `looks_like_query` is never used [INFO] [stdout] --> src/query_parser.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl QueryParser { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 9 | pub fn looks_like_query(raw: &String) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/dbserver.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | self.engine_operator.lock().unwrap().init(); [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] 21 | let _ = self.engine_operator.lock().unwrap().init(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/engine.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `ColumnInfo` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ColumnInfo` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/engine.rs:10:28 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `ColumnInfo` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ColumnInfo` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/query.rs:23:21 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(PartialEq, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Type` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Type` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/query.rs:23:32 [INFO] [stdout] | [INFO] [stdout] 23 | #[derive(PartialEq, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Type` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Type` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/query.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `FieldDef` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FieldDef` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/query.rs:38:28 [INFO] [stdout] | [INFO] [stdout] 38 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `FieldDef` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FieldDef` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/table_sync.rs:24:46 [INFO] [stdout] | [INFO] [stdout] 24 | let mut f: File = File::open(path.clone()).unwrap(); [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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/util.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | #[derive(Serialize, Deserialize, Eq, Hash)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Val` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Val` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/util.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | #[derive(Serialize, Deserialize, Eq, Hash)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Val` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Val` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.81s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.14.2 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "3bf94e119d93dc2b8c913cc16e5124817042d7e7c4510b6b80025d72e481e074", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3bf94e119d93dc2b8c913cc16e5124817042d7e7c4510b6b80025d72e481e074", kill_on_drop: false }` [INFO] [stdout] 3bf94e119d93dc2b8c913cc16e5124817042d7e7c4510b6b80025d72e481e074 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] a4e9c81804a4d80bf35316602891617bf0d4e8252b6448273f5fe6cf80734aa7 [INFO] running `Command { std: "docker" "start" "-a" "a4e9c81804a4d80bf35316602891617bf0d4e8252b6448273f5fe6cf80734aa7", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] warning: unused import: `util` [INFO] [stderr] --> src/dbserver.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use util; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred [INFO] [stderr] --> src/main.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | / lazy_static! { [INFO] [stderr] 28 | | static ref IS_VERBOSE: Mutex> = Mutex::new(Cell::new(false)); [INFO] [stderr] 29 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dbserver.rs:82:10 [INFO] [stderr] | [INFO] [stderr] 82 | ) -> Box, Error = hyper::Error> + Send> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 82 | ) -> Box, Error = hyper::Error> + Send> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/engine.rs:86:21 [INFO] [stderr] | [INFO] [stderr] 86 | let mut index = self.indices.get_mut(column_name).unwrap(); [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: function `is_verbose` is never used [INFO] [stderr] --> src/main.rs:31:4 [INFO] [stderr] | [INFO] [stderr] 31 | fn is_verbose() -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: associated function `looks_like_query` is never used [INFO] [stderr] --> src/query_parser.rs:9:12 [INFO] [stderr] | [INFO] [stderr] 8 | impl QueryParser { [INFO] [stderr] | ---------------- associated function in this implementation [INFO] [stderr] 9 | pub fn looks_like_query(raw: &String) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/dbserver.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | self.engine_operator.lock().unwrap().init(); [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] 21 | let _ = self.engine_operator.lock().unwrap().init(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/engine.rs:10:17 [INFO] [stderr] | [INFO] [stderr] 10 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | `ColumnInfo` is not local [INFO] [stderr] | `Serialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ColumnInfo` [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/engine.rs:10:28 [INFO] [stderr] | [INFO] [stderr] 10 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stderr] | -^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | `ColumnInfo` is not local [INFO] [stderr] | `Deserialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ColumnInfo` [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/query.rs:23:21 [INFO] [stderr] | [INFO] [stderr] 23 | #[derive(PartialEq, Serialize, Deserialize)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | `Type` is not local [INFO] [stderr] | `Serialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Type` [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/query.rs:23:32 [INFO] [stderr] | [INFO] [stderr] 23 | #[derive(PartialEq, Serialize, Deserialize)] [INFO] [stderr] | -^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | `Type` is not local [INFO] [stderr] | `Deserialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Type` [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/query.rs:38:17 [INFO] [stderr] | [INFO] [stderr] 38 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | `FieldDef` is not local [INFO] [stderr] | `Serialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FieldDef` [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/query.rs:38:28 [INFO] [stderr] | [INFO] [stderr] 38 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stderr] | -^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | `FieldDef` is not local [INFO] [stderr] | `Deserialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FieldDef` [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/table_sync.rs:24:46 [INFO] [stderr] | [INFO] [stderr] 24 | let mut f: File = File::open(path.clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = 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] [stderr] = note: `#[warn(noop_method_call)]` on by default [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/util.rs:6:10 [INFO] [stderr] | [INFO] [stderr] 6 | #[derive(Serialize, Deserialize, Eq, Hash)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | `Val` is not local [INFO] [stderr] | `Serialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Val` [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/util.rs:6:21 [INFO] [stderr] | [INFO] [stderr] 6 | #[derive(Serialize, Deserialize, Eq, Hash)] [INFO] [stderr] | -^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | `Val` is not local [INFO] [stderr] | `Deserialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Val` [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused import: `prelude` [INFO] [stderr] --> src/repl.rs:3:21 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{self, prelude::*, Write}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variants `Select`, `Insert`, and `Describe` are never constructed [INFO] [stderr] --> src/query.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 5 | pub enum Query { [INFO] [stderr] | ----- variants in this enum [INFO] [stderr] 6 | Create(CreateQuery), [INFO] [stderr] 7 | Select(SelectQuery), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 8 | Insert(InsertQuery), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 9 | Describe(DescribeQuery), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: enum `Relation` is never used [INFO] [stderr] --> src/query.rs:67:10 [INFO] [stderr] | [INFO] [stderr] 67 | pub enum Relation { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `from` is never used [INFO] [stderr] --> src/query.rs:74:12 [INFO] [stderr] | [INFO] [stderr] 73 | impl Relation { [INFO] [stderr] | ------------- associated function in this implementation [INFO] [stderr] 74 | pub fn from(raw: &String) -> Option { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `field_name`, `relation`, and `value` are never read [INFO] [stderr] --> src/query.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 95 | pub struct FieldCondition { [INFO] [stderr] | -------------- fields in this struct [INFO] [stderr] 96 | pub field_name: String, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 97 | pub relation: String, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 98 | pub value: String, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `FieldCondition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/query.rs:102:12 [INFO] [stderr] | [INFO] [stderr] 101 | impl FieldCondition { [INFO] [stderr] | ------------------- associated function in this implementation [INFO] [stderr] 102 | pub fn new(field_name: String, relation: String, value: String) -> FieldCondition { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `table`, `columns`, and `conditions` are never read [INFO] [stderr] --> src/query.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 112 | pub struct SelectQuery { [INFO] [stderr] | ----------- fields in this struct [INFO] [stderr] 113 | pub table: String, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 114 | pub columns: Vec, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 115 | pub conditions: Vec, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SelectQuery` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/query.rs:119:12 [INFO] [stderr] | [INFO] [stderr] 118 | impl SelectQuery { [INFO] [stderr] | ---------------- associated function in this implementation [INFO] [stderr] 119 | pub fn new( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `table_name` and `raw_inserts` are never read [INFO] [stderr] --> src/query.rs:134:9 [INFO] [stderr] | [INFO] [stderr] 133 | pub struct InsertQuery { [INFO] [stderr] | ----------- fields in this struct [INFO] [stderr] 134 | pub table_name: String, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 135 | pub raw_inserts: HashMap, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `InsertQuery` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/query.rs:139:12 [INFO] [stderr] | [INFO] [stderr] 138 | impl InsertQuery { [INFO] [stderr] | ---------------- associated function in this implementation [INFO] [stderr] 139 | pub fn new(table_name: String, raw_inserts: HashMap) -> InsertQuery { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: method `parse` is never used [INFO] [stderr] --> src/query_parser.rs:27:12 [INFO] [stderr] | [INFO] [stderr] 8 | impl QueryParser { [INFO] [stderr] | ---------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 27 | pub fn parse(&self, raw: &String) -> Result { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `tokenize` is never used [INFO] [stderr] --> src/query_parser.rs:47:4 [INFO] [stderr] | [INFO] [stderr] 47 | fn tokenize(raw: &String) -> Vec<&str> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `parse_select` is never used [INFO] [stderr] --> src/query_parser.rs:122:4 [INFO] [stderr] | [INFO] [stderr] 122 | fn parse_select(tokens: &mut Vec<&str>) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `parse_insert` is never used [INFO] [stderr] --> src/query_parser.rs:153:4 [INFO] [stderr] | [INFO] [stderr] 153 | fn parse_insert(tokens: &mut Vec<&str>) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/query.rs:23:21 [INFO] [stderr] | [INFO] [stderr] 23 | #[derive(PartialEq, Serialize, Deserialize)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | `Type` is not local [INFO] [stderr] | `Serialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Type` [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `toydb` (bin "server" test) generated 16 warnings (run `cargo fix --bin "server" --tests` to apply 4 suggestions) [INFO] [stderr] warning: `toydb` (bin "client" test) generated 18 warnings (3 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.14.2 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] [stderr] Running unittests src/repl_client.rs (/opt/rustwide/target/debug/deps/client-925b1fe73c9f9365) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test query_parser::tests::test_parse_create_table_fails_if_start_token_different ... ok [INFO] [stdout] test query_parser::tests::test_parse_create_table_fails_if_type_not_known ... ok [INFO] [stdout] test query_parser::tests::test_parse_create_table_fails_if_varchar_size_is_not_int ... ok [INFO] [stdout] test query_parser::tests::test_parse_create_table_fails_without_fields ... ok [INFO] [stdout] test query_parser::tests::test_parse_create_table_fails_if_varchar_does_not_have_size ... ok [INFO] [stdout] test query_parser::tests::test_parse_create_table_with_indices ... ok [INFO] [stdout] test query_parser::tests::test_parse_create_table_simple ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/server-7dd36e2736ebf731) [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test engine::test::test_raw_string_to_val_u32_fail ... ok [INFO] [stdout] test index::test::test_basic_index_return_more_than_one_position ... ok [INFO] [stdout] test index::test::test_basic_index_return_none_for_missing_key ... ok [INFO] [stdout] test index::test::test_basic_index_returns_pos ... ok [INFO] [stdout] test query_parser::tests::test_parse_create_table_fails_if_start_token_different ... ok [INFO] [stdout] test query_parser::tests::test_parse_create_table_fails_if_type_not_known ... ok [INFO] [stdout] test query_parser::tests::test_parse_create_table_fails_if_varchar_does_not_have_size ... ok [INFO] [stdout] test query_parser::tests::test_parse_create_table_fails_if_varchar_size_is_not_int ... ok [INFO] [stdout] test engine::test::test_raw_string_to_val_varchar ... ok [INFO] [stdout] test engine::test::test_raw_string_to_val_u32 ... ok [INFO] [stdout] test engine::test::test_raw_string_to_val_varchar_different_size ... ok [INFO] [stdout] test query_parser::tests::test_parse_create_table_fails_without_fields ... ok [INFO] [stdout] test query_parser::tests::test_parse_create_table_simple ... ok [INFO] [stdout] test query_parser::tests::test_parse_create_table_with_indices ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "a4e9c81804a4d80bf35316602891617bf0d4e8252b6448273f5fe6cf80734aa7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a4e9c81804a4d80bf35316602891617bf0d4e8252b6448273f5fe6cf80734aa7", kill_on_drop: false }` [INFO] [stdout] a4e9c81804a4d80bf35316602891617bf0d4e8252b6448273f5fe6cf80734aa7