[INFO] fetching crate soot-cli 0.1.6...
[INFO] testing soot-cli-0.1.6 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate soot-cli 0.1.6 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate soot-cli 0.1.6
[INFO] finished tweaking crates.io crate soot-cli 0.1.6
[INFO] tweaked toml for crates.io crate soot-cli 0.1.6 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate soot-cli 0.1.6 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate soot-cli 0.1.6 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-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] dba41a5938ab4cce2c0fbf6c60bf990440a6d6612cc0e737e1e5661365573736
[INFO] running `Command { std: "docker" "start" "-a" "dba41a5938ab4cce2c0fbf6c60bf990440a6d6612cc0e737e1e5661365573736", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dba41a5938ab4cce2c0fbf6c60bf990440a6d6612cc0e737e1e5661365573736", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dba41a5938ab4cce2c0fbf6c60bf990440a6d6612cc0e737e1e5661365573736", kill_on_drop: false }`
[INFO] [stdout] dba41a5938ab4cce2c0fbf6c60bf990440a6d6612cc0e737e1e5661365573736
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3c741dddf3d1d718b204e165aab58dd14421a6864a0de5d5131c337bf70765bb
[INFO] running `Command { std: "docker" "start" "-a" "3c741dddf3d1d718b204e165aab58dd14421a6864a0de5d5131c337bf70765bb", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling anstyle-query v1.1.2
[INFO] [stderr]    Compiling colorchoice v1.0.3
[INFO] [stderr]    Compiling anstyle-parse v0.2.6
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling clap_lex v0.7.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling newline-converter v0.3.0
[INFO] [stderr]    Compiling dyn-clone v1.0.19
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling fuzzy-matcher v0.3.7
[INFO] [stderr]    Compiling anstream v0.6.18
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling clap_builder v4.5.35
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling crossterm v0.25.0
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling inquire v0.7.5
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling clap_derive v4.5.32
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling clap v4.5.35
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling soot-cli v0.1.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `table_name`
[INFO] [stdout]    --> src/generators/aggregate.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let table_name = format!("{}s", name);
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field_names_str`
[INFO] [stdout]    --> src/generators/aggregate.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |         let field_names_str: Vec<_> = fields.iter().map(|f| f.name.as_str()).collect();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_field_names_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `insert_placeholders`
[INFO] [stdout]    --> src/generators/aggregate.rs:195:13
[INFO] [stdout]     |
[INFO] [stdout] 195 |         let insert_placeholders: String = (1..=fields.len() + 1)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_insert_placeholders`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `update_sets`
[INFO] [stdout]    --> src/generators/aggregate.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let update_sets: String = fields
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_update_sets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_rust_code` is never used
[INFO] [stdout]  --> src/codegen/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn format_rust_code(code: &str) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_cargo_fmt` is never used
[INFO] [stdout]   --> src/codegen/mod.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn run_cargo_fmt(project_root: &std::path::Path) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_pascal_case` is never used
[INFO] [stdout]   --> src/codegen/mod.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn to_pascal_case(s: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_embedded_model` is never used
[INFO] [stdout]  --> src/codegen/domain.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn generate_embedded_model(model_name: &str, fields: &[Field]) -> TokenStream {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_model` is never used
[INFO] [stdout]   --> src/codegen/domain.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn generate_model(model_name: &str, fields: &[Field]) -> TokenStream {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_controller` is never used
[INFO] [stdout]    --> src/codegen/domain.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub fn generate_controller(domain_name: &str, model_name: &str) -> TokenStream {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_queries` is never used
[INFO] [stdout]    --> src/codegen/domain.rs:189:8
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub fn generate_queries(domain_name: &str, model_name: &str, fields: &[Field]) -> TokenStream {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_errors` is never used
[INFO] [stdout]    --> src/codegen/domain.rs:342:8
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub fn generate_errors(domain_name: &str) -> TokenStream {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_module` is never used
[INFO] [stdout]    --> src/codegen/domain.rs:362:8
[INFO] [stdout]     |
[INFO] [stdout] 362 | pub fn generate_module(model_name: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rust_type_to_tokens` is never used
[INFO] [stdout]    --> src/codegen/domain.rs:382:4
[INFO] [stdout]     |
[INFO] [stdout] 382 | fn rust_type_to_tokens(rust_type: &str) -> TokenStream {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_create_table` is never used
[INFO] [stdout]  --> src/codegen/migration.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn generate_create_table(table_name: &str, fields: &[Field]) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_web_controller` is never used
[INFO] [stdout]  --> src/codegen/web.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn generate_web_controller(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_web_routes` is never used
[INFO] [stdout]    --> src/codegen/web.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub fn generate_web_routes(domain_name: &str, model_name: &str) -> TokenStream {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_form_fields` is never used
[INFO] [stdout]    --> src/codegen/web.rs:181:4
[INFO] [stdout]     |
[INFO] [stdout] 181 | fn generate_form_fields(fields: &[Field]) -> Vec<TokenStream> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_create_conversion` is never used
[INFO] [stdout]    --> src/codegen/web.rs:196:4
[INFO] [stdout]     |
[INFO] [stdout] 196 | fn generate_create_conversion(fields: &[Field]) -> Vec<TokenStream> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_update_conversion` is never used
[INFO] [stdout]    --> src/codegen/web.rs:209:4
[INFO] [stdout]     |
[INFO] [stdout] 209 | fn generate_update_conversion(fields: &[Field]) -> Vec<TokenStream> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_index_template` is never used
[INFO] [stdout]    --> src/codegen/web.rs:222:4
[INFO] [stdout]     |
[INFO] [stdout] 222 | fn generate_index_template(_domain_name: &str, model_name: &str, fields: &[Field]) -> TokenStream {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_show_template` is never used
[INFO] [stdout]    --> src/codegen/web.rs:298:4
[INFO] [stdout]     |
[INFO] [stdout] 298 | fn generate_show_template(_domain_name: &str, _model_name: &str, _fields: &[Field]) -> TokenStream {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_new_template` is never used
[INFO] [stdout]    --> src/codegen/web.rs:308:4
[INFO] [stdout]     |
[INFO] [stdout] 308 | fn generate_new_template(_domain_name: &str, _model_name: &str, _fields: &[Field]) -> TokenStream {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_edit_template` is never used
[INFO] [stdout]    --> src/codegen/web.rs:318:4
[INFO] [stdout]     |
[INFO] [stdout] 318 | fn generate_edit_template(_domain_name: &str, _model_name: &str, _fields: &[Field]) -> TokenStream {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_form_type` is never used
[INFO] [stdout]    --> src/codegen/web.rs:332:4
[INFO] [stdout]     |
[INFO] [stdout] 332 | fn get_form_type(field: &Field) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rust_type_to_tokens` is never used
[INFO] [stdout]    --> src/codegen/web.rs:343:4
[INFO] [stdout]     |
[INFO] [stdout] 343 | fn rust_type_to_tokens(rust_type: &str) -> TokenStream {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pluralize` is never used
[INFO] [stdout]    --> src/codegen/web.rs:357:4
[INFO] [stdout]     |
[INFO] [stdout] 357 | fn pluralize(word: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_title_case` is never used
[INFO] [stdout]    --> src/codegen/web.rs:368:4
[INFO] [stdout]     |
[INFO] [stdout] 368 | fn to_title_case(s: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `db_generate_migration` is never used
[INFO] [stdout]    --> src/commands/database.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn db_generate_migration(name: &str) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_new_project` is never used
[INFO] [stdout]   --> src/commands/new.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn create_new_project(name: &str) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `rust_type`, `sql_type`, `is_foreign_key`, and `referenced_table` are never used
[INFO] [stdout]    --> src/generators/field_parser.rs:87:12
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl Field {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn rust_type(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn sql_type(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn is_foreign_key(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn referenced_table(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InteractiveError` is never used
[INFO] [stdout]  --> src/generators/interactive.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum InteractiveError {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]   --> src/generators/interactive.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub type Result<T> = std::result::Result<T, InteractiveError>;
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PathExists` is never constructed
[INFO] [stdout]  --> src/utils/fs.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum FsError {
[INFO] [stdout]   |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 9 |     PathExists(String),
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `FsError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.15s
[INFO] running `Command { std: "docker" "inspect" "3c741dddf3d1d718b204e165aab58dd14421a6864a0de5d5131c337bf70765bb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3c741dddf3d1d718b204e165aab58dd14421a6864a0de5d5131c337bf70765bb", kill_on_drop: false }`
[INFO] [stdout] 3c741dddf3d1d718b204e165aab58dd14421a6864a0de5d5131c337bf70765bb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 26f54cb72436cb7333e035f835c252571f7a0dcb7903a0ba8e3e0a09f7c4068e
[INFO] running `Command { std: "docker" "start" "-a" "26f54cb72436cb7333e035f835c252571f7a0dcb7903a0ba8e3e0a09f7c4068e", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]    Compiling inquire v0.7.5
[INFO] [stderr]    Compiling tempfile v3.20.0
[INFO] [stderr]    Compiling soot-cli v0.1.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `table_name`
[INFO] [stdout]    --> src/generators/aggregate.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let table_name = format!("{}s", name);
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field_names_str`
[INFO] [stdout]    --> src/generators/aggregate.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |         let field_names_str: Vec<_> = fields.iter().map(|f| f.name.as_str()).collect();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_field_names_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `insert_placeholders`
[INFO] [stdout]    --> src/generators/aggregate.rs:195:13
[INFO] [stdout]     |
[INFO] [stdout] 195 |         let insert_placeholders: String = (1..=fields.len() + 1)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_insert_placeholders`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `update_sets`
[INFO] [stdout]    --> src/generators/aggregate.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let update_sets: String = fields
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_update_sets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_rust_code` is never used
[INFO] [stdout]  --> src/codegen/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn format_rust_code(code: &str) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_cargo_fmt` is never used
[INFO] [stdout]   --> src/codegen/mod.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn run_cargo_fmt(project_root: &std::path::Path) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_pascal_case` is never used
[INFO] [stdout]   --> src/codegen/mod.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn to_pascal_case(s: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_embedded_model` is never used
[INFO] [stdout]  --> src/codegen/domain.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn generate_embedded_model(model_name: &str, fields: &[Field]) -> TokenStream {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_model` is never used
[INFO] [stdout]   --> src/codegen/domain.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn generate_model(model_name: &str, fields: &[Field]) -> TokenStream {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_controller` is never used
[INFO] [stdout]    --> src/codegen/domain.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub fn generate_controller(domain_name: &str, model_name: &str) -> TokenStream {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_queries` is never used
[INFO] [stdout]    --> src/codegen/domain.rs:189:8
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub fn generate_queries(domain_name: &str, model_name: &str, fields: &[Field]) -> TokenStream {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_errors` is never used
[INFO] [stdout]    --> src/codegen/domain.rs:342:8
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub fn generate_errors(domain_name: &str) -> TokenStream {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_module` is never used
[INFO] [stdout]    --> src/codegen/domain.rs:362:8
[INFO] [stdout]     |
[INFO] [stdout] 362 | pub fn generate_module(model_name: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rust_type_to_tokens` is never used
[INFO] [stdout]    --> src/codegen/domain.rs:382:4
[INFO] [stdout]     |
[INFO] [stdout] 382 | fn rust_type_to_tokens(rust_type: &str) -> TokenStream {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_create_table` is never used
[INFO] [stdout]  --> src/codegen/migration.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn generate_create_table(table_name: &str, fields: &[Field]) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_web_controller` is never used
[INFO] [stdout]  --> src/codegen/web.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn generate_web_controller(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_web_routes` is never used
[INFO] [stdout]    --> src/codegen/web.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub fn generate_web_routes(domain_name: &str, model_name: &str) -> TokenStream {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_form_fields` is never used
[INFO] [stdout]    --> src/codegen/web.rs:181:4
[INFO] [stdout]     |
[INFO] [stdout] 181 | fn generate_form_fields(fields: &[Field]) -> Vec<TokenStream> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_create_conversion` is never used
[INFO] [stdout]    --> src/codegen/web.rs:196:4
[INFO] [stdout]     |
[INFO] [stdout] 196 | fn generate_create_conversion(fields: &[Field]) -> Vec<TokenStream> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_update_conversion` is never used
[INFO] [stdout]    --> src/codegen/web.rs:209:4
[INFO] [stdout]     |
[INFO] [stdout] 209 | fn generate_update_conversion(fields: &[Field]) -> Vec<TokenStream> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_index_template` is never used
[INFO] [stdout]    --> src/codegen/web.rs:222:4
[INFO] [stdout]     |
[INFO] [stdout] 222 | fn generate_index_template(_domain_name: &str, model_name: &str, fields: &[Field]) -> TokenStream {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_show_template` is never used
[INFO] [stdout]    --> src/codegen/web.rs:298:4
[INFO] [stdout]     |
[INFO] [stdout] 298 | fn generate_show_template(_domain_name: &str, _model_name: &str, _fields: &[Field]) -> TokenStream {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_new_template` is never used
[INFO] [stdout]    --> src/codegen/web.rs:308:4
[INFO] [stdout]     |
[INFO] [stdout] 308 | fn generate_new_template(_domain_name: &str, _model_name: &str, _fields: &[Field]) -> TokenStream {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_edit_template` is never used
[INFO] [stdout]    --> src/codegen/web.rs:318:4
[INFO] [stdout]     |
[INFO] [stdout] 318 | fn generate_edit_template(_domain_name: &str, _model_name: &str, _fields: &[Field]) -> TokenStream {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_form_type` is never used
[INFO] [stdout]    --> src/codegen/web.rs:332:4
[INFO] [stdout]     |
[INFO] [stdout] 332 | fn get_form_type(field: &Field) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rust_type_to_tokens` is never used
[INFO] [stdout]    --> src/codegen/web.rs:343:4
[INFO] [stdout]     |
[INFO] [stdout] 343 | fn rust_type_to_tokens(rust_type: &str) -> TokenStream {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pluralize` is never used
[INFO] [stdout]    --> src/codegen/web.rs:357:4
[INFO] [stdout]     |
[INFO] [stdout] 357 | fn pluralize(word: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_title_case` is never used
[INFO] [stdout]    --> src/codegen/web.rs:368:4
[INFO] [stdout]     |
[INFO] [stdout] 368 | fn to_title_case(s: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `db_generate_migration` is never used
[INFO] [stdout]    --> src/commands/database.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn db_generate_migration(name: &str) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InteractiveError` is never used
[INFO] [stdout]  --> src/generators/interactive.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum InteractiveError {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]   --> src/generators/interactive.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub type Result<T> = std::result::Result<T, InteractiveError>;
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PathExists` is never constructed
[INFO] [stdout]  --> src/utils/fs.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum FsError {
[INFO] [stdout]   |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 9 |     PathExists(String),
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `FsError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.83s
[INFO] running `Command { std: "docker" "inspect" "26f54cb72436cb7333e035f835c252571f7a0dcb7903a0ba8e3e0a09f7c4068e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "26f54cb72436cb7333e035f835c252571f7a0dcb7903a0ba8e3e0a09f7c4068e", kill_on_drop: false }`
[INFO] [stdout] 26f54cb72436cb7333e035f835c252571f7a0dcb7903a0ba8e3e0a09f7c4068e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a2170c022c094eeb8dfd8e7549eaa9ea2527238ea8e495b3c429406767e5dd0c
[INFO] running `Command { std: "docker" "start" "-a" "a2170c022c094eeb8dfd8e7549eaa9ea2527238ea8e495b3c429406767e5dd0c", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `table_name`
[INFO] [stderr]    --> src/generators/aggregate.rs:189:13
[INFO] [stderr]     |
[INFO] [stderr] 189 |         let table_name = format!("{}s", name);
[INFO] [stderr]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_table_name`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `field_names_str`
[INFO] [stderr]    --> src/generators/aggregate.rs:193:13
[INFO] [stderr]     |
[INFO] [stderr] 193 |         let field_names_str: Vec<_> = fields.iter().map(|f| f.name.as_str()).collect();
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_field_names_str`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `insert_placeholders`
[INFO] [stderr]    --> src/generators/aggregate.rs:195:13
[INFO] [stderr]     |
[INFO] [stderr] 195 |         let insert_placeholders: String = (1..=fields.len() + 1)
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_insert_placeholders`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `update_sets`
[INFO] [stderr]    --> src/generators/aggregate.rs:200:13
[INFO] [stderr]     |
[INFO] [stderr] 200 |         let update_sets: String = fields
[INFO] [stderr]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_update_sets`
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_rust_code` is never used
[INFO] [stderr]  --> src/codegen/mod.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub fn format_rust_code(code: &str) -> String {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_cargo_fmt` is never used
[INFO] [stderr]   --> src/codegen/mod.rs:14:8
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub fn run_cargo_fmt(project_root: &std::path::Path) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `to_pascal_case` is never used
[INFO] [stderr]   --> src/codegen/mod.rs:32:8
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn to_pascal_case(s: &str) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_embedded_model` is never used
[INFO] [stderr]  --> src/codegen/domain.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn generate_embedded_model(model_name: &str, fields: &[Field]) -> TokenStream {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_model` is never used
[INFO] [stderr]   --> src/codegen/domain.rs:29:8
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub fn generate_model(model_name: &str, fields: &[Field]) -> TokenStream {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_controller` is never used
[INFO] [stderr]    --> src/codegen/domain.rs:135:8
[INFO] [stderr]     |
[INFO] [stderr] 135 | pub fn generate_controller(domain_name: &str, model_name: &str) -> TokenStream {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_queries` is never used
[INFO] [stderr]    --> src/codegen/domain.rs:189:8
[INFO] [stderr]     |
[INFO] [stderr] 189 | pub fn generate_queries(domain_name: &str, model_name: &str, fields: &[Field]) -> TokenStream {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_errors` is never used
[INFO] [stderr]    --> src/codegen/domain.rs:342:8
[INFO] [stderr]     |
[INFO] [stderr] 342 | pub fn generate_errors(domain_name: &str) -> TokenStream {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_module` is never used
[INFO] [stderr]    --> src/codegen/domain.rs:362:8
[INFO] [stderr]     |
[INFO] [stderr] 362 | pub fn generate_module(model_name: &str) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `rust_type_to_tokens` is never used
[INFO] [stderr]    --> src/codegen/domain.rs:382:4
[INFO] [stderr]     |
[INFO] [stderr] 382 | fn rust_type_to_tokens(rust_type: &str) -> TokenStream {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_create_table` is never used
[INFO] [stderr]  --> src/codegen/migration.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn generate_create_table(table_name: &str, fields: &[Field]) -> String {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_web_controller` is never used
[INFO] [stderr]  --> src/codegen/web.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn generate_web_controller(
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_web_routes` is never used
[INFO] [stderr]    --> src/codegen/web.rs:154:8
[INFO] [stderr]     |
[INFO] [stderr] 154 | pub fn generate_web_routes(domain_name: &str, model_name: &str) -> TokenStream {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_form_fields` is never used
[INFO] [stderr]    --> src/codegen/web.rs:181:4
[INFO] [stderr]     |
[INFO] [stderr] 181 | fn generate_form_fields(fields: &[Field]) -> Vec<TokenStream> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_create_conversion` is never used
[INFO] [stderr]    --> src/codegen/web.rs:196:4
[INFO] [stderr]     |
[INFO] [stderr] 196 | fn generate_create_conversion(fields: &[Field]) -> Vec<TokenStream> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_update_conversion` is never used
[INFO] [stderr]    --> src/codegen/web.rs:209:4
[INFO] [stderr]     |
[INFO] [stderr] 209 | fn generate_update_conversion(fields: &[Field]) -> Vec<TokenStream> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_index_template` is never used
[INFO] [stderr]    --> src/codegen/web.rs:222:4
[INFO] [stderr]     |
[INFO] [stderr] 222 | fn generate_index_template(_domain_name: &str, model_name: &str, fields: &[Field]) -> TokenStream {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_show_template` is never used
[INFO] [stderr]    --> src/codegen/web.rs:298:4
[INFO] [stderr]     |
[INFO] [stderr] 298 | fn generate_show_template(_domain_name: &str, _model_name: &str, _fields: &[Field]) -> TokenStream {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_new_template` is never used
[INFO] [stderr]    --> src/codegen/web.rs:308:4
[INFO] [stderr]     |
[INFO] [stderr] 308 | fn generate_new_template(_domain_name: &str, _model_name: &str, _fields: &[Field]) -> TokenStream {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_edit_template` is never used
[INFO] [stderr]    --> src/codegen/web.rs:318:4
[INFO] [stderr]     |
[INFO] [stderr] 318 | fn generate_edit_template(_domain_name: &str, _model_name: &str, _fields: &[Field]) -> TokenStream {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_form_type` is never used
[INFO] [stderr]    --> src/codegen/web.rs:332:4
[INFO] [stderr]     |
[INFO] [stderr] 332 | fn get_form_type(field: &Field) -> String {
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `rust_type_to_tokens` is never used
[INFO] [stderr]    --> src/codegen/web.rs:343:4
[INFO] [stderr]     |
[INFO] [stderr] 343 | fn rust_type_to_tokens(rust_type: &str) -> TokenStream {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `pluralize` is never used
[INFO] [stderr]    --> src/codegen/web.rs:357:4
[INFO] [stderr]     |
[INFO] [stderr] 357 | fn pluralize(word: &str) -> String {
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `to_title_case` is never used
[INFO] [stderr]    --> src/codegen/web.rs:368:4
[INFO] [stderr]     |
[INFO] [stderr] 368 | fn to_title_case(s: &str) -> String {
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `db_generate_migration` is never used
[INFO] [stderr]    --> src/commands/database.rs:236:8
[INFO] [stderr]     |
[INFO] [stderr] 236 | pub fn db_generate_migration(name: &str) -> Result<()> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `InteractiveError` is never used
[INFO] [stderr]  --> src/generators/interactive.rs:9:10
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub enum InteractiveError {
[INFO] [stderr]   |          ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Result` is never used
[INFO] [stderr]   --> src/generators/interactive.rs:24:10
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub type Result<T> = std::result::Result<T, InteractiveError>;
[INFO] [stderr]    |          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `PathExists` is never constructed
[INFO] [stderr]  --> src/utils/fs.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub enum FsError {
[INFO] [stderr]   |          ------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 9 |     PathExists(String),
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `FsError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `soot-cli` (bin "soot" test) generated 32 warnings (run `cargo fix --bin "soot" -p soot-cli --tests` to apply 4 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/soot-7e2e78a2ee174580)
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stdout] test commands::database::tests::test_database_url_parsing ... ok
[INFO] [stdout] test commands::new::tests::test_existing_directory ... ok
[INFO] [stdout] test commands::database::tests::test_migration_numbering ... ok
[INFO] [stdout] test generators::field_parser::tests::test_foreign_keys ... ok
[INFO] [stdout] test commands::new::tests::test_invalid_project_name ... ok
[INFO] [stdout] test generators::field_parser::tests::test_invalid_formats ... ok
[INFO] [stdout] test generators::field_parser::tests::test_invalid_names ... ok
[INFO] [stdout] test generators::field_parser::tests::test_parse_all_types ... ok
[INFO] [stdout] test generators::field_parser::tests::test_parse_basic_field ... ok
[INFO] [stdout] test generators::field_parser::tests::test_parse_multiple ... ok
[INFO] [stdout] test generators::field_parser::tests::test_parse_optional_field ... ok
[INFO] [stdout] test generators::field_parser::tests::test_parse_multiple_with_error ... ok
[INFO] [stdout] test generators::field_parser::tests::test_rust_types ... ok
[INFO] [stdout] test generators::field_parser::tests::test_sql_types ... ok
[INFO] [stdout] test generators::field_parser::tests::test_unknown_type ... ok
[INFO] [stdout] test utils::fs::tests::test_create_dir_all ... ok
[INFO] [stdout] test generators::field_parser::tests::test_valid_names ... ok
[INFO] [stdout] test utils::fs::tests::test_validate_project_name ... ok
[INFO] [stdout] test utils::fs::tests::test_write_file ... ok
[INFO] [stdout] test utils::fs::tests::test_path_exists ... ok
[INFO] [stdout] test commands::new::tests::test_create_new_project ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a2170c022c094eeb8dfd8e7549eaa9ea2527238ea8e495b3c429406767e5dd0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a2170c022c094eeb8dfd8e7549eaa9ea2527238ea8e495b3c429406767e5dd0c", kill_on_drop: false }`
[INFO] [stdout] a2170c022c094eeb8dfd8e7549eaa9ea2527238ea8e495b3c429406767e5dd0c
