[INFO] fetching crate kotoba-query-engine 0.1.22...
[INFO] testing kotoba-query-engine-0.1.22 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-8
[INFO] extracting crate kotoba-query-engine 0.1.22 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate kotoba-query-engine 0.1.22
[INFO] finished tweaking crates.io crate kotoba-query-engine 0.1.22
[INFO] tweaked toml for crates.io crate kotoba-query-engine 0.1.22 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate kotoba-query-engine 0.1.22 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate kotoba-query-engine 0.1.22 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_core v1.0.225
[INFO] [stderr]   Downloaded signal-hook-registry v1.4.6
[INFO] [stderr]   Downloaded serde v1.0.225
[INFO] [stderr]   Downloaded time-core v0.1.6
[INFO] [stderr]   Downloaded serde_derive v1.0.225
[INFO] [stderr]   Downloaded backtrace v0.3.75
[INFO] [stderr]   Downloaded regex v1.11.2
[INFO] [stderr]   Downloaded windows-targets v0.53.3
[INFO] [stderr]   Downloaded windows-result v0.4.0
[INFO] [stderr]   Downloaded windows-core v0.62.0
[INFO] [stderr]   Downloaded clap v4.5.47
[INFO] [stderr]   Downloaded kotoba-core v0.1.22
[INFO] [stderr]   Downloaded js-sys v0.3.80
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.103
[INFO] [stderr]   Downloaded pest_meta v2.8.2
[INFO] [stderr]   Downloaded cc v1.2.38
[INFO] [stderr]   Downloaded h2 v0.3.27
[INFO] [stderr]   Downloaded time v0.3.44
[INFO] [stderr]   Downloaded web-sys v0.3.80
[INFO] [stderr]   Downloaded fraction v0.13.1
[INFO] [stderr]   Downloaded itertools v0.12.1
[INFO] [stderr]   Downloaded nom v8.0.0
[INFO] [stderr]   Downloaded pest v2.8.2
[INFO] [stderr]   Downloaded regex-automata v0.4.10
[INFO] [stderr]   Downloaded pest_derive v2.8.2
[INFO] [stderr]   Downloaded find-msvc-tools v0.1.2
[INFO] [stderr]   Downloaded anstream v0.6.20
[INFO] [stderr]   Downloaded fancy-regex v0.11.0
[INFO] [stderr]   Downloaded jsonschema v0.17.1
[INFO] [stderr]   Downloaded iso8601 v0.6.3
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.103
[INFO] [stderr]   Downloaded clap_builder v4.5.47
[INFO] [stderr]   Downloaded kotoba-storage v0.1.22
[INFO] [stderr]   Downloaded thiserror-impl v2.0.16
[INFO] [stderr]   Downloaded windows-strings v0.5.0
[INFO] [stderr]   Downloaded bytecount v0.6.9
[INFO] [stderr]   Downloaded anstyle-query v1.1.4
[INFO] [stderr]   Downloaded clap_derive v4.5.47
[INFO] [stderr]   Downloaded num-cmp v0.1.0
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.53
[INFO] [stderr]   Downloaded time-macros v0.2.24
[INFO] [stderr]   Downloaded kotoba-errors v0.1.2
[INFO] [stderr]   Downloaded tempfile v3.22.0
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.103
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.103
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.103
[INFO] [stderr]   Downloaded anstyle-wincon v3.0.10
[INFO] [stderr]   Downloaded deranged v0.5.3
[INFO] [stderr]   Downloaded thiserror v2.0.16
[INFO] [stderr]   Downloaded pest_generator v2.8.2
[INFO] [stderr]   Downloaded libc v0.2.175
[INFO] [stderr]   Downloaded redox_syscall v0.5.17
[INFO] [stderr]   Downloaded memchr v2.7.5
[INFO] [stderr]   Downloaded windows-sys v0.61.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 36ad5ac1152bca7fc9a421153f412ed3f0c1f46937c5fa3fc55a65114c26cd6b
[INFO] running `Command { std: "docker" "start" "-a" "36ad5ac1152bca7fc9a421153f412ed3f0c1f46937c5fa3fc55a65114c26cd6b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "36ad5ac1152bca7fc9a421153f412ed3f0c1f46937c5fa3fc55a65114c26cd6b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "36ad5ac1152bca7fc9a421153f412ed3f0c1f46937c5fa3fc55a65114c26cd6b", kill_on_drop: false }`
[INFO] [stdout] 36ad5ac1152bca7fc9a421153f412ed3f0c1f46937c5fa3fc55a65114c26cd6b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 000ac7e686a0444fb8819d9ba202bd2cdb1d74b1a3471a21ba506881e22308e2
[INFO] running `Command { std: "docker" "start" "-a" "000ac7e686a0444fb8819d9ba202bd2cdb1d74b1a3471a21ba506881e22308e2", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling serde_core v1.0.225
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling serde v1.0.225
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling slab v0.4.11
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling hashbrown v0.16.0
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling find-msvc-tools v0.1.2
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling indexmap v2.11.4
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling cc v1.2.38
[INFO] [stderr]    Compiling anstream v0.6.20
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling regex-automata v0.4.10
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling deranged v0.5.3
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling clap_builder v4.5.47
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.225
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling potential_utf v0.1.3
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling pest v2.8.2
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling regex v1.11.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.5.47
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling fraction v0.13.1
[INFO] [stderr]    Compiling fancy-regex v0.11.0
[INFO] [stderr]    Compiling pest_meta v2.8.2
[INFO] [stderr]    Compiling iso8601 v0.6.3
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling clap v4.5.47
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling pest_generator v2.8.2
[INFO] [stderr]    Compiling tempfile v3.22.0
[INFO] [stderr]    Compiling kotoba-errors v0.1.2
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling pest_derive v2.8.2
[INFO] [stderr]    Compiling kotoba-storage v0.1.22
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling jsonschema v0.17.1
[INFO] [stderr]    Compiling kotoba-core v0.1.22
[INFO] [stderr]    Compiling kotoba-query-engine v0.1.22 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `pest::Parser`
[INFO] [stdout]  --> src/parser.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use pest::Parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> src/planner.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::*`
[INFO] [stdout]   --> src/planner.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::types::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IndexManagerPort` and `ProjectionPort`
[INFO] [stdout]   --> src/planner.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{ProjectionPort, IndexManagerPort};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> src/executor.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/executor.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/executor.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use futures::stream::{self, StreamExt};
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IndexManagerPort` and `ProjectionPort`
[INFO] [stdout]   --> src/executor.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::{ProjectionPort, IndexManagerPort};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::*`
[INFO] [stdout]   --> src/optimizer.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::types::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::IndexManagerPort`
[INFO] [stdout]   --> src/optimizer.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::IndexManagerPort;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/planner.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let mut index_candidates: Vec<String> = Vec::new();
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/planner.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let mut index_candidates: Vec<String> = Vec::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/executor.rs:213:35
[INFO] [stdout]     |
[INFO] [stdout] 213 |             ExecutionResult::Rows(mut rows) => {
[INFO] [stdout]     |                                   ----^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/optimizer.rs:71:36
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 QueryClause::Match(mut match_clause) => {
[INFO] [stdout]    |                                    ----^^^^^^^^^^^^
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]   --> src/executor.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | use futures::stream::{self, StreamExt};
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pair`
[INFO] [stdout]    --> src/parser.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     fn build_boolean_expression(pair: pest::iterators::Pair<Rule>) -> Result<BooleanExpression> {
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_pair`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pair`
[INFO] [stdout]    --> src/parser.rs:256:25
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn build_properties(pair: pest::iterators::Pair<Rule>) -> Result<HashMap<String, ValueExpression>> {
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_pair`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `property`
[INFO] [stdout]   --> src/planner.rs:87:14
[INFO] [stdout]    |
[INFO] [stdout] 87 |         for (property, _) in &vertex_pattern.properties {
[INFO] [stdout]    |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `property`
[INFO] [stdout]    --> src/planner.rs:115:14
[INFO] [stdout]     |
[INFO] [stdout] 115 |         for (property, _) in &edge_pattern.properties {
[INFO] [stdout]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/executor.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         context: crate::QueryContext,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scan_plan`
[INFO] [stdout]    --> src/executor.rs:107:41
[INFO] [stdout]     |
[INFO] [stdout] 107 |     async fn execute_vertex_scan(&self, scan_plan: VertexScanPlan) -> Result<Vec<Vec<Value>>> {
[INFO] [stdout]     |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scan_plan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scan_plan`
[INFO] [stdout]    --> src/executor.rs:131:39
[INFO] [stdout]     |
[INFO] [stdout] 131 |     async fn execute_edge_scan(&self, scan_plan: EdgeScanPlan) -> Result<Vec<Value>> {
[INFO] [stdout]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scan_plan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sort_plan`
[INFO] [stdout]    --> src/executor.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |         sort_plan: SortPlan,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sort_plan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]    --> src/executor.rs:230:21
[INFO] [stdout]     |
[INFO] [stdout] 230 |                 let end = start + limit_clause.count as usize;
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `storage` is never read
[INFO] [stdout]   --> src/planner.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct QueryPlanner<T: KeyValueStore> {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 17 |     storage: Arc<T>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `vertex_to_json_value` and `edge_to_json_value` are never used
[INFO] [stdout]   --> src/executor.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl<T: KeyValueStore + 'static> QueryExecutor<T> {
[INFO] [stdout]    | ------------------------------------------------- methods in this implementation
[INFO] [stdout] 24 |     /// Convert Vertex to serde_json::Value
[INFO] [stdout] 25 |     fn vertex_to_json_value(&self, vertex: Vertex) -> serde_json::Value {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn edge_to_json_value(&self, edge: Edge) -> serde_json::Value {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `storage` is never read
[INFO] [stdout]    --> src/executor.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 309 | pub struct StatementExecutor<T: KeyValueStore> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 310 |     storage: Arc<T>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `storage` is never read
[INFO] [stdout]   --> src/optimizer.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct QueryOptimizer<T: KeyValueStore> {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 16 |     storage: Arc<T>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `storage` is never read
[INFO] [stdout]    --> src/optimizer.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct CostEstimator<T: KeyValueStore> {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 121 |     storage: Arc<T>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `storage` is never read
[INFO] [stdout]    --> src/optimizer.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub struct StatisticsManager<T: KeyValueStore> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 200 |     storage: Arc<T>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 36s
[INFO] running `Command { std: "docker" "inspect" "000ac7e686a0444fb8819d9ba202bd2cdb1d74b1a3471a21ba506881e22308e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "000ac7e686a0444fb8819d9ba202bd2cdb1d74b1a3471a21ba506881e22308e2", kill_on_drop: false }`
[INFO] [stdout] 000ac7e686a0444fb8819d9ba202bd2cdb1d74b1a3471a21ba506881e22308e2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1de95827c49557d89754d5ee7d679c951fd19319e8b23337fe7daa8a3fde2798
[INFO] running `Command { std: "docker" "start" "-a" "1de95827c49557d89754d5ee7d679c951fd19319e8b23337fe7daa8a3fde2798", kill_on_drop: false }`
[INFO] [stderr]    Compiling kotoba-query-engine v0.1.22 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `pest::Parser`
[INFO] [stdout]  --> src/parser.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use pest::Parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> src/planner.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::*`
[INFO] [stdout]   --> src/planner.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::types::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IndexManagerPort` and `ProjectionPort`
[INFO] [stdout]   --> src/planner.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{ProjectionPort, IndexManagerPort};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> src/executor.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/executor.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/executor.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use futures::stream::{self, StreamExt};
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IndexManagerPort` and `ProjectionPort`
[INFO] [stdout]   --> src/executor.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::{ProjectionPort, IndexManagerPort};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::*`
[INFO] [stdout]   --> src/optimizer.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::types::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::IndexManagerPort`
[INFO] [stdout]   --> src/optimizer.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::IndexManagerPort;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/planner.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let mut index_candidates: Vec<String> = Vec::new();
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/planner.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let mut index_candidates: Vec<String> = Vec::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/executor.rs:213:35
[INFO] [stdout]     |
[INFO] [stdout] 213 |             ExecutionResult::Rows(mut rows) => {
[INFO] [stdout]     |                                   ----^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/optimizer.rs:71:36
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 QueryClause::Match(mut match_clause) => {
[INFO] [stdout]    |                                    ----^^^^^^^^^^^^
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]   --> src/executor.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | use futures::stream::{self, StreamExt};
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pair`
[INFO] [stdout]    --> src/parser.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     fn build_boolean_expression(pair: pest::iterators::Pair<Rule>) -> Result<BooleanExpression> {
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_pair`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pair`
[INFO] [stdout]    --> src/parser.rs:256:25
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn build_properties(pair: pest::iterators::Pair<Rule>) -> Result<HashMap<String, ValueExpression>> {
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_pair`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `property`
[INFO] [stdout]   --> src/planner.rs:87:14
[INFO] [stdout]    |
[INFO] [stdout] 87 |         for (property, _) in &vertex_pattern.properties {
[INFO] [stdout]    |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `property`
[INFO] [stdout]    --> src/planner.rs:115:14
[INFO] [stdout]     |
[INFO] [stdout] 115 |         for (property, _) in &edge_pattern.properties {
[INFO] [stdout]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/executor.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         context: crate::QueryContext,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scan_plan`
[INFO] [stdout]    --> src/executor.rs:107:41
[INFO] [stdout]     |
[INFO] [stdout] 107 |     async fn execute_vertex_scan(&self, scan_plan: VertexScanPlan) -> Result<Vec<Vec<Value>>> {
[INFO] [stdout]     |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scan_plan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scan_plan`
[INFO] [stdout]    --> src/executor.rs:131:39
[INFO] [stdout]     |
[INFO] [stdout] 131 |     async fn execute_edge_scan(&self, scan_plan: EdgeScanPlan) -> Result<Vec<Value>> {
[INFO] [stdout]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scan_plan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sort_plan`
[INFO] [stdout]    --> src/executor.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |         sort_plan: SortPlan,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sort_plan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]    --> src/executor.rs:230:21
[INFO] [stdout]     |
[INFO] [stdout] 230 |                 let end = start + limit_clause.count as usize;
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `storage` is never read
[INFO] [stdout]   --> src/planner.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct QueryPlanner<T: KeyValueStore> {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 17 |     storage: Arc<T>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `vertex_to_json_value` and `edge_to_json_value` are never used
[INFO] [stdout]   --> src/executor.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl<T: KeyValueStore + 'static> QueryExecutor<T> {
[INFO] [stdout]    | ------------------------------------------------- methods in this implementation
[INFO] [stdout] 24 |     /// Convert Vertex to serde_json::Value
[INFO] [stdout] 25 |     fn vertex_to_json_value(&self, vertex: Vertex) -> serde_json::Value {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn edge_to_json_value(&self, edge: Edge) -> serde_json::Value {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `storage` is never read
[INFO] [stdout]    --> src/executor.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 309 | pub struct StatementExecutor<T: KeyValueStore> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 310 |     storage: Arc<T>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `storage` is never read
[INFO] [stdout]   --> src/optimizer.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct QueryOptimizer<T: KeyValueStore> {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 16 |     storage: Arc<T>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `storage` is never read
[INFO] [stdout]    --> src/optimizer.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct CostEstimator<T: KeyValueStore> {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 121 |     storage: Arc<T>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `storage` is never read
[INFO] [stdout]    --> src/optimizer.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub struct StatisticsManager<T: KeyValueStore> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 200 |     storage: Arc<T>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pest::Parser`
[INFO] [stdout]  --> src/parser.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use pest::Parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/parser.rs:298:9
[INFO] [stdout]     |
[INFO] [stdout] 298 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> src/planner.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::*`
[INFO] [stdout]   --> src/planner.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::types::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IndexManagerPort` and `ProjectionPort`
[INFO] [stdout]   --> src/planner.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{ProjectionPort, IndexManagerPort};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/planner.rs:275:9
[INFO] [stdout]     |
[INFO] [stdout] 275 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> src/executor.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/executor.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/executor.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use futures::stream::{self, StreamExt};
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IndexManagerPort` and `ProjectionPort`
[INFO] [stdout]   --> src/executor.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::{ProjectionPort, IndexManagerPort};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/executor.rs:378:9
[INFO] [stdout]     |
[INFO] [stdout] 378 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::*`
[INFO] [stdout]   --> src/optimizer.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::types::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::IndexManagerPort`
[INFO] [stdout]   --> src/optimizer.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::IndexManagerPort;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/optimizer.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/planner.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let mut index_candidates: Vec<String> = Vec::new();
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/planner.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let mut index_candidates: Vec<String> = Vec::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/executor.rs:213:35
[INFO] [stdout]     |
[INFO] [stdout] 213 |             ExecutionResult::Rows(mut rows) => {
[INFO] [stdout]     |                                   ----^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/optimizer.rs:71:36
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 QueryClause::Match(mut match_clause) => {
[INFO] [stdout]    |                                    ----^^^^^^^^^^^^
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `QueryContext: serde::Serialize` is not satisfied
[INFO] [stdout]     --> src/lib.rs:320:49
[INFO] [stdout]      |
[INFO] [stdout]  320 |         let json_result = serde_json::to_string(&context);
[INFO] [stdout]      |                           --------------------- ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `Serialize` is not implemented for `QueryContext`
[INFO] [stdout]     --> src/lib.rs:38:1
[INFO] [stdout]      |
[INFO] [stdout]   38 | pub struct QueryContext {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Serialize)]` to your `QueryContext` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]      = help: the following other types implement trait `Serialize`:
[INFO] [stdout]                &'a T
[INFO] [stdout]                &'a mut T
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]              and 317 others
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.145/src/ser.rs:2247:17
[INFO] [stdout]      |
[INFO] [stdout] 2245 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2246 | where
[INFO] [stdout] 2247 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `QueryContext: serde::Deserialize<'de>` is not satisfied
[INFO] [stdout]     --> src/lib.rs:329:69
[INFO] [stdout]      |
[INFO] [stdout]  329 |         let deserialized_result: serde_json::Result<QueryContext> = serde_json::from_str(&json_str);
[INFO] [stdout]      |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `Deserialize<'_>` is not implemented for `QueryContext`
[INFO] [stdout]     --> src/lib.rs:38:1
[INFO] [stdout]      |
[INFO] [stdout]   38 | pub struct QueryContext {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `QueryContext` type
[INFO] [stdout]      = note: for types from other crates check whether the crate offers a `serde` feature flag
[INFO] [stdout]      = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]                &'a [u8]
[INFO] [stdout]                &'a std::path::Path
[INFO] [stdout]                &'a str
[INFO] [stdout]                ()
[INFO] [stdout]                (T,)
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]              and 320 others
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.145/src/de.rs:2699:8
[INFO] [stdout]      |
[INFO] [stdout] 2697 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2698 | where
[INFO] [stdout] 2699 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found type alias `VertexId`
[INFO] [stdout]    --> src/lib.rs:392:25
[INFO] [stdout]     |
[INFO] [stdout] 392 |         let vertex_id = VertexId("test_vertex".to_string());
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to use `:` for type annotation
[INFO] [stdout]     |
[INFO] [stdout] 392 -         let vertex_id = VertexId("test_vertex".to_string());
[INFO] [stdout] 392 +         let vertex_id: VertexId("test_vertex".to_string());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `default` found for struct `types::PathPattern` in the current scope
[INFO] [stdout]    --> src/lib.rs:410:36
[INFO] [stdout]     |
[INFO] [stdout] 410 |         let pattern = PathPattern::default();
[INFO] [stdout]     |                                    ^^^^^^^ function or associated item not found in `types::PathPattern`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:78:1
[INFO] [stdout]     |
[INFO] [stdout]  78 | pub struct PathPattern {
[INFO] [stdout]     | ---------------------- function or associated item `default` not found for this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `default`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found type alias `VertexId`
[INFO] [stdout]    --> src/lib.rs:508:25
[INFO] [stdout]     |
[INFO] [stdout] 508 |         let vertex_id = VertexId("test".to_string());
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to use `:` for type annotation
[INFO] [stdout]     |
[INFO] [stdout] 508 -         let vertex_id = VertexId("test".to_string());
[INFO] [stdout] 508 +         let vertex_id: VertexId("test".to_string());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found type alias `EdgeId`
[INFO] [stdout]    --> src/lib.rs:511:23
[INFO] [stdout]     |
[INFO] [stdout] 511 |         let edge_id = EdgeId("test_edge".to_string());
[INFO] [stdout]     |                       ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to use `:` for type annotation
[INFO] [stdout]     |
[INFO] [stdout] 511 -         let edge_id = EdgeId("test_edge".to_string());
[INFO] [stdout] 511 +         let edge_id: EdgeId("test_edge".to_string());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]   --> src/executor.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | use futures::stream::{self, StreamExt};
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pair`
[INFO] [stdout]    --> src/parser.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     fn build_boolean_expression(pair: pest::iterators::Pair<Rule>) -> Result<BooleanExpression> {
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_pair`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pair`
[INFO] [stdout]    --> src/parser.rs:256:25
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn build_properties(pair: pest::iterators::Pair<Rule>) -> Result<HashMap<String, ValueExpression>> {
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_pair`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `property`
[INFO] [stdout]   --> src/planner.rs:87:14
[INFO] [stdout]    |
[INFO] [stdout] 87 |         for (property, _) in &vertex_pattern.properties {
[INFO] [stdout]    |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `property`
[INFO] [stdout]    --> src/planner.rs:115:14
[INFO] [stdout]     |
[INFO] [stdout] 115 |         for (property, _) in &edge_pattern.properties {
[INFO] [stdout]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/executor.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         context: crate::QueryContext,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scan_plan`
[INFO] [stdout]    --> src/executor.rs:107:41
[INFO] [stdout]     |
[INFO] [stdout] 107 |     async fn execute_vertex_scan(&self, scan_plan: VertexScanPlan) -> Result<Vec<Vec<Value>>> {
[INFO] [stdout]     |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scan_plan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scan_plan`
[INFO] [stdout]    --> src/executor.rs:131:39
[INFO] [stdout]     |
[INFO] [stdout] 131 |     async fn execute_edge_scan(&self, scan_plan: EdgeScanPlan) -> Result<Vec<Value>> {
[INFO] [stdout]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scan_plan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sort_plan`
[INFO] [stdout]    --> src/executor.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |         sort_plan: SortPlan,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sort_plan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]    --> src/executor.rs:230:21
[INFO] [stdout]     |
[INFO] [stdout] 230 |                 let end = start + limit_clause.count as usize;
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/lib.rs:153:29
[INFO] [stdout]     |
[INFO] [stdout] 153 |         async fn put(&self, key: &[u8], value: &[u8]) -> anyhow::Result<()> {
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/lib.rs:153:41
[INFO] [stdout]     |
[INFO] [stdout] 153 |         async fn put(&self, key: &[u8], value: &[u8]) -> anyhow::Result<()> {
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/lib.rs:157:29
[INFO] [stdout]     |
[INFO] [stdout] 157 |         async fn get(&self, key: &[u8]) -> anyhow::Result<Option<Vec<u8>>> {
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/lib.rs:161:32
[INFO] [stdout]     |
[INFO] [stdout] 161 |         async fn delete(&self, key: &[u8]) -> anyhow::Result<()> {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prefix`
[INFO] [stdout]    --> src/lib.rs:165:30
[INFO] [stdout]     |
[INFO] [stdout] 165 |         async fn scan(&self, prefix: &[u8]) -> anyhow::Result<Vec<(Vec<u8>, Vec<u8>)>> {
[INFO] [stdout]     |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]    --> src/lib.rs:341:13
[INFO] [stdout]     |
[INFO] [stdout] 341 |         let engine = GqlQueryEngine::new(mock_storage);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context1`
[INFO] [stdout]    --> src/lib.rs:569:13
[INFO] [stdout]     |
[INFO] [stdout] 569 |         let context1 = QueryContext {
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context2`
[INFO] [stdout]    --> src/lib.rs:576:13
[INFO] [stdout]     |
[INFO] [stdout] 576 |         let context2 = QueryContext {
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0423, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kotoba-query-engine` (lib test) due to 6 previous errors; 36 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "1de95827c49557d89754d5ee7d679c951fd19319e8b23337fe7daa8a3fde2798", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1de95827c49557d89754d5ee7d679c951fd19319e8b23337fe7daa8a3fde2798", kill_on_drop: false }`
[INFO] [stdout] 1de95827c49557d89754d5ee7d679c951fd19319e8b23337fe7daa8a3fde2798
