[INFO] fetching crate soft_rust_macro 0.1.1...
[INFO] testing soft_rust_macro-0.1.1 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate soft_rust_macro 0.1.1 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate soft_rust_macro 0.1.1
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate soft_rust_macro 0.1.1
[INFO] tweaked toml for crates.io crate soft_rust_macro 0.1.1 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate soft_rust_macro 0.1.1 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 soft_rust_macro 0.1.1 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] 224a2e016c8fef5531749e009414a1305deceb361f5d2789d56c6336f58a7332
[INFO] running `Command { std: "docker" "start" "-a" "224a2e016c8fef5531749e009414a1305deceb361f5d2789d56c6336f58a7332", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "224a2e016c8fef5531749e009414a1305deceb361f5d2789d56c6336f58a7332", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "224a2e016c8fef5531749e009414a1305deceb361f5d2789d56c6336f58a7332", kill_on_drop: false }`
[INFO] [stdout] 224a2e016c8fef5531749e009414a1305deceb361f5d2789d56c6336f58a7332
[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] 521a62789b130016a0b90dca023c8af8f6614853834f6c908fbc3819f9f97a30
[INFO] running `Command { std: "docker" "start" "-a" "521a62789b130016a0b90dca023c8af8f6614853834f6c908fbc3819f9f97a30", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling soft_rust_runtime v0.1.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling soft_rust_macro v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: enum `Severity` is never used
[INFO] [stdout]   --> src/diagnostics.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum Severity {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParseError` is never constructed
[INFO] [stdout]   --> src/diagnostics.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct ParseError {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TypeError` is never constructed
[INFO] [stdout]   --> src/diagnostics.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct TypeError {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ValidationError` is never constructed
[INFO] [stdout]   --> src/diagnostics.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct ValidationError {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DslError` is never used
[INFO] [stdout]   --> src/diagnostics.rs:59:10
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum DslError {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `format_message`, `with_context`, `with_suggestion`, and `code` are never used
[INFO] [stdout]    --> src/diagnostics.rs:67:12
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl DslError {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout]  66 |     /// Format error as compiler-like output
[INFO] [stdout]  67 |     pub fn format_message(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn with_context(mut self, context: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn with_suggestion(mut self, suggestion: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn code(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unexpected_token` is never used
[INFO] [stdout]    --> src/diagnostics.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn unexpected_token(token: &str, context: &str) -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expected_token` is never used
[INFO] [stdout]    --> src/diagnostics.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn expected_token(expected: &str, got: &str, context: &str) -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unclosed_delimiter` is never used
[INFO] [stdout]    --> src/diagnostics.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn unclosed_delimiter(delimiter: &str) -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalid_number` is never used
[INFO] [stdout]    --> src/diagnostics.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn invalid_number(value: &str) -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unterminated_string` is never used
[INFO] [stdout]    --> src/diagnostics.rs:162:8
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub fn unterminated_string() -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `type_mismatch` is never used
[INFO] [stdout]    --> src/diagnostics.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub fn type_mismatch(variable: &str, expected: &str, got: &str) -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unknown_type` is never used
[INFO] [stdout]    --> src/diagnostics.rs:182:8
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub fn unknown_type(type_name: &str) -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalid_identifier` is never used
[INFO] [stdout]    --> src/diagnostics.rs:192:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub fn invalid_identifier(ident: &str) -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `duplicate_binding` is never used
[INFO] [stdout]    --> src/diagnostics.rs:201:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub fn duplicate_binding(name: &str) -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `closure_not_supported` is never used
[INFO] [stdout]    --> src/diagnostics.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn closure_not_supported() -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_parse_error` is never used
[INFO] [stdout]    --> src/diagnostics.rs:224:4
[INFO] [stdout]     |
[INFO] [stdout] 224 | fn format_parse_error(err: &ParseError) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_type_error` is never used
[INFO] [stdout]    --> src/diagnostics.rs:238:4
[INFO] [stdout]     |
[INFO] [stdout] 238 | fn format_type_error(err: &TypeError) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_validation_error` is never used
[INFO] [stdout]    --> src/diagnostics.rs:254:4
[INFO] [stdout]     |
[INFO] [stdout] 254 | fn format_validation_error(err: &ValidationError) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenericParam` is never constructed
[INFO] [stdout]   --> src/generics.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct GenericParam {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_bound`, and `has_bound` are never used
[INFO] [stdout]   --> src/generics.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl GenericParam {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 24 |     /// Create a new generic parameter
[INFO] [stdout] 25 |     pub fn new(name: impl Into<String>, position: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn with_bound(mut self, bound: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn has_bound(&self, bound: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenericContext` is never constructed
[INFO] [stdout]   --> src/generics.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct GenericContext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/generics.rs:65:12
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl GenericContext {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  64 |     /// Create an empty generic context
[INFO] [stdout]  65 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn error(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn add_param(&mut self, param: GenericParam) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn set_substitution(&mut self, param: impl Into<String>, type_str: impl Into<String>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn get_substitution(&self, param: &str) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn all_substituted(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn get_param(&self, name: &str) -> Option<&GenericParam> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn param_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn is_unbounded(&self, name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn get_bounds(&self, name: &str) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_generics` is never used
[INFO] [stdout]    --> src/generics.rs:143:8
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub fn extract_generics(signature: &str) -> GenericContext {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_ident` is never used
[INFO] [stdout]    --> src/generics.rs:204:4
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn is_valid_ident(s: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TypeUnification` is never constructed
[INFO] [stdout]    --> src/generics.rs:224:12
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct TypeUnification {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `infer_type_arguments` is never used
[INFO] [stdout]    --> src/generics.rs:257:8
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub fn infer_type_arguments(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_type_bindings` is never used
[INFO] [stdout]    --> src/generics.rs:303:4
[INFO] [stdout]     |
[INFO] [stdout] 303 | fn extract_type_bindings(param_type: &str, arg_type: &str) -> HashMap<String, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_generic_name` is never used
[INFO] [stdout]    --> src/generics.rs:329:4
[INFO] [stdout]     |
[INFO] [stdout] 329 | fn is_generic_name(s: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_bracket_contents` is never used
[INFO] [stdout]    --> src/generics.rs:353:4
[INFO] [stdout]     |
[INFO] [stdout] 353 | fn extract_bracket_contents(typ: &str) -> Option<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_bounds` is never used
[INFO] [stdout]    --> src/generics.rs:380:8
[INFO] [stdout]     |
[INFO] [stdout] 380 | pub fn validate_bounds(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_type_name` is never used
[INFO] [stdout]    --> src/generics.rs:412:4
[INFO] [stdout]     |
[INFO] [stdout] 412 | fn is_valid_type_name(s: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_type_for_bounds` is never used
[INFO] [stdout]    --> src/generics.rs:430:4
[INFO] [stdout]     |
[INFO] [stdout] 430 | fn is_valid_type_for_bounds(typ: &str, _bounds: &[String]) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substitute_type` is never used
[INFO] [stdout]    --> src/generics.rs:476:8
[INFO] [stdout]     |
[INFO] [stdout] 476 | pub fn substitute_type(return_type: &str, context: &GenericContext) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substitute_in_signature` is never used
[INFO] [stdout]    --> src/generics.rs:536:8
[INFO] [stdout]     |
[INFO] [stdout] 536 | pub fn substitute_in_signature(signature: &str, context: &GenericContext) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unresolved_generics` is never used
[INFO] [stdout]    --> src/generics.rs:572:8
[INFO] [stdout]     |
[INFO] [stdout] 572 | pub fn unresolved_generics(return_type: &str, context: &GenericContext) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.26s
[INFO] running `Command { std: "docker" "inspect" "521a62789b130016a0b90dca023c8af8f6614853834f6c908fbc3819f9f97a30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "521a62789b130016a0b90dca023c8af8f6614853834f6c908fbc3819f9f97a30", kill_on_drop: false }`
[INFO] [stdout] 521a62789b130016a0b90dca023c8af8f6614853834f6c908fbc3819f9f97a30
[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] effc62191e45eaa5f47dd7ef6bb275f366058f6ee736720a8418664e113f794a
[INFO] running `Command { std: "docker" "start" "-a" "effc62191e45eaa5f47dd7ef6bb275f366058f6ee736720a8418664e113f794a", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling soft_rust_runtime v0.1.0
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling soft_rust_macro v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: enum `Severity` is never used
[INFO] [stdout]   --> src/diagnostics.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum Severity {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParseError` is never constructed
[INFO] [stdout]   --> src/diagnostics.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct ParseError {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TypeError` is never constructed
[INFO] [stdout]   --> src/diagnostics.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct TypeError {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ValidationError` is never constructed
[INFO] [stdout]   --> src/diagnostics.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct ValidationError {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DslError` is never used
[INFO] [stdout]   --> src/diagnostics.rs:59:10
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum DslError {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `format_message`, `with_context`, `with_suggestion`, and `code` are never used
[INFO] [stdout]    --> src/diagnostics.rs:67:12
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl DslError {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout]  66 |     /// Format error as compiler-like output
[INFO] [stdout]  67 |     pub fn format_message(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn with_context(mut self, context: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn with_suggestion(mut self, suggestion: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn code(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unexpected_token` is never used
[INFO] [stdout]    --> src/diagnostics.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn unexpected_token(token: &str, context: &str) -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expected_token` is never used
[INFO] [stdout]    --> src/diagnostics.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn expected_token(expected: &str, got: &str, context: &str) -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unclosed_delimiter` is never used
[INFO] [stdout]    --> src/diagnostics.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn unclosed_delimiter(delimiter: &str) -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalid_number` is never used
[INFO] [stdout]    --> src/diagnostics.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn invalid_number(value: &str) -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unterminated_string` is never used
[INFO] [stdout]    --> src/diagnostics.rs:162:8
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub fn unterminated_string() -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `type_mismatch` is never used
[INFO] [stdout]    --> src/diagnostics.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub fn type_mismatch(variable: &str, expected: &str, got: &str) -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unknown_type` is never used
[INFO] [stdout]    --> src/diagnostics.rs:182:8
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub fn unknown_type(type_name: &str) -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalid_identifier` is never used
[INFO] [stdout]    --> src/diagnostics.rs:192:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub fn invalid_identifier(ident: &str) -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `duplicate_binding` is never used
[INFO] [stdout]    --> src/diagnostics.rs:201:8
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub fn duplicate_binding(name: &str) -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `closure_not_supported` is never used
[INFO] [stdout]    --> src/diagnostics.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn closure_not_supported() -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_parse_error` is never used
[INFO] [stdout]    --> src/diagnostics.rs:224:4
[INFO] [stdout]     |
[INFO] [stdout] 224 | fn format_parse_error(err: &ParseError) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_type_error` is never used
[INFO] [stdout]    --> src/diagnostics.rs:238:4
[INFO] [stdout]     |
[INFO] [stdout] 238 | fn format_type_error(err: &TypeError) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_validation_error` is never used
[INFO] [stdout]    --> src/diagnostics.rs:254:4
[INFO] [stdout]     |
[INFO] [stdout] 254 | fn format_validation_error(err: &ValidationError) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenericParam` is never constructed
[INFO] [stdout]   --> src/generics.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct GenericParam {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_bound`, and `has_bound` are never used
[INFO] [stdout]   --> src/generics.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl GenericParam {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 24 |     /// Create a new generic parameter
[INFO] [stdout] 25 |     pub fn new(name: impl Into<String>, position: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn with_bound(mut self, bound: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn has_bound(&self, bound: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenericContext` is never constructed
[INFO] [stdout]   --> src/generics.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct GenericContext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/generics.rs:65:12
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl GenericContext {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  64 |     /// Create an empty generic context
[INFO] [stdout]  65 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn error(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn add_param(&mut self, param: GenericParam) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn set_substitution(&mut self, param: impl Into<String>, type_str: impl Into<String>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn get_substitution(&self, param: &str) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn all_substituted(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn get_param(&self, name: &str) -> Option<&GenericParam> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn param_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn is_unbounded(&self, name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn get_bounds(&self, name: &str) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_generics` is never used
[INFO] [stdout]    --> src/generics.rs:143:8
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub fn extract_generics(signature: &str) -> GenericContext {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_ident` is never used
[INFO] [stdout]    --> src/generics.rs:204:4
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn is_valid_ident(s: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TypeUnification` is never constructed
[INFO] [stdout]    --> src/generics.rs:224:12
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct TypeUnification {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `infer_type_arguments` is never used
[INFO] [stdout]    --> src/generics.rs:257:8
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub fn infer_type_arguments(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_type_bindings` is never used
[INFO] [stdout]    --> src/generics.rs:303:4
[INFO] [stdout]     |
[INFO] [stdout] 303 | fn extract_type_bindings(param_type: &str, arg_type: &str) -> HashMap<String, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_generic_name` is never used
[INFO] [stdout]    --> src/generics.rs:329:4
[INFO] [stdout]     |
[INFO] [stdout] 329 | fn is_generic_name(s: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_bracket_contents` is never used
[INFO] [stdout]    --> src/generics.rs:353:4
[INFO] [stdout]     |
[INFO] [stdout] 353 | fn extract_bracket_contents(typ: &str) -> Option<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_bounds` is never used
[INFO] [stdout]    --> src/generics.rs:380:8
[INFO] [stdout]     |
[INFO] [stdout] 380 | pub fn validate_bounds(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_type_name` is never used
[INFO] [stdout]    --> src/generics.rs:412:4
[INFO] [stdout]     |
[INFO] [stdout] 412 | fn is_valid_type_name(s: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_type_for_bounds` is never used
[INFO] [stdout]    --> src/generics.rs:430:4
[INFO] [stdout]     |
[INFO] [stdout] 430 | fn is_valid_type_for_bounds(typ: &str, _bounds: &[String]) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substitute_type` is never used
[INFO] [stdout]    --> src/generics.rs:476:8
[INFO] [stdout]     |
[INFO] [stdout] 476 | pub fn substitute_type(return_type: &str, context: &GenericContext) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `substitute_in_signature` is never used
[INFO] [stdout]    --> src/generics.rs:536:8
[INFO] [stdout]     |
[INFO] [stdout] 536 | pub fn substitute_in_signature(signature: &str, context: &GenericContext) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unresolved_generics` is never used
[INFO] [stdout]    --> src/generics.rs:572:8
[INFO] [stdout]     |
[INFO] [stdout] 572 | pub fn unresolved_generics(return_type: &str, context: &GenericContext) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Severity` is never used
[INFO] [stdout]   --> src/diagnostics.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum Severity {
[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 `expected_token` is never used
[INFO] [stdout]    --> src/diagnostics.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn expected_token(expected: &str, got: &str, context: &str) -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unclosed_delimiter` is never used
[INFO] [stdout]    --> src/diagnostics.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn unclosed_delimiter(delimiter: &str) -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalid_number` is never used
[INFO] [stdout]    --> src/diagnostics.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn invalid_number(value: &str) -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unterminated_string` is never used
[INFO] [stdout]    --> src/diagnostics.rs:162:8
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub fn unterminated_string() -> DslError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `all_substituted`, `is_unbounded`, and `get_bounds` are never used
[INFO] [stdout]    --> src/generics.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl GenericContext {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn all_substituted(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn is_unbounded(&self, name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn get_bounds(&self, name: &str) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TypeUnification` is never constructed
[INFO] [stdout]    --> src/generics.rs:224:12
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct TypeUnification {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]  --> examples/demo.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[soft_rust]
[INFO] [stdout]   | ------------ arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 8 |     s = "hello";
[INFO] [stdout]   |         ^^^^^^^ expected `String`, found `&str`
[INFO] [stdout]   |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]  --> /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/cell.rs:971:17
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]   |
[INFO] [stdout] 8 |     s = "hello".to_string();
[INFO] [stdout]   |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `RefCell<i64>` doesn't implement `std::fmt::Display`
[INFO] [stdout]   --> examples/demo.rs:11:40
[INFO] [stdout]    |
[INFO] [stdout] 11 |     println!("x={}, y={}, z={}, s={}", x, y, z, s);
[INFO] [stdout]    |                 --                     ^ `RefCell<i64>` cannot be formatted with the default formatter
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 required by this formatting parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `std::fmt::Display` is not implemented for `RefCell<i64>`
[INFO] [stdout]    = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout] help: the trait `std::fmt::Display` is implemented for `Rc<T, A>`
[INFO] [stdout]   --> /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/rc.rs:2803:0
[INFO] [stdout]    = note: required for `Rc<RefCell<i64>>` to implement `std::fmt::Display`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `RefCell<f64>` doesn't implement `std::fmt::Display`
[INFO] [stdout]   --> examples/demo.rs:11:43
[INFO] [stdout]    |
[INFO] [stdout] 11 |     println!("x={}, y={}, z={}, s={}", x, y, z, s);
[INFO] [stdout]    |                       --                  ^ `RefCell<f64>` cannot be formatted with the default formatter
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       required by this formatting parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `std::fmt::Display` is not implemented for `RefCell<f64>`
[INFO] [stdout]    = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout] help: the trait `std::fmt::Display` is implemented for `Rc<T, A>`
[INFO] [stdout]   --> /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/rc.rs:2803:0
[INFO] [stdout]    = note: required for `Rc<RefCell<f64>>` to implement `std::fmt::Display`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `RefCell<String>` doesn't implement `std::fmt::Display`
[INFO] [stdout]   --> examples/demo.rs:11:49
[INFO] [stdout]    |
[INFO] [stdout] 11 |     println!("x={}, y={}, z={}, s={}", x, y, z, s);
[INFO] [stdout]    |                                   --            ^ `RefCell<String>` cannot be formatted with the default formatter
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   required by this formatting parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `std::fmt::Display` is not implemented for `RefCell<String>`
[INFO] [stdout]    = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout] help: the trait `std::fmt::Display` is implemented for `Rc<T, A>`
[INFO] [stdout]   --> /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/rc.rs:2803:0
[INFO] [stdout]    = note: required for `Rc<RefCell<String>>` to implement `std::fmt::Display`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `soft_rust_macro` (example "demo") due to 4 previous errors
[INFO] running `Command { std: "docker" "inspect" "effc62191e45eaa5f47dd7ef6bb275f366058f6ee736720a8418664e113f794a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "effc62191e45eaa5f47dd7ef6bb275f366058f6ee736720a8418664e113f794a", kill_on_drop: false }`
[INFO] [stdout] effc62191e45eaa5f47dd7ef6bb275f366058f6ee736720a8418664e113f794a
