[INFO] cloning repository https://github.com/hanayashiki/boring-rpc
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hanayashiki/boring-rpc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhanayashiki%2Fboring-rpc", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhanayashiki%2Fboring-rpc'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d348052c04b22776db305280a1717214d965752d
[INFO] testing hanayashiki/boring-rpc against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhanayashiki%2Fboring-rpc" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/hanayashiki/boring-rpc
[INFO] finished tweaking git repo https://github.com/hanayashiki/boring-rpc
[INFO] tweaked toml for git repo https://github.com/hanayashiki/boring-rpc written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hanayashiki/boring-rpc on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hanayashiki/boring-rpc 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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded xshell v0.2.6
[INFO] [stderr]   Downloaded xshell-macros v0.2.6
[INFO] [stderr]   Downloaded serde_derive v1.0.216
[INFO] [stderr]   Downloaded signal-hook-registry v1.4.2
[INFO] [stderr]   Downloaded ungrammar v1.16.1
[INFO] [stderr]   Downloaded text-size v1.1.1
[INFO] [stderr]   Downloaded expect-test v1.5.0
[INFO] [stderr]   Downloaded pin-project-lite v0.2.15
[INFO] [stderr]   Downloaded dissimilar v1.0.9
[INFO] [stderr]   Downloaded fluent-uri v0.1.4
[INFO] [stderr]   Downloaded serde v1.0.216
[INFO] [stderr]   Downloaded prettyplease v0.2.25
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.14
[INFO] [stderr]   Downloaded lsp-types v0.97.0
[INFO] [stderr]   Downloaded bytes v1.9.0
[INFO] [stderr]   Downloaded hyper v1.5.1
[INFO] [stderr]   Downloaded axum v0.7.9
[INFO] [stderr]   Downloaded serde_json v1.0.133
[INFO] [stderr]   Downloaded thiserror v2.0.3
[INFO] [stderr]   Downloaded thiserror-impl v2.0.3
[INFO] [stderr]   Downloaded lsp-server v0.7.8
[INFO] [stderr]   Downloaded libc v0.2.167
[INFO] [stderr]   Downloaded tokio v1.42.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6e02bb002021df908cda33db8577ba08abec4da53aeee8b1c6df917091db1f9a
[INFO] running `Command { std: "docker" "start" "-a" "6e02bb002021df908cda33db8577ba08abec4da53aeee8b1c6df917091db1f9a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6e02bb002021df908cda33db8577ba08abec4da53aeee8b1c6df917091db1f9a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6e02bb002021df908cda33db8577ba08abec4da53aeee8b1c6df917091db1f9a", kill_on_drop: false }`
[INFO] [stdout] 6e02bb002021df908cda33db8577ba08abec4da53aeee8b1c6df917091db1f9a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7b6dee0f6c0721ead7d396a7ceb30355c4d3284ca290f370ee8c34f4e0e70c4f
[INFO] running `Command { std: "docker" "start" "-a" "7b6dee0f6c0721ead7d396a7ceb30355c4d3284ca290f370ee8c34f4e0e70c4f", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling itoa v1.0.11
[INFO] [stderr]    Compiling serde v1.0.216
[INFO] [stderr]    Compiling ryu v1.0.18
[INFO] [stderr]    Compiling serde_json v1.0.133
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling libc v0.2.167
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling pin-project-lite v0.2.15
[INFO] [stderr]    Compiling bytes v1.9.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling ungrammar v1.16.1
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling text-size v1.1.1
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling thiserror v2.0.3
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling boring_rpc_vfs v0.1.0 (/opt/rustwide/workdir/crates/boring_rpc_vfs)
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> crates/boring_rpc_vfs/src/mem_fs.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rustversion v1.0.18
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> crates/boring_rpc_vfs/src/lsp_fs.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn set_file_content<P>(&mut self, path: P, change: LspFileChange)
[INFO] [stdout]    |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `change`
[INFO] [stdout]   --> crates/boring_rpc_vfs/src/lsp_fs.rs:25:52
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn set_file_content<P>(&mut self, path: P, change: LspFileChange)
[INFO] [stdout]    |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling anyhow v1.0.95
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling boring_rpc_syn v0.0.0 (/opt/rustwide/workdir/crates/boring_rpc_syn)
[INFO] [stderr]    Compiling http v1.2.0
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stdout] warning: unused import: `SyntaxToken`
[INFO] [stdout]  --> crates/boring_rpc_syn/src/generated/nodes.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::syn::{AstNode, SyntaxNode, SyntaxToken};
[INFO] [stdout]   |                                       ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling prettyplease v0.2.25
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stdout] warning: field `parent` is never read
[INFO] [stdout]    --> crates/boring_rpc_syn/src/syn.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 192 | struct SyntaxNodeInner {
[INFO] [stdout]     |        --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 196 |     parent: Weak<SyntaxNodeInner>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SyntaxNodeInner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling anstyle-parse v0.2.6
[INFO] [stderr]    Compiling anstyle-query v1.1.2
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling socket2 v0.5.8
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling anstyle v1.0.10
[INFO] [stderr]    Compiling colorchoice v1.0.3
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling sync_wrapper v0.1.2
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling fluent-uri v0.1.4
[INFO] [stderr]    Compiling anstream v0.6.18
[INFO] [stderr]    Compiling crossbeam-channel v0.5.14
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling clap_lex v0.7.3
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling xshell-macros v0.2.6
[INFO] [stderr]    Compiling clap_builder v4.5.21
[INFO] [stderr]    Compiling xshell v0.2.6
[INFO] [stderr]    Compiling http-body-util v0.1.2
[INFO] [stderr]    Compiling serde_derive v1.0.216
[INFO] [stderr]    Compiling thiserror-impl v2.0.3
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling async-trait v0.1.83
[INFO] [stderr]    Compiling serde_repr v0.1.19
[INFO] [stderr]    Compiling clap_derive v4.5.18
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling tokio v1.42.0
[INFO] [stderr]    Compiling clap v4.5.21
[INFO] [stderr]    Compiling hyper v1.5.1
[INFO] [stderr]    Compiling tower v0.5.1
[INFO] [stderr]    Compiling hyper-util v0.1.10
[INFO] [stderr]    Compiling boring_rpc_common v0.1.0 (/opt/rustwide/workdir/crates/boring_rpc_common)
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_path_to_error v0.1.16
[INFO] [stderr]    Compiling boring_rpc_project v0.1.0 (/opt/rustwide/workdir/crates/boring_rpc_project)
[INFO] [stderr]    Compiling xtask v0.1.0 (/opt/rustwide/workdir/xtask)
[INFO] [stdout] warning: unexpected `cfg` condition name: `trick_rust_analyzer_into_highlighting_interpolated_bits`
[INFO] [stdout]    --> xtask/src/codegen/generate_syn.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 203 |     cmd!(sh, "rustup run stable rustfmt {path}").run().unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]     = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `cmd` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = help: the macro `cmd` may come from an old version of the `xshell` crate, try updating your dependency with `cargo update -p xshell`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `cmd` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling boring_rpc_parser v0.0.0 (/opt/rustwide/workdir/crates/boring_rpc_parser)
[INFO] [stderr]    Compiling lsp-server v0.7.8
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling lsp-types v0.97.0
[INFO] [stdout] warning: field `str` is never read
[INFO] [stdout]  --> crates/boring_rpc_parser/src/lexed_str.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct LexedStr<'a> {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 4 |     str: &'a str,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling boring_rpc_resolver v0.0.0 (/opt/rustwide/workdir/crates/boring_rpc_resolver)
[INFO] [stderr]    Compiling boring_rpc_analyzer v0.0.0 (/opt/rustwide/workdir/crates/boring_rpc_analyzer)
[INFO] [stdout] warning: unused import: `clone`
[INFO] [stdout]  --> crates/boring_rpc_analyzer/src/semantic_store.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{clone, collections::BTreeMap, rc::Rc};
[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: `module_id`
[INFO] [stdout]    --> crates/boring_rpc_analyzer/src/semantic_store.rs:231:35
[INFO] [stdout]     |
[INFO] [stdout] 231 |     fn build_type_expr(&mut self, module_id: ModuleId, ast: &nodes::TypeExpr) -> TypeExpr {
[INFO] [stdout]     |                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_module_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> crates/boring_rpc_analyzer/src/type_store.rs:119:29
[INFO] [stdout]     |
[INFO] [stdout] 119 | ...                   _ => unimplemented!(),
[INFO] [stdout]     |                       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> crates/boring_rpc_analyzer/src/type_store.rs:119:29
[INFO] [stdout]     |
[INFO] [stdout] 115 | ...                   None => Some((field.name.clone(), TypeExpr::TypeRef(TypeRef::Unknown))),
[INFO] [stdout]     |                       ---- matches some of the same values
[INFO] [stdout] 116 | ...                   Some(ref type_expr) => {
[INFO] [stdout]     |                       ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 119 | ...                   _ => unimplemented!(),
[INFO] [stdout]     |                       ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `module_id` is never read
[INFO] [stdout]   --> crates/boring_rpc_analyzer/src/semantic_store.rs:84:16
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct Module {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 84 |     pub(crate) module_id: ModuleId,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Module` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `module_nodes` is never read
[INFO] [stdout]   --> crates/boring_rpc_analyzer/src/semantic_store.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct SemanticStore {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 91 |     modules: BTreeMap<ModuleId, Rc<Module>>,
[INFO] [stdout] 92 |     module_nodes: BTreeMap<ModuleId, BTreeMap<SyntaxNodeId, SyntaxNode>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SemanticStore` 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 `types` is never read
[INFO] [stdout]   --> crates/boring_rpc_analyzer/src/type_store.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct TypeStore<V: Vfs> {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 83 |     types: BTreeMap<TypeId, Type>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeStore` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling boring_rpc_printers v0.0.0 (/opt/rustwide/workdir/crates/boring_rpc_printers)
[INFO] [stdout] warning: unused import: `parse_quote`
[INFO] [stdout]  --> crates/boring_rpc_printers/src/rust_printer.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use syn::{parse_quote, spanned::Spanned};
[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: `spanned::Spanned`
[INFO] [stdout]  --> crates/boring_rpc_printers/src/rust_printer.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use syn::{parse_quote, spanned::Spanned};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RustPrinterTarget` is never used
[INFO] [stdout]  --> crates/boring_rpc_printers/src/rust_printer/rust_printer_options.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum RustPrinterTarget {
[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 `RustPrinterOptions` is never constructed
[INFO] [stdout]  --> crates/boring_rpc_printers/src/rust_printer/rust_printer_options.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct RustPrinterOptions {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling boring_rpc_compiler v0.0.1 (/opt/rustwide/workdir/crates/boring_rpc_compiler)
[INFO] [stderr]    Compiling boring_rpc v0.0.1 (/opt/rustwide/workdir/crates/boring_rpc)
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> crates/boring_rpc/src/run.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 |     for (name, content) in result.outputs {
[INFO] [stdout]    |          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]   --> crates/boring_rpc/src/run.rs:33:16
[INFO] [stdout]    |
[INFO] [stdout] 33 |     for (name, content) in result.outputs {
[INFO] [stdout]    |                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling boring_rpc_axum v0.1.0 (/opt/rustwide/workdir/crates/boring_rpc_axum)
[INFO] [stderr]    Compiling rust-ts v0.1.0 (/opt/rustwide/workdir/examples/rust-ts/server)
[INFO] [stderr]    Compiling boring_rpc_lsp v0.1.0 (/opt/rustwide/workdir/crates/boring_rpc_lsp)
[INFO] [stdout] warning: unused import: `std`
[INFO] [stdout]  --> crates/boring_rpc_lsp/src/lsp_state.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std;
[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: `self`
[INFO] [stdout]  --> crates/boring_rpc_lsp/src/main_loop.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use lsp_types::notification::{self, DidChangeTextDocument};
[INFO] [stdout]   |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> crates/boring_rpc_lsp/src/dispatchers/request_dispatcher.rs:15:33
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn on_mut<R>(&mut self, f: fn(R::Params) -> Result<R::Result>) -> &mut Self
[INFO] [stdout]    |                                 ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dispatcher`
[INFO] [stdout]   --> crates/boring_rpc_lsp/src/main_loop.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 |                 let dispatcher = RequestDispatcher {
[INFO] [stdout]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dispatcher`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fs` is never read
[INFO] [stdout]  --> crates/boring_rpc_lsp/src/lsp_state.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(crate) struct LspState {
[INFO] [stdout]   |                   -------- field in this struct
[INFO] [stdout] 9 |     fs: LspFs,
[INFO] [stdout]   |     ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `LspState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `request` and `lsp_state` are never read
[INFO] [stdout]   --> crates/boring_rpc_lsp/src/dispatchers/request_dispatcher.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct RequestDispatcher<'a> {
[INFO] [stdout]    |                   ----------------- fields in this struct
[INFO] [stdout] 10 |     pub(crate) request: lsp_server::Request,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 11 |     pub(crate) lsp_state: &'a mut LspState,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `on_mut` is never used
[INFO] [stdout]   --> crates/boring_rpc_lsp/src/dispatchers/request_dispatcher.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl RequestDispatcher<'_> {
[INFO] [stdout]    | -------------------------- method in this implementation
[INFO] [stdout] 15 |     pub fn on_mut<R>(&mut self, f: fn(R::Params) -> Result<R::Result>) -> &mut Self
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 51.96s
[INFO] running `Command { std: "docker" "inspect" "7b6dee0f6c0721ead7d396a7ceb30355c4d3284ca290f370ee8c34f4e0e70c4f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b6dee0f6c0721ead7d396a7ceb30355c4d3284ca290f370ee8c34f4e0e70c4f", kill_on_drop: false }`
[INFO] [stdout] 7b6dee0f6c0721ead7d396a7ceb30355c4d3284ca290f370ee8c34f4e0e70c4f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 84e824a175baf65469aed086b7e83c2fbc2a7020a978952c6602397f9c4e5631
[INFO] running `Command { std: "docker" "start" "-a" "84e824a175baf65469aed086b7e83c2fbc2a7020a978952c6602397f9c4e5631", kill_on_drop: false }`
[INFO] [stderr]    Compiling dissimilar v1.0.9
[INFO] [stdout] warning: unused import: `SyntaxToken`
[INFO] [stdout]  --> crates/boring_rpc_syn/src/generated/nodes.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::syn::{AstNode, SyntaxNode, SyntaxToken};
[INFO] [stdout]   |                                       ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parent` is never read
[INFO] [stdout]    --> crates/boring_rpc_syn/src/syn.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 192 | struct SyntaxNodeInner {
[INFO] [stdout]     |        --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 196 |     parent: Weak<SyntaxNodeInner>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SyntaxNodeInner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> crates/boring_rpc_vfs/src/mem_fs.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::RefCell;
[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: `path`
[INFO] [stdout]   --> crates/boring_rpc_vfs/src/lsp_fs.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn set_file_content<P>(&mut self, path: P, change: LspFileChange)
[INFO] [stdout]    |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `change`
[INFO] [stdout]   --> crates/boring_rpc_vfs/src/lsp_fs.rs:25:52
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn set_file_content<P>(&mut self, path: P, change: LspFileChange)
[INFO] [stdout]    |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `str` is never read
[INFO] [stdout]  --> crates/boring_rpc_parser/src/lexed_str.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct LexedStr<'a> {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 4 |     str: &'a str,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clone`
[INFO] [stdout]  --> crates/boring_rpc_analyzer/src/semantic_store.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{clone, collections::BTreeMap, rc::Rc};
[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: `module_id`
[INFO] [stdout]    --> crates/boring_rpc_analyzer/src/semantic_store.rs:231:35
[INFO] [stdout]     |
[INFO] [stdout] 231 |     fn build_type_expr(&mut self, module_id: ModuleId, ast: &nodes::TypeExpr) -> TypeExpr {
[INFO] [stdout]     |                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_module_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> crates/boring_rpc_analyzer/src/type_store.rs:119:29
[INFO] [stdout]     |
[INFO] [stdout] 119 | ...                   _ => unimplemented!(),
[INFO] [stdout]     |                       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> crates/boring_rpc_analyzer/src/type_store.rs:119:29
[INFO] [stdout]     |
[INFO] [stdout] 115 | ...                   None => Some((field.name.clone(), TypeExpr::TypeRef(TypeRef::Unknown))),
[INFO] [stdout]     |                       ---- matches some of the same values
[INFO] [stdout] 116 | ...                   Some(ref type_expr) => {
[INFO] [stdout]     |                       ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 119 | ...                   _ => unimplemented!(),
[INFO] [stdout]     |                       ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `module_id` is never read
[INFO] [stdout]   --> crates/boring_rpc_analyzer/src/semantic_store.rs:84:16
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct Module {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 84 |     pub(crate) module_id: ModuleId,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Module` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `module_nodes` is never read
[INFO] [stdout]   --> crates/boring_rpc_analyzer/src/semantic_store.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct SemanticStore {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 91 |     modules: BTreeMap<ModuleId, Rc<Module>>,
[INFO] [stdout] 92 |     module_nodes: BTreeMap<ModuleId, BTreeMap<SyntaxNodeId, SyntaxNode>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SemanticStore` 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 `types` is never read
[INFO] [stdout]   --> crates/boring_rpc_analyzer/src/type_store.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct TypeStore<V: Vfs> {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 83 |     types: BTreeMap<TypeId, Type>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeStore` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parse_quote`
[INFO] [stdout]  --> crates/boring_rpc_printers/src/rust_printer.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use syn::{parse_quote, spanned::Spanned};
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling boring_rpc_syn v0.0.0 (/opt/rustwide/workdir/crates/boring_rpc_syn)
[INFO] [stdout] warning: unused import: `spanned::Spanned`
[INFO] [stdout]  --> crates/boring_rpc_printers/src/rust_printer.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use syn::{parse_quote, spanned::Spanned};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RustPrinterTarget` is never used
[INFO] [stdout]  --> crates/boring_rpc_printers/src/rust_printer/rust_printer_options.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum RustPrinterTarget {
[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 `RustPrinterOptions` is never constructed
[INFO] [stdout]  --> crates/boring_rpc_printers/src/rust_printer/rust_printer_options.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct RustPrinterOptions {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling boring_rpc_project v0.1.0 (/opt/rustwide/workdir/crates/boring_rpc_project)
[INFO] [stderr]    Compiling boring_rpc_common v0.1.0 (/opt/rustwide/workdir/crates/boring_rpc_common)
[INFO] [stderr]    Compiling boring_rpc_vfs v0.1.0 (/opt/rustwide/workdir/crates/boring_rpc_vfs)
[INFO] [stderr]    Compiling xtask v0.1.0 (/opt/rustwide/workdir/xtask)
[INFO] [stdout] warning: unused import: `std`
[INFO] [stdout]  --> crates/boring_rpc_lsp/src/lsp_state.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std;
[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: `self`
[INFO] [stdout]  --> crates/boring_rpc_lsp/src/main_loop.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use lsp_types::notification::{self, DidChangeTextDocument};
[INFO] [stdout]   |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling boring_rpc_lsp v0.1.0 (/opt/rustwide/workdir/crates/boring_rpc_lsp)
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> crates/boring_rpc_lsp/src/dispatchers/request_dispatcher.rs:15:33
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn on_mut<R>(&mut self, f: fn(R::Params) -> Result<R::Result>) -> &mut Self
[INFO] [stdout]    |                                 ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling boring_rpc_axum v0.1.0 (/opt/rustwide/workdir/crates/boring_rpc_axum)
[INFO] [stdout] warning: unused variable: `dispatcher`
[INFO] [stdout]   --> crates/boring_rpc_lsp/src/main_loop.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 |                 let dispatcher = RequestDispatcher {
[INFO] [stdout]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dispatcher`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rust-ts v0.1.0 (/opt/rustwide/workdir/examples/rust-ts/server)
[INFO] [stdout] warning: field `fs` is never read
[INFO] [stdout]  --> crates/boring_rpc_lsp/src/lsp_state.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(crate) struct LspState {
[INFO] [stdout]   |                   -------- field in this struct
[INFO] [stdout] 9 |     fs: LspFs,
[INFO] [stdout]   |     ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `LspState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `request` and `lsp_state` are never read
[INFO] [stdout]   --> crates/boring_rpc_lsp/src/dispatchers/request_dispatcher.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct RequestDispatcher<'a> {
[INFO] [stdout]    |                   ----------------- fields in this struct
[INFO] [stdout] 10 |     pub(crate) request: lsp_server::Request,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 11 |     pub(crate) lsp_state: &'a mut LspState,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `on_mut` is never used
[INFO] [stdout]   --> crates/boring_rpc_lsp/src/dispatchers/request_dispatcher.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl RequestDispatcher<'_> {
[INFO] [stdout]    | -------------------------- method in this implementation
[INFO] [stdout] 15 |     pub fn on_mut<R>(&mut self, f: fn(R::Params) -> Result<R::Result>) -> &mut Self
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SyntaxToken`
[INFO] [stdout]  --> crates/boring_rpc_syn/src/generated/nodes.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::syn::{AstNode, SyntaxNode, SyntaxToken};
[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: `std::cell::RefCell`
[INFO] [stdout]  --> crates/boring_rpc_vfs/src/mem_fs.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::RefCell;
[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: `std`
[INFO] [stdout]  --> crates/boring_rpc_lsp/src/lsp_state.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std;
[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: `self`
[INFO] [stdout]  --> crates/boring_rpc_lsp/src/main_loop.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use lsp_types::notification::{self, DidChangeTextDocument};
[INFO] [stdout]   |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> crates/boring_rpc_axum/examples/gen/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[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: `routing::any_service`
[INFO] [stdout]  --> crates/boring_rpc_axum/examples/gen/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     routing::any_service,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `trick_rust_analyzer_into_highlighting_interpolated_bits`
[INFO] [stdout]    --> xtask/src/codegen/generate_syn.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 203 |     cmd!(sh, "rustup run stable rustfmt {path}").run().unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]     = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `cmd` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = help: the macro `cmd` may come from an old version of the `xshell` crate, try updating your dependency with `cargo update -p xshell`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `cmd` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> crates/boring_rpc_lsp/src/dispatchers/request_dispatcher.rs:15:33
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn on_mut<R>(&mut self, f: fn(R::Params) -> Result<R::Result>) -> &mut Self
[INFO] [stdout]    |                                 ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dispatcher`
[INFO] [stdout]   --> crates/boring_rpc_lsp/src/main_loop.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 |                 let dispatcher = RequestDispatcher {
[INFO] [stdout]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dispatcher`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fs` is never read
[INFO] [stdout]  --> crates/boring_rpc_lsp/src/lsp_state.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(crate) struct LspState {
[INFO] [stdout]   |                   -------- field in this struct
[INFO] [stdout] 9 |     fs: LspFs,
[INFO] [stdout]   |     ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `LspState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `request` and `lsp_state` are never read
[INFO] [stdout]   --> crates/boring_rpc_lsp/src/dispatchers/request_dispatcher.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) struct RequestDispatcher<'a> {
[INFO] [stdout]    |                   ----------------- fields in this struct
[INFO] [stdout] 10 |     pub(crate) request: lsp_server::Request,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 11 |     pub(crate) lsp_state: &'a mut LspState,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `on_mut` is never used
[INFO] [stdout]   --> crates/boring_rpc_lsp/src/dispatchers/request_dispatcher.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl RequestDispatcher<'_> {
[INFO] [stdout]    | -------------------------- method in this implementation
[INFO] [stdout] 15 |     pub fn on_mut<R>(&mut self, f: fn(R::Params) -> Result<R::Result>) -> &mut Self
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> crates/boring_rpc_axum/examples/gen/main.rs:27:42
[INFO] [stdout]    |
[INFO] [stdout] 27 |             |Path(answer): Path<String>, req: gen::Method2Request| async {
[INFO] [stdout]    |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `answer`
[INFO] [stdout]   --> crates/boring_rpc_axum/examples/gen/main.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 27 |             |Path(answer): Path<String>, req: gen::Method2Request| async {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_answer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> crates/boring_rpc_axum/examples/gen/main.rs:22:42
[INFO] [stdout]    |
[INFO] [stdout] 22 |             |Path(answer): Path<String>, req: gen::Method2Request| async {
[INFO] [stdout]    |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `answer`
[INFO] [stdout]   --> crates/boring_rpc_axum/examples/gen/main.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 |             |Path(answer): Path<String>, req: gen::Method2Request| async {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_answer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> crates/boring_rpc_vfs/src/lsp_fs.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn set_file_content<P>(&mut self, path: P, change: LspFileChange)
[INFO] [stdout]    |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `change`
[INFO] [stdout]   --> crates/boring_rpc_vfs/src/lsp_fs.rs:25:52
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn set_file_content<P>(&mut self, path: P, change: LspFileChange)
[INFO] [stdout]    |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parent` is never read
[INFO] [stdout]    --> crates/boring_rpc_syn/src/syn.rs:196:5
[INFO] [stdout]     |
[INFO] [stdout] 192 | struct SyntaxNodeInner {
[INFO] [stdout]     |        --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 196 |     parent: Weak<SyntaxNodeInner>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SyntaxNodeInner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling expect-test v1.5.0
[INFO] [stderr]    Compiling boring_rpc_compiler v0.0.1 (/opt/rustwide/workdir/crates/boring_rpc_compiler)
[INFO] [stderr]    Compiling boring_rpc_analyzer v0.0.0 (/opt/rustwide/workdir/crates/boring_rpc_analyzer)
[INFO] [stderr]    Compiling boring_rpc_parser v0.0.0 (/opt/rustwide/workdir/crates/boring_rpc_parser)
[INFO] [stderr]    Compiling boring_rpc_resolver v0.0.0 (/opt/rustwide/workdir/crates/boring_rpc_resolver)
[INFO] [stderr]    Compiling boring_rpc_printers v0.0.0 (/opt/rustwide/workdir/crates/boring_rpc_printers)
[INFO] [stderr]    Compiling boring_rpc v0.0.1 (/opt/rustwide/workdir/crates/boring_rpc)
[INFO] [stdout] warning: unused import: `extract::State`
[INFO] [stdout]  --> crates/boring_rpc_compiler/examples/axum_router.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use axum::{extract::State, routing::get, Router};
[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: `Printer`
[INFO] [stdout]  --> crates/boring_rpc_compiler/src/compiler/test_compiler.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use boring_rpc_printers::{Printer, RustPrinter, TypeScriptPrinter};
[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: `Printer` and `TypeScriptPrinter`
[INFO] [stdout]  --> crates/boring_rpc_compiler/src/compiler/test_rust_axum.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use boring_rpc_printers::{Printer, RustPrinter, TypeScriptPrinter};
[INFO] [stdout]   |                           ^^^^^^^               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `S1` is never constructed
[INFO] [stdout]  --> crates/boring_rpc_compiler/examples/axum_router.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct S1 {
[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 `NotClone` is never constructed
[INFO] [stdout]  --> crates/boring_rpc_compiler/examples/axum_router.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct NotClone {}
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parse_quote`
[INFO] [stdout]  --> crates/boring_rpc_printers/src/rust_printer.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use syn::{parse_quote, spanned::Spanned};
[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: `clone`
[INFO] [stdout]  --> crates/boring_rpc_analyzer/src/semantic_store.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{clone, collections::BTreeMap, rc::Rc};
[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: `spanned::Spanned`
[INFO] [stdout]  --> crates/boring_rpc_printers/src/rust_printer.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use syn::{parse_quote, spanned::Spanned};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RustPrinterTarget` is never used
[INFO] [stdout]  --> crates/boring_rpc_printers/src/rust_printer/rust_printer_options.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum RustPrinterTarget {
[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 `RustPrinterOptions` is never constructed
[INFO] [stdout]  --> crates/boring_rpc_printers/src/rust_printer/rust_printer_options.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct RustPrinterOptions {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `module_id`
[INFO] [stdout]    --> crates/boring_rpc_analyzer/src/semantic_store.rs:231:35
[INFO] [stdout]     |
[INFO] [stdout] 231 |     fn build_type_expr(&mut self, module_id: ModuleId, ast: &nodes::TypeExpr) -> TypeExpr {
[INFO] [stdout]     |                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_module_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `str` is never read
[INFO] [stdout]  --> crates/boring_rpc_parser/src/lexed_str.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct LexedStr<'a> {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 4 |     str: &'a str,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> crates/boring_rpc/src/run.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 |     for (name, content) in result.outputs {
[INFO] [stdout]    |          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]   --> crates/boring_rpc/src/run.rs:33:16
[INFO] [stdout]    |
[INFO] [stdout] 33 |     for (name, content) in result.outputs {
[INFO] [stdout]    |                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> crates/boring_rpc_analyzer/src/type_store.rs:119:29
[INFO] [stdout]     |
[INFO] [stdout] 119 | ...                   _ => unimplemented!(),
[INFO] [stdout]     |                       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> crates/boring_rpc_analyzer/src/type_store.rs:119:29
[INFO] [stdout]     |
[INFO] [stdout] 115 | ...                   None => Some((field.name.clone(), TypeExpr::TypeRef(TypeRef::Unknown))),
[INFO] [stdout]     |                       ---- matches some of the same values
[INFO] [stdout] 116 | ...                   Some(ref type_expr) => {
[INFO] [stdout]     |                       ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 119 | ...                   _ => unimplemented!(),
[INFO] [stdout]     |                       ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `module_id` is never read
[INFO] [stdout]   --> crates/boring_rpc_analyzer/src/semantic_store.rs:84:16
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct Module {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 84 |     pub(crate) module_id: ModuleId,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Module` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `module_nodes` is never read
[INFO] [stdout]   --> crates/boring_rpc_analyzer/src/semantic_store.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct SemanticStore {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 91 |     modules: BTreeMap<ModuleId, Rc<Module>>,
[INFO] [stdout] 92 |     module_nodes: BTreeMap<ModuleId, BTreeMap<SyntaxNodeId, SyntaxNode>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SemanticStore` 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 `types` is never read
[INFO] [stdout]   --> crates/boring_rpc_analyzer/src/type_store.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct TypeStore<V: Vfs> {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 83 |     types: BTreeMap<TypeId, Type>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeStore` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.56s
[INFO] running `Command { std: "docker" "inspect" "84e824a175baf65469aed086b7e83c2fbc2a7020a978952c6602397f9c4e5631", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "84e824a175baf65469aed086b7e83c2fbc2a7020a978952c6602397f9c4e5631", kill_on_drop: false }`
[INFO] [stdout] 84e824a175baf65469aed086b7e83c2fbc2a7020a978952c6602397f9c4e5631
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] eaa7c3e583c2d82e636578d608a3f9b0c3a7ac6d2b2f900587b34bc7204892b0
[INFO] running `Command { std: "docker" "start" "-a" "eaa7c3e583c2d82e636578d608a3f9b0c3a7ac6d2b2f900587b34bc7204892b0", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `SyntaxToken`
[INFO] [stderr]  --> crates/boring_rpc_syn/src/generated/nodes.rs:2:39
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::syn::{AstNode, SyntaxNode, SyntaxToken};
[INFO] [stderr]   |                                       ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `parent` is never read
[INFO] [stderr]    --> crates/boring_rpc_syn/src/syn.rs:196:5
[INFO] [stderr]     |
[INFO] [stderr] 192 | struct SyntaxNodeInner {
[INFO] [stderr]     |        --------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 196 |     parent: Weak<SyntaxNodeInner>,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `SyntaxNodeInner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `boring_rpc_syn` (lib) generated 2 warnings (run `cargo fix --lib -p boring_rpc_syn` to apply 1 suggestion)
[INFO] [stderr] warning: field `str` is never read
[INFO] [stderr]  --> crates/boring_rpc_parser/src/lexed_str.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct LexedStr<'a> {
[INFO] [stderr]   |            -------- field in this struct
[INFO] [stderr] 4 |     str: &'a str,
[INFO] [stderr]   |     ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `boring_rpc_parser` (lib) generated 1 warning
[INFO] [stderr] warning: unused import: `std::cell::RefCell`
[INFO] [stderr]  --> crates/boring_rpc_vfs/src/mem_fs.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::cell::RefCell;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]   --> crates/boring_rpc_vfs/src/lsp_fs.rs:25:43
[INFO] [stderr]    |
[INFO] [stderr] 25 |     pub fn set_file_content<P>(&mut self, path: P, change: LspFileChange)
[INFO] [stderr]    |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `change`
[INFO] [stderr]   --> crates/boring_rpc_vfs/src/lsp_fs.rs:25:52
[INFO] [stderr]    |
[INFO] [stderr] 25 |     pub fn set_file_content<P>(&mut self, path: P, change: LspFileChange)
[INFO] [stderr]    |                                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_change`
[INFO] [stderr] 
[INFO] [stderr] warning: `boring_rpc_vfs` (lib) generated 3 warnings (run `cargo fix --lib -p boring_rpc_vfs` to apply 3 suggestions)
[INFO] [stderr] warning: unused import: `clone`
[INFO] [stderr]  --> crates/boring_rpc_analyzer/src/semantic_store.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{clone, collections::BTreeMap, rc::Rc};
[INFO] [stderr]   |           ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `module_id`
[INFO] [stderr]    --> crates/boring_rpc_analyzer/src/semantic_store.rs:231:35
[INFO] [stderr]     |
[INFO] [stderr] 231 |     fn build_type_expr(&mut self, module_id: ModuleId, ast: &nodes::TypeExpr) -> TypeExpr {
[INFO] [stderr]     |                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_module_id`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> crates/boring_rpc_analyzer/src/type_store.rs:119:29
[INFO] [stderr]     |
[INFO] [stderr] 119 | ...                   _ => unimplemented!(),
[INFO] [stderr]     |                       ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> crates/boring_rpc_analyzer/src/type_store.rs:119:29
[INFO] [stderr]     |
[INFO] [stderr] 115 | ...                   None => Some((field.name.clone(), TypeExpr::TypeRef(TypeRef::Unknown))),
[INFO] [stderr]     |                       ---- matches some of the same values
[INFO] [stderr] 116 | ...                   Some(ref type_expr) => {
[INFO] [stderr]     |                       ------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 119 | ...                   _ => unimplemented!(),
[INFO] [stderr]     |                       ^ collectively making this unreachable
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `module_id` is never read
[INFO] [stderr]   --> crates/boring_rpc_analyzer/src/semantic_store.rs:84:16
[INFO] [stderr]    |
[INFO] [stderr] 83 | pub struct Module {
[INFO] [stderr]    |            ------ field in this struct
[INFO] [stderr] 84 |     pub(crate) module_id: ModuleId,
[INFO] [stderr]    |                ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Module` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `module_nodes` is never read
[INFO] [stderr]   --> crates/boring_rpc_analyzer/src/semantic_store.rs:92:5
[INFO] [stderr]    |
[INFO] [stderr] 90 | pub struct SemanticStore {
[INFO] [stderr]    |            ------------- field in this struct
[INFO] [stderr] 91 |     modules: BTreeMap<ModuleId, Rc<Module>>,
[INFO] [stderr] 92 |     module_nodes: BTreeMap<ModuleId, BTreeMap<SyntaxNodeId, SyntaxNode>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SemanticStore` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `types` is never read
[INFO] [stderr]   --> crates/boring_rpc_analyzer/src/type_store.rs:83:5
[INFO] [stderr]    |
[INFO] [stderr] 82 | pub struct TypeStore<V: Vfs> {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] 83 |     types: BTreeMap<TypeId, Type>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TypeStore` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `boring_rpc_analyzer` (lib) generated 6 warnings (run `cargo fix --lib -p boring_rpc_analyzer` to apply 2 suggestions)
[INFO] [stderr] warning: unused import: `parse_quote`
[INFO] [stderr]  --> crates/boring_rpc_printers/src/rust_printer.rs:5:11
[INFO] [stderr]   |
[INFO] [stderr] 5 | use syn::{parse_quote, spanned::Spanned};
[INFO] [stderr]   |           ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `spanned::Spanned`
[INFO] [stderr]  --> crates/boring_rpc_printers/src/rust_printer.rs:5:24
[INFO] [stderr]   |
[INFO] [stderr] 5 | use syn::{parse_quote, spanned::Spanned};
[INFO] [stderr]   |                        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `RustPrinterTarget` is never used
[INFO] [stderr]  --> crates/boring_rpc_printers/src/rust_printer/rust_printer_options.rs:1:10
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub enum RustPrinterTarget {
[INFO] [stderr]   |          ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RustPrinterOptions` is never constructed
[INFO] [stderr]  --> crates/boring_rpc_printers/src/rust_printer/rust_printer_options.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct RustPrinterOptions {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `boring_rpc_printers` (lib) generated 4 warnings (run `cargo fix --lib -p boring_rpc_printers` to apply 1 suggestion)
[INFO] [stderr] warning: `boring_rpc_printers` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr] warning: `boring_rpc_analyzer` (lib test) generated 6 warnings (6 duplicates)
[INFO] [stderr] warning: unexpected `cfg` condition name: `trick_rust_analyzer_into_highlighting_interpolated_bits`
[INFO] [stderr]    --> xtask/src/codegen/generate_syn.rs:203:5
[INFO] [stderr]     |
[INFO] [stderr] 203 |     cmd!(sh, "rustup run stable rustfmt {path}").run().unwrap();
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stderr]     = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]     = help: try referring to `cmd` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]     = help: the macro `cmd` may come from an old version of the `xshell` crate, try updating your dependency with `cargo update -p xshell`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr]     = note: this warning originates in the macro `cmd` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `xtask` (bin "xtask" test) generated 1 warning
[INFO] [stderr] warning: `boring_rpc_parser` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr] warning: `boring_rpc_syn` (lib test) generated 2 warnings (2 duplicates)
[INFO] [stderr] warning: `boring_rpc_vfs` (lib test) generated 3 warnings (3 duplicates)
[INFO] [stderr] warning: unused import: `std`
[INFO] [stderr]  --> crates/boring_rpc_lsp/src/lsp_state.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std;
[INFO] [stderr]   |     ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self`
[INFO] [stderr]  --> crates/boring_rpc_lsp/src/main_loop.rs:3:31
[INFO] [stderr]   |
[INFO] [stderr] 3 | use lsp_types::notification::{self, DidChangeTextDocument};
[INFO] [stderr]   |                               ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `f`
[INFO] [stderr]   --> crates/boring_rpc_lsp/src/dispatchers/request_dispatcher.rs:15:33
[INFO] [stderr]    |
[INFO] [stderr] 15 |     pub fn on_mut<R>(&mut self, f: fn(R::Params) -> Result<R::Result>) -> &mut Self
[INFO] [stderr]    |                                 ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dispatcher`
[INFO] [stderr]   --> crates/boring_rpc_lsp/src/main_loop.rs:13:21
[INFO] [stderr]    |
[INFO] [stderr] 13 |                 let dispatcher = RequestDispatcher {
[INFO] [stderr]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dispatcher`
[INFO] [stderr] 
[INFO] [stderr] warning: field `fs` is never read
[INFO] [stderr]  --> crates/boring_rpc_lsp/src/lsp_state.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub(crate) struct LspState {
[INFO] [stderr]   |                   -------- field in this struct
[INFO] [stderr] 9 |     fs: LspFs,
[INFO] [stderr]   |     ^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `LspState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `request` and `lsp_state` are never read
[INFO] [stderr]   --> crates/boring_rpc_lsp/src/dispatchers/request_dispatcher.rs:10:16
[INFO] [stderr]    |
[INFO] [stderr]  9 | pub(crate) struct RequestDispatcher<'a> {
[INFO] [stderr]    |                   ----------------- fields in this struct
[INFO] [stderr] 10 |     pub(crate) request: lsp_server::Request,
[INFO] [stderr]    |                ^^^^^^^
[INFO] [stderr] 11 |     pub(crate) lsp_state: &'a mut LspState,
[INFO] [stderr]    |                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `on_mut` is never used
[INFO] [stderr]   --> crates/boring_rpc_lsp/src/dispatchers/request_dispatcher.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl RequestDispatcher<'_> {
[INFO] [stderr]    | -------------------------- method in this implementation
[INFO] [stderr] 15 |     pub fn on_mut<R>(&mut self, f: fn(R::Params) -> Result<R::Result>) -> &mut Self
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `boring_rpc_lsp` (lib) generated 7 warnings (run `cargo fix --lib -p boring_rpc_lsp` to apply 4 suggestions)
[INFO] [stderr] warning: `boring_rpc_lsp` (lib test) generated 7 warnings (7 duplicates)
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]   --> crates/boring_rpc/src/run.rs:33:10
[INFO] [stderr]    |
[INFO] [stderr] 33 |     for (name, content) in result.outputs {
[INFO] [stderr]    |          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `content`
[INFO] [stderr]   --> crates/boring_rpc/src/run.rs:33:16
[INFO] [stderr]    |
[INFO] [stderr] 33 |     for (name, content) in result.outputs {
[INFO] [stderr]    |                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Printer`
[INFO] [stderr]  --> crates/boring_rpc_compiler/src/compiler/test_compiler.rs:1:27
[INFO] [stderr]   |
[INFO] [stderr] 1 | use boring_rpc_printers::{Printer, RustPrinter, TypeScriptPrinter};
[INFO] [stderr]   |                           ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Printer` and `TypeScriptPrinter`
[INFO] [stderr]  --> crates/boring_rpc_compiler/src/compiler/test_rust_axum.rs:1:27
[INFO] [stderr]   |
[INFO] [stderr] 1 | use boring_rpc_printers::{Printer, RustPrinter, TypeScriptPrinter};
[INFO] [stderr]   |                           ^^^^^^^               ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `extract::State`
[INFO] [stderr]  --> crates/boring_rpc_compiler/examples/axum_router.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | use axum::{extract::State, routing::get, Router};
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `S1` is never constructed
[INFO] [stderr]  --> crates/boring_rpc_compiler/examples/axum_router.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | struct S1 {
[INFO] [stderr]   |        ^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `NotClone` is never constructed
[INFO] [stderr]  --> crates/boring_rpc_compiler/examples/axum_router.rs:8:8
[INFO] [stderr]   |
[INFO] [stderr] 8 | struct NotClone {}
[INFO] [stderr]   |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `boring_rpc` (bin "boring_rpc" test) generated 2 warnings (run `cargo fix --bin "boring_rpc" -p boring_rpc --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `boring_rpc_compiler` (lib test) generated 2 warnings (run `cargo fix --lib -p boring_rpc_compiler --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `boring_rpc_compiler` (example "axum_router") generated 3 warnings (run `cargo fix --example "axum_router" -p boring_rpc_compiler` to apply 1 suggestion)
[INFO] [stderr] warning: unused import: `std::fmt::format`
[INFO] [stderr]  --> crates/boring_rpc_axum/examples/gen/main.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::fmt::format;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `routing::any_service`
[INFO] [stderr]  --> crates/boring_rpc_axum/examples/gen/main.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 |     routing::any_service,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `req`
[INFO] [stderr]   --> crates/boring_rpc_axum/examples/gen/main.rs:27:42
[INFO] [stderr]    |
[INFO] [stderr] 27 |             |Path(answer): Path<String>, req: gen::Method2Request| async {
[INFO] [stderr]    |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `answer`
[INFO] [stderr]   --> crates/boring_rpc_axum/examples/gen/main.rs:27:19
[INFO] [stderr]    |
[INFO] [stderr] 27 |             |Path(answer): Path<String>, req: gen::Method2Request| async {
[INFO] [stderr]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_answer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `req`
[INFO] [stderr]   --> crates/boring_rpc_axum/examples/gen/main.rs:22:42
[INFO] [stderr]    |
[INFO] [stderr] 22 |             |Path(answer): Path<String>, req: gen::Method2Request| async {
[INFO] [stderr]    |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `answer`
[INFO] [stderr]   --> crates/boring_rpc_axum/examples/gen/main.rs:22:19
[INFO] [stderr]    |
[INFO] [stderr] 22 |             |Path(answer): Path<String>, req: gen::Method2Request| async {
[INFO] [stderr]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_answer`
[INFO] [stderr] 
[INFO] [stderr] warning: `boring_rpc_axum` (example "gen") generated 6 warnings (run `cargo fix --example "gen" -p boring_rpc_axum` to apply 6 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.45s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/boring_rpc-7aca96d4449ba601)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/boring_rpc_analyzer-c505359c878288cb)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test semantic_store::test_semantic_store::test_simple ... ok
[INFO] [stdout] test semantic_store::test_semantic_store::test_import_decl ... ok
[INFO] [stdout] test semantic_store::test_semantic_store::test_service_decl ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/type_store/main.rs (/opt/rustwide/target/debug/deps/type_store-b5a50d1509b232c8)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test test_import_decl::test_simple_import ... ok
[INFO] [stdout] test test_infer_service_decl::test_simple_method ... ok
[INFO] [stdout] test test_infer_service_decl::test_simple ... ok
[INFO] [stdout] test test_infer_type_decl::test_simple_type ... ok
[INFO] [stdout] test test_infer_type_decl::test_string_fields ... ok
[INFO] [stdout] test test_infer_service_decl::test_method_with_parameters ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/boring_rpc_axum-371ad88fb37af567)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/boring_rpc_common-cdefa1bcee5340a9)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/boring_rpc_compiler-5833194ef32edf7a)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test compiler::test_compiler::test_simple ... FAILED
[INFO] [stdout] test compiler::test_rust_axum::test_service ... FAILED
[INFO] [stdout] test compiler::test_rust_axum::test_primitive_fields ... FAILED
[INFO] [stdout] test compiler::test_rust_axum::test_simple ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- compiler::test_compiler::test_simple stdout ----
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] [1m[91merror[97m: expect test failed[0m
[INFO] [stdout]    [1m[34m-->[0m crates/boring_rpc_compiler/src/compiler/test_compiler.rs:38:9
[INFO] [stdout] 
[INFO] [stdout] You can update all `expect!` tests by running:
[INFO] [stdout] 
[INFO] [stdout]     env UPDATE_EXPECT=1 cargo test
[INFO] [stdout] 
[INFO] [stdout] To update a single test, place the cursor on `expect` token and use `run` feature of rust-analyzer.
[INFO] [stdout] 
[INFO] [stdout] [1mExpect[0m:
[INFO] [stdout] ----
[INFO] [stdout] // typescript
[INFO] [stdout] export interface A {
[INFO] [stdout]     a: string, 
[INFO] [stdout]     b: string,
[INFO] [stdout] }
[INFO] [stdout] 
[INFO] [stdout] export interface B {}
[INFO] [stdout] 
[INFO] [stdout] // rust
[INFO] [stdout] pub struct A {
[INFO] [stdout]     pub a: String, 
[INFO] [stdout]     pub b: String,
[INFO] [stdout] }
[INFO] [stdout] 
[INFO] [stdout] pub struct B {}
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ----
[INFO] [stdout] 
[INFO] [stdout] [1mActual[0m:
[INFO] [stdout] ----
[INFO] [stdout] // typescript
[INFO] [stdout] export interface A {
[INFO] [stdout]     a: string, 
[INFO] [stdout]     b: string,
[INFO] [stdout] }
[INFO] [stdout] 
[INFO] [stdout] export interface B {}
[INFO] [stdout] 
[INFO] [stdout] // rust
[INFO] [stdout] use axum::Router;
[INFO] [stdout] use boring_rpc_axum::{BoringRPC, BoringRPCHandler};
[INFO] [stdout] use serde::{Serialize, Deserialize};
[INFO] [stdout] #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout] pub struct A {
[INFO] [stdout]     pub a: String,
[INFO] [stdout]     pub b: String,
[INFO] [stdout] }
[INFO] [stdout] #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout] pub struct B {}
[INFO] [stdout] 
[INFO] [stdout] ----
[INFO] [stdout] 
[INFO] [stdout] [1mDiff[0m:
[INFO] [stdout] ----
[INFO] [stdout] // typescript
[INFO] [stdout] export interface A {
[INFO] [stdout]     a: string, 
[INFO] [stdout]     b: string,
[INFO] [stdout] }
[INFO] [stdout] 
[INFO] [stdout] export interface B {}
[INFO] [stdout] 
[INFO] [stdout] // rust
[INFO] [stdout] [4m[32muse axum::Router;
[INFO] [stdout] use boring_rpc_axum::{BoringRPC, BoringRPCHandler};
[INFO] [stdout] use serde::{Serialize, Deserialize};
[INFO] [stdout] #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout] [0mpub struct A {
[INFO] [stdout]     pub a: String,[4m[31m [0m
[INFO] [stdout]     pub b: String,
[INFO] [stdout] }
[INFO] [stdout] [4m[32m#[derive(Debug, Clone, Serialize, Deserialize)][0m
[INFO] [stdout] pub struct B {}
[INFO] [stdout] [4m[31m
[INFO] [stdout] [0m
[INFO] [stdout] ----
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ---- compiler::test_rust_axum::test_service stdout ----
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] [1m[91merror[97m: expect test failed[0m
[INFO] [stdout]    [1m[34m-->[0m crates/boring_rpc_compiler/src/compiler/test_rust_axum.rs:75:9
[INFO] [stdout] 
[INFO] [stdout] [1mExpect[0m:
[INFO] [stdout] ----
[INFO] [stdout] use axum::Router;
[INFO] [stdout] use boring_rpc_axum::{BoringRPC, BoringRPCHandler};
[INFO] [stdout] use serde::{Serialize, Deserialize};
[INFO] [stdout] #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout] pub struct ExampleMethod1Request {}
[INFO] [stdout] #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout] pub struct ExampleMethod2Request {
[INFO] [stdout]     pub a: String,
[INFO] [stdout]     pub b: f64,
[INFO] [stdout] }
[INFO] [stdout] pub struct Example<S = ()> {
[INFO] [stdout]     inner: BoringRPC<S>,
[INFO] [stdout] }
[INFO] [stdout] impl<S> Example<S>
[INFO] [stdout] where
[INFO] [stdout]     S: Clone + Send + Sync + 'static,
[INFO] [stdout] {
[INFO] [stdout]     pub fn new() -> Self {
[INFO] [stdout]         Self { inner: BoringRPC::new() }
[INFO] [stdout]     }
[INFO] [stdout]     pub fn method1<H, T>(&self, handler: H) -> Self
[INFO] [stdout]     where
[INFO] [stdout]         H: BoringRPCHandler<T, Method1Request, Method1Response, S>,
[INFO] [stdout]     {
[INFO] [stdout]         Self {
[INFO] [stdout]             inner: self.inner.handle("/method1", handler),
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout]     pub fn method2<H, T>(&self, handler: H) -> Self
[INFO] [stdout]     where
[INFO] [stdout]         H: BoringRPCHandler<T, Method1Request, Method1Response, S>,
[INFO] [stdout]     {
[INFO] [stdout]         Self {
[INFO] [stdout]             inner: self.inner.handle("/method2", handler),
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout] }
[INFO] [stdout] 
[INFO] [stdout] ----
[INFO] [stdout] 
[INFO] [stdout] [1mActual[0m:
[INFO] [stdout] ----
[INFO] [stdout] use axum::Router;
[INFO] [stdout] use boring_rpc_axum::{BoringRPC, BoringRPCHandler};
[INFO] [stdout] use serde::{Serialize, Deserialize};
[INFO] [stdout] #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout] pub struct ExampleMethod1Request {}
[INFO] [stdout] #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout] pub struct ExampleMethod2Request {
[INFO] [stdout]     pub a: String,
[INFO] [stdout]     pub b: f64,
[INFO] [stdout] }
[INFO] [stdout] pub struct Example<S = ()> {
[INFO] [stdout]     inner: BoringRPC<S>,
[INFO] [stdout] }
[INFO] [stdout] impl<S> Example<S>
[INFO] [stdout] where
[INFO] [stdout]     S: Clone + Send + Sync + 'static,
[INFO] [stdout] {
[INFO] [stdout]     pub fn new() -> Self {
[INFO] [stdout]         Self { inner: BoringRPC::new() }
[INFO] [stdout]     }
[INFO] [stdout]     pub fn method1<H, T>(self, handler: H) -> Self
[INFO] [stdout]     where
[INFO] [stdout]         H: BoringRPCHandler<T, ExampleMethod1Request, String, S>,
[INFO] [stdout]     {
[INFO] [stdout]         Self {
[INFO] [stdout]             inner: self.inner.handle("/method1", handler),
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout]     pub fn method2<H, T>(self, handler: H) -> Self
[INFO] [stdout]     where
[INFO] [stdout]         H: BoringRPCHandler<T, ExampleMethod2Request, String, S>,
[INFO] [stdout]     {
[INFO] [stdout]         Self {
[INFO] [stdout]             inner: self.inner.handle("/method2", handler),
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout] }
[INFO] [stdout] impl<S> Into<Router<S>> for Example<S>
[INFO] [stdout] where
[INFO] [stdout]     S: Clone + Send + Sync + 'static,
[INFO] [stdout] {
[INFO] [stdout]     fn into(self) -> Router<S> {
[INFO] [stdout]         self.inner.into_router()
[INFO] [stdout]     }
[INFO] [stdout] }
[INFO] [stdout] 
[INFO] [stdout] ----
[INFO] [stdout] 
[INFO] [stdout] [1mDiff[0m:
[INFO] [stdout] ----
[INFO] [stdout] use axum::Router;
[INFO] [stdout] use boring_rpc_axum::{BoringRPC, BoringRPCHandler};
[INFO] [stdout] use serde::{Serialize, Deserialize};
[INFO] [stdout] #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout] pub struct ExampleMethod1Request {}
[INFO] [stdout] #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout] pub struct ExampleMethod2Request {
[INFO] [stdout]     pub a: String,
[INFO] [stdout]     pub b: f64,
[INFO] [stdout] }
[INFO] [stdout] pub struct Example<S = ()> {
[INFO] [stdout]     inner: BoringRPC<S>,
[INFO] [stdout] }
[INFO] [stdout] impl<S> Example<S>
[INFO] [stdout] where
[INFO] [stdout]     S: Clone + Send + Sync + 'static,
[INFO] [stdout] {
[INFO] [stdout]     pub fn new() -> Self {
[INFO] [stdout]         Self { inner: BoringRPC::new() }
[INFO] [stdout]     }
[INFO] [stdout]     pub fn method1<H, T>([4m[31m&[0mself, handler: H) -> Self
[INFO] [stdout]     where
[INFO] [stdout]         H: BoringRPCHandler<T, [4m[32mExample[0mMethod1Request, [4m[31mMethod1Response[0m[4m[32mString[0m, S>,
[INFO] [stdout]     {
[INFO] [stdout]         Self {
[INFO] [stdout]             inner: self.inner.handle("/method1", handler),
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout]     pub fn method2<H, T>([4m[31m&[0mself, handler: H) -> Self
[INFO] [stdout]     where
[INFO] [stdout]         H: BoringRPCHandler<T, [4m[32mExample[0mMethod[4m[31m1[0m[4m[32m2[0mRequest, [4m[31mMethod1Response[0m[4m[32mString[0m, S>,
[INFO] [stdout]     {
[INFO] [stdout]         Self {
[INFO] [stdout]             inner: self.inner.handle("/method2", handler),
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout] }
[INFO] [stdout] [4m[32mimpl<S> Into<Router<S>> for Example<S>
[INFO] [stdout] where
[INFO] [stdout]     S: Clone + Send + Sync + 'static,
[INFO] [stdout] {
[INFO] [stdout]     fn into(self) -> Router<S> {
[INFO] [stdout]         self.inner.into_router()
[INFO] [stdout]     }
[INFO] [stdout] }
[INFO] [stdout] [0m
[INFO] [stdout] ----
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ---- compiler::test_rust_axum::test_primitive_fields stdout ----
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] [1m[91merror[97m: expect test failed[0m
[INFO] [stdout]    [1m[34m-->[0m crates/boring_rpc_compiler/src/compiler/test_rust_axum.rs:51:9
[INFO] [stdout] 
[INFO] [stdout] [1mExpect[0m:
[INFO] [stdout] ----
[INFO] [stdout] use serde::{Serialize, Deserialize};
[INFO] [stdout] #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout] pub struct A {
[INFO] [stdout]     pub field_number: f64,
[INFO] [stdout]     pub field_string: String,
[INFO] [stdout] }
[INFO] [stdout] #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout] pub struct B {
[INFO] [stdout]     pub a: A,
[INFO] [stdout] }
[INFO] [stdout] 
[INFO] [stdout] ----
[INFO] [stdout] 
[INFO] [stdout] [1mActual[0m:
[INFO] [stdout] ----
[INFO] [stdout] use axum::Router;
[INFO] [stdout] use boring_rpc_axum::{BoringRPC, BoringRPCHandler};
[INFO] [stdout] use serde::{Serialize, Deserialize};
[INFO] [stdout] #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout] pub struct A {
[INFO] [stdout]     pub field_number: f64,
[INFO] [stdout]     pub field_string: String,
[INFO] [stdout] }
[INFO] [stdout] #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout] pub struct B {
[INFO] [stdout]     pub a: A,
[INFO] [stdout] }
[INFO] [stdout] 
[INFO] [stdout] ----
[INFO] [stdout] 
[INFO] [stdout] [1mDiff[0m:
[INFO] [stdout] ----
[INFO] [stdout] [4m[32muse axum::Router;
[INFO] [stdout] use boring_rpc_axum::{BoringRPC, BoringRPCHandler};
[INFO] [stdout] [0muse serde::{Serialize, Deserialize};
[INFO] [stdout] #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout] pub struct A {
[INFO] [stdout]     pub field_number: f64,
[INFO] [stdout]     pub field_string: String,
[INFO] [stdout] }
[INFO] [stdout] #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout] pub struct B {
[INFO] [stdout]     pub a: A,
[INFO] [stdout] }
[INFO] [stdout] 
[INFO] [stdout] ----
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ---- compiler::test_rust_axum::test_simple stdout ----
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] [1m[91merror[97m: expect test failed[0m
[INFO] [stdout]    [1m[34m-->[0m crates/boring_rpc_compiler/src/compiler/test_rust_axum.rs:30:9
[INFO] [stdout] 
[INFO] [stdout] [1mExpect[0m:
[INFO] [stdout] ----
[INFO] [stdout] use serde::{Serialize, Deserialize};
[INFO] [stdout] #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout] pub struct A {}
[INFO] [stdout] 
[INFO] [stdout] ----
[INFO] [stdout] 
[INFO] [stdout] [1mActual[0m:
[INFO] [stdout] ----
[INFO] [stdout] use axum::Router;
[INFO] [stdout] use boring_rpc_axum::{BoringRPC, BoringRPCHandler};
[INFO] [stdout] use serde::{Serialize, Deserialize};
[INFO] [stdout] #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout] pub struct A {}
[INFO] [stdout] 
[INFO] [stdout] ----
[INFO] [stdout] 
[INFO] [stdout] [1mDiff[0m:
[INFO] [stdout] ----
[INFO] [stdout] [4m[32muse axum::Router;
[INFO] [stdout] use boring_rpc_axum::{BoringRPC, BoringRPCHandler};
[INFO] [stdout] [0muse serde::{Serialize, Deserialize};
[INFO] [stdout] #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout] pub struct A {}
[INFO] [stdout] 
[INFO] [stdout] ----
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     compiler::test_compiler::test_simple
[INFO] [stdout]     compiler::test_rust_axum::test_primitive_fields
[INFO] [stdout]     compiler::test_rust_axum::test_service
[INFO] [stdout]     compiler::test_rust_axum::test_simple
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p boring_rpc_compiler --lib`
[INFO] running `Command { std: "docker" "inspect" "eaa7c3e583c2d82e636578d608a3f9b0c3a7ac6d2b2f900587b34bc7204892b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eaa7c3e583c2d82e636578d608a3f9b0c3a7ac6d2b2f900587b34bc7204892b0", kill_on_drop: false }`
[INFO] [stdout] eaa7c3e583c2d82e636578d608a3f9b0c3a7ac6d2b2f900587b34bc7204892b0
