[INFO] cloning repository https://github.com/djboardman/gimbal_server
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/djboardman/gimbal_server" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdjboardman%2Fgimbal_server", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdjboardman%2Fgimbal_server'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] eddba944a9514373eb8e267da2786d349c41c5eb
[INFO] testing djboardman/gimbal_server against 1.76.0 for beta-1.77-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdjboardman%2Fgimbal_server" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/djboardman/gimbal_server on toolchain 1.76.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/djboardman/gimbal_server
[INFO] finished tweaking git repo https://github.com/djboardman/gimbal_server
[INFO] tweaked toml for git repo https://github.com/djboardman/gimbal_server written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/djboardman/gimbal_server 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.76.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[ERROR] this task or one of its parent failed!
[ERROR] no output for 300 seconds
[ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace.
[INFO] testing djboardman/gimbal_server against beta-2024-02-10 for beta-1.77-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdjboardman%2Fgimbal_server" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/djboardman/gimbal_server on toolchain beta-2024-02-10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/djboardman/gimbal_server
[INFO] finished tweaking git repo https://github.com/djboardman/gimbal_server
[INFO] tweaked toml for git repo https://github.com/djboardman/gimbal_server written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/djboardman/gimbal_server 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" "+beta-2024-02-10" "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] testing djboardman/gimbal_server against beta-2024-02-10 for beta-1.77-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdjboardman%2Fgimbal_server" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/djboardman/gimbal_server on toolchain beta-2024-02-10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/djboardman/gimbal_server
[INFO] finished tweaking git repo https://github.com/djboardman/gimbal_server
[INFO] tweaked toml for git repo https://github.com/djboardman/gimbal_server written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/djboardman/gimbal_server 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" "+beta-2024-02-10" "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 postgres v0.19.2
[INFO] [stderr]   Downloaded md-5 v0.10.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1d8ec52b28b17f00aed947ac6066ed6f1b5f6b19a6f865cc2be60780fcc0a523
[INFO] running `Command { std: "docker" "start" "-a" "1d8ec52b28b17f00aed947ac6066ed6f1b5f6b19a6f865cc2be60780fcc0a523", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1d8ec52b28b17f00aed947ac6066ed6f1b5f6b19a6f865cc2be60780fcc0a523", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1d8ec52b28b17f00aed947ac6066ed6f1b5f6b19a6f865cc2be60780fcc0a523", kill_on_drop: false }`
[INFO] [stdout] 1d8ec52b28b17f00aed947ac6066ed6f1b5f6b19a6f865cc2be60780fcc0a523
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 294dc386365a498ae613a294314179145c467a9d7cf5d48cc9dbd3ab78463298
[INFO] running `Command { std: "docker" "start" "-a" "294dc386365a498ae613a294314179145c467a9d7cf5d48cc9dbd3ab78463298", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.113
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling typenum v1.14.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.32
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling syn v1.0.82
[INFO] [stderr]    Compiling futures-core v0.3.19
[INFO] [stderr]    Compiling subtle v2.4.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.8
[INFO] [stderr]    Compiling futures-task v0.3.19
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling futures-sink v0.3.19
[INFO] [stderr]    Compiling tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling futures-channel v0.3.19
[INFO] [stderr]    Compiling futures-util v0.3.19
[INFO] [stderr]    Compiling ppv-lite86 v0.2.16
[INFO] [stderr]    Compiling tinyvec v1.5.1
[INFO] [stderr]    Compiling bytes v1.1.0
[INFO] [stderr]    Compiling unicode-bidi v0.3.7
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling slab v0.4.5
[INFO] [stderr]    Compiling generic-array v0.14.5
[INFO] [stderr]    Compiling futures-io v0.3.19
[INFO] [stderr]    Compiling cpufeatures v0.2.1
[INFO] [stderr]    Compiling instant v0.1.12
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling fallible-iterator v0.2.0
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling async-trait v0.1.52
[INFO] [stderr]    Compiling ucd-trie v0.1.3
[INFO] [stderr]    Compiling base64 v0.13.0
[INFO] [stderr]    Compiling siphasher v0.3.9
[INFO] [stderr]    Compiling smallvec v1.8.0
[INFO] [stderr]    Compiling pest v2.1.3
[INFO] [stderr]    Compiling lock_api v0.4.5
[INFO] [stderr]    Compiling maplit v1.0.2
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling linked-hash-map v0.5.4
[INFO] [stderr]    Compiling quote v1.0.10
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling phf v0.10.1
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling mio v0.7.14
[INFO] [stderr]    Compiling socket2 v0.4.3
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling unicode-normalization v0.1.19
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling tokio v1.15.0
[INFO] [stderr]    Compiling pest_meta v2.1.3
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]    Compiling stringprep v0.1.2
[INFO] [stderr]    Compiling block-buffer v0.10.0
[INFO] [stderr]    Compiling crypto-common v0.1.1
[INFO] [stderr]    Compiling digest v0.10.1
[INFO] [stderr]    Compiling md-5 v0.10.0
[INFO] [stderr]    Compiling sha2 v0.10.1
[INFO] [stderr]    Compiling hmac v0.12.0
[INFO] [stderr]    Compiling postgres-protocol v0.6.3
[INFO] [stderr]    Compiling postgres-types v0.2.2
[INFO] [stderr]    Compiling pest_generator v2.1.3
[INFO] [stderr]    Compiling tokio-util v0.6.9
[INFO] [stderr]    Compiling futures-macro v0.3.19
[INFO] [stderr]    Compiling pest_derive v2.1.0
[INFO] [stderr]    Compiling futures-executor v0.3.19
[INFO] [stderr]    Compiling futures v0.3.19
[INFO] [stderr]    Compiling tokio-postgres v0.7.5
[INFO] [stderr]    Compiling postgres v0.19.2
[INFO] [stderr]    Compiling gimbal_server v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/lang/ast.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BTreeSet`
[INFO] [stdout]  --> src/lang/cst.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{BTreeSet, HashMap};
[INFO] [stdout]   |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Span`
[INFO] [stdout]  --> src/lang/cst.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use pest::{Parser, Span};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/database/integration.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error`
[INFO] [stdout]  --> src/database/integration.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::error;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DiffDiagnosis`
[INFO] [stdout]  --> src/database/drivers/mock.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::database::integration::{DbDiff, DiffDiagnosis};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::DbError`
[INFO] [stdout]  --> src/database/drivers/postgres.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use postgres::{Client, NoTls, error::DbError, Error};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lang/cst.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn qualified_name(mut pairs: Pairs<Rule>) -> (Option<String>, String) {
[INFO] [stdout]     |                   ----^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db_changes`
[INFO] [stdout]   --> src/database/drivers/mock.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn execute_changes(db_changes: &meta::DatabaseChange, db_config: &meta::DatabaseConfig) -> Result<(), String> {
[INFO] [stdout]    |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_changes`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db_config`
[INFO] [stdout]   --> src/database/drivers/mock.rs:10:59
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn execute_changes(db_changes: &meta::DatabaseChange, db_config: &meta::DatabaseConfig) -> Result<(), String> {
[INFO] [stdout]    |                                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db_config`
[INFO] [stdout]   --> src/database/drivers/mock.rs:14:49
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn diffs_to_changes(db_diffs: &Vec<DbDiff>, db_config: &meta::DatabaseConfig) -> meta::DatabaseChange {
[INFO] [stdout]    |                                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table`
[INFO] [stdout]   --> src/database/drivers/mock.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 |     , Some(table) => {}
[INFO] [stdout]    |            ^^^^^ help: if this is intentional, prefix it with an underscore: `_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db_config`
[INFO] [stdout]  --> src/database/drivers/postgres.rs:8:59
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn execute_changes(db_changes: &meta::DatabaseChange, db_config: &meta::DatabaseConfig) -> Result<(), String> {
[INFO] [stdout]   |                                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db_config`
[INFO] [stdout]   --> src/database/drivers/postgres.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn db_columns_for_table(db_config: &meta::DatabaseConfig, table_name: &str) -> Vec<meta::Column> {
[INFO] [stdout]    |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db_config`
[INFO] [stdout]   --> src/database/drivers/postgres.rs:51:49
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn diffs_to_changes(db_diffs: &Vec<DbDiff>, db_config: &meta::DatabaseConfig) -> meta::DatabaseChange {
[INFO] [stdout]    |                                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/main.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn migrate(args: &Vec<String>) -> String {
[INFO] [stdout]    |            ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NoSuchAType`, `DupAType`, `DupModule`, `NoSuchModule`, and `DupDType` are never constructed
[INFO] [stdout]   --> src/lang/ast.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum AstError {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 11 |   NoSuchAType(String)
[INFO] [stdout]    |   ^^^^^^^^^^^
[INFO] [stdout] 12 | , DupAType(String)
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout] 13 | , DupModule(String)
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 14 | , NoSuchModule(String)
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 15 | , DupDType(String)
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AstError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/lang/ast.rs:60:3
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct Application {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 60 |   name: String
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Application` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name` and `entity_unique_names` are never used
[INFO] [stdout]   --> src/lang/ast.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl Application {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 69 |   pub fn name(&self) -> String {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |   pub fn entity_unique_names(&self) -> Vec<String> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `function_types` is never read
[INFO] [stdout]   --> src/lang/ast.rs:96:3
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct EntityType {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 95 |   qualified_name: QualifiedName
[INFO] [stdout] 96 | , function_types: Vec<QualifiedName>
[INFO] [stdout]    |   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EntityType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name` and `unique_name` are never used
[INFO] [stdout]    --> src/lang/ast.rs:108:10
[INFO] [stdout]     |
[INFO] [stdout] 99  | impl EntityType {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 108 |   pub fn name(&self) -> String {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |   pub fn unique_name(&self) -> String {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_function_to_entity_type` is never used
[INFO] [stdout]    --> src/lang/ast.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn add_function_to_entity_type(entity: EntityType, qualified_name: QualifiedName) -> EntityType {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]    --> src/lang/ast.rs:140:10
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl FunctionType {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |   pub fn name(&self) -> String {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name` and `try_to_function_type` are never used
[INFO] [stdout]    --> src/lang/ast.rs:162:10
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl AType {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] 162 |   pub fn name(&self) -> String {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |   pub fn try_to_function_type(&self) -> Option<&FunctionType> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/lang/cst.rs:138:10
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl FunctionType {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 138 |   pub fn new(name: &str, dom: (Option<String>, String), codom: (Option<String>, String)) -> FunctionType {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `duration` is never read
[INFO] [stdout]    --> src/lang/cst.rs:158:3
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct EntityType {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 157 |   name: String
[INFO] [stdout] 158 | , duration: String
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EntityType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/lang/cst.rs:162:6
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl EntityType {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 162 |   fn new(name: &str, duration: &str) -> EntityType {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `used_namespaces` is never read
[INFO] [stdout]    --> src/lang/cst.rs:188:3
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub struct FileRoot {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 188 | , used_namespaces: HashMap<String, Namespace>
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileRoot` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_main_file` is never used
[INFO] [stdout]    --> src/lang/cst.rs:196:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl FileRoot {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 196 |   pub fn is_main_file(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `entity_name` is never read
[INFO] [stdout]   --> src/database/integration.rs:29:3
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct AstTable {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 29 |   entity_name: ast::QualifiedName
[INFO] [stdout]    |   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AstTable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ast_to_db` is never used
[INFO] [stdout]   --> src/database/integration.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn ast_to_db(ast: &ast::Application) -> meta::Database {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tables` is never read
[INFO] [stdout]   --> src/database/meta.rs:43:3
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct Database {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 43 |   tables: Vec<Table>
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Database` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `tables` are never used
[INFO] [stdout]   --> src/database/meta.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl Database {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 47 |   pub fn new(tables: Vec<Table>) -> Database {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |   pub fn tables(&self) -> &Vec<Table> {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `schema` is never read
[INFO] [stdout]   --> src/database/meta.rs:58:3
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct Table {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 58 |   schema: String
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Table` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `schema` is never used
[INFO] [stdout]   --> src/database/meta.rs:73:10
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl Table {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 73 |   pub fn schema(&self) -> String {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `TABLES` is never used
[INFO] [stdout]  --> src/database/drivers/mock.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | static mut TABLES: Vec<meta::Table> = Vec::new();
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tables_for_entities` is never used
[INFO] [stdout]   --> src/database/drivers/mock.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn tables_for_entities(entities: Vec<String>) -> HashMap<String, Option<&'static meta::Table>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tables` is never used
[INFO] [stdout]   --> src/database/drivers/mock.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn tables() -> Vec<meta::Table> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_missing` is never used
[INFO] [stdout]   --> src/database/drivers/mock.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn create_missing(table_list: &HashMap<String, Option<&meta::Table>>) -> Result<(), Box<dyn error::Error>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 39 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 25.75s
[INFO] running `Command { std: "docker" "inspect" "294dc386365a498ae613a294314179145c467a9d7cf5d48cc9dbd3ab78463298", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "294dc386365a498ae613a294314179145c467a9d7cf5d48cc9dbd3ab78463298", kill_on_drop: false }`
[INFO] [stdout] 294dc386365a498ae613a294314179145c467a9d7cf5d48cc9dbd3ab78463298
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9d31f103ac3edb65131e419ef6fc1f9cc149e1995fc9755f96a3decaf4b69579
[INFO] running `Command { std: "docker" "start" "-a" "9d31f103ac3edb65131e419ef6fc1f9cc149e1995fc9755f96a3decaf4b69579", kill_on_drop: false }`
[INFO] [stderr]    Compiling gimbal_server v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/lang/ast.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BTreeSet`
[INFO] [stdout]  --> src/lang/cst.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{BTreeSet, HashMap};
[INFO] [stdout]   |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Span`
[INFO] [stdout]  --> src/lang/cst.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use pest::{Parser, Span};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/database/integration.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error`
[INFO] [stdout]  --> src/database/integration.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::error;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DiffDiagnosis`
[INFO] [stdout]  --> src/database/drivers/mock.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::database::integration::{DbDiff, DiffDiagnosis};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::DbError`
[INFO] [stdout]  --> src/database/drivers/postgres.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use postgres::{Client, NoTls, error::DbError, Error};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/lang/ast_builder.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let app = build(main_code);
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lang/cst.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn qualified_name(mut pairs: Pairs<Rule>) -> (Option<String>, String) {
[INFO] [stdout]     |                   ----^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db_change`
[INFO] [stdout]    --> src/database/integration.rs:216:9
[INFO] [stdout]     |
[INFO] [stdout] 216 |     let db_change = diffs_to_script(&db_diff, &mock_db_config);
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ast_db`
[INFO] [stdout]    --> src/database/integration.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |     let ast_db = ast_to_db(&ast);
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ast_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db_changes`
[INFO] [stdout]   --> src/database/drivers/mock.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn execute_changes(db_changes: &meta::DatabaseChange, db_config: &meta::DatabaseConfig) -> Result<(), String> {
[INFO] [stdout]    |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_changes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db_config`
[INFO] [stdout]   --> src/database/drivers/mock.rs:10:59
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn execute_changes(db_changes: &meta::DatabaseChange, db_config: &meta::DatabaseConfig) -> Result<(), String> {
[INFO] [stdout]    |                                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db_config`
[INFO] [stdout]   --> src/database/drivers/mock.rs:14:49
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn diffs_to_changes(db_diffs: &Vec<DbDiff>, db_config: &meta::DatabaseConfig) -> meta::DatabaseChange {
[INFO] [stdout]    |                                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table`
[INFO] [stdout]   --> src/database/drivers/mock.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 |     , Some(table) => {}
[INFO] [stdout]    |            ^^^^^ help: if this is intentional, prefix it with an underscore: `_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db_config`
[INFO] [stdout]  --> src/database/drivers/postgres.rs:8:59
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn execute_changes(db_changes: &meta::DatabaseChange, db_config: &meta::DatabaseConfig) -> Result<(), String> {
[INFO] [stdout]   |                                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db_config`
[INFO] [stdout]   --> src/database/drivers/postgres.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn db_columns_for_table(db_config: &meta::DatabaseConfig, table_name: &str) -> Vec<meta::Column> {
[INFO] [stdout]    |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db_config`
[INFO] [stdout]   --> src/database/drivers/postgres.rs:51:49
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn diffs_to_changes(db_diffs: &Vec<DbDiff>, db_config: &meta::DatabaseConfig) -> meta::DatabaseChange {
[INFO] [stdout]    |                                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/main.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn migrate(args: &Vec<String>) -> String {
[INFO] [stdout]    |            ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NoSuchAType`, `DupAType`, `DupModule`, `NoSuchModule`, and `DupDType` are never constructed
[INFO] [stdout]   --> src/lang/ast.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum AstError {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 11 |   NoSuchAType(String)
[INFO] [stdout]    |   ^^^^^^^^^^^
[INFO] [stdout] 12 | , DupAType(String)
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout] 13 | , DupModule(String)
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] 14 | , NoSuchModule(String)
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 15 | , DupDType(String)
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AstError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `entity_unique_names` is never used
[INFO] [stdout]   --> src/lang/ast.rs:81:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl Application {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 81 |   pub fn entity_unique_names(&self) -> Vec<String> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `function_types` is never read
[INFO] [stdout]   --> src/lang/ast.rs:96:3
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct EntityType {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 95 |   qualified_name: QualifiedName
[INFO] [stdout] 96 | , function_types: Vec<QualifiedName>
[INFO] [stdout]    |   ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EntityType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unique_name` is never used
[INFO] [stdout]    --> src/lang/ast.rs:112:10
[INFO] [stdout]     |
[INFO] [stdout] 99  | impl EntityType {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 112 |   pub fn unique_name(&self) -> String {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_function_to_entity_type` is never used
[INFO] [stdout]    --> src/lang/ast.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn add_function_to_entity_type(entity: EntityType, qualified_name: QualifiedName) -> EntityType {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/lang/cst.rs:138:10
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl FunctionType {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 138 |   pub fn new(name: &str, dom: (Option<String>, String), codom: (Option<String>, String)) -> FunctionType {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `duration` is never read
[INFO] [stdout]    --> src/lang/cst.rs:158:3
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct EntityType {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 157 |   name: String
[INFO] [stdout] 158 | , duration: String
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EntityType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/lang/cst.rs:162:6
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl EntityType {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 162 |   fn new(name: &str, duration: &str) -> EntityType {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_main_file` is never used
[INFO] [stdout]    --> src/lang/cst.rs:196:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl FileRoot {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 196 |   pub fn is_main_file(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `entity_name` is never read
[INFO] [stdout]   --> src/database/integration.rs:29:3
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct AstTable {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 29 |   entity_name: ast::QualifiedName
[INFO] [stdout]    |   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AstTable` 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 `schema` is never read
[INFO] [stdout]   --> src/database/meta.rs:58:3
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct Table {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 58 |   schema: String
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Table` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `schema` is never used
[INFO] [stdout]   --> src/database/meta.rs:73:10
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl Table {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 73 |   pub fn schema(&self) -> String {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `TABLES` is never used
[INFO] [stdout]  --> src/database/drivers/mock.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | static mut TABLES: Vec<meta::Table> = Vec::new();
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tables_for_entities` is never used
[INFO] [stdout]   --> src/database/drivers/mock.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn tables_for_entities(entities: Vec<String>) -> HashMap<String, Option<&'static meta::Table>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tables` is never used
[INFO] [stdout]   --> src/database/drivers/mock.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn tables() -> Vec<meta::Table> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_missing` is never used
[INFO] [stdout]   --> src/database/drivers/mock.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn create_missing(table_list: &HashMap<String, Option<&meta::Table>>) -> Result<(), Box<dyn error::Error>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 35 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 2.77s
[INFO] running `Command { std: "docker" "inspect" "9d31f103ac3edb65131e419ef6fc1f9cc149e1995fc9755f96a3decaf4b69579", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d31f103ac3edb65131e419ef6fc1f9cc149e1995fc9755f96a3decaf4b69579", kill_on_drop: false }`
[INFO] [stdout] 9d31f103ac3edb65131e419ef6fc1f9cc149e1995fc9755f96a3decaf4b69579
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b9a04e8486a98ab6d75d5db5e601ab3e229d42d6cdb52d50e0714a224b42befa
[INFO] running `Command { std: "docker" "start" "-a" "b9a04e8486a98ab6d75d5db5e601ab3e229d42d6cdb52d50e0714a224b42befa", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::error::Error`
[INFO] [stderr]  --> src/lang/ast.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::error::Error;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BTreeSet`
[INFO] [stderr]  --> src/lang/cst.rs:2:24
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::collections::{BTreeSet, HashMap};
[INFO] [stderr]   |                        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Span`
[INFO] [stderr]  --> src/lang/cst.rs:4:20
[INFO] [stderr]   |
[INFO] [stderr] 4 | use pest::{Parser, Span};
[INFO] [stderr]   |                    ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/database/integration.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::error`
[INFO] [stderr]  --> src/database/integration.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::error;
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `DiffDiagnosis`
[INFO] [stderr]  --> src/database/drivers/mock.rs:5:44
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::database::integration::{DbDiff, DiffDiagnosis};
[INFO] [stderr]   |                                            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error::DbError`
[INFO] [stderr]  --> src/database/drivers/postgres.rs:2:31
[INFO] [stderr]   |
[INFO] [stderr] 2 | use postgres::{Client, NoTls, error::DbError, Error};
[INFO] [stderr]   |                               ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `app`
[INFO] [stderr]    --> src/lang/ast_builder.rs:105:9
[INFO] [stderr]     |
[INFO] [stderr] 105 |     let app = build(main_code);
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lang/cst.rs:102:19
[INFO] [stderr]     |
[INFO] [stderr] 102 | fn qualified_name(mut pairs: Pairs<Rule>) -> (Option<String>, String) {
[INFO] [stderr]     |                   ----^^^^^
[INFO] [stderr]     |                   |
[INFO] [stderr]     |                   help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `db_change`
[INFO] [stderr]    --> src/database/integration.rs:216:9
[INFO] [stderr]     |
[INFO] [stderr] 216 |     let db_change = diffs_to_script(&db_diff, &mock_db_config);
[INFO] [stderr]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_change`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ast_db`
[INFO] [stderr]    --> src/database/integration.rs:232:9
[INFO] [stderr]     |
[INFO] [stderr] 232 |     let ast_db = ast_to_db(&ast);
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ast_db`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `db_changes`
[INFO] [stderr]   --> src/database/drivers/mock.rs:10:24
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub fn execute_changes(db_changes: &meta::DatabaseChange, db_config: &meta::DatabaseConfig) -> Result<(), String> {
[INFO] [stderr]    |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_changes`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `db_config`
[INFO] [stderr]   --> src/database/drivers/mock.rs:10:59
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub fn execute_changes(db_changes: &meta::DatabaseChange, db_config: &meta::DatabaseConfig) -> Result<(), String> {
[INFO] [stderr]    |                                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_config`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `db_config`
[INFO] [stderr]   --> src/database/drivers/mock.rs:14:49
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub fn diffs_to_changes(db_diffs: &Vec<DbDiff>, db_config: &meta::DatabaseConfig) -> meta::DatabaseChange {
[INFO] [stderr]    |                                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_config`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `table`
[INFO] [stderr]   --> src/database/drivers/mock.rs:65:12
[INFO] [stderr]    |
[INFO] [stderr] 65 |     , Some(table) => {}
[INFO] [stderr]    |            ^^^^^ help: if this is intentional, prefix it with an underscore: `_table`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `db_config`
[INFO] [stderr]  --> src/database/drivers/postgres.rs:8:59
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn execute_changes(db_changes: &meta::DatabaseChange, db_config: &meta::DatabaseConfig) -> Result<(), String> {
[INFO] [stderr]   |                                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_config`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `db_config`
[INFO] [stderr]   --> src/database/drivers/postgres.rs:35:25
[INFO] [stderr]    |
[INFO] [stderr] 35 | fn db_columns_for_table(db_config: &meta::DatabaseConfig, table_name: &str) -> Vec<meta::Column> {
[INFO] [stderr]    |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_config`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `db_config`
[INFO] [stderr]   --> src/database/drivers/postgres.rs:51:49
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub fn diffs_to_changes(db_diffs: &Vec<DbDiff>, db_config: &meta::DatabaseConfig) -> meta::DatabaseChange {
[INFO] [stderr]    |                                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_config`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]   --> src/main.rs:52:12
[INFO] [stderr]    |
[INFO] [stderr] 52 | fn migrate(args: &Vec<String>) -> String {
[INFO] [stderr]    |            ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: variants `NoSuchAType`, `DupAType`, `DupModule`, `NoSuchModule`, and `DupDType` are never constructed
[INFO] [stderr]   --> src/lang/ast.rs:11:3
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub enum AstError {
[INFO] [stderr]    |          -------- variants in this enum
[INFO] [stderr] 11 |   NoSuchAType(String)
[INFO] [stderr]    |   ^^^^^^^^^^^
[INFO] [stderr] 12 | , DupAType(String)
[INFO] [stderr]    |   ^^^^^^^^
[INFO] [stderr] 13 | , DupModule(String)
[INFO] [stderr]    |   ^^^^^^^^^
[INFO] [stderr] 14 | , NoSuchModule(String)
[INFO] [stderr]    |   ^^^^^^^^^^^^
[INFO] [stderr] 15 | , DupDType(String)
[INFO] [stderr]    |   ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AstError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `entity_unique_names` is never used
[INFO] [stderr]   --> src/lang/ast.rs:81:10
[INFO] [stderr]    |
[INFO] [stderr] 65 | impl Application {
[INFO] [stderr]    | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 81 |   pub fn entity_unique_names(&self) -> Vec<String> {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `function_types` is never read
[INFO] [stderr]   --> src/lang/ast.rs:96:3
[INFO] [stderr]    |
[INFO] [stderr] 94 | pub struct EntityType {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] 95 |   qualified_name: QualifiedName
[INFO] [stderr] 96 | , function_types: Vec<QualifiedName>
[INFO] [stderr]    |   ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `EntityType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `unique_name` is never used
[INFO] [stderr]    --> src/lang/ast.rs:112:10
[INFO] [stderr]     |
[INFO] [stderr] 99  | impl EntityType {
[INFO] [stderr]     | --------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 112 |   pub fn unique_name(&self) -> String {
[INFO] [stderr]     |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `add_function_to_entity_type` is never used
[INFO] [stderr]    --> src/lang/ast.rs:117:8
[INFO] [stderr]     |
[INFO] [stderr] 117 | pub fn add_function_to_entity_type(entity: EntityType, qualified_name: QualifiedName) -> EntityType {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/lang/cst.rs:138:10
[INFO] [stderr]     |
[INFO] [stderr] 137 | impl FunctionType {
[INFO] [stderr]     | ----------------- associated function in this implementation
[INFO] [stderr] 138 |   pub fn new(name: &str, dom: (Option<String>, String), codom: (Option<String>, String)) -> FunctionType {
[INFO] [stderr]     |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `duration` is never read
[INFO] [stderr]    --> src/lang/cst.rs:158:3
[INFO] [stderr]     |
[INFO] [stderr] 156 | pub struct EntityType {
[INFO] [stderr]     |            ---------- field in this struct
[INFO] [stderr] 157 |   name: String
[INFO] [stderr] 158 | , duration: String
[INFO] [stderr]     |   ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `EntityType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/lang/cst.rs:162:6
[INFO] [stderr]     |
[INFO] [stderr] 161 | impl EntityType {
[INFO] [stderr]     | --------------- associated function in this implementation
[INFO] [stderr] 162 |   fn new(name: &str, duration: &str) -> EntityType {
[INFO] [stderr]     |      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_main_file` is never used
[INFO] [stderr]    --> src/lang/cst.rs:196:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | impl FileRoot {
[INFO] [stderr]     | ------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 196 |   pub fn is_main_file(&self) -> bool {
[INFO] [stderr]     |          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `entity_name` is never read
[INFO] [stderr]   --> src/database/integration.rs:29:3
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub struct AstTable {
[INFO] [stderr]    |            -------- field in this struct
[INFO] [stderr] 29 |   entity_name: ast::QualifiedName
[INFO] [stderr]    |   ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AstTable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `schema` is never read
[INFO] [stderr]   --> src/database/meta.rs:58:3
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub struct Table {
[INFO] [stderr]    |            ----- field in this struct
[INFO] [stderr] 58 |   schema: String
[INFO] [stderr]    |   ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Table` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `schema` is never used
[INFO] [stderr]   --> src/database/meta.rs:73:10
[INFO] [stderr]    |
[INFO] [stderr] 64 | impl Table {
[INFO] [stderr]    | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 73 |   pub fn schema(&self) -> String {
[INFO] [stderr]    |          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `TABLES` is never used
[INFO] [stderr]  --> src/database/drivers/mock.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 | static mut TABLES: Vec<meta::Table> = Vec::new();
[INFO] [stderr]   |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `tables_for_entities` is never used
[INFO] [stderr]   --> src/database/drivers/mock.rs:46:4
[INFO] [stderr]    |
[INFO] [stderr] 46 | fn tables_for_entities(entities: Vec<String>) -> HashMap<String, Option<&'static meta::Table>> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `tables` is never used
[INFO] [stderr]   --> src/database/drivers/mock.rs:52:4
[INFO] [stderr]    |
[INFO] [stderr] 52 | fn tables() -> Vec<meta::Table> {
[INFO] [stderr]    |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `create_missing` is never used
[INFO] [stderr]   --> src/database/drivers/mock.rs:58:4
[INFO] [stderr]    |
[INFO] [stderr] 58 | fn create_missing(table_list: &HashMap<String, Option<&meta::Table>>) -> Result<(), Box<dyn error::Error>> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `gimbal_server` (bin "gimbal_server" test) generated 35 warnings (run `cargo fix --bin "gimbal_server" --tests` to apply 19 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gimbal_server-d413aabd091fe2b2)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test lang::cst::tests::valid_code_test ... ok
[INFO] [stdout] test lang::ast_builder::tests::main_test ... ok
[INFO] [stdout] test database::integration::tests::test_table_missing ... ok
[INFO] [stdout] test database::integration::tests::test_nothing_missing ... ok
[INFO] [stdout] test lang::cst::tests::app_file_test ... ok
[INFO] [stdout] test database::integration::tests::test_column_type_mismatch ... ok
[INFO] [stdout] test lang::ast_builder::tests::example_test ... ok
[INFO] [stdout] test database::integration::tests::test_execute_changes ... ok
[INFO] [stdout] test database::integration::tests::test_column_missing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b9a04e8486a98ab6d75d5db5e601ab3e229d42d6cdb52d50e0714a224b42befa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b9a04e8486a98ab6d75d5db5e601ab3e229d42d6cdb52d50e0714a224b42befa", kill_on_drop: false }`
[INFO] [stdout] b9a04e8486a98ab6d75d5db5e601ab3e229d42d6cdb52d50e0714a224b42befa
