[INFO] cloning repository https://github.com/riffifi/ject
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/riffifi/ject" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Friffifi%2Fject", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Friffifi%2Fject'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1ce0a3be0e83bf300b3fd6612dc47b3dc74f6c1e
[INFO] testing riffifi/ject against 1.90.0 for beta-1.91-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Friffifi%2Fject" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/riffifi/ject
[INFO] finished tweaking git repo https://github.com/riffifi/ject
[INFO] tweaked toml for git repo https://github.com/riffifi/ject written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/riffifi/ject on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/riffifi/ject 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" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded clap v4.5.42
[INFO] [stderr]   Downloaded clap_builder v4.5.42
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8173d13447b4d7a63ce88fe18fe73d1b8ecefa4cd3a91d36ea78ffc0ea3857a4
[INFO] running `Command { std: "docker" "start" "-a" "8173d13447b4d7a63ce88fe18fe73d1b8ecefa4cd3a91d36ea78ffc0ea3857a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8173d13447b4d7a63ce88fe18fe73d1b8ecefa4cd3a91d36ea78ffc0ea3857a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8173d13447b4d7a63ce88fe18fe73d1b8ecefa4cd3a91d36ea78ffc0ea3857a4", kill_on_drop: false }`
[INFO] [stdout] 8173d13447b4d7a63ce88fe18fe73d1b8ecefa4cd3a91d36ea78ffc0ea3857a4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 99bdf12fd87db3cfc4c1119b48f8c77d77d8026a57cfa983e3c015e49bd01482
[INFO] running `Command { std: "docker" "start" "-a" "99bdf12fd87db3cfc4c1119b48f8c77d77d8026a57cfa983e3c015e49bd01482", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling nibble_vec v0.1.0
[INFO] [stderr]    Compiling endian-type v0.1.2
[INFO] [stderr]    Compiling serde_json v1.0.142
[INFO] [stderr]    Compiling home v0.5.11
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling clap_builder v4.5.42
[INFO] [stderr]    Compiling radix_trie v0.2.1
[INFO] [stderr]    Compiling fd-lock v3.0.13
[INFO] [stderr]    Compiling nix v0.26.4
[INFO] [stderr]    Compiling rustyline v12.0.0
[INFO] [stderr]    Compiling clap_derive v4.5.41
[INFO] [stderr]    Compiling clap v4.5.42
[INFO] [stderr]    Compiling ject v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/value.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]    --> src/value.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         use std::cmp::Ordering;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/parser.rs:707:42
[INFO] [stdout]     |
[INFO] [stdout] 707 |                 if let Token::Identifier(name) = &self.peek() {
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/value.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]    --> src/value.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         use std::cmp::Ordering;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/parser.rs:707:42
[INFO] [stdout]     |
[INFO] [stdout] 707 |                 if let Token::Identifier(name) = &self.peek() {
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Bool` and `DoubleArrow` are never constructed
[INFO] [stdout]    --> src/lexer.rs:41:5
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub enum Token {
[INFO] [stdout]     |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  41 |     Bool(bool),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     DoubleArrow,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `tokenize` is never used
[INFO] [stdout]    --> src/lexer.rs:555:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl Lexer {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 555 |     pub fn tokenize(&mut self) -> Vec<Token> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ConditionalExpr` is never constructed
[INFO] [stdout]   --> src/ast.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub enum Expr {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 49 |     ConditionalExpr {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ErrorReport` is never constructed
[INFO] [stdout]  --> src/error.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ErrorReport {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_source`, and `format_error` are never used
[INFO] [stdout]   --> src/error.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ErrorReport {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(message: String, position: SourcePosition) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn with_source(mut self, file: String, source: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn format_error(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParseError` is never constructed
[INFO] [stdout]   --> src/error.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct ParseError {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_source` are never used
[INFO] [stdout]   --> src/error.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl ParseError {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 78 |     pub fn new(message: String, position: SourcePosition) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn with_source(mut self, file: String, source: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RuntimeError` is never constructed
[INFO] [stdout]   --> src/error.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct RuntimeError {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_source` are never used
[INFO] [stdout]    --> src/error.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl RuntimeError {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 104 |     pub fn new(message: String, position: SourcePosition) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn with_source(mut self, file: String, source: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LexError` is never constructed
[INFO] [stdout]    --> src/error.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct LexError {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_source` are never used
[INFO] [stdout]    --> src/error.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 129 | impl LexError {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 130 |     pub fn new(message: String, position: SourcePosition) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn with_source(mut self, file: String, source: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `declared_in_scope` is never read
[INFO] [stdout]  --> src/linter.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Variable {
[INFO] [stdout]   |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     declared_in_scope: usize,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Variable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/linter.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct FunctionSignature {
[INFO] [stdout]    |        ----------------- field in this struct
[INFO] [stdout] 14 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FunctionSignature` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ScopeKind` is never used
[INFO] [stdout]   --> src/linter.rs:45:6
[INFO] [stdout]    |
[INFO] [stdout] 45 | enum ScopeKind {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_variable` is never used
[INFO] [stdout]    --> src/linter.rs:390:8
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Linter {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 390 |     fn find_variable(&self, name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Note` and `Help` are never constructed
[INFO] [stdout]  --> src/diagnostic.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum DiagnosticLevel {
[INFO] [stdout]   |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 7 |     Note,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 8 |     Help,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `DiagnosticLevel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_source_line`, `with_filename`, and `with_help` are never used
[INFO] [stdout]   --> src/diagnostic.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Diagnostic {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn with_source_line(mut self, source_line: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn with_filename(mut self, filename: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn with_help(mut self, help: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `render_summary` is never used
[INFO] [stdout]    --> src/diagnostic.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout]  79 | impl DiagnosticRenderer {
[INFO] [stdout]     | ----------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn render_summary(errors: usize, warnings: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_lint_message` is never used
[INFO] [stdout]    --> src/diagnostic.rs:198:8
[INFO] [stdout]     |
[INFO] [stdout] 198 | pub fn parse_lint_message(message: &str) -> Diagnostic {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.55s
[INFO] running `Command { std: "docker" "inspect" "99bdf12fd87db3cfc4c1119b48f8c77d77d8026a57cfa983e3c015e49bd01482", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "99bdf12fd87db3cfc4c1119b48f8c77d77d8026a57cfa983e3c015e49bd01482", kill_on_drop: false }`
[INFO] [stdout] 99bdf12fd87db3cfc4c1119b48f8c77d77d8026a57cfa983e3c015e49bd01482
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 27bfed18f3f184a6e3b920ed5b858fa9956cccb2492a4dca59a8fa37764e4bcb
[INFO] running `Command { std: "docker" "start" "-a" "27bfed18f3f184a6e3b920ed5b858fa9956cccb2492a4dca59a8fa37764e4bcb", kill_on_drop: false }`
[INFO] [stderr]    Compiling ject v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/value.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]    --> src/value.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         use std::cmp::Ordering;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/parser.rs:707:42
[INFO] [stdout]     |
[INFO] [stdout] 707 |                 if let Token::Identifier(name) = &self.peek() {
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/value.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]    --> src/value.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         use std::cmp::Ordering;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/value.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]    --> src/value.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         use std::cmp::Ordering;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/parser.rs:707:42
[INFO] [stdout]     |
[INFO] [stdout] 707 |                 if let Token::Identifier(name) = &self.peek() {
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/parser.rs:707:42
[INFO] [stdout]     |
[INFO] [stdout] 707 |                 if let Token::Identifier(name) = &self.peek() {
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Bool` and `DoubleArrow` are never constructed
[INFO] [stdout]    --> src/lexer.rs:41:5
[INFO] [stdout]     |
[INFO] [stdout]  35 | pub enum Token {
[INFO] [stdout]     |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  41 |     Bool(bool),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     DoubleArrow,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `tokenize` is never used
[INFO] [stdout]    --> src/lexer.rs:555:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl Lexer {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 555 |     pub fn tokenize(&mut self) -> Vec<Token> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ConditionalExpr` is never constructed
[INFO] [stdout]   --> src/ast.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub enum Expr {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 49 |     ConditionalExpr {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ErrorReport` is never constructed
[INFO] [stdout]  --> src/error.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ErrorReport {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_source`, and `format_error` are never used
[INFO] [stdout]   --> src/error.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ErrorReport {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(message: String, position: SourcePosition) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn with_source(mut self, file: String, source: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn format_error(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParseError` is never constructed
[INFO] [stdout]   --> src/error.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct ParseError {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_source` are never used
[INFO] [stdout]   --> src/error.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl ParseError {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 78 |     pub fn new(message: String, position: SourcePosition) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn with_source(mut self, file: String, source: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RuntimeError` is never constructed
[INFO] [stdout]   --> src/error.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct RuntimeError {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_source` are never used
[INFO] [stdout]    --> src/error.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl RuntimeError {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 104 |     pub fn new(message: String, position: SourcePosition) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn with_source(mut self, file: String, source: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LexError` is never constructed
[INFO] [stdout]    --> src/error.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct LexError {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_source` are never used
[INFO] [stdout]    --> src/error.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 129 | impl LexError {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 130 |     pub fn new(message: String, position: SourcePosition) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn with_source(mut self, file: String, source: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `declared_in_scope` is never read
[INFO] [stdout]  --> src/linter.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Variable {
[INFO] [stdout]   |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     declared_in_scope: usize,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Variable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/linter.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct FunctionSignature {
[INFO] [stdout]    |        ----------------- field in this struct
[INFO] [stdout] 14 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FunctionSignature` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ScopeKind` is never used
[INFO] [stdout]   --> src/linter.rs:45:6
[INFO] [stdout]    |
[INFO] [stdout] 45 | enum ScopeKind {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_variable` is never used
[INFO] [stdout]    --> src/linter.rs:390:8
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl Linter {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 390 |     fn find_variable(&self, name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Note` and `Help` are never constructed
[INFO] [stdout]  --> src/diagnostic.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum DiagnosticLevel {
[INFO] [stdout]   |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 7 |     Note,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 8 |     Help,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `DiagnosticLevel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_source_line`, `with_filename`, and `with_help` are never used
[INFO] [stdout]   --> src/diagnostic.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Diagnostic {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn with_source_line(mut self, source_line: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn with_filename(mut self, filename: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn with_help(mut self, help: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `render_summary` is never used
[INFO] [stdout]    --> src/diagnostic.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout]  79 | impl DiagnosticRenderer {
[INFO] [stdout]     | ----------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn render_summary(errors: usize, warnings: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_lint_message` is never used
[INFO] [stdout]    --> src/diagnostic.rs:198:8
[INFO] [stdout]     |
[INFO] [stdout] 198 | pub fn parse_lint_message(message: &str) -> Diagnostic {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.49s
[INFO] running `Command { std: "docker" "inspect" "27bfed18f3f184a6e3b920ed5b858fa9956cccb2492a4dca59a8fa37764e4bcb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "27bfed18f3f184a6e3b920ed5b858fa9956cccb2492a4dca59a8fa37764e4bcb", kill_on_drop: false }`
[INFO] [stdout] 27bfed18f3f184a6e3b920ed5b858fa9956cccb2492a4dca59a8fa37764e4bcb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d98eb10b8580aba442fe1929ac46d052d485ecd8bad98b53e87f7b048eacda51
[INFO] running `Command { std: "docker" "start" "-a" "d98eb10b8580aba442fe1929ac46d052d485ecd8bad98b53e87f7b048eacda51", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `HashSet`
[INFO] [stderr]  --> src/value.rs:1:33
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                                 ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Ordering`
[INFO] [stderr]    --> src/value.rs:105:13
[INFO] [stderr]     |
[INFO] [stderr] 105 |         use std::cmp::Ordering;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> src/parser.rs:707:42
[INFO] [stderr]     |
[INFO] [stderr] 707 |                 if let Token::Identifier(name) = &self.peek() {
[INFO] [stderr]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `ject` (lib) generated 3 warnings (run `cargo fix --lib -p ject` to apply 2 suggestions)
[INFO] [stderr] warning: variants `Bool` and `DoubleArrow` are never constructed
[INFO] [stderr]    --> src/lexer.rs:41:5
[INFO] [stderr]     |
[INFO] [stderr]  35 | pub enum Token {
[INFO] [stderr]     |          ----- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr]  41 |     Bool(bool),
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 100 |     DoubleArrow,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `tokenize` is never used
[INFO] [stderr]    --> src/lexer.rs:555:12
[INFO] [stderr]     |
[INFO] [stderr] 128 | impl Lexer {
[INFO] [stderr]     | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 555 |     pub fn tokenize(&mut self) -> Vec<Token> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `ConditionalExpr` is never constructed
[INFO] [stderr]   --> src/ast.rs:49:5
[INFO] [stderr]    |
[INFO] [stderr]  5 | pub enum Expr {
[INFO] [stderr]    |          ---- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 49 |     ConditionalExpr {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ErrorReport` is never constructed
[INFO] [stderr]  --> src/error.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct ErrorReport {
[INFO] [stderr]   |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `with_source`, and `format_error` are never used
[INFO] [stderr]   --> src/error.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl ErrorReport {
[INFO] [stderr]    | ---------------- associated items in this implementation
[INFO] [stderr] 13 |     pub fn new(message: String, position: SourcePosition) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 22 |     pub fn with_source(mut self, file: String, source: &str) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 34 |     pub fn format_error(&self) -> String {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ParseError` is never constructed
[INFO] [stderr]   --> src/error.rs:73:12
[INFO] [stderr]    |
[INFO] [stderr] 73 | pub struct ParseError {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `with_source` are never used
[INFO] [stderr]   --> src/error.rs:78:12
[INFO] [stderr]    |
[INFO] [stderr] 77 | impl ParseError {
[INFO] [stderr]    | --------------- associated items in this implementation
[INFO] [stderr] 78 |     pub fn new(message: String, position: SourcePosition) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 84 |     pub fn with_source(mut self, file: String, source: &str) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RuntimeError` is never constructed
[INFO] [stderr]   --> src/error.rs:99:12
[INFO] [stderr]    |
[INFO] [stderr] 99 | pub struct RuntimeError {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `with_source` are never used
[INFO] [stderr]    --> src/error.rs:104:12
[INFO] [stderr]     |
[INFO] [stderr] 103 | impl RuntimeError {
[INFO] [stderr]     | ----------------- associated items in this implementation
[INFO] [stderr] 104 |     pub fn new(message: String, position: SourcePosition) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 110 |     pub fn with_source(mut self, file: String, source: &str) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LexError` is never constructed
[INFO] [stderr]    --> src/error.rs:125:12
[INFO] [stderr]     |
[INFO] [stderr] 125 | pub struct LexError {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `with_source` are never used
[INFO] [stderr]    --> src/error.rs:130:12
[INFO] [stderr]     |
[INFO] [stderr] 129 | impl LexError {
[INFO] [stderr]     | ------------- associated items in this implementation
[INFO] [stderr] 130 |     pub fn new(message: String, position: SourcePosition) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 136 |     pub fn with_source(mut self, file: String, source: &str) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `declared_in_scope` is never read
[INFO] [stderr]  --> src/linter.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | struct Variable {
[INFO] [stderr]   |        -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 9 |     declared_in_scope: usize,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Variable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `name` is never read
[INFO] [stderr]   --> src/linter.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | struct FunctionSignature {
[INFO] [stderr]    |        ----------------- field in this struct
[INFO] [stderr] 14 |     name: String,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FunctionSignature` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ScopeKind` is never used
[INFO] [stderr]   --> src/linter.rs:45:6
[INFO] [stderr]    |
[INFO] [stderr] 45 | enum ScopeKind {
[INFO] [stderr]    |      ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `find_variable` is never used
[INFO] [stderr]    --> src/linter.rs:390:8
[INFO] [stderr]     |
[INFO] [stderr]  52 | impl Linter {
[INFO] [stderr]     | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 390 |     fn find_variable(&self, name: &str) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Note` and `Help` are never constructed
[INFO] [stderr]  --> src/diagnostic.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub enum DiagnosticLevel {
[INFO] [stderr]   |          --------------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 7 |     Note,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr] 8 |     Help,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `DiagnosticLevel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `with_source_line`, `with_filename`, and `with_help` are never used
[INFO] [stderr]   --> src/diagnostic.rs:56:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | impl Diagnostic {
[INFO] [stderr]    | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 56 |     pub fn with_source_line(mut self, source_line: String) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 61 |     pub fn with_filename(mut self, filename: String) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 |     pub fn with_help(mut self, help: String) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `render_summary` is never used
[INFO] [stderr]    --> src/diagnostic.rs:175:12
[INFO] [stderr]     |
[INFO] [stderr]  79 | impl DiagnosticRenderer {
[INFO] [stderr]     | ----------------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 175 |     pub fn render_summary(errors: usize, warnings: usize) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_lint_message` is never used
[INFO] [stderr]    --> src/diagnostic.rs:198:8
[INFO] [stderr]     |
[INFO] [stderr] 198 | pub fn parse_lint_message(message: &str) -> Diagnostic {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `ject` (bin "ject" test) generated 22 warnings (3 duplicates)
[INFO] [stderr] warning: `ject` (lib test) generated 3 warnings (3 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ject-34cc0126922c4306)
[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/main.rs (/opt/rustwide/target/debug/deps/ject-18af0430bf8dd097)
[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]    Doc-tests ject
[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] running `Command { std: "docker" "inspect" "d98eb10b8580aba442fe1929ac46d052d485ecd8bad98b53e87f7b048eacda51", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d98eb10b8580aba442fe1929ac46d052d485ecd8bad98b53e87f7b048eacda51", kill_on_drop: false }`
[INFO] [stdout] d98eb10b8580aba442fe1929ac46d052d485ecd8bad98b53e87f7b048eacda51
