[INFO] cloning repository https://github.com/awayatakuma/sabidb
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/awayatakuma/sabidb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fawayatakuma%2Fsabidb", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fawayatakuma%2Fsabidb'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c29667a359f3358be270a4125605383effd169d0
[INFO] checking awayatakuma/sabidb against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fawayatakuma%2Fsabidb" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/awayatakuma/sabidb
[INFO] finished tweaking git repo https://github.com/awayatakuma/sabidb
[INFO] tweaked toml for git repo https://github.com/awayatakuma/sabidb written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/awayatakuma/sabidb on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/awayatakuma/sabidb 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" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e5b09209aafb0b7c9aab65ae0d4def6e7a4767c0b2663696936ca8155079e2df
[INFO] running `Command { std: "docker" "start" "-a" "e5b09209aafb0b7c9aab65ae0d4def6e7a4767c0b2663696936ca8155079e2df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e5b09209aafb0b7c9aab65ae0d4def6e7a4767c0b2663696936ca8155079e2df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e5b09209aafb0b7c9aab65ae0d4def6e7a4767c0b2663696936ca8155079e2df", kill_on_drop: false }`
[INFO] [stdout] e5b09209aafb0b7c9aab65ae0d4def6e7a4767c0b2663696936ca8155079e2df
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fad3db96d305dbe0a8b54f340651b81821deb7e533b6c95bdd19b20dd123a497
[INFO] running `Command { std: "docker" "start" "-a" "fad3db96d305dbe0a8b54f340651b81821deb7e533b6c95bdd19b20dd123a497", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling zerocopy v0.8.25
[INFO] [stderr]    Compiling rustix v1.0.5
[INFO] [stderr]     Checking anstyle v1.0.10
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]     Checking bitflags v2.9.0
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]    Compiling clap_derive v4.5.32
[INFO] [stderr]     Checking chrono v0.4.40
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking clap_builder v4.5.37
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking tempfile v3.19.1
[INFO] [stderr]     Checking clap v4.5.37
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.1
[INFO] [stderr]     Checking sabidb v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/index/planner/index_join_plan.rs:41:62
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn open(&self) -> Result<std::sync::Arc<std::sync::Mutex<(dyn scan::Scan + 'static)>>, String> {
[INFO] [stdout]    |                                                              ^                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 41 -     fn open(&self) -> Result<std::sync::Arc<std::sync::Mutex<(dyn scan::Scan + 'static)>>, String> {
[INFO] [stdout] 41 +     fn open(&self) -> Result<std::sync::Arc<std::sync::Mutex<dyn scan::Scan + 'static >>, String> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/index/planner/index_select_plan.rs:28:40
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn open(&self) -> Result<Arc<Mutex<(dyn scan::Scan + 'static)>>, String> {
[INFO] [stdout]    |                                        ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 28 -     fn open(&self) -> Result<Arc<Mutex<(dyn scan::Scan + 'static)>>, String> {
[INFO] [stdout] 28 +     fn open(&self) -> Result<Arc<Mutex<dyn scan::Scan + 'static >>, String> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/index/query/index_join_scan.rs:154:54
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout]     |                                                      ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 154 -     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout] 154 +     fn to_update_scan(&mut self) -> Result<Arc<Mutex<dyn UpdateScan + 'static >>, String> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/index/query/index_select_scan.rs:69:54
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout]    |                                                      ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 69 -     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout] 69 +     fn to_update_scan(&mut self) -> Result<Arc<Mutex<dyn UpdateScan + 'static >>, String> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/materialize/temp_table.rs:31:44
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn open(&self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout]    |                                            ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 31 -     pub fn open(&self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout] 31 +     pub fn open(&self) -> Result<Arc<Mutex<dyn UpdateScan + 'static >>, String> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/plan/better_query_planner.rs:20:49
[INFO] [stdout]    |
[INFO] [stdout] 20 |     ) -> Result<std::sync::Arc<std::sync::Mutex<(dyn Plan + 'static)>>, String> {
[INFO] [stdout]    |                                                 ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 20 -     ) -> Result<std::sync::Arc<std::sync::Mutex<(dyn Plan + 'static)>>, String> {
[INFO] [stdout] 20 +     ) -> Result<std::sync::Arc<std::sync::Mutex<dyn Plan + 'static >>, String> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/query/product_scan.rs:129:54
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout]     |                                                      ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 129 -     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout] 129 +     fn to_update_scan(&mut self) -> Result<Arc<Mutex<dyn UpdateScan + 'static >>, String> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/query/project_scan.rs:74:54
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout]    |                                                      ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 74 -     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout] 74 +     fn to_update_scan(&mut self) -> Result<Arc<Mutex<dyn UpdateScan + 'static >>, String> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/query/select_scan.rs:69:54
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout]    |                                                      ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 69 -     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout] 69 +     fn to_update_scan(&mut self) -> Result<Arc<Mutex<dyn UpdateScan + 'static >>, String> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/record/table_scan.rs:190:54
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout]     |                                                      ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 190 -     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout] 190 +     fn to_update_scan(&mut self) -> Result<Arc<Mutex<dyn UpdateScan + 'static >>, String> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/index/planner/index_join_plan.rs:41:62
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn open(&self) -> Result<std::sync::Arc<std::sync::Mutex<(dyn scan::Scan + 'static)>>, String> {
[INFO] [stdout]    |                                                              ^                        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 41 -     fn open(&self) -> Result<std::sync::Arc<std::sync::Mutex<(dyn scan::Scan + 'static)>>, String> {
[INFO] [stdout] 41 +     fn open(&self) -> Result<std::sync::Arc<std::sync::Mutex<dyn scan::Scan + 'static >>, String> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/index/planner/index_select_plan.rs:28:40
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn open(&self) -> Result<Arc<Mutex<(dyn scan::Scan + 'static)>>, String> {
[INFO] [stdout]    |                                        ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 28 -     fn open(&self) -> Result<Arc<Mutex<(dyn scan::Scan + 'static)>>, String> {
[INFO] [stdout] 28 +     fn open(&self) -> Result<Arc<Mutex<dyn scan::Scan + 'static >>, String> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/index/query/index_join_scan.rs:154:54
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout]     |                                                      ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 154 -     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout] 154 +     fn to_update_scan(&mut self) -> Result<Arc<Mutex<dyn UpdateScan + 'static >>, String> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/index/query/index_select_scan.rs:69:54
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout]    |                                                      ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 69 -     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout] 69 +     fn to_update_scan(&mut self) -> Result<Arc<Mutex<dyn UpdateScan + 'static >>, String> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/materialize/temp_table.rs:31:44
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn open(&self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout]    |                                            ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 31 -     pub fn open(&self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout] 31 +     pub fn open(&self) -> Result<Arc<Mutex<dyn UpdateScan + 'static >>, String> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/plan/better_query_planner.rs:20:49
[INFO] [stdout]    |
[INFO] [stdout] 20 |     ) -> Result<std::sync::Arc<std::sync::Mutex<(dyn Plan + 'static)>>, String> {
[INFO] [stdout]    |                                                 ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 20 -     ) -> Result<std::sync::Arc<std::sync::Mutex<(dyn Plan + 'static)>>, String> {
[INFO] [stdout] 20 +     ) -> Result<std::sync::Arc<std::sync::Mutex<dyn Plan + 'static >>, String> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/query/product_scan.rs:129:54
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout]     |                                                      ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 129 -     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout] 129 +     fn to_update_scan(&mut self) -> Result<Arc<Mutex<dyn UpdateScan + 'static >>, String> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/query/project_scan.rs:74:54
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout]    |                                                      ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 74 -     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout] 74 +     fn to_update_scan(&mut self) -> Result<Arc<Mutex<dyn UpdateScan + 'static >>, String> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/query/select_scan.rs:69:54
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout]    |                                                      ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 69 -     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout] 69 +     fn to_update_scan(&mut self) -> Result<Arc<Mutex<dyn UpdateScan + 'static >>, String> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/record/table_scan.rs:190:54
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout]     |                                                      ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 190 -     fn to_update_scan(&mut self) -> Result<Arc<Mutex<(dyn UpdateScan + 'static)>>, String> {
[INFO] [stdout] 190 +     fn to_update_scan(&mut self) -> Result<Arc<Mutex<dyn UpdateScan + 'static >>, String> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AggregationFn` is never used
[INFO] [stdout]  --> src/materialize/aggregation_fn.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait AggregationFn {
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CountFn` is never constructed
[INFO] [stdout]  --> src/materialize/count_fn.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct CountFn {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/materialize/count_fn.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl CountFn {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 11 |     pub fn new(fldname: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GroupByPlan` is never constructed
[INFO] [stdout]  --> src/materialize/group_by_plan.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct GroupByPlan {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/materialize/group_by_plan.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl GroupByPlan {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 15 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GroupByScan` is never constructed
[INFO] [stdout]  --> src/materialize/group_by_scan.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct GroupByScan {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/materialize/group_by_scan.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl GroupByScan {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GroupValue` is never constructed
[INFO] [stdout]  --> src/materialize/group_value.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct GroupValue {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_val` are never used
[INFO] [stdout]   --> src/materialize/group_value.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl GroupValue {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(s: Arc<Mutex<dyn Scan>>, fields: Vec<String>) -> Result<Self, String> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn get_val(&self, fldname: &String) -> Option<Constant> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MaxFn` is never constructed
[INFO] [stdout]  --> src/materialize/max_fn.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct MaxFn {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/materialize/max_fn.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl MaxFn {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn new(fldname: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeJoinPlan` is never constructed
[INFO] [stdout]  --> src/materialize/merge_join_plan.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct MergeJoinPlan {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/materialize/merge_join_plan.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl MergeJoinPlan {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeJoinScan` is never constructed
[INFO] [stdout]   --> src/materialize/merge_join_scan.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MergeJoinScan {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/materialize/merge_join_scan.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl MergeJoinScan {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 19 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SortPlan` is never constructed
[INFO] [stdout]   --> src/materialize/sort_plan.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct SortPlan {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `split_into_runs`, `do_a_merge_iteration`, `merge_two_runs`, and `copy` are never used
[INFO] [stdout]    --> src/materialize/sort_plan.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl SortPlan {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  26 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     fn split_into_runs(&self, mut src: Arc<Mutex<dyn Scan>>) -> Result<Vec<TempTable>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     fn do_a_merge_iteration(&self, mut runs: Vec<TempTable>) -> Result<Vec<TempTable>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     fn merge_two_runs(&self, p1: &TempTable, p2: &TempTable) -> Result<TempTable, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     fn copy(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BetterQueryPlanner` is never constructed
[INFO] [stdout]   --> src/plan/better_query_planner.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct BetterQueryPlanner {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OptimizedProductPlan` is never constructed
[INFO] [stdout]  --> src/plan/optimized_product_plan.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct OptimizedProductPlan {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/rdbc/embedded/embedded_connection.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |         &'a mut self,
[INFO] [stdout]    |          -- the lifetime is named here
[INFO] [stdout] 53 |     ) -> Result<EmbeddedStatement, crate::rdbc::sql_exception::SQLException> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     ) -> Result<EmbeddedStatement<'a>, crate::rdbc::sql_exception::SQLException> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/rdbc/embedded/embedded_statement.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |         &'a mut self,
[INFO] [stdout]    |          -- the lifetime is named here
[INFO] [stdout] 20 |         qry: &String,
[INFO] [stdout] 21 |     ) -> Result<EmbeddedResultSet, crate::rdbc::sql_exception::SQLException> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     ) -> Result<EmbeddedResultSet<'a>, crate::rdbc::sql_exception::SQLException> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AggregationFn` is never used
[INFO] [stdout]  --> src/materialize/aggregation_fn.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait AggregationFn {
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CountFn` is never constructed
[INFO] [stdout]  --> src/materialize/count_fn.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct CountFn {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/materialize/count_fn.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl CountFn {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 11 |     pub fn new(fldname: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GroupByPlan` is never constructed
[INFO] [stdout]  --> src/materialize/group_by_plan.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct GroupByPlan {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/materialize/group_by_plan.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl GroupByPlan {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 15 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GroupByScan` is never constructed
[INFO] [stdout]  --> src/materialize/group_by_scan.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct GroupByScan {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/materialize/group_by_scan.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl GroupByScan {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GroupValue` is never constructed
[INFO] [stdout]  --> src/materialize/group_value.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct GroupValue {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_val` are never used
[INFO] [stdout]   --> src/materialize/group_value.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl GroupValue {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(s: Arc<Mutex<dyn Scan>>, fields: Vec<String>) -> Result<Self, String> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn get_val(&self, fldname: &String) -> Option<Constant> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MaxFn` is never constructed
[INFO] [stdout]  --> src/materialize/max_fn.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct MaxFn {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/materialize/max_fn.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl MaxFn {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn new(fldname: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeJoinPlan` is never constructed
[INFO] [stdout]  --> src/materialize/merge_join_plan.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct MergeJoinPlan {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/materialize/merge_join_plan.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl MergeJoinPlan {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeJoinScan` is never constructed
[INFO] [stdout]   --> src/materialize/merge_join_scan.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MergeJoinScan {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/materialize/merge_join_scan.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl MergeJoinScan {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 19 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SortPlan` is never constructed
[INFO] [stdout]   --> src/materialize/sort_plan.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct SortPlan {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `split_into_runs`, `do_a_merge_iteration`, `merge_two_runs`, and `copy` are never used
[INFO] [stdout]    --> src/materialize/sort_plan.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl SortPlan {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  26 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     fn split_into_runs(&self, mut src: Arc<Mutex<dyn Scan>>) -> Result<Vec<TempTable>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     fn do_a_merge_iteration(&self, mut runs: Vec<TempTable>) -> Result<Vec<TempTable>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     fn merge_two_runs(&self, p1: &TempTable, p2: &TempTable) -> Result<TempTable, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     fn copy(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BetterQueryPlanner` is never constructed
[INFO] [stdout]   --> src/plan/better_query_planner.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct BetterQueryPlanner {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OptimizedProductPlan` is never constructed
[INFO] [stdout]  --> src/plan/optimized_product_plan.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct OptimizedProductPlan {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/rdbc/embedded/embedded_connection.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |         &'a mut self,
[INFO] [stdout]    |          -- the lifetime is named here
[INFO] [stdout] 53 |     ) -> Result<EmbeddedStatement, crate::rdbc::sql_exception::SQLException> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     ) -> Result<EmbeddedStatement<'a>, crate::rdbc::sql_exception::SQLException> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/rdbc/embedded/embedded_statement.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |         &'a mut self,
[INFO] [stdout]    |          -- the lifetime is named here
[INFO] [stdout] 20 |         qry: &String,
[INFO] [stdout] 21 |     ) -> Result<EmbeddedResultSet, crate::rdbc::sql_exception::SQLException> {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     ) -> Result<EmbeddedResultSet<'a>, crate::rdbc::sql_exception::SQLException> {
[INFO] [stdout]    |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.55s
[INFO] running `Command { std: "docker" "inspect" "fad3db96d305dbe0a8b54f340651b81821deb7e533b6c95bdd19b20dd123a497", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fad3db96d305dbe0a8b54f340651b81821deb7e533b6c95bdd19b20dd123a497", kill_on_drop: false }`
[INFO] [stdout] fad3db96d305dbe0a8b54f340651b81821deb7e533b6c95bdd19b20dd123a497
