[INFO] cloning repository https://github.com/mahmoudyusof/dod_parsre_lsp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mahmoudyusof/dod_parsre_lsp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmahmoudyusof%2Fdod_parsre_lsp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmahmoudyusof%2Fdod_parsre_lsp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0e3831edd36365790fce8ec253b2dd10ee787fe8
[INFO] checking mahmoudyusof/dod_parsre_lsp against try#22cc29ba5b459fb386c0406b9baf3a49eb0fba39 for pr-146095
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmahmoudyusof%2Fdod_parsre_lsp" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mahmoudyusof/dod_parsre_lsp
[INFO] finished tweaking git repo https://github.com/mahmoudyusof/dod_parsre_lsp
[INFO] tweaked toml for git repo https://github.com/mahmoudyusof/dod_parsre_lsp written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mahmoudyusof/dod_parsre_lsp on toolchain 22cc29ba5b459fb386c0406b9baf3a49eb0fba39
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+22cc29ba5b459fb386c0406b9baf3a49eb0fba39" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mahmoudyusof/dod_parsre_lsp 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" "+22cc29ba5b459fb386c0406b9baf3a49eb0fba39" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking mahmoudyusof/dod_parsre_lsp against try#22cc29ba5b459fb386c0406b9baf3a49eb0fba39 for pr-146095
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmahmoudyusof%2Fdod_parsre_lsp" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mahmoudyusof/dod_parsre_lsp
[INFO] finished tweaking git repo https://github.com/mahmoudyusof/dod_parsre_lsp
[INFO] tweaked toml for git repo https://github.com/mahmoudyusof/dod_parsre_lsp written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mahmoudyusof/dod_parsre_lsp on toolchain 22cc29ba5b459fb386c0406b9baf3a49eb0fba39
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+22cc29ba5b459fb386c0406b9baf3a49eb0fba39" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mahmoudyusof/dod_parsre_lsp 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" "+22cc29ba5b459fb386c0406b9baf3a49eb0fba39" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_derive v1.0.203
[INFO] [stderr]   Downloaded itoa v1.0.11
[INFO] [stderr]   Downloaded ryu v1.0.18
[INFO] [stderr]   Downloaded proc-macro2 v1.0.85
[INFO] [stderr]   Downloaded serde v1.0.203
[INFO] [stderr]   Downloaded syn v2.0.66
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+22cc29ba5b459fb386c0406b9baf3a49eb0fba39" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ad0e1f8b893bc42aa3f916bd8d90313a3a3d70b681000a9639184a2902a8f930
[INFO] running `Command { std: "docker" "start" "-a" "ad0e1f8b893bc42aa3f916bd8d90313a3a3d70b681000a9639184a2902a8f930", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ad0e1f8b893bc42aa3f916bd8d90313a3a3d70b681000a9639184a2902a8f930", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ad0e1f8b893bc42aa3f916bd8d90313a3a3d70b681000a9639184a2902a8f930", kill_on_drop: false }`
[INFO] [stdout] ad0e1f8b893bc42aa3f916bd8d90313a3a3d70b681000a9639184a2902a8f930
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+22cc29ba5b459fb386c0406b9baf3a49eb0fba39" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ccbbc6eccd4abc7388295ee4ba3ef6fa93f209e6d2ea1a10dff56218555bfb5e
[INFO] running `Command { std: "docker" "start" "-a" "ccbbc6eccd4abc7388295ee4ba3ef6fa93f209e6d2ea1a10dff56218555bfb5e", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.85
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]     Checking compiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `core::panic`
[INFO] [stdout]  --> src/tokenizer.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic;
[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: `BufReader`, `Write`, and `fs::File`
[INFO] [stdout]  --> src/tokenizer.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fs::File,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 5 |     io::{BufReader, Read, Write},
[INFO] [stdout]   |          ^^^^^^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic`
[INFO] [stdout]  --> src/tokenizer.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic;
[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: `BufReader`, `Write`, and `fs::File`
[INFO] [stdout]  --> src/tokenizer.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fs::File,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 5 |     io::{BufReader, Read, Write},
[INFO] [stdout]   |          ^^^^^^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/tokenizer.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 |     io::{BufReader, Read, Write},
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/tokenizer.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 |     io::{BufReader, Read, Write},
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InitializationRequest` is never constructed
[INFO] [stdout]  --> src/types/initialization.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct InitializationRequest {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:30:43
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn new(tokens: &'a Vec<Token>) -> Parser {
[INFO] [stdout]    |                         --                ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn new(tokens: &'a Vec<Token>) -> Parser<'a> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `codeText` should have a snake case name
[INFO] [stdout]    --> src/tokenizer.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let codeText = code.bytes().peekable();
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `code_text`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `serverInfo` should have a snake case name
[INFO] [stdout]   --> src/lsp.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub serverInfo: ServerInfo
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `server_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `textDocumentSync` should have a snake case name
[INFO] [stdout]   --> src/lsp.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub textDocumentSync: u8
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `text_document_sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `textDocument` should have a snake case name
[INFO] [stdout]   --> src/lsp.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub textDocument: TextDocumentItem
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `text_document`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `languageId` should have a snake case name
[INFO] [stdout]   --> src/lsp.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub languageId: String,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `language_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `serverInfo` should have a snake case name
[INFO] [stdout]   --> src/types/initialization.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub serverInfo: ServerInfo
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `server_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `textDocumentSync` should have a snake case name
[INFO] [stdout]   --> src/types/initialization.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub textDocumentSync: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `text_document_sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `documentHighlightProvider` should have a snake case name
[INFO] [stdout]   --> src/types/initialization.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub documentHighlightProvider: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `document_highlight_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `colorProvider` should have a snake case name
[INFO] [stdout]   --> src/types/initialization.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub colorProvider: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `color_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `interFileDependencies` should have a snake case name
[INFO] [stdout]   --> src/types/initialization.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub interFileDependencies: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `inter_file_dependencies`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `workspaceDiagnostics` should have a snake case name
[INFO] [stdout]   --> src/types/initialization.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub workspaceDiagnostics: bool
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `workspace_diagnostics`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `textDocument` should have a snake case name
[INFO] [stdout]   --> src/types/did_open.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub textDocument: TextDocumentItem
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `text_document`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `languageId` should have a snake case name
[INFO] [stdout]   --> src/types/did_open.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub languageId: String,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `language_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `textDocument` should have a snake case name
[INFO] [stdout]   --> src/types/did_change.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub textDocument: VersionedTextDocumentIdentifier,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `text_document`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `contentChanges` should have a snake case name
[INFO] [stdout]   --> src/types/did_change.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub contentChanges: Vec<ContentChangeEvent>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `content_changes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `textDocument` should have a snake case name
[INFO] [stdout]   --> src/types/did_save.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub textDocument: VersionedTextDocumentIdentifier,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `text_document`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InitializationRequest` is never constructed
[INFO] [stdout]  --> src/types/initialization.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct InitializationRequest {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:30:43
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn new(tokens: &'a Vec<Token>) -> Parser {
[INFO] [stdout]    |                         --                ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn new(tokens: &'a Vec<Token>) -> Parser<'a> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `codeText` should have a snake case name
[INFO] [stdout]    --> src/tokenizer.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let codeText = code.bytes().peekable();
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `code_text`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `serverInfo` should have a snake case name
[INFO] [stdout]   --> src/lsp.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub serverInfo: ServerInfo
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `server_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `textDocumentSync` should have a snake case name
[INFO] [stdout]   --> src/lsp.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub textDocumentSync: u8
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `text_document_sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `textDocument` should have a snake case name
[INFO] [stdout]   --> src/lsp.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub textDocument: TextDocumentItem
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `text_document`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `languageId` should have a snake case name
[INFO] [stdout]   --> src/lsp.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub languageId: String,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `language_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `serverInfo` should have a snake case name
[INFO] [stdout]   --> src/types/initialization.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub serverInfo: ServerInfo
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `server_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `textDocumentSync` should have a snake case name
[INFO] [stdout]   --> src/types/initialization.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub textDocumentSync: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `text_document_sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `documentHighlightProvider` should have a snake case name
[INFO] [stdout]   --> src/types/initialization.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub documentHighlightProvider: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `document_highlight_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `colorProvider` should have a snake case name
[INFO] [stdout]   --> src/types/initialization.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub colorProvider: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `color_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `interFileDependencies` should have a snake case name
[INFO] [stdout]   --> src/types/initialization.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub interFileDependencies: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `inter_file_dependencies`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `workspaceDiagnostics` should have a snake case name
[INFO] [stdout]   --> src/types/initialization.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub workspaceDiagnostics: bool
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `workspace_diagnostics`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `textDocument` should have a snake case name
[INFO] [stdout]   --> src/types/did_open.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub textDocument: TextDocumentItem
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `text_document`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `languageId` should have a snake case name
[INFO] [stdout]   --> src/types/did_open.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub languageId: String,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `language_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `textDocument` should have a snake case name
[INFO] [stdout]   --> src/types/did_change.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub textDocument: VersionedTextDocumentIdentifier,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `text_document`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `contentChanges` should have a snake case name
[INFO] [stdout]   --> src/types/did_change.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub contentChanges: Vec<ContentChangeEvent>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `content_changes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `textDocument` should have a snake case name
[INFO] [stdout]   --> src/types/did_save.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub textDocument: VersionedTextDocumentIdentifier,
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `text_document`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate_expr_recursive` is never used
[INFO] [stdout]    --> src/main.rs:156:4
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn evaluate_expr_recursive(expr: &Expr, mut env: &mut HashMap<String, f32>) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_expr_recursive` is never used
[INFO] [stdout]    --> src/main.rs:200:4
[INFO] [stdout]     |
[INFO] [stdout] 200 | fn print_expr_recursive(expr: &Expr, level: i32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_stmt` is never used
[INFO] [stdout]    --> src/main.rs:236:4
[INFO] [stdout]     |
[INFO] [stdout] 236 | fn print_stmt(stmt: &Stmt, level: i32) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate_expr_recursive` is never used
[INFO] [stdout]    --> src/main.rs:156:4
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn evaluate_expr_recursive(expr: &Expr, mut env: &mut HashMap<String, f32>) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_expr_recursive` is never used
[INFO] [stdout]    --> src/main.rs:200:4
[INFO] [stdout]     |
[INFO] [stdout] 200 | fn print_expr_recursive(expr: &Expr, level: i32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_stmt` is never used
[INFO] [stdout]    --> src/main.rs:236:4
[INFO] [stdout]     |
[INFO] [stdout] 236 | fn print_stmt(stmt: &Stmt, level: i32) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.79s
[INFO] running `Command { std: "docker" "inspect" "ccbbc6eccd4abc7388295ee4ba3ef6fa93f209e6d2ea1a10dff56218555bfb5e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ccbbc6eccd4abc7388295ee4ba3ef6fa93f209e6d2ea1a10dff56218555bfb5e", kill_on_drop: false }`
[INFO] [stdout] ccbbc6eccd4abc7388295ee4ba3ef6fa93f209e6d2ea1a10dff56218555bfb5e
