[INFO] cloning repository https://github.com/alpaylan/tjq [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/alpaylan/tjq" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falpaylan%2Ftjq", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falpaylan%2Ftjq'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 82afa6f7a8da5e3081bc0258c719375cac0e78eb [INFO] building alpaylan/tjq against master#c7f6aa2869acdbf014d094c6e427e554e160b6db for pr-146237-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falpaylan%2Ftjq" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-3-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/alpaylan/tjq [INFO] finished tweaking git repo https://github.com/alpaylan/tjq [INFO] tweaked toml for git repo https://github.com/alpaylan/tjq written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/alpaylan/tjq on toolchain c7f6aa2869acdbf014d094c6e427e554e160b6db [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/alpaylan/tjq 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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tree-sitter-language v0.1.5 [INFO] [stderr] Downloaded tree-sitter-jq v1.0.2 [INFO] [stderr] Downloaded tower-lsp-macros v0.9.0 [INFO] [stderr] Downloaded topological-sort v0.2.2 [INFO] [stderr] Downloaded tower-lsp v0.20.0 [INFO] [stderr] Downloaded streaming-iterator v0.1.9 [INFO] [stderr] Downloaded trace v0.1.7 [INFO] [stderr] Downloaded z3-sys v0.9.9 [INFO] [stderr] Downloaded z3 v0.16.2 [INFO] [stderr] Downloaded auto_impl v1.3.0 [INFO] [stderr] Downloaded tree-sitter v0.25.8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6d429746a925b01a0f66f4827a27ecab921fba9c0dabdd50516d2a7e6cb0030e [INFO] running `Command { std: "docker" "start" "-a" "6d429746a925b01a0f66f4827a27ecab921fba9c0dabdd50516d2a7e6cb0030e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6d429746a925b01a0f66f4827a27ecab921fba9c0dabdd50516d2a7e6cb0030e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6d429746a925b01a0f66f4827a27ecab921fba9c0dabdd50516d2a7e6cb0030e", kill_on_drop: false }` [INFO] [stdout] 6d429746a925b01a0f66f4827a27ecab921fba9c0dabdd50516d2a7e6cb0030e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 98e13984df22bd0a25383cbeb1e3c4b554863e50eed71af893b64c6448bde5c5 [INFO] running `Command { std: "docker" "start" "-a" "98e13984df22bd0a25383cbeb1e3c4b554863e50eed71af893b64c6448bde5c5", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling find-msvc-tools v0.1.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling cc v1.2.35 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Compiling indexmap v2.11.0 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling tracing-core v0.1.34 [INFO] [stderr] Compiling libloading v0.8.8 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Compiling bindgen v0.72.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling rustc-hash v2.1.1 [INFO] [stderr] Compiling tree-sitter-language v0.1.5 [INFO] [stderr] Compiling bitflags v2.9.4 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling tree-sitter-tjq v1.0.2 (/opt/rustwide/workdir/tjq_grammar) [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling nu-ansi-term v0.50.1 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling streaming-iterator v0.1.9 [INFO] [stderr] Compiling clap_builder v4.5.47 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling tree-sitter v0.25.8 [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 zerofrom v0.1.6 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling zerotrie v0.2.2 [INFO] [stderr] Compiling zerovec v0.11.4 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tracing-subscriber v0.3.20 [INFO] [stderr] Compiling tinystr v0.8.1 [INFO] [stderr] Compiling potential_utf v0.1.3 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling icu_locale_core v2.0.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling signal-hook-registry v1.4.6 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling z3-sys v0.9.9 [INFO] [stderr] Compiling num v0.4.3 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling clap_derive v4.5.47 [INFO] [stderr] Compiling pin-project v1.1.10 [INFO] [stderr] Compiling trace v0.1.7 [INFO] [stderr] Compiling clap v4.5.47 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Compiling tree-sitter-jq v1.0.2 [INFO] [stderr] Compiling topological-sort v0.2.2 [INFO] [stderr] Compiling tower v0.4.13 [INFO] [stderr] Compiling dashmap v5.5.3 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling auto_impl v1.3.0 [INFO] [stderr] Compiling tower-lsp-macros v0.9.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling str_indices v0.4.4 [INFO] [stderr] Compiling ropey v1.6.1 [INFO] [stderr] Compiling tjq_exec v0.1.0 (/opt/rustwide/workdir/tjq_exec) [INFO] [stderr] Compiling lsp-types v0.94.1 [INFO] [stdout] warning: unused import: `crate::printer::print_ast` [INFO] [stdout] --> tjq_exec/parse.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::printer::print_ast; [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 variable: `vars` [INFO] [stdout] --> tjq_exec/bytecode.rs:307:19 [INFO] [stdout] | [INFO] [stdout] 307 | fn run(&self, vars: Vec) -> impl Iterator { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_vars` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:279:26 [INFO] [stdout] | [INFO] [stdout] 279 | Filter::Pipe(filter, filter1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter1` [INFO] [stdout] --> tjq_exec/bytecode.rs:279:34 [INFO] [stdout] | [INFO] [stdout] 279 | Filter::Pipe(filter, filter1) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:280:27 [INFO] [stdout] | [INFO] [stdout] 280 | Filter::Comma(filter, filter1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter1` [INFO] [stdout] --> tjq_exec/bytecode.rs:280:35 [INFO] [stdout] | [INFO] [stdout] 280 | Filter::Comma(filter, filter1) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filters` [INFO] [stdout] --> tjq_exec/bytecode.rs:288:27 [INFO] [stdout] | [INFO] [stdout] 288 | Filter::Array(filters) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> tjq_exec/bytecode.rs:289:28 [INFO] [stdout] | [INFO] [stdout] 289 | Filter::Object(items) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `un_op` [INFO] [stdout] --> tjq_exec/bytecode.rs:290:26 [INFO] [stdout] | [INFO] [stdout] 290 | Filter::UnOp(un_op, filter) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_un_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:290:33 [INFO] [stdout] | [INFO] [stdout] 290 | Filter::UnOp(un_op, filter) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:291:27 [INFO] [stdout] | [INFO] [stdout] 291 | Filter::BinOp(filter, bin_op, filter1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bin_op` [INFO] [stdout] --> tjq_exec/bytecode.rs:291:35 [INFO] [stdout] | [INFO] [stdout] 291 | Filter::BinOp(filter, bin_op, filter1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bin_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter1` [INFO] [stdout] --> tjq_exec/bytecode.rs:291:43 [INFO] [stdout] | [INFO] [stdout] 291 | Filter::BinOp(filter, bin_op, filter1) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filters` [INFO] [stdout] --> tjq_exec/bytecode.rs:294:29 [INFO] [stdout] | [INFO] [stdout] 294 | Filter::Call(_, filters) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:295:32 [INFO] [stdout] | [INFO] [stdout] 295 | Filter::IfThenElse(filter, filter1, filter2) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter1` [INFO] [stdout] --> tjq_exec/bytecode.rs:295:40 [INFO] [stdout] | [INFO] [stdout] 295 | Filter::IfThenElse(filter, filter1, filter2) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter2` [INFO] [stdout] --> tjq_exec/bytecode.rs:295:49 [INFO] [stdout] | [INFO] [stdout] 295 | Filter::IfThenElse(filter, filter1, filter2) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> tjq_exec/bytecode.rs:296:27 [INFO] [stdout] | [INFO] [stdout] 296 | Filter::Bound(items, filter) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:296:34 [INFO] [stdout] | [INFO] [stdout] 296 | Filter::Bound(items, filter) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hash_map` [INFO] [stdout] --> tjq_exec/bytecode.rs:297:40 [INFO] [stdout] | [INFO] [stdout] 297 | Filter::FunctionExpression(hash_map, filter) => todo!(), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hash_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:297:50 [INFO] [stdout] | [INFO] [stdout] 297 | Filter::FunctionExpression(hash_map, filter) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:298:39 [INFO] [stdout] | [INFO] [stdout] 298 | Filter::BindingExpression(filter, filter1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter1` [INFO] [stdout] --> tjq_exec/bytecode.rs:298:47 [INFO] [stdout] | [INFO] [stdout] 298 | Filter::BindingExpression(filter, filter1) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> tjq_exec/bytecode.rs:300:38 [INFO] [stdout] | [INFO] [stdout] 300 | Filter::ReduceExpression(var, generator,init,update, ) => todo!(), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generator` [INFO] [stdout] --> tjq_exec/bytecode.rs:300:43 [INFO] [stdout] | [INFO] [stdout] 300 | Filter::ReduceExpression(var, generator,init,update, ) => todo!(), [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `init` [INFO] [stdout] --> tjq_exec/bytecode.rs:300:53 [INFO] [stdout] | [INFO] [stdout] 300 | Filter::ReduceExpression(var, generator,init,update, ) => todo!(), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_init` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `update` [INFO] [stdout] --> tjq_exec/bytecode.rs:300:58 [INFO] [stdout] | [INFO] [stdout] 300 | Filter::ReduceExpression(var, generator,init,update, ) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_update` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `json` [INFO] [stdout] --> tjq_exec/error.rs:31:41 [INFO] [stdout] | [INFO] [stdout] 31 | JQError::NonStringObjectKey(json) => todo!(), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_json` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pats` [INFO] [stdout] --> tjq_exec/filter.rs:184:23 [INFO] [stdout] | [INFO] [stdout] 184 | Filter::Array(pats) => todo!(), //match these patterns [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_pats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pairs` [INFO] [stdout] --> tjq_exec/filter.rs:186:24 [INFO] [stdout] | [INFO] [stdout] 186 | Filter::Object(pairs) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_pairs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> tjq_exec/filter.rs:506:27 [INFO] [stdout] | [INFO] [stdout] 506 | Filter::Bound(items, filter) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> tjq_exec/filter.rs:720:30 [INFO] [stdout] | [INFO] [stdout] 720 | Filter::ObjIndex(f) | Filter::ArrayIndex(f) => false, [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 720 | Filter::ObjIndex(_f) | Filter::ArrayIndex(_f) => false, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tjq_exec/parse.rs:572:9 [INFO] [stdout] | [INFO] [stdout] 572 | let mut defs = HashMap::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: unused variable: `identifier` [INFO] [stdout] --> tjq_exec/parse.rs:974:18 [INFO] [stdout] | [INFO] [stdout] 974 | let (identifier, vfield) = parse_filter( [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_identifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `indent_str` [INFO] [stdout] --> tjq_exec/printer.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | let indent_str = " ".repeat(indent); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_indent_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_text` [INFO] [stdout] --> tjq_exec/printer.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let node_text = &source[node.byte_range()]; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kind` [INFO] [stdout] --> tjq_exec/printer.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let kind = if node.kind() == "identifier" { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_kind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Opcode` is never used [INFO] [stdout] --> tjq_exec/bytecode.rs:7:6 [INFO] [stdout] | [INFO] [stdout] 7 | enum Opcode { [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 `Program` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | struct Program { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Code` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | struct Code { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CodeInfo` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | struct CodeInfo { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Env` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | struct Env { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `execute` and `next` are never used [INFO] [stdout] --> tjq_exec/bytecode.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 76 | impl Env { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 79 | fn execute( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn next(&mut self) -> (Option>, bool) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scope` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | struct Scope { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Fork` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | struct Fork { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScopeBlock` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 124 | struct ScopeBlock { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScopeStack` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | struct ScopeStack { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push`, `pop`, `empty`, `save`, and `restore` are never used [INFO] [stdout] --> tjq_exec/bytecode.rs:137:8 [INFO] [stdout] | [INFO] [stdout] 136 | impl ScopeStack { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 137 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | fn push(&mut self, v: Scope) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn empty(&self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | fn save(&mut self) -> (isize, isize) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | fn restore(&mut self, index: isize, limit: isize) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Block` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:187:8 [INFO] [stdout] | [INFO] [stdout] 187 | struct Block { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Stack` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | struct Stack { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push`, `pop`, `empty`, `save`, and `restore` are never used [INFO] [stdout] --> tjq_exec/bytecode.rs:200:8 [INFO] [stdout] | [INFO] [stdout] 199 | impl Stack { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 200 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | fn push(&mut self, v: Box) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | fn pop(&mut self) -> Option> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | fn empty(&self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | fn save(&mut self) -> (isize, isize) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | fn restore(&mut self, index: isize, limit: isize) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Compiler` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:249:8 [INFO] [stdout] | [INFO] [stdout] 249 | struct Compiler { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `compile` are never used [INFO] [stdout] --> tjq_exec/bytecode.rs:263:8 [INFO] [stdout] | [INFO] [stdout] 262 | impl Compiler { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 263 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | pub fn compile(&mut self, f: Filter) -> Program { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run` is never used [INFO] [stdout] --> tjq_exec/bytecode.rs:307:8 [INFO] [stdout] | [INFO] [stdout] 306 | impl Program { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 307 | fn run(&self, vars: Vec) -> impl Iterator { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_ast` is never used [INFO] [stdout] --> tjq_exec/printer.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn print_ast(node: Node, source: &str, indent: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_node_details` is never used [INFO] [stdout] --> tjq_exec/printer.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn print_node_details(node: Node, source: &str, indent: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> tjq_exec/filter.rs:276:44 [INFO] [stdout] | [INFO] [stdout] 276 | ... let i = if i < 0 { arr.len() + i } else { i } as usize; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling tokio-util v0.7.16 [INFO] [stderr] Compiling z3 v0.16.2 [INFO] [stderr] Compiling tjq_semantics v0.1.0 (/opt/rustwide/workdir/tjq_semantics) [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> tjq_semantics/shape.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | ops::{Deref, DerefMut}, [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: `z3::ast::*` [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:307:9 [INFO] [stdout] | [INFO] [stdout] 307 | use z3::ast::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Constraint as C` [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:326:9 [INFO] [stdout] | [INFO] [stdout] 326 | use Constraint as C; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Relation as R` [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:327:9 [INFO] [stdout] | [INFO] [stdout] 327 | use Relation as R; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subtyping as S` [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:328:9 [INFO] [stdout] | [INFO] [stdout] 328 | use Subtyping as S; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:186:25 [INFO] [stdout] | [INFO] [stdout] 186 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:186:32 [INFO] [stdout] | [INFO] [stdout] 186 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:322:25 [INFO] [stdout] | [INFO] [stdout] 322 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:322:32 [INFO] [stdout] | [INFO] [stdout] 322 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:360:25 [INFO] [stdout] | [INFO] [stdout] 360 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:360:32 [INFO] [stdout] | [INFO] [stdout] 360 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shapes` [INFO] [stdout] --> tjq_semantics/shape.rs:449:27 [INFO] [stdout] | [INFO] [stdout] 449 | (Shape::Tuple(shapes), Shape::Array(shape, u)) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shapes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:449:49 [INFO] [stdout] | [INFO] [stdout] 449 | (Shape::Tuple(shapes), Shape::Array(shape, u)) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> tjq_semantics/shape.rs:449:56 [INFO] [stdout] | [INFO] [stdout] 449 | (Shape::Tuple(shapes), Shape::Array(shape, u)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s1` [INFO] [stdout] --> tjq_semantics/shape.rs:502:30 [INFO] [stdout] | [INFO] [stdout] 502 | (Shape::Mismatch(s1, s2), _) | (_, Shape::Mismatch(s1, s2)) => Subtyping::Incompatible, [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 502 | (Shape::Mismatch(_s1, s2), _) | (_, Shape::Mismatch(_s1, s2)) => Subtyping::Incompatible, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> tjq_semantics/shape.rs:502:34 [INFO] [stdout] | [INFO] [stdout] 502 | (Shape::Mismatch(s1, s2), _) | (_, Shape::Mismatch(s1, s2)) => Subtyping::Incompatible, [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 502 | (Shape::Mismatch(s1, _s2), _) | (_, Shape::Mismatch(s1, _s2)) => Subtyping::Incompatible, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:583:29 [INFO] [stdout] | [INFO] [stdout] 583 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:583:36 [INFO] [stdout] | [INFO] [stdout] 583 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:585:25 [INFO] [stdout] | [INFO] [stdout] 585 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:585:32 [INFO] [stdout] | [INFO] [stdout] 585 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> tjq_semantics/shape.rs:621:30 [INFO] [stdout] | [INFO] [stdout] 621 | Filter::ObjIndex(s) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> tjq_semantics/shape.rs:684:32 [INFO] [stdout] | [INFO] [stdout] 684 | Filter::ArrayIndex(u) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:785:32 [INFO] [stdout] | [INFO] [stdout] 785 | Shape::Neg(shape) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:786:33 [INFO] [stdout] | [INFO] [stdout] 786 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:786:40 [INFO] [stdout] | [INFO] [stdout] 786 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> tjq_semantics/shape.rs:1205:46 [INFO] [stdout] | [INFO] [stdout] 1205 | ... (Shape::TVar(t), s) | (s, Shape::TVar(t)) => { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 1205 | (Shape::TVar(_t), s) | (s, Shape::TVar(_t)) => { [INFO] [stdout] | + + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `IDX_UNION` [INFO] [stdout] | [INFO] [stdout] 1205 - (Shape::TVar(t), s) | (s, Shape::TVar(t)) => { [INFO] [stdout] 1205 + (Shape::TVar(t), s) | (s, Shape::TVar(solver::IDX_UNION)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> tjq_semantics/shape.rs:1205:50 [INFO] [stdout] | [INFO] [stdout] 1205 | ... (Shape::TVar(t), s) | (s, Shape::TVar(t)) => { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 1205 | (Shape::TVar(t), _s) | (_s, Shape::TVar(t)) => { [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> tjq_semantics/shape.rs:1464:33 [INFO] [stdout] | [INFO] [stdout] 1464 | Shape::Array(shape, u) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:1579:25 [INFO] [stdout] | [INFO] [stdout] 1579 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:1579:32 [INFO] [stdout] | [INFO] [stdout] 1579 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:1628:25 [INFO] [stdout] | [INFO] [stdout] 1628 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:1628:32 [INFO] [stdout] | [INFO] [stdout] 1628 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:312:9 [INFO] [stdout] | [INFO] [stdout] 312 | let mut enc = Enc::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: unused variable: `case_trans` [INFO] [stdout] --> tjq_semantics/solver.rs:627:13 [INFO] [stdout] | [INFO] [stdout] 627 | let case_trans = Bool::and(&[ [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_case_trans` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `case_union_left` [INFO] [stdout] --> tjq_semantics/solver.rs:678:13 [INFO] [stdout] | [INFO] [stdout] 678 | let case_union_left = Bool::and(&[&is_union_x, &all_x_le_y]); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_case_union_left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `case_union_right` [INFO] [stdout] --> tjq_semantics/solver.rs:691:13 [INFO] [stdout] | [INFO] [stdout] 691 | let case_union_right = Bool::and(&[&is_union_y, &any_x_le_y]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_case_union_right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_obj` [INFO] [stdout] --> tjq_semantics/solver.rs:739:13 [INFO] [stdout] | [INFO] [stdout] 739 | let is_obj = self.shape.variants[IDX_OBJ] [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_obj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `xs_cons` [INFO] [stdout] --> tjq_semantics/solver.rs:865:13 [INFO] [stdout] | [INFO] [stdout] 865 | let xs_cons = self.list_shape.variants[1] [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_xs_cons` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `xs_cons` [INFO] [stdout] --> tjq_semantics/solver.rs:1065:13 [INFO] [stdout] | [INFO] [stdout] 1065 | let xs_cons = self.list_shape.variants[1] [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_xs_cons` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> tjq_semantics/solver.rs:1733:22 [INFO] [stdout] | [INFO] [stdout] 1733 | Shape::Union(a, b) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> tjq_semantics/solver.rs:1733:25 [INFO] [stdout] | [INFO] [stdout] 1733 | Shape::Union(a, b) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> tjq_semantics/shape.rs:29:19 [INFO] [stdout] | [INFO] [stdout] 28 | impl Shape { [INFO] [stdout] | ---------- associated functions in this implementation [INFO] [stdout] 29 | pub(crate) fn null() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub(crate) fn bool(b: bool) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub(crate) fn bool_() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub(crate) fn number(n: impl Into) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub(crate) fn number_() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub(crate) fn string(s: impl Into) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub(crate) fn string_() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub(crate) fn blob() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub(crate) fn array(shape: Shape, u: Option) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub(crate) fn tuple(shapes: Vec) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub(crate) fn object(items: Vec<(String, Shape)>) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub(crate) fn mismatch(s1: Shape, s2: Shape) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub(crate) fn union(s1: Shape, s2: Shape) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub(crate) fn union_(shapes: Vec) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_mut` is never used [INFO] [stdout] --> tjq_semantics/shape.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 194 | impl ShapeContext { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 207 | fn get_mut(&mut self, t: &usize) -> Option<&mut Shape> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TypeEnv` is never constructed [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:281:8 [INFO] [stdout] | [INFO] [stdout] 281 | struct TypeEnv { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:290:12 [INFO] [stdout] | [INFO] [stdout] 289 | impl TypeEnv { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 290 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TypeError` is never constructed [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:302:8 [INFO] [stdout] | [INFO] [stdout] 302 | struct TypeError { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_via_z3` is never used [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:306:4 [INFO] [stdout] | [INFO] [stdout] 306 | fn solve_via_z3(constraints: Vec, ctx: &Context) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:355:4 [INFO] [stdout] | [INFO] [stdout] 355 | fn solve(constraints: Vec, ctx: &Context) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:447:8 [INFO] [stdout] | [INFO] [stdout] 446 | impl Context { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 447 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Enc` is never constructed [INFO] [stdout] --> tjq_semantics/solver.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Enc { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_TOP` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:42:7 [INFO] [stdout] | [INFO] [stdout] 42 | const IDX_TOP: usize = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_BOT` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:43:7 [INFO] [stdout] | [INFO] [stdout] 43 | const IDX_BOT: usize = 1; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_NULL` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:44:7 [INFO] [stdout] | [INFO] [stdout] 44 | const IDX_NULL: usize = 2; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_BOOL` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:45:7 [INFO] [stdout] | [INFO] [stdout] 45 | const IDX_BOOL: usize = 3; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_NUM` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:46:7 [INFO] [stdout] | [INFO] [stdout] 46 | const IDX_NUM: usize = 4; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_STR` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:47:7 [INFO] [stdout] | [INFO] [stdout] 47 | const IDX_STR: usize = 5; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_ARR` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:48:7 [INFO] [stdout] | [INFO] [stdout] 48 | const IDX_ARR: usize = 6; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_TUP` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const IDX_TUP: usize = 7; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_OBJ` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const IDX_OBJ: usize = 8; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_TVAR` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | const IDX_TVAR: usize = 9; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_UNION` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:52:7 [INFO] [stdout] | [INFO] [stdout] 52 | const IDX_UNION: usize = 10; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> tjq_semantics/solver.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 54 | impl Enc { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 55 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | pub fn shape_const(&self, name: &str) -> Datatype { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | fn top(&self) -> Datatype { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | fn is_top(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | fn bot(&self) -> Datatype { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | fn is_bot(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | fn null(&self) -> Datatype { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 261 | fn is_null(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | pub fn bool(&self, b: bool) -> Datatype { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 283 | pub fn bool_(&self) -> Datatype { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | fn is_bool(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 306 | fn num(&self, n: f64) -> Datatype { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 320 | fn num_(&self) -> Datatype { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 333 | fn is_num(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 341 | fn str(&self, t: &str) -> Datatype { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 356 | fn str_(&self) -> Datatype { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 369 | fn is_str(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 377 | fn array(&self, e: &Datatype, ml: &Datatype) -> Datatype { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | fn array_(&self, e: &Datatype) -> Datatype { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | fn is_array(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 406 | fn tuple(&self, elts: &Datatype) -> Datatype { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | fn is_tuple(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 421 | fn object(&self, fields: &Datatype) -> Datatype { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 428 | fn is_obj(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 443 | fn is_tvar(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `define_subtype`, `define_ordering`, `define_score_min`, `define_score`, and `declare_union_helpers` are never used [INFO] [stdout] --> tjq_semantics/solver.rs:453:12 [INFO] [stdout] | [INFO] [stdout] 452 | impl Enc { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] 453 | pub fn define_subtype(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 708 | pub fn define_ordering(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 858 | pub fn define_score_min(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 888 | pub fn define_score(&self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1126 | pub fn declare_union_helpers(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `maybe_bool_leq`, `maybe_float_leq`, `maybe_int_leq`, `maybe_int_leq_math`, and `maybe_str_leq` are never used [INFO] [stdout] --> tjq_semantics/solver.rs:1195:12 [INFO] [stdout] | [INFO] [stdout] 1194 | impl Enc { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] 1195 | pub fn maybe_bool_leq(&self, a: &z3::ast::Datatype, b: &z3::ast::Datatype) -> z3::ast::Bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1231 | pub fn maybe_float_leq(&self, a: &z3::ast::Datatype, b: &z3::ast::Datatype) -> z3::ast::Bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1269 | pub fn maybe_int_leq(&self, a: &z3::ast::Datatype, b: &z3::ast::Datatype) -> z3::ast::Bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1307 | pub fn maybe_int_leq_math( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1349 | fn maybe_str_leq(&self, a: &z3::ast::Datatype, b: &z3::ast::Datatype) -> z3::ast::Bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `declare_rec_helpers` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:1389:12 [INFO] [stdout] | [INFO] [stdout] 1388 | impl Enc { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] 1389 | pub fn declare_rec_helpers(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unwrap_maybe_float` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:1599:12 [INFO] [stdout] | [INFO] [stdout] 1598 | impl Enc { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] 1599 | pub fn unwrap_maybe_float(&self, m: &z3::ast::Datatype) -> (z3::ast::Float, z3::ast::Bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lower_constraint` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:1613:8 [INFO] [stdout] | [INFO] [stdout] 1613 | pub fn lower_constraint(enc: &Enc, c: &Constraint) -> Bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_z3_shape` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:1658:8 [INFO] [stdout] | [INFO] [stdout] 1658 | pub fn to_z3_shape(enc: &Enc, s: &Shape) -> Datatype { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling tjq v0.1.0 (/opt/rustwide/workdir/tjq) [INFO] [stderr] Compiling tower-lsp v0.20.0 [INFO] [stderr] Compiling tjq-lsp v0.1.0 (/opt/rustwide/workdir/tjq_lsp) [INFO] [stdout] warning: unused import: `Position` [INFO] [stdout] --> tjq_lsp/src/assists.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | Position, Url, [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 imports: `Node` and `Point` [INFO] [stdout] --> tjq_lsp/src/completions.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | use tree_sitter::{Node, Point}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `uri` [INFO] [stdout] --> tjq_lsp/src/server.rs:37:36 [INFO] [stdout] | [INFO] [stdout] 37 | async fn parse_document(&self, uri: &Url, text: &str) -> Option { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_uri` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> tjq_lsp/src/assists.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | context: CodeActionContext, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `version` is never read [INFO] [stdout] --> tjq_lsp/src/document.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct DocumentData { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 6 | pub rope: Rope, [INFO] [stdout] 7 | pub version: i32, [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 `offset_at_position` and `position_at_offset` are never used [INFO] [stdout] --> tjq_lsp/src/document.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl DocumentData { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 13 | pub fn offset_at_position(&self, position: Position) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn position_at_offset(&self, offset: usize) -> Position { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `structural_completions` is never used [INFO] [stdout] --> tjq_lsp/src/completions.rs:166:8 [INFO] [stdout] | [INFO] [stdout] 18 | impl CompletionProvider { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 166 | fn structural_completions() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `client` is never read [INFO] [stdout] --> tjq_lsp/src/server.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct TjqLanguageServer { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] 18 | client: Client, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 37s [INFO] running `Command { std: "docker" "inspect" "98e13984df22bd0a25383cbeb1e3c4b554863e50eed71af893b64c6448bde5c5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "98e13984df22bd0a25383cbeb1e3c4b554863e50eed71af893b64c6448bde5c5", kill_on_drop: false }` [INFO] [stdout] 98e13984df22bd0a25383cbeb1e3c4b554863e50eed71af893b64c6448bde5c5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 879d2fdac58288a5d513a796ca9aa2ff8f51d723305152ede232a1ade2e6cb32 [INFO] running `Command { std: "docker" "start" "-a" "879d2fdac58288a5d513a796ca9aa2ff8f51d723305152ede232a1ade2e6cb32", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `crate::printer::print_ast` [INFO] [stdout] --> tjq_exec/parse.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::printer::print_ast; [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 variable: `vars` [INFO] [stdout] --> tjq_exec/bytecode.rs:307:19 [INFO] [stdout] | [INFO] [stdout] 307 | fn run(&self, vars: Vec) -> impl Iterator { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_vars` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:279:26 [INFO] [stdout] | [INFO] [stdout] 279 | Filter::Pipe(filter, filter1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter1` [INFO] [stdout] --> tjq_exec/bytecode.rs:279:34 [INFO] [stdout] | [INFO] [stdout] 279 | Filter::Pipe(filter, filter1) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:280:27 [INFO] [stdout] | [INFO] [stdout] 280 | Filter::Comma(filter, filter1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter1` [INFO] [stdout] --> tjq_exec/bytecode.rs:280:35 [INFO] [stdout] | [INFO] [stdout] 280 | Filter::Comma(filter, filter1) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filters` [INFO] [stdout] --> tjq_exec/bytecode.rs:288:27 [INFO] [stdout] | [INFO] [stdout] 288 | Filter::Array(filters) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> tjq_exec/bytecode.rs:289:28 [INFO] [stdout] | [INFO] [stdout] 289 | Filter::Object(items) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `un_op` [INFO] [stdout] --> tjq_exec/bytecode.rs:290:26 [INFO] [stdout] | [INFO] [stdout] 290 | Filter::UnOp(un_op, filter) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_un_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:290:33 [INFO] [stdout] | [INFO] [stdout] 290 | Filter::UnOp(un_op, filter) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:291:27 [INFO] [stdout] | [INFO] [stdout] 291 | Filter::BinOp(filter, bin_op, filter1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bin_op` [INFO] [stdout] --> tjq_exec/bytecode.rs:291:35 [INFO] [stdout] | [INFO] [stdout] 291 | Filter::BinOp(filter, bin_op, filter1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bin_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter1` [INFO] [stdout] --> tjq_exec/bytecode.rs:291:43 [INFO] [stdout] | [INFO] [stdout] 291 | Filter::BinOp(filter, bin_op, filter1) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filters` [INFO] [stdout] --> tjq_exec/bytecode.rs:294:29 [INFO] [stdout] | [INFO] [stdout] 294 | Filter::Call(_, filters) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:295:32 [INFO] [stdout] | [INFO] [stdout] 295 | Filter::IfThenElse(filter, filter1, filter2) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter1` [INFO] [stdout] --> tjq_exec/bytecode.rs:295:40 [INFO] [stdout] | [INFO] [stdout] 295 | Filter::IfThenElse(filter, filter1, filter2) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter2` [INFO] [stdout] --> tjq_exec/bytecode.rs:295:49 [INFO] [stdout] | [INFO] [stdout] 295 | Filter::IfThenElse(filter, filter1, filter2) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> tjq_exec/bytecode.rs:296:27 [INFO] [stdout] | [INFO] [stdout] 296 | Filter::Bound(items, filter) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:296:34 [INFO] [stdout] | [INFO] [stdout] 296 | Filter::Bound(items, filter) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hash_map` [INFO] [stdout] --> tjq_exec/bytecode.rs:297:40 [INFO] [stdout] | [INFO] [stdout] 297 | Filter::FunctionExpression(hash_map, filter) => todo!(), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hash_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:297:50 [INFO] [stdout] | [INFO] [stdout] 297 | Filter::FunctionExpression(hash_map, filter) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:298:39 [INFO] [stdout] | [INFO] [stdout] 298 | Filter::BindingExpression(filter, filter1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter1` [INFO] [stdout] --> tjq_exec/bytecode.rs:298:47 [INFO] [stdout] | [INFO] [stdout] 298 | Filter::BindingExpression(filter, filter1) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> tjq_exec/bytecode.rs:300:38 [INFO] [stdout] | [INFO] [stdout] 300 | Filter::ReduceExpression(var, generator,init,update, ) => todo!(), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generator` [INFO] [stdout] --> tjq_exec/bytecode.rs:300:43 [INFO] [stdout] | [INFO] [stdout] 300 | Filter::ReduceExpression(var, generator,init,update, ) => todo!(), [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `init` [INFO] [stdout] --> tjq_exec/bytecode.rs:300:53 [INFO] [stdout] | [INFO] [stdout] 300 | Filter::ReduceExpression(var, generator,init,update, ) => todo!(), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_init` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `update` [INFO] [stdout] --> tjq_exec/bytecode.rs:300:58 [INFO] [stdout] | [INFO] [stdout] 300 | Filter::ReduceExpression(var, generator,init,update, ) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_update` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `json` [INFO] [stdout] --> tjq_exec/error.rs:31:41 [INFO] [stdout] | [INFO] [stdout] 31 | JQError::NonStringObjectKey(json) => todo!(), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_json` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pats` [INFO] [stdout] --> tjq_exec/filter.rs:184:23 [INFO] [stdout] | [INFO] [stdout] 184 | Filter::Array(pats) => todo!(), //match these patterns [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_pats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pairs` [INFO] [stdout] --> tjq_exec/filter.rs:186:24 [INFO] [stdout] | [INFO] [stdout] 186 | Filter::Object(pairs) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_pairs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> tjq_exec/filter.rs:506:27 [INFO] [stdout] | [INFO] [stdout] 506 | Filter::Bound(items, filter) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> tjq_exec/filter.rs:720:30 [INFO] [stdout] | [INFO] [stdout] 720 | Filter::ObjIndex(f) | Filter::ArrayIndex(f) => false, [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 720 | Filter::ObjIndex(_f) | Filter::ArrayIndex(_f) => false, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tjq_exec/parse.rs:572:9 [INFO] [stdout] | [INFO] [stdout] 572 | let mut defs = HashMap::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: unused variable: `identifier` [INFO] [stdout] --> tjq_exec/parse.rs:974:18 [INFO] [stdout] | [INFO] [stdout] 974 | let (identifier, vfield) = parse_filter( [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_identifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `indent_str` [INFO] [stdout] --> tjq_exec/printer.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | let indent_str = " ".repeat(indent); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_indent_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_text` [INFO] [stdout] --> tjq_exec/printer.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let node_text = &source[node.byte_range()]; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kind` [INFO] [stdout] --> tjq_exec/printer.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let kind = if node.kind() == "identifier" { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_kind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Opcode` is never used [INFO] [stdout] --> tjq_exec/bytecode.rs:7:6 [INFO] [stdout] | [INFO] [stdout] 7 | enum Opcode { [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 `Program` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | struct Program { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Code` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | struct Code { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CodeInfo` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | struct CodeInfo { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Env` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | struct Env { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `execute` and `next` are never used [INFO] [stdout] --> tjq_exec/bytecode.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 76 | impl Env { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 79 | fn execute( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn next(&mut self) -> (Option>, bool) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scope` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | struct Scope { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Fork` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | struct Fork { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScopeBlock` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 124 | struct ScopeBlock { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScopeStack` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | struct ScopeStack { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push`, `pop`, `empty`, `save`, and `restore` are never used [INFO] [stdout] --> tjq_exec/bytecode.rs:137:8 [INFO] [stdout] | [INFO] [stdout] 136 | impl ScopeStack { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 137 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | fn push(&mut self, v: Scope) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn empty(&self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | fn save(&mut self) -> (isize, isize) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | fn restore(&mut self, index: isize, limit: isize) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Block` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:187:8 [INFO] [stdout] | [INFO] [stdout] 187 | struct Block { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Stack` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | struct Stack { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push`, `pop`, `empty`, `save`, and `restore` are never used [INFO] [stdout] --> tjq_exec/bytecode.rs:200:8 [INFO] [stdout] | [INFO] [stdout] 199 | impl Stack { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 200 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | fn push(&mut self, v: Box) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | fn pop(&mut self) -> Option> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | fn empty(&self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | fn save(&mut self) -> (isize, isize) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | fn restore(&mut self, index: isize, limit: isize) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Compiler` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:249:8 [INFO] [stdout] | [INFO] [stdout] 249 | struct Compiler { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `compile` are never used [INFO] [stdout] --> tjq_exec/bytecode.rs:263:8 [INFO] [stdout] | [INFO] [stdout] 262 | impl Compiler { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 263 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | pub fn compile(&mut self, f: Filter) -> Program { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run` is never used [INFO] [stdout] --> tjq_exec/bytecode.rs:307:8 [INFO] [stdout] | [INFO] [stdout] 306 | impl Program { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 307 | fn run(&self, vars: Vec) -> impl Iterator { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_ast` is never used [INFO] [stdout] --> tjq_exec/printer.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn print_ast(node: Node, source: &str, indent: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_node_details` is never used [INFO] [stdout] --> tjq_exec/printer.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn print_node_details(node: Node, source: &str, indent: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> tjq_exec/filter.rs:276:44 [INFO] [stdout] | [INFO] [stdout] 276 | ... let i = if i < 0 { arr.len() + i } else { i } as usize; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling bitflags v2.9.4 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> tjq_semantics/shape.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | ops::{Deref, DerefMut}, [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: `z3::ast::*` [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:307:9 [INFO] [stdout] | [INFO] [stdout] 307 | use z3::ast::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Constraint as C` [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:326:9 [INFO] [stdout] | [INFO] [stdout] 326 | use Constraint as C; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Relation as R` [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:327:9 [INFO] [stdout] | [INFO] [stdout] 327 | use Relation as R; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subtyping as S` [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:328:9 [INFO] [stdout] | [INFO] [stdout] 328 | use Subtyping as S; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:186:25 [INFO] [stdout] | [INFO] [stdout] 186 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:186:32 [INFO] [stdout] | [INFO] [stdout] 186 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:322:25 [INFO] [stdout] | [INFO] [stdout] 322 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:322:32 [INFO] [stdout] | [INFO] [stdout] 322 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:360:25 [INFO] [stdout] | [INFO] [stdout] 360 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:360:32 [INFO] [stdout] | [INFO] [stdout] 360 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shapes` [INFO] [stdout] --> tjq_semantics/shape.rs:449:27 [INFO] [stdout] | [INFO] [stdout] 449 | (Shape::Tuple(shapes), Shape::Array(shape, u)) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shapes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:449:49 [INFO] [stdout] | [INFO] [stdout] 449 | (Shape::Tuple(shapes), Shape::Array(shape, u)) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> tjq_semantics/shape.rs:449:56 [INFO] [stdout] | [INFO] [stdout] 449 | (Shape::Tuple(shapes), Shape::Array(shape, u)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s1` [INFO] [stdout] --> tjq_semantics/shape.rs:502:30 [INFO] [stdout] | [INFO] [stdout] 502 | (Shape::Mismatch(s1, s2), _) | (_, Shape::Mismatch(s1, s2)) => Subtyping::Incompatible, [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 502 | (Shape::Mismatch(_s1, s2), _) | (_, Shape::Mismatch(_s1, s2)) => Subtyping::Incompatible, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> tjq_semantics/shape.rs:502:34 [INFO] [stdout] | [INFO] [stdout] 502 | (Shape::Mismatch(s1, s2), _) | (_, Shape::Mismatch(s1, s2)) => Subtyping::Incompatible, [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 502 | (Shape::Mismatch(s1, _s2), _) | (_, Shape::Mismatch(s1, _s2)) => Subtyping::Incompatible, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:583:29 [INFO] [stdout] | [INFO] [stdout] 583 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:583:36 [INFO] [stdout] | [INFO] [stdout] 583 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:585:25 [INFO] [stdout] | [INFO] [stdout] 585 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:585:32 [INFO] [stdout] | [INFO] [stdout] 585 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> tjq_semantics/shape.rs:621:30 [INFO] [stdout] | [INFO] [stdout] 621 | Filter::ObjIndex(s) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> tjq_semantics/shape.rs:684:32 [INFO] [stdout] | [INFO] [stdout] 684 | Filter::ArrayIndex(u) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:785:32 [INFO] [stdout] | [INFO] [stdout] 785 | Shape::Neg(shape) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:786:33 [INFO] [stdout] | [INFO] [stdout] 786 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:786:40 [INFO] [stdout] | [INFO] [stdout] 786 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> tjq_semantics/shape.rs:1205:46 [INFO] [stdout] | [INFO] [stdout] 1205 | ... (Shape::TVar(t), s) | (s, Shape::TVar(t)) => { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 1205 | (Shape::TVar(_t), s) | (s, Shape::TVar(_t)) => { [INFO] [stdout] | + + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `IDX_UNION` [INFO] [stdout] | [INFO] [stdout] 1205 - (Shape::TVar(t), s) | (s, Shape::TVar(t)) => { [INFO] [stdout] 1205 + (Shape::TVar(t), s) | (s, Shape::TVar(solver::IDX_UNION)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> tjq_semantics/shape.rs:1205:50 [INFO] [stdout] | [INFO] [stdout] 1205 | ... (Shape::TVar(t), s) | (s, Shape::TVar(t)) => { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 1205 | (Shape::TVar(t), _s) | (_s, Shape::TVar(t)) => { [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> tjq_semantics/shape.rs:1464:33 [INFO] [stdout] | [INFO] [stdout] 1464 | Shape::Array(shape, u) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:1579:25 [INFO] [stdout] | [INFO] [stdout] 1579 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:1579:32 [INFO] [stdout] | [INFO] [stdout] 1579 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:1628:25 [INFO] [stdout] | [INFO] [stdout] 1628 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:1628:32 [INFO] [stdout] | [INFO] [stdout] 1628 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:312:9 [INFO] [stdout] | [INFO] [stdout] 312 | let mut enc = Enc::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: unused variable: `case_trans` [INFO] [stdout] --> tjq_semantics/solver.rs:627:13 [INFO] [stdout] | [INFO] [stdout] 627 | let case_trans = Bool::and(&[ [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_case_trans` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `case_union_left` [INFO] [stdout] --> tjq_semantics/solver.rs:678:13 [INFO] [stdout] | [INFO] [stdout] 678 | let case_union_left = Bool::and(&[&is_union_x, &all_x_le_y]); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_case_union_left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `case_union_right` [INFO] [stdout] --> tjq_semantics/solver.rs:691:13 [INFO] [stdout] | [INFO] [stdout] 691 | let case_union_right = Bool::and(&[&is_union_y, &any_x_le_y]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_case_union_right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_obj` [INFO] [stdout] --> tjq_semantics/solver.rs:739:13 [INFO] [stdout] | [INFO] [stdout] 739 | let is_obj = self.shape.variants[IDX_OBJ] [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_obj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `xs_cons` [INFO] [stdout] --> tjq_semantics/solver.rs:865:13 [INFO] [stdout] | [INFO] [stdout] 865 | let xs_cons = self.list_shape.variants[1] [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_xs_cons` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `xs_cons` [INFO] [stdout] --> tjq_semantics/solver.rs:1065:13 [INFO] [stdout] | [INFO] [stdout] 1065 | let xs_cons = self.list_shape.variants[1] [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_xs_cons` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> tjq_semantics/solver.rs:1733:22 [INFO] [stdout] | [INFO] [stdout] 1733 | Shape::Union(a, b) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> tjq_semantics/solver.rs:1733:25 [INFO] [stdout] | [INFO] [stdout] 1733 | Shape::Union(a, b) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> tjq_semantics/shape.rs:29:19 [INFO] [stdout] | [INFO] [stdout] 28 | impl Shape { [INFO] [stdout] | ---------- associated functions in this implementation [INFO] [stdout] 29 | pub(crate) fn null() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub(crate) fn bool(b: bool) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub(crate) fn bool_() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub(crate) fn number(n: impl Into) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub(crate) fn number_() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub(crate) fn string(s: impl Into) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub(crate) fn string_() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub(crate) fn blob() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub(crate) fn array(shape: Shape, u: Option) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub(crate) fn tuple(shapes: Vec) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub(crate) fn object(items: Vec<(String, Shape)>) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub(crate) fn mismatch(s1: Shape, s2: Shape) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub(crate) fn union(s1: Shape, s2: Shape) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub(crate) fn union_(shapes: Vec) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_mut` is never used [INFO] [stdout] --> tjq_semantics/shape.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 194 | impl ShapeContext { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 207 | fn get_mut(&mut self, t: &usize) -> Option<&mut Shape> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TypeEnv` is never constructed [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:281:8 [INFO] [stdout] | [INFO] [stdout] 281 | struct TypeEnv { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:290:12 [INFO] [stdout] | [INFO] [stdout] 289 | impl TypeEnv { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 290 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TypeError` is never constructed [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:302:8 [INFO] [stdout] | [INFO] [stdout] 302 | struct TypeError { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_via_z3` is never used [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:306:4 [INFO] [stdout] | [INFO] [stdout] 306 | fn solve_via_z3(constraints: Vec, ctx: &Context) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve` is never used [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:355:4 [INFO] [stdout] | [INFO] [stdout] 355 | fn solve(constraints: Vec, ctx: &Context) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:447:8 [INFO] [stdout] | [INFO] [stdout] 446 | impl Context { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 447 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Enc` is never constructed [INFO] [stdout] --> tjq_semantics/solver.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Enc { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_TOP` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:42:7 [INFO] [stdout] | [INFO] [stdout] 42 | const IDX_TOP: usize = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_BOT` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:43:7 [INFO] [stdout] | [INFO] [stdout] 43 | const IDX_BOT: usize = 1; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_NULL` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:44:7 [INFO] [stdout] | [INFO] [stdout] 44 | const IDX_NULL: usize = 2; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_BOOL` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:45:7 [INFO] [stdout] | [INFO] [stdout] 45 | const IDX_BOOL: usize = 3; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_NUM` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:46:7 [INFO] [stdout] | [INFO] [stdout] 46 | const IDX_NUM: usize = 4; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_STR` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:47:7 [INFO] [stdout] | [INFO] [stdout] 47 | const IDX_STR: usize = 5; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_ARR` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:48:7 [INFO] [stdout] | [INFO] [stdout] 48 | const IDX_ARR: usize = 6; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_TUP` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const IDX_TUP: usize = 7; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_OBJ` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const IDX_OBJ: usize = 8; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_TVAR` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | const IDX_TVAR: usize = 9; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_UNION` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:52:7 [INFO] [stdout] | [INFO] [stdout] 52 | const IDX_UNION: usize = 10; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> tjq_semantics/solver.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 54 | impl Enc { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 55 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | pub fn shape_const(&self, name: &str) -> Datatype { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | fn top(&self) -> Datatype { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | fn is_top(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | fn bot(&self) -> Datatype { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | fn is_bot(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | fn null(&self) -> Datatype { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 261 | fn is_null(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | pub fn bool(&self, b: bool) -> Datatype { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 283 | pub fn bool_(&self) -> Datatype { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | fn is_bool(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 306 | fn num(&self, n: f64) -> Datatype { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 320 | fn num_(&self) -> Datatype { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 333 | fn is_num(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 341 | fn str(&self, t: &str) -> Datatype { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 356 | fn str_(&self) -> Datatype { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 369 | fn is_str(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 377 | fn array(&self, e: &Datatype, ml: &Datatype) -> Datatype { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | fn array_(&self, e: &Datatype) -> Datatype { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | fn is_array(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 406 | fn tuple(&self, elts: &Datatype) -> Datatype { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | fn is_tuple(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 421 | fn object(&self, fields: &Datatype) -> Datatype { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 428 | fn is_obj(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 443 | fn is_tvar(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `define_subtype`, `define_ordering`, `define_score_min`, `define_score`, and `declare_union_helpers` are never used [INFO] [stdout] --> tjq_semantics/solver.rs:453:12 [INFO] [stdout] | [INFO] [stdout] 452 | impl Enc { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] 453 | pub fn define_subtype(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 708 | pub fn define_ordering(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 858 | pub fn define_score_min(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 888 | pub fn define_score(&self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1126 | pub fn declare_union_helpers(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `maybe_bool_leq`, `maybe_float_leq`, `maybe_int_leq`, `maybe_int_leq_math`, and `maybe_str_leq` are never used [INFO] [stdout] --> tjq_semantics/solver.rs:1195:12 [INFO] [stdout] | [INFO] [stdout] 1194 | impl Enc { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] 1195 | pub fn maybe_bool_leq(&self, a: &z3::ast::Datatype, b: &z3::ast::Datatype) -> z3::ast::Bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1231 | pub fn maybe_float_leq(&self, a: &z3::ast::Datatype, b: &z3::ast::Datatype) -> z3::ast::Bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1269 | pub fn maybe_int_leq(&self, a: &z3::ast::Datatype, b: &z3::ast::Datatype) -> z3::ast::Bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1307 | pub fn maybe_int_leq_math( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1349 | fn maybe_str_leq(&self, a: &z3::ast::Datatype, b: &z3::ast::Datatype) -> z3::ast::Bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `declare_rec_helpers` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:1389:12 [INFO] [stdout] | [INFO] [stdout] 1388 | impl Enc { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] 1389 | pub fn declare_rec_helpers(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unwrap_maybe_float` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:1599:12 [INFO] [stdout] | [INFO] [stdout] 1598 | impl Enc { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] 1599 | pub fn unwrap_maybe_float(&self, m: &z3::ast::Datatype) -> (z3::ast::Float, z3::ast::Bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lower_constraint` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:1613:8 [INFO] [stdout] | [INFO] [stdout] 1613 | pub fn lower_constraint(enc: &Enc, c: &Constraint) -> Bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_z3_shape` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:1658:8 [INFO] [stdout] | [INFO] [stdout] 1658 | pub fn to_z3_shape(enc: &Enc, s: &Shape) -> Datatype { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling tjq v0.1.0 (/opt/rustwide/workdir/tjq) [INFO] [stderr] Compiling tjq_semantics v0.1.0 (/opt/rustwide/workdir/tjq_semantics) [INFO] [stderr] Compiling tjq_exec v0.1.0 (/opt/rustwide/workdir/tjq_exec) [INFO] [stderr] Compiling tree-sitter-tjq v1.0.2 (/opt/rustwide/workdir/tjq_grammar) [INFO] [stdout] warning: unused imports: `BinOp` and `JQError` [INFO] [stdout] --> tjq_exec/filter.rs:754:36 [INFO] [stdout] | [INFO] [stdout] 754 | use crate::{parse, parse_defs, BinOp, Filter, JQError, Json}; [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: `crate::printer::print_ast` [INFO] [stdout] --> tjq_exec/parse.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::printer::print_ast; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UnOp` [INFO] [stdout] --> tjq_exec/parse.rs:1066:32 [INFO] [stdout] | [INFO] [stdout] 1066 | use crate::{BinOp, Filter, UnOp}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> tjq_exec/parse.rs:1067:9 [INFO] [stdout] | [INFO] [stdout] 1067 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::CommandEnvs` [INFO] [stdout] --> tjq_exec/parse.rs:1068:9 [INFO] [stdout] | [INFO] [stdout] 1068 | use std::process::CommandEnvs; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tracing_subscriber::EnvFilter` [INFO] [stdout] --> tjq_exec/parse.rs:1069:9 [INFO] [stdout] | [INFO] [stdout] 1069 | use tracing_subscriber::EnvFilter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> tjq_semantics/shape.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | ops::{Deref, DerefMut}, [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: `z3::ast::*` [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:307:9 [INFO] [stdout] | [INFO] [stdout] 307 | use z3::ast::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Constraint as C` [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:326:9 [INFO] [stdout] | [INFO] [stdout] 326 | use Constraint as C; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Relation as R` [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:327:9 [INFO] [stdout] | [INFO] [stdout] 327 | use Relation as R; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subtyping as S` [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:328:9 [INFO] [stdout] | [INFO] [stdout] 328 | use Subtyping as S; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `solve` [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:1184:17 [INFO] [stdout] | [INFO] [stdout] 1184 | use super::{solve, Constraint, Context}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Equality`, `Relation`, `Subtyping`, `TypeEnv`, and `TypeError` [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:1188:28 [INFO] [stdout] | [INFO] [stdout] 1188 | compute_shape, Equality, Relation, Shape, TypeEnv, TypeError, [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] 1189 | }, [INFO] [stdout] 1190 | Subtyping, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vars` [INFO] [stdout] --> tjq_exec/bytecode.rs:307:19 [INFO] [stdout] | [INFO] [stdout] 307 | fn run(&self, vars: Vec) -> impl Iterator { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_vars` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:279:26 [INFO] [stdout] | [INFO] [stdout] 279 | Filter::Pipe(filter, filter1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter1` [INFO] [stdout] --> tjq_exec/bytecode.rs:279:34 [INFO] [stdout] | [INFO] [stdout] 279 | Filter::Pipe(filter, filter1) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:280:27 [INFO] [stdout] | [INFO] [stdout] 280 | Filter::Comma(filter, filter1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter1` [INFO] [stdout] --> tjq_exec/bytecode.rs:280:35 [INFO] [stdout] | [INFO] [stdout] 280 | Filter::Comma(filter, filter1) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filters` [INFO] [stdout] --> tjq_exec/bytecode.rs:288:27 [INFO] [stdout] | [INFO] [stdout] 288 | Filter::Array(filters) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> tjq_exec/bytecode.rs:289:28 [INFO] [stdout] | [INFO] [stdout] 289 | Filter::Object(items) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `un_op` [INFO] [stdout] --> tjq_exec/bytecode.rs:290:26 [INFO] [stdout] | [INFO] [stdout] 290 | Filter::UnOp(un_op, filter) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_un_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:290:33 [INFO] [stdout] | [INFO] [stdout] 290 | Filter::UnOp(un_op, filter) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:291:27 [INFO] [stdout] | [INFO] [stdout] 291 | Filter::BinOp(filter, bin_op, filter1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bin_op` [INFO] [stdout] --> tjq_exec/bytecode.rs:291:35 [INFO] [stdout] | [INFO] [stdout] 291 | Filter::BinOp(filter, bin_op, filter1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bin_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter1` [INFO] [stdout] --> tjq_exec/bytecode.rs:291:43 [INFO] [stdout] | [INFO] [stdout] 291 | Filter::BinOp(filter, bin_op, filter1) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filters` [INFO] [stdout] --> tjq_exec/bytecode.rs:294:29 [INFO] [stdout] | [INFO] [stdout] 294 | Filter::Call(_, filters) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:295:32 [INFO] [stdout] | [INFO] [stdout] 295 | Filter::IfThenElse(filter, filter1, filter2) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter1` [INFO] [stdout] --> tjq_exec/bytecode.rs:295:40 [INFO] [stdout] | [INFO] [stdout] 295 | Filter::IfThenElse(filter, filter1, filter2) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter2` [INFO] [stdout] --> tjq_exec/bytecode.rs:295:49 [INFO] [stdout] | [INFO] [stdout] 295 | Filter::IfThenElse(filter, filter1, filter2) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> tjq_exec/bytecode.rs:296:27 [INFO] [stdout] | [INFO] [stdout] 296 | Filter::Bound(items, filter) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:296:34 [INFO] [stdout] | [INFO] [stdout] 296 | Filter::Bound(items, filter) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hash_map` [INFO] [stdout] --> tjq_exec/bytecode.rs:297:40 [INFO] [stdout] | [INFO] [stdout] 297 | Filter::FunctionExpression(hash_map, filter) => todo!(), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hash_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:297:50 [INFO] [stdout] | [INFO] [stdout] 297 | Filter::FunctionExpression(hash_map, filter) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/bytecode.rs:298:39 [INFO] [stdout] | [INFO] [stdout] 298 | Filter::BindingExpression(filter, filter1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter1` [INFO] [stdout] --> tjq_exec/bytecode.rs:298:47 [INFO] [stdout] | [INFO] [stdout] 298 | Filter::BindingExpression(filter, filter1) => todo!(), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> tjq_exec/bytecode.rs:300:38 [INFO] [stdout] | [INFO] [stdout] 300 | Filter::ReduceExpression(var, generator,init,update, ) => todo!(), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generator` [INFO] [stdout] --> tjq_exec/bytecode.rs:300:43 [INFO] [stdout] | [INFO] [stdout] 300 | Filter::ReduceExpression(var, generator,init,update, ) => todo!(), [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `init` [INFO] [stdout] --> tjq_exec/bytecode.rs:300:53 [INFO] [stdout] | [INFO] [stdout] 300 | Filter::ReduceExpression(var, generator,init,update, ) => todo!(), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_init` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `update` [INFO] [stdout] --> tjq_exec/bytecode.rs:300:58 [INFO] [stdout] | [INFO] [stdout] 300 | Filter::ReduceExpression(var, generator,init,update, ) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_update` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `json` [INFO] [stdout] --> tjq_exec/error.rs:31:41 [INFO] [stdout] | [INFO] [stdout] 31 | JQError::NonStringObjectKey(json) => todo!(), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_json` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pats` [INFO] [stdout] --> tjq_exec/filter.rs:184:23 [INFO] [stdout] | [INFO] [stdout] 184 | Filter::Array(pats) => todo!(), //match these patterns [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_pats` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pairs` [INFO] [stdout] --> tjq_exec/filter.rs:186:24 [INFO] [stdout] | [INFO] [stdout] 186 | Filter::Object(pairs) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_pairs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> tjq_exec/filter.rs:506:27 [INFO] [stdout] | [INFO] [stdout] 506 | Filter::Bound(items, filter) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:186:25 [INFO] [stdout] | [INFO] [stdout] 186 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:186:32 [INFO] [stdout] | [INFO] [stdout] 186 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> tjq_exec/filter.rs:720:30 [INFO] [stdout] | [INFO] [stdout] 720 | Filter::ObjIndex(f) | Filter::ArrayIndex(f) => false, [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 720 | Filter::ObjIndex(_f) | Filter::ArrayIndex(_f) => false, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:322:25 [INFO] [stdout] | [INFO] [stdout] 322 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:322:32 [INFO] [stdout] | [INFO] [stdout] 322 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:360:25 [INFO] [stdout] | [INFO] [stdout] 360 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:360:32 [INFO] [stdout] | [INFO] [stdout] 360 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shapes` [INFO] [stdout] --> tjq_semantics/shape.rs:449:27 [INFO] [stdout] | [INFO] [stdout] 449 | (Shape::Tuple(shapes), Shape::Array(shape, u)) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shapes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:449:49 [INFO] [stdout] | [INFO] [stdout] 449 | (Shape::Tuple(shapes), Shape::Array(shape, u)) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> tjq_semantics/shape.rs:449:56 [INFO] [stdout] | [INFO] [stdout] 449 | (Shape::Tuple(shapes), Shape::Array(shape, u)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s1` [INFO] [stdout] --> tjq_semantics/shape.rs:502:30 [INFO] [stdout] | [INFO] [stdout] 502 | (Shape::Mismatch(s1, s2), _) | (_, Shape::Mismatch(s1, s2)) => Subtyping::Incompatible, [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 502 | (Shape::Mismatch(_s1, s2), _) | (_, Shape::Mismatch(_s1, s2)) => Subtyping::Incompatible, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> tjq_semantics/shape.rs:502:34 [INFO] [stdout] | [INFO] [stdout] 502 | (Shape::Mismatch(s1, s2), _) | (_, Shape::Mismatch(s1, s2)) => Subtyping::Incompatible, [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 502 | (Shape::Mismatch(s1, _s2), _) | (_, Shape::Mismatch(s1, _s2)) => Subtyping::Incompatible, [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:583:29 [INFO] [stdout] | [INFO] [stdout] 583 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:583:36 [INFO] [stdout] | [INFO] [stdout] 583 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:585:25 [INFO] [stdout] | [INFO] [stdout] 585 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:585:32 [INFO] [stdout] | [INFO] [stdout] 585 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> tjq_semantics/shape.rs:621:30 [INFO] [stdout] | [INFO] [stdout] 621 | Filter::ObjIndex(s) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> tjq_semantics/shape.rs:684:32 [INFO] [stdout] | [INFO] [stdout] 684 | Filter::ArrayIndex(u) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:785:32 [INFO] [stdout] | [INFO] [stdout] 785 | Shape::Neg(shape) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:786:33 [INFO] [stdout] | [INFO] [stdout] 786 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:786:40 [INFO] [stdout] | [INFO] [stdout] 786 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> tjq_semantics/shape.rs:1205:46 [INFO] [stdout] | [INFO] [stdout] 1205 | ... (Shape::TVar(t), s) | (s, Shape::TVar(t)) => { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 1205 | (Shape::TVar(_t), s) | (s, Shape::TVar(_t)) => { [INFO] [stdout] | + + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `IDX_UNION` [INFO] [stdout] | [INFO] [stdout] 1205 - (Shape::TVar(t), s) | (s, Shape::TVar(t)) => { [INFO] [stdout] 1205 + (Shape::TVar(t), s) | (s, Shape::TVar(solver::IDX_UNION)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> tjq_semantics/shape.rs:1205:50 [INFO] [stdout] | [INFO] [stdout] 1205 | ... (Shape::TVar(t), s) | (s, Shape::TVar(t)) => { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 1205 | (Shape::TVar(t), _s) | (_s, Shape::TVar(t)) => { [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tjq_exec/parse.rs:572:9 [INFO] [stdout] | [INFO] [stdout] 572 | let mut defs = HashMap::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: unused variable: `identifier` [INFO] [stdout] --> tjq_exec/parse.rs:974:18 [INFO] [stdout] | [INFO] [stdout] 974 | let (identifier, vfield) = parse_filter( [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_identifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> tjq_semantics/shape.rs:1464:33 [INFO] [stdout] | [INFO] [stdout] 1464 | Shape::Array(shape, u) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:1579:25 [INFO] [stdout] | [INFO] [stdout] 1579 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:1579:32 [INFO] [stdout] | [INFO] [stdout] 1579 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filter` [INFO] [stdout] --> tjq_exec/parse.rs:1084:20 [INFO] [stdout] | [INFO] [stdout] 1084 | let (defs, filter) = parse(code); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> tjq_semantics/shape.rs:1628:25 [INFO] [stdout] | [INFO] [stdout] 1628 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape1` [INFO] [stdout] --> tjq_semantics/shape.rs:1628:32 [INFO] [stdout] | [INFO] [stdout] 1628 | Shape::Cond(shape, shape1) => todo!(), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `main_filter` [INFO] [stdout] --> tjq_exec/parse.rs:1319:20 [INFO] [stdout] | [INFO] [stdout] 1319 | let (defs, main_filter) = parse(code); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_filter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `indent_str` [INFO] [stdout] --> tjq_exec/printer.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | let indent_str = " ".repeat(indent); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_indent_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_text` [INFO] [stdout] --> tjq_exec/printer.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | let node_text = &source[node.byte_range()]; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kind` [INFO] [stdout] --> tjq_exec/printer.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let kind = if node.kind() == "identifier" { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_kind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Opcode` is never used [INFO] [stdout] --> tjq_exec/bytecode.rs:7:6 [INFO] [stdout] | [INFO] [stdout] 7 | enum Opcode { [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 `Program` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | struct Program { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Code` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | struct Code { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CodeInfo` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | struct CodeInfo { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Env` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | struct Env { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `execute` and `next` are never used [INFO] [stdout] --> tjq_exec/bytecode.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 76 | impl Env { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 79 | fn execute( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn next(&mut self) -> (Option>, bool) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scope` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | struct Scope { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Fork` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | struct Fork { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScopeBlock` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 124 | struct ScopeBlock { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScopeStack` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | struct ScopeStack { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push`, `pop`, `empty`, `save`, and `restore` are never used [INFO] [stdout] --> tjq_exec/bytecode.rs:137:8 [INFO] [stdout] | [INFO] [stdout] 136 | impl ScopeStack { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 137 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | fn push(&mut self, v: Scope) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn empty(&self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | fn save(&mut self) -> (isize, isize) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | fn restore(&mut self, index: isize, limit: isize) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Block` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:187:8 [INFO] [stdout] | [INFO] [stdout] 187 | struct Block { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Stack` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | struct Stack { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push`, `pop`, `empty`, `save`, and `restore` are never used [INFO] [stdout] --> tjq_exec/bytecode.rs:200:8 [INFO] [stdout] | [INFO] [stdout] 199 | impl Stack { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 200 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | fn push(&mut self, v: Box) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | fn pop(&mut self) -> Option> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | fn empty(&self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | fn save(&mut self) -> (isize, isize) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | fn restore(&mut self, index: isize, limit: isize) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Compiler` is never constructed [INFO] [stdout] --> tjq_exec/bytecode.rs:249:8 [INFO] [stdout] | [INFO] [stdout] 249 | struct Compiler { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `compile` are never used [INFO] [stdout] --> tjq_exec/bytecode.rs:263:8 [INFO] [stdout] | [INFO] [stdout] 262 | impl Compiler { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 263 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | pub fn compile(&mut self, f: Filter) -> Program { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run` is never used [INFO] [stdout] --> tjq_exec/bytecode.rs:307:8 [INFO] [stdout] | [INFO] [stdout] 306 | impl Program { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 307 | fn run(&self, vars: Vec) -> impl Iterator { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_ast` is never used [INFO] [stdout] --> tjq_exec/printer.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn print_ast(node: Node, source: &str, indent: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_node_details` is never used [INFO] [stdout] --> tjq_exec/printer.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn print_node_details(node: Node, source: &str, indent: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> tjq_exec/filter.rs:276:44 [INFO] [stdout] | [INFO] [stdout] 276 | ... let i = if i < 0 { arr.len() + i } else { i } as usize; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:312:9 [INFO] [stdout] | [INFO] [stdout] 312 | let mut enc = Enc::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: unused variable: `case_trans` [INFO] [stdout] --> tjq_semantics/solver.rs:627:13 [INFO] [stdout] | [INFO] [stdout] 627 | let case_trans = Bool::and(&[ [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_case_trans` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `case_union_left` [INFO] [stdout] --> tjq_semantics/solver.rs:678:13 [INFO] [stdout] | [INFO] [stdout] 678 | let case_union_left = Bool::and(&[&is_union_x, &all_x_le_y]); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_case_union_left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `case_union_right` [INFO] [stdout] --> tjq_semantics/solver.rs:691:13 [INFO] [stdout] | [INFO] [stdout] 691 | let case_union_right = Bool::and(&[&is_union_y, &any_x_le_y]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_case_union_right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_obj` [INFO] [stdout] --> tjq_semantics/solver.rs:739:13 [INFO] [stdout] | [INFO] [stdout] 739 | let is_obj = self.shape.variants[IDX_OBJ] [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_obj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `xs_cons` [INFO] [stdout] --> tjq_semantics/solver.rs:865:13 [INFO] [stdout] | [INFO] [stdout] 865 | let xs_cons = self.list_shape.variants[1] [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_xs_cons` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `xs_cons` [INFO] [stdout] --> tjq_semantics/solver.rs:1065:13 [INFO] [stdout] | [INFO] [stdout] 1065 | let xs_cons = self.list_shape.variants[1] [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_xs_cons` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> tjq_semantics/solver.rs:1733:22 [INFO] [stdout] | [INFO] [stdout] 1733 | Shape::Union(a, b) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> tjq_semantics/solver.rs:1733:25 [INFO] [stdout] | [INFO] [stdout] 1733 | Shape::Union(a, b) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `z3_shape` [INFO] [stdout] --> tjq_semantics/solver.rs:1757:13 [INFO] [stdout] | [INFO] [stdout] 1757 | let z3_shape = to_z3_shape(&enc, &shape); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z3_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `union_` is never used [INFO] [stdout] --> tjq_semantics/shape.rs:74:19 [INFO] [stdout] | [INFO] [stdout] 28 | impl Shape { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 74 | pub(crate) fn union_(shapes: Vec) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_mut` is never used [INFO] [stdout] --> tjq_semantics/shape.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 194 | impl ShapeContext { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 207 | fn get_mut(&mut self, t: &usize) -> Option<&mut Shape> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `facts` is never read [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:286:5 [INFO] [stdout] | [INFO] [stdout] 281 | struct TypeEnv { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 286 | facts: HashSet, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeEnv` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `message` is never read [INFO] [stdout] --> tjq_semantics/experimental_type_inference.rs:303:5 [INFO] [stdout] | [INFO] [stdout] 302 | struct TypeError { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 303 | message: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `str` and `has_field` are never read [INFO] [stdout] --> tjq_semantics/solver.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Enc { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 21 | str: Sort, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub has_field: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDX_TVAR` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | const IDX_TVAR: usize = 9; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> tjq_semantics/solver.rs:220:12 [INFO] [stdout] | [INFO] [stdout] 54 | impl Enc { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 220 | pub fn shape_const(&self, name: &str) -> Datatype { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | fn is_top(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | fn bot(&self) -> Datatype { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | fn is_bot(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 261 | fn is_null(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | fn is_bool(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 333 | fn is_num(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 369 | fn is_str(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | fn is_tuple(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 428 | fn is_obj(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 443 | fn is_tvar(&self, v: &Datatype) -> Bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `define_score_min` and `declare_union_helpers` are never used [INFO] [stdout] --> tjq_semantics/solver.rs:858:12 [INFO] [stdout] | [INFO] [stdout] 452 | impl Enc { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 858 | pub fn define_score_min(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1126 | pub fn declare_union_helpers(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `maybe_int_leq` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:1269:12 [INFO] [stdout] | [INFO] [stdout] 1194 | impl Enc { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1269 | pub fn maybe_int_leq(&self, a: &z3::ast::Datatype, b: &z3::ast::Datatype) -> z3::ast::Bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `declare_rec_helpers` is never used [INFO] [stdout] --> tjq_semantics/solver.rs:1389:12 [INFO] [stdout] | [INFO] [stdout] 1388 | impl Enc { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] 1389 | pub fn declare_rec_helpers(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling tempfile v3.22.0 [INFO] [stderr] Compiling tjq-lsp v0.1.0 (/opt/rustwide/workdir/tjq_lsp) [INFO] [stdout] warning: unused import: `Position` [INFO] [stdout] --> tjq_lsp/src/assists.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | Position, Url, [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 imports: `Node` and `Point` [INFO] [stdout] --> tjq_lsp/src/completions.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | use tree_sitter::{Node, Point}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> tjq_lsp/src/tests.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tower_lsp::Client` [INFO] [stdout] --> tjq_lsp/src/tests.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | use tower_lsp::Client; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `uri` [INFO] [stdout] --> tjq_lsp/src/server.rs:37:36 [INFO] [stdout] | [INFO] [stdout] 37 | async fn parse_document(&self, uri: &Url, text: &str) -> Option { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_uri` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> tjq_lsp/src/tests.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> tjq_lsp/src/assists.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | context: CodeActionContext, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `doc` [INFO] [stdout] --> tjq_lsp/src/tests.rs:248:13 [INFO] [stdout] | [INFO] [stdout] 248 | let doc = create_test_document(unformatted); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_doc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `version` is never read [INFO] [stdout] --> tjq_lsp/src/document.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct DocumentData { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 6 | pub rope: Rope, [INFO] [stdout] 7 | pub version: i32, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `structural_completions` is never used [INFO] [stdout] --> tjq_lsp/src/completions.rs:166:8 [INFO] [stdout] | [INFO] [stdout] 18 | impl CompletionProvider { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 166 | fn structural_completions() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `client` is never read [INFO] [stdout] --> tjq_lsp/src/server.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct TjqLanguageServer { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] 18 | client: Client, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 21.95s [INFO] running `Command { std: "docker" "inspect" "879d2fdac58288a5d513a796ca9aa2ff8f51d723305152ede232a1ade2e6cb32", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "879d2fdac58288a5d513a796ca9aa2ff8f51d723305152ede232a1ade2e6cb32", kill_on_drop: false }` [INFO] [stdout] 879d2fdac58288a5d513a796ca9aa2ff8f51d723305152ede232a1ade2e6cb32