[INFO] cloning repository https://github.com/and3rn3t/hack
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/and3rn3t/hack" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fand3rn3t%2Fhack", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fand3rn3t%2Fhack'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3cf8797fd9747112863e15d482729e1ac86d02b3
[INFO] testing and3rn3t/hack against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fand3rn3t%2Fhack" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc1/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-5-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/and3rn3t/hack
[INFO] finished tweaking git repo https://github.com/and3rn3t/hack
[INFO] tweaked toml for git repo https://github.com/and3rn3t/hack written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/and3rn3t/hack on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/and3rn3t/hack 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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded minicov v0.3.7
[INFO] [stderr]   Downloaded criterion-plot v0.6.0
[INFO] [stderr]   Downloaded document-features v0.2.12
[INFO] [stderr]   Downloaded wasm-bindgen-test-macro v0.3.54
[INFO] [stderr]   Downloaded wasm-bindgen-test v0.3.54
[INFO] [stderr]   Downloaded litrs v1.0.0
[INFO] [stderr]   Downloaded clap v4.5.50
[INFO] [stderr]   Downloaded criterion v0.7.0
[INFO] [stderr]   Downloaded crossterm v0.29.0
[INFO] [stderr]   Downloaded clap_builder v4.5.50
[INFO] [stderr]   Downloaded proptest v1.8.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8603740ffbcd3154fb7939e7fca19fba40819bfed723a08040e1551bc2d32ecf
[INFO] running `Command { std: "docker" "start" "-a" "8603740ffbcd3154fb7939e7fca19fba40819bfed723a08040e1551bc2d32ecf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8603740ffbcd3154fb7939e7fca19fba40819bfed723a08040e1551bc2d32ecf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8603740ffbcd3154fb7939e7fca19fba40819bfed723a08040e1551bc2d32ecf", kill_on_drop: false }`
[INFO] [stdout] 8603740ffbcd3154fb7939e7fca19fba40819bfed723a08040e1551bc2d32ecf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] aeb77b9b60b7a5aac41bc324402ac1e095df45d2cfb409b3657c0644c4af1614
[INFO] running `Command { std: "docker" "start" "-a" "aeb77b9b60b7a5aac41bc324402ac1e095df45d2cfb409b3657c0644c4af1614", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling convert_case v0.7.1
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling syn v2.0.107
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling derive_more v2.0.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling hack_simulator v1.5.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `completed_challenges`
[INFO] [stdout]    --> src/narrative.rs:620:9
[INFO] [stdout]     |
[INFO] [stdout] 620 |         completed_challenges: &HashSet<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_completed_challenges`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_random_sql_challenge` is never used
[INFO] [stdout]     --> src/challenges.rs:2227:4
[INFO] [stdout]      |
[INFO] [stdout] 2227 | fn generate_random_sql_challenge() -> (String, 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 `ui_to_io_result` is never used
[INFO] [stdout]   --> src/tutorial.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn ui_to_io_result<T>(result: std::io::Result<T>) -> std::io::Result<T> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `completed_challenges`
[INFO] [stdout]    --> src/narrative.rs:620:9
[INFO] [stdout]     |
[INFO] [stdout] 620 |         completed_challenges: &HashSet<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_completed_challenges`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `category` is never read
[INFO] [stdout]   --> src/challenges.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Challenge {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub category: ChallengeCategory,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Challenge` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `time_limit` is never read
[INFO] [stdout]   --> src/challenges.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct ChallengeVariant {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub time_limit: Option<u64>, // in seconds, for advanced/expert modes
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChallengeVariant` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Reverse`, `OSINT`, `Steganography`, `Malware`, and `IoT` are never constructed
[INFO] [stdout]   --> src/challenges.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum ChallengeCategory {
[INFO] [stdout]    |          ----------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 78 |     Reverse,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 79 |     Binary,
[INFO] [stdout] 80 |     OSINT,         // Open Source Intelligence (v1.2.0)
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 81 |     Steganography, // Hidden data techniques (v1.5.0)
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 82 |     Malware,       // Malware analysis and obfuscation (v1.5.0)
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 83 |     IoT,           // Internet of Things security (v1.5.0)
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChallengeCategory` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_variants`, and `validate` are never used
[INFO] [stdout]    --> src/challenges.rs:87:12
[INFO] [stdout]     |
[INFO] [stdout]  86 | impl Challenge {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  87 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn with_variants(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn validate(&self, answer: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_random_sql_challenge` is never used
[INFO] [stdout]     --> src/challenges.rs:2227:4
[INFO] [stdout]      |
[INFO] [stdout] 2227 | fn generate_random_sql_challenge() -> (String, String) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_challenge_with_difficulty` is never used
[INFO] [stdout]     --> src/challenges.rs:2357:8
[INFO] [stdout]      |
[INFO] [stdout] 2357 | pub fn get_challenge_with_difficulty(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_challenge_difficulties` is never used
[INFO] [stdout]     --> src/challenges.rs:2367:8
[INFO] [stdout]      |
[INFO] [stdout] 2367 | pub fn get_challenge_difficulties(challenge_id: &str) -> Vec<ChallengeDifficulty> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NarrativeChoice` is never constructed
[INFO] [stdout]    --> src/narrative.rs:311:12
[INFO] [stdout]     |
[INFO] [stdout] 311 | pub struct NarrativeChoice {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChoiceEffects` is never constructed
[INFO] [stdout]    --> src/narrative.rs:322:12
[INFO] [stdout]     |
[INFO] [stdout] 322 | pub struct ChoiceEffects {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChoiceRequirements` is never constructed
[INFO] [stdout]    --> src/narrative.rs:333:12
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub struct ChoiceRequirements {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NarrativeBranch` is never constructed
[INFO] [stdout]    --> src/narrative.rs:344:12
[INFO] [stdout]     |
[INFO] [stdout] 344 | pub struct NarrativeBranch {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BranchingNarrative` is never constructed
[INFO] [stdout]    --> src/narrative.rs:357:12
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub struct BranchingNarrative {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/narrative.rs:371:12
[INFO] [stdout]     |
[INFO] [stdout] 370 | impl BranchingNarrative {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 371 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn initialize_branches(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 616 |     pub fn check_trigger(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 646 |     pub fn make_choice(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 676 |     pub fn is_choice_available(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 712 |     pub fn get_story_flags(&self) -> &HashSet<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 716 |     pub fn get_choice_history(&self) -> &[String] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 720 |     pub fn get_branch(&self, id: &str) -> Option<&NarrativeBranch> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 724 |     pub fn get_all_branches(&self) -> Vec<&NarrativeBranch> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ui_to_io_result` is never used
[INFO] [stdout]   --> src/tutorial.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn ui_to_io_result<T>(result: std::io::Result<T>) -> std::io::Result<T> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `theme_secondary` is never used
[INFO] [stdout]    --> src/ui.rs:312:8
[INFO] [stdout]     |
[INFO] [stdout] 312 | pub fn theme_secondary() -> Color {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_screen_buffered` is never used
[INFO] [stdout]    --> src/ui.rs:364:12
[INFO] [stdout]     |
[INFO] [stdout] 364 |     pub fn clear_screen_buffered() -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `begin_frame` is never used
[INFO] [stdout]    --> src/ui.rs:371:12
[INFO] [stdout]     |
[INFO] [stdout] 371 |     pub fn begin_frame() -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `end_frame` is never used
[INFO] [stdout]    --> src/ui.rs:378:12
[INFO] [stdout]     |
[INFO] [stdout] 378 |     pub fn end_frame() -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_colored_buffered` is never used
[INFO] [stdout]    --> src/ui.rs:385:12
[INFO] [stdout]     |
[INFO] [stdout] 385 |     pub fn print_colored_buffered(text: &str, color: Color) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_screen` is never used
[INFO] [stdout]    --> src/ui.rs:396:12
[INFO] [stdout]     |
[INFO] [stdout] 396 |     pub fn render_screen<F>(render_fn: F) -> io::Result<()>
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_menu_buffered` is never used
[INFO] [stdout]    --> src/ui.rs:407:12
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub fn render_menu_buffered(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_separator_buffered` is never used
[INFO] [stdout]    --> src/ui.rs:435:12
[INFO] [stdout]     |
[INFO] [stdout] 435 |     pub fn print_separator_buffered() -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PerformanceTimer` is never constructed
[INFO] [stdout]    --> src/ui.rs:440:16
[INFO] [stdout]     |
[INFO] [stdout] 440 |     pub struct PerformanceTimer {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `elapsed` are never used
[INFO] [stdout]    --> src/ui.rs:446:16
[INFO] [stdout]     |
[INFO] [stdout] 445 |     impl PerformanceTimer {
[INFO] [stdout]     |     --------------------- associated items in this implementation
[INFO] [stdout] 446 |         pub fn new(name: &str) -> Self {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 453 |         pub fn elapsed(&self) -> std::time::Duration {
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_memory_usage` is never used
[INFO] [stdout]    --> src/ui.rs:472:12
[INFO] [stdout]     |
[INFO] [stdout] 472 |     pub fn print_memory_usage(label: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_command_history` is never used
[INFO] [stdout]    --> src/ui.rs:768:12
[INFO] [stdout]     |
[INFO] [stdout] 768 |     pub fn clear_command_history() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_history_size` is never used
[INFO] [stdout]    --> src/ui.rs:775:12
[INFO] [stdout]     |
[INFO] [stdout] 775 |     pub fn get_history_size() -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_box` is never used
[INFO] [stdout]    --> src/ui.rs:862:12
[INFO] [stdout]     |
[INFO] [stdout] 862 |     pub fn print_box(title: &str, content: &str, color: Color) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_challenge_header` is never used
[INFO] [stdout]    --> src/ui.rs:901:12
[INFO] [stdout]     |
[INFO] [stdout] 901 |     pub fn print_challenge_header(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `typewriter_effect` is never used
[INFO] [stdout]    --> src/ui.rs:941:12
[INFO] [stdout]     |
[INFO] [stdout] 941 |     pub fn typewriter_effect(text: &str, delay_ms: u64) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.20s
[INFO] running `Command { std: "docker" "inspect" "aeb77b9b60b7a5aac41bc324402ac1e095df45d2cfb409b3657c0644c4af1614", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aeb77b9b60b7a5aac41bc324402ac1e095df45d2cfb409b3657c0644c4af1614", kill_on_drop: false }`
[INFO] [stdout] aeb77b9b60b7a5aac41bc324402ac1e095df45d2cfb409b3657c0644c4af1614
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ac6aaf613fdb0c87a8ab90281fb0211a852abce9a6145c6a29450b2b25be1160
[INFO] running `Command { std: "docker" "start" "-a" "ac6aaf613fdb0c87a8ab90281fb0211a852abce9a6145c6a29450b2b25be1160", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.104
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling bumpalo v3.19.0
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling clap_builder v4.5.50
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling wasm-bindgen v0.2.104
[INFO] [stderr]    Compiling syn v2.0.107
[INFO] [stderr]    Compiling criterion-plot v0.6.0
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling clap v4.5.50
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.104
[INFO] [stderr]    Compiling zerocopy-derive v0.8.27
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling wasm-bindgen-test-macro v0.3.54
[INFO] [stderr]    Compiling derive_more v2.0.1
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.104
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.104
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling js-sys v0.3.81
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling criterion v0.7.0
[INFO] [stderr]    Compiling proptest v1.8.0
[INFO] [stderr]    Compiling hack_simulator v1.5.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `completed_challenges`
[INFO] [stdout]    --> src/narrative.rs:620:9
[INFO] [stdout]     |
[INFO] [stdout] 620 |         completed_challenges: &HashSet<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_completed_challenges`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_random_sql_challenge` is never used
[INFO] [stdout]     --> src/challenges.rs:2227:4
[INFO] [stdout]      |
[INFO] [stdout] 2227 | fn generate_random_sql_challenge() -> (String, 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 `ui_to_io_result` is never used
[INFO] [stdout]   --> src/tutorial.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn ui_to_io_result<T>(result: std::io::Result<T>) -> std::io::Result<T> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wasm-bindgen-futures v0.4.54
[INFO] [stderr]    Compiling wasm-bindgen-test v0.3.54
[INFO] [stdout] warning: unused variable: `completed_challenges`
[INFO] [stdout]    --> src/narrative.rs:620:9
[INFO] [stdout]     |
[INFO] [stdout] 620 |         completed_challenges: &HashSet<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_completed_challenges`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `category` is never read
[INFO] [stdout]   --> src/challenges.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Challenge {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub category: ChallengeCategory,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Challenge` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `time_limit` is never read
[INFO] [stdout]   --> src/challenges.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct ChallengeVariant {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub time_limit: Option<u64>, // in seconds, for advanced/expert modes
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChallengeVariant` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Reverse`, `OSINT`, `Steganography`, `Malware`, and `IoT` are never constructed
[INFO] [stdout]   --> src/challenges.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum ChallengeCategory {
[INFO] [stdout]    |          ----------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 78 |     Reverse,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 79 |     Binary,
[INFO] [stdout] 80 |     OSINT,         // Open Source Intelligence (v1.2.0)
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 81 |     Steganography, // Hidden data techniques (v1.5.0)
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 82 |     Malware,       // Malware analysis and obfuscation (v1.5.0)
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 83 |     IoT,           // Internet of Things security (v1.5.0)
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChallengeCategory` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_variants`, and `validate` are never used
[INFO] [stdout]    --> src/challenges.rs:87:12
[INFO] [stdout]     |
[INFO] [stdout]  86 | impl Challenge {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  87 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn with_variants(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn validate(&self, answer: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_random_sql_challenge` is never used
[INFO] [stdout]     --> src/challenges.rs:2227:4
[INFO] [stdout]      |
[INFO] [stdout] 2227 | fn generate_random_sql_challenge() -> (String, String) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_challenge_with_difficulty` is never used
[INFO] [stdout]     --> src/challenges.rs:2357:8
[INFO] [stdout]      |
[INFO] [stdout] 2357 | pub fn get_challenge_with_difficulty(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_challenge_difficulties` is never used
[INFO] [stdout]     --> src/challenges.rs:2367:8
[INFO] [stdout]      |
[INFO] [stdout] 2367 | pub fn get_challenge_difficulties(challenge_id: &str) -> Vec<ChallengeDifficulty> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NarrativeChoice` is never constructed
[INFO] [stdout]    --> src/narrative.rs:311:12
[INFO] [stdout]     |
[INFO] [stdout] 311 | pub struct NarrativeChoice {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChoiceEffects` is never constructed
[INFO] [stdout]    --> src/narrative.rs:322:12
[INFO] [stdout]     |
[INFO] [stdout] 322 | pub struct ChoiceEffects {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChoiceRequirements` is never constructed
[INFO] [stdout]    --> src/narrative.rs:333:12
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub struct ChoiceRequirements {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NarrativeBranch` is never constructed
[INFO] [stdout]    --> src/narrative.rs:344:12
[INFO] [stdout]     |
[INFO] [stdout] 344 | pub struct NarrativeBranch {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BranchingNarrative` is never constructed
[INFO] [stdout]    --> src/narrative.rs:357:12
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub struct BranchingNarrative {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/narrative.rs:371:12
[INFO] [stdout]     |
[INFO] [stdout] 370 | impl BranchingNarrative {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 371 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn initialize_branches(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 616 |     pub fn check_trigger(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 646 |     pub fn make_choice(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 676 |     pub fn is_choice_available(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 712 |     pub fn get_story_flags(&self) -> &HashSet<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 716 |     pub fn get_choice_history(&self) -> &[String] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 720 |     pub fn get_branch(&self, id: &str) -> Option<&NarrativeBranch> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 724 |     pub fn get_all_branches(&self) -> Vec<&NarrativeBranch> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ui_to_io_result` is never used
[INFO] [stdout]   --> src/tutorial.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn ui_to_io_result<T>(result: std::io::Result<T>) -> std::io::Result<T> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `theme_secondary` is never used
[INFO] [stdout]    --> src/ui.rs:312:8
[INFO] [stdout]     |
[INFO] [stdout] 312 | pub fn theme_secondary() -> Color {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_screen_buffered` is never used
[INFO] [stdout]    --> src/ui.rs:364:12
[INFO] [stdout]     |
[INFO] [stdout] 364 |     pub fn clear_screen_buffered() -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `begin_frame` is never used
[INFO] [stdout]    --> src/ui.rs:371:12
[INFO] [stdout]     |
[INFO] [stdout] 371 |     pub fn begin_frame() -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `end_frame` is never used
[INFO] [stdout]    --> src/ui.rs:378:12
[INFO] [stdout]     |
[INFO] [stdout] 378 |     pub fn end_frame() -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_colored_buffered` is never used
[INFO] [stdout]    --> src/ui.rs:385:12
[INFO] [stdout]     |
[INFO] [stdout] 385 |     pub fn print_colored_buffered(text: &str, color: Color) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_screen` is never used
[INFO] [stdout]    --> src/ui.rs:396:12
[INFO] [stdout]     |
[INFO] [stdout] 396 |     pub fn render_screen<F>(render_fn: F) -> io::Result<()>
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_menu_buffered` is never used
[INFO] [stdout]    --> src/ui.rs:407:12
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub fn render_menu_buffered(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_separator_buffered` is never used
[INFO] [stdout]    --> src/ui.rs:435:12
[INFO] [stdout]     |
[INFO] [stdout] 435 |     pub fn print_separator_buffered() -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PerformanceTimer` is never constructed
[INFO] [stdout]    --> src/ui.rs:440:16
[INFO] [stdout]     |
[INFO] [stdout] 440 |     pub struct PerformanceTimer {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `elapsed` are never used
[INFO] [stdout]    --> src/ui.rs:446:16
[INFO] [stdout]     |
[INFO] [stdout] 445 |     impl PerformanceTimer {
[INFO] [stdout]     |     --------------------- associated items in this implementation
[INFO] [stdout] 446 |         pub fn new(name: &str) -> Self {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 453 |         pub fn elapsed(&self) -> std::time::Duration {
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_memory_usage` is never used
[INFO] [stdout]    --> src/ui.rs:472:12
[INFO] [stdout]     |
[INFO] [stdout] 472 |     pub fn print_memory_usage(label: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_command_history` is never used
[INFO] [stdout]    --> src/ui.rs:768:12
[INFO] [stdout]     |
[INFO] [stdout] 768 |     pub fn clear_command_history() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_history_size` is never used
[INFO] [stdout]    --> src/ui.rs:775:12
[INFO] [stdout]     |
[INFO] [stdout] 775 |     pub fn get_history_size() -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_box` is never used
[INFO] [stdout]    --> src/ui.rs:862:12
[INFO] [stdout]     |
[INFO] [stdout] 862 |     pub fn print_box(title: &str, content: &str, color: Color) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_challenge_header` is never used
[INFO] [stdout]    --> src/ui.rs:901:12
[INFO] [stdout]     |
[INFO] [stdout] 901 |     pub fn print_challenge_header(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `typewriter_effect` is never used
[INFO] [stdout]    --> src/ui.rs:941:12
[INFO] [stdout]     |
[INFO] [stdout] 941 |     pub fn typewriter_effect(text: &str, delay_ms: u64) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_low_sanity_state` is never used
[INFO] [stdout]   --> tests/common/mod.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn create_low_sanity_state() -> GameState {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read` is never used
[INFO] [stdout]   --> tests/common/mod.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl TempSaveFile {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn read(&self) -> std::io::Result<String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMPTY` is never used
[INFO] [stdout]   --> tests/common/mod.rs:89:15
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub const EMPTY: &str = "";
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITESPACE` is never used
[INFO] [stdout]   --> tests/common/mod.rs:90:15
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub const WHITESPACE: &str = "   ";
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERY_LONG` is never used
[INFO] [stdout]   --> tests/common/mod.rs:91:15
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub const VERY_LONG: &str = "A very long string that repeats many times. A very long string that repeats many times. A very long...
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPECIAL_CHARS` is never used
[INFO] [stdout]   --> tests/common/mod.rs:92:15
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub const SPECIAL_CHARS: &str = "!@#$%^&*()_+-={}[]|\\:\";<>?,./~`";
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNICODE` is never used
[INFO] [stdout]   --> tests/common/mod.rs:93:15
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub const UNICODE: &str = "测试 👻 🎃 🔥";
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SQL_INJECTION` is never used
[INFO] [stdout]   --> tests/common/mod.rs:94:15
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub const SQL_INJECTION: &str = "' OR '1'='1' --";
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HTML_TAGS` is never used
[INFO] [stdout]   --> tests/common/mod.rs:95:15
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub const HTML_TAGS: &str = "<script>alert('xss')</script>";
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NULL_BYTE` is never used
[INFO] [stdout]   --> tests/common/mod.rs:96:15
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub const NULL_BYTE: &str = "test\0null";
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `completed_challenges`
[INFO] [stdout]    --> src/narrative.rs:620:9
[INFO] [stdout]     |
[INFO] [stdout] 620 |         completed_challenges: &HashSet<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_completed_challenges`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `completed_challenges`
[INFO] [stdout]    --> src/narrative.rs:620:9
[INFO] [stdout]     |
[INFO] [stdout] 620 |         completed_challenges: &HashSet<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_completed_challenges`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `category` is never read
[INFO] [stdout]   --> src/challenges.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Challenge {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub category: ChallengeCategory,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Challenge` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `time_limit` is never read
[INFO] [stdout]   --> src/challenges.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct ChallengeVariant {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub time_limit: Option<u64>, // in seconds, for advanced/expert modes
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChallengeVariant` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Reverse`, `OSINT`, `Steganography`, `Malware`, and `IoT` are never constructed
[INFO] [stdout]   --> src/challenges.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum ChallengeCategory {
[INFO] [stdout]    |          ----------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 78 |     Reverse,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 79 |     Binary,
[INFO] [stdout] 80 |     OSINT,         // Open Source Intelligence (v1.2.0)
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 81 |     Steganography, // Hidden data techniques (v1.5.0)
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 82 |     Malware,       // Malware analysis and obfuscation (v1.5.0)
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 83 |     IoT,           // Internet of Things security (v1.5.0)
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChallengeCategory` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_variants`, and `validate` are never used
[INFO] [stdout]    --> src/challenges.rs:87:12
[INFO] [stdout]     |
[INFO] [stdout]  86 | impl Challenge {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  87 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn with_variants(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn validate(&self, answer: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_random_sql_challenge` is never used
[INFO] [stdout]     --> src/challenges.rs:2227:4
[INFO] [stdout]      |
[INFO] [stdout] 2227 | fn generate_random_sql_challenge() -> (String, String) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_challenge_with_difficulty` is never used
[INFO] [stdout]     --> src/challenges.rs:2357:8
[INFO] [stdout]      |
[INFO] [stdout] 2357 | pub fn get_challenge_with_difficulty(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_challenge_difficulties` is never used
[INFO] [stdout]     --> src/challenges.rs:2367:8
[INFO] [stdout]      |
[INFO] [stdout] 2367 | pub fn get_challenge_difficulties(challenge_id: &str) -> Vec<ChallengeDifficulty> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NarrativeChoice` is never constructed
[INFO] [stdout]    --> src/narrative.rs:311:12
[INFO] [stdout]     |
[INFO] [stdout] 311 | pub struct NarrativeChoice {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChoiceEffects` is never constructed
[INFO] [stdout]    --> src/narrative.rs:322:12
[INFO] [stdout]     |
[INFO] [stdout] 322 | pub struct ChoiceEffects {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChoiceRequirements` is never constructed
[INFO] [stdout]    --> src/narrative.rs:333:12
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub struct ChoiceRequirements {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NarrativeBranch` is never constructed
[INFO] [stdout]    --> src/narrative.rs:344:12
[INFO] [stdout]     |
[INFO] [stdout] 344 | pub struct NarrativeBranch {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BranchingNarrative` is never constructed
[INFO] [stdout]    --> src/narrative.rs:357:12
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub struct BranchingNarrative {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/narrative.rs:371:12
[INFO] [stdout]     |
[INFO] [stdout] 370 | impl BranchingNarrative {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 371 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn initialize_branches(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 616 |     pub fn check_trigger(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 646 |     pub fn make_choice(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 676 |     pub fn is_choice_available(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 712 |     pub fn get_story_flags(&self) -> &HashSet<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 716 |     pub fn get_choice_history(&self) -> &[String] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 720 |     pub fn get_branch(&self, id: &str) -> Option<&NarrativeBranch> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 724 |     pub fn get_all_branches(&self) -> Vec<&NarrativeBranch> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ui_to_io_result` is never used
[INFO] [stdout]   --> src/tutorial.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn ui_to_io_result<T>(result: std::io::Result<T>) -> std::io::Result<T> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `theme_secondary` is never used
[INFO] [stdout]    --> src/ui.rs:312:8
[INFO] [stdout]     |
[INFO] [stdout] 312 | pub fn theme_secondary() -> Color {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_screen_buffered` is never used
[INFO] [stdout]    --> src/ui.rs:364:12
[INFO] [stdout]     |
[INFO] [stdout] 364 |     pub fn clear_screen_buffered() -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `begin_frame` is never used
[INFO] [stdout]    --> src/ui.rs:371:12
[INFO] [stdout]     |
[INFO] [stdout] 371 |     pub fn begin_frame() -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `end_frame` is never used
[INFO] [stdout]    --> src/ui.rs:378:12
[INFO] [stdout]     |
[INFO] [stdout] 378 |     pub fn end_frame() -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_colored_buffered` is never used
[INFO] [stdout]    --> src/ui.rs:385:12
[INFO] [stdout]     |
[INFO] [stdout] 385 |     pub fn print_colored_buffered(text: &str, color: Color) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_screen` is never used
[INFO] [stdout]    --> src/ui.rs:396:12
[INFO] [stdout]     |
[INFO] [stdout] 396 |     pub fn render_screen<F>(render_fn: F) -> io::Result<()>
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_menu_buffered` is never used
[INFO] [stdout]    --> src/ui.rs:407:12
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub fn render_menu_buffered(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_separator_buffered` is never used
[INFO] [stdout]    --> src/ui.rs:435:12
[INFO] [stdout]     |
[INFO] [stdout] 435 |     pub fn print_separator_buffered() -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PerformanceTimer` is never constructed
[INFO] [stdout]    --> src/ui.rs:440:16
[INFO] [stdout]     |
[INFO] [stdout] 440 |     pub struct PerformanceTimer {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `elapsed` are never used
[INFO] [stdout]    --> src/ui.rs:446:16
[INFO] [stdout]     |
[INFO] [stdout] 445 |     impl PerformanceTimer {
[INFO] [stdout]     |     --------------------- associated items in this implementation
[INFO] [stdout] 446 |         pub fn new(name: &str) -> Self {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 453 |         pub fn elapsed(&self) -> std::time::Duration {
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_memory_usage` is never used
[INFO] [stdout]    --> src/ui.rs:472:12
[INFO] [stdout]     |
[INFO] [stdout] 472 |     pub fn print_memory_usage(label: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_command_history` is never used
[INFO] [stdout]    --> src/ui.rs:768:12
[INFO] [stdout]     |
[INFO] [stdout] 768 |     pub fn clear_command_history() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_history_size` is never used
[INFO] [stdout]    --> src/ui.rs:775:12
[INFO] [stdout]     |
[INFO] [stdout] 775 |     pub fn get_history_size() -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_box` is never used
[INFO] [stdout]    --> src/ui.rs:862:12
[INFO] [stdout]     |
[INFO] [stdout] 862 |     pub fn print_box(title: &str, content: &str, color: Color) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_challenge_header` is never used
[INFO] [stdout]    --> src/ui.rs:901:12
[INFO] [stdout]     |
[INFO] [stdout] 901 |     pub fn print_challenge_header(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `typewriter_effect` is never used
[INFO] [stdout]    --> src/ui.rs:941:12
[INFO] [stdout]     |
[INFO] [stdout] 941 |     pub fn typewriter_effect(text: &str, delay_ms: u64) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_random_sql_challenge` is never used
[INFO] [stdout]     --> src/challenges.rs:2227:4
[INFO] [stdout]      |
[INFO] [stdout] 2227 | fn generate_random_sql_challenge() -> (String, 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 `ui_to_io_result` is never used
[INFO] [stdout]   --> src/tutorial.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn ui_to_io_result<T>(result: std::io::Result<T>) -> std::io::Result<T> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 33.27s
[INFO] running `Command { std: "docker" "inspect" "ac6aaf613fdb0c87a8ab90281fb0211a852abce9a6145c6a29450b2b25be1160", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ac6aaf613fdb0c87a8ab90281fb0211a852abce9a6145c6a29450b2b25be1160", kill_on_drop: false }`
[INFO] [stdout] ac6aaf613fdb0c87a8ab90281fb0211a852abce9a6145c6a29450b2b25be1160
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7dc86870a7666476ac20b732aa7e94e7361bbd0b65857e679c5c4bcdfb239478
[INFO] running `Command { std: "docker" "start" "-a" "7dc86870a7666476ac20b732aa7e94e7361bbd0b65857e679c5c4bcdfb239478", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `completed_challenges`
[INFO] [stderr]    --> src/narrative.rs:620:9
[INFO] [stderr]     |
[INFO] [stderr] 620 |         completed_challenges: &HashSet<String>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_completed_challenges`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_random_sql_challenge` is never used
[INFO] [stderr]     --> src/challenges.rs:2227:4
[INFO] [stderr]      |
[INFO] [stderr] 2227 | fn generate_random_sql_challenge() -> (String, String) {
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `ui_to_io_result` is never used
[INFO] [stderr]   --> src/tutorial.rs:11:4
[INFO] [stderr]    |
[INFO] [stderr] 11 | fn ui_to_io_result<T>(result: std::io::Result<T>) -> std::io::Result<T> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `hack_simulator` (lib) generated 3 warnings (run `cargo fix --lib -p hack_simulator` to apply 1 suggestion)
[INFO] [stderr] warning: field `category` is never read
[INFO] [stderr]   --> src/challenges.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub struct Challenge {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 38 |     pub category: ChallengeCategory,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Challenge` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `time_limit` is never read
[INFO] [stderr]   --> src/challenges.rs:62:9
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub struct ChallengeVariant {
[INFO] [stderr]    |            ---------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 62 |     pub time_limit: Option<u64>, // in seconds, for advanced/expert modes
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ChallengeVariant` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Reverse`, `OSINT`, `Steganography`, `Malware`, and `IoT` are never constructed
[INFO] [stderr]   --> src/challenges.rs:78:5
[INFO] [stderr]    |
[INFO] [stderr] 73 | pub enum ChallengeCategory {
[INFO] [stderr]    |          ----------------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 78 |     Reverse,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 79 |     Binary,
[INFO] [stderr] 80 |     OSINT,         // Open Source Intelligence (v1.2.0)
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 81 |     Steganography, // Hidden data techniques (v1.5.0)
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 82 |     Malware,       // Malware analysis and obfuscation (v1.5.0)
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 83 |     IoT,           // Internet of Things security (v1.5.0)
[INFO] [stderr]    |     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ChallengeCategory` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `with_variants`, and `validate` are never used
[INFO] [stderr]    --> src/challenges.rs:87:12
[INFO] [stderr]     |
[INFO] [stderr]  86 | impl Challenge {
[INFO] [stderr]     | -------------- associated items in this implementation
[INFO] [stderr]  87 |     pub fn new(
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 118 |     pub fn with_variants(
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 239 |     pub fn validate(&self, answer: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_random_sql_challenge` is never used
[INFO] [stderr]     --> src/challenges.rs:2227:4
[INFO] [stderr]      |
[INFO] [stderr] 2227 | fn generate_random_sql_challenge() -> (String, String) {
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_challenge_with_difficulty` is never used
[INFO] [stderr]     --> src/challenges.rs:2357:8
[INFO] [stderr]      |
[INFO] [stderr] 2357 | pub fn get_challenge_with_difficulty(
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_challenge_difficulties` is never used
[INFO] [stderr]     --> src/challenges.rs:2367:8
[INFO] [stderr]      |
[INFO] [stderr] 2367 | pub fn get_challenge_difficulties(challenge_id: &str) -> Vec<ChallengeDifficulty> {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `NarrativeChoice` is never constructed
[INFO] [stderr]    --> src/narrative.rs:311:12
[INFO] [stderr]     |
[INFO] [stderr] 311 | pub struct NarrativeChoice {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ChoiceEffects` is never constructed
[INFO] [stderr]    --> src/narrative.rs:322:12
[INFO] [stderr]     |
[INFO] [stderr] 322 | pub struct ChoiceEffects {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ChoiceRequirements` is never constructed
[INFO] [stderr]    --> src/narrative.rs:333:12
[INFO] [stderr]     |
[INFO] [stderr] 333 | pub struct ChoiceRequirements {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `NarrativeBranch` is never constructed
[INFO] [stderr]    --> src/narrative.rs:344:12
[INFO] [stderr]     |
[INFO] [stderr] 344 | pub struct NarrativeBranch {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BranchingNarrative` is never constructed
[INFO] [stderr]    --> src/narrative.rs:357:12
[INFO] [stderr]     |
[INFO] [stderr] 357 | pub struct BranchingNarrative {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/narrative.rs:371:12
[INFO] [stderr]     |
[INFO] [stderr] 370 | impl BranchingNarrative {
[INFO] [stderr]     | ----------------------- associated items in this implementation
[INFO] [stderr] 371 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 382 |     fn initialize_branches(&mut self) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 616 |     pub fn check_trigger(
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 646 |     pub fn make_choice(
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 676 |     pub fn is_choice_available(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 712 |     pub fn get_story_flags(&self) -> &HashSet<String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 716 |     pub fn get_choice_history(&self) -> &[String] {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 720 |     pub fn get_branch(&self, id: &str) -> Option<&NarrativeBranch> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 724 |     pub fn get_all_branches(&self) -> Vec<&NarrativeBranch> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `theme_secondary` is never used
[INFO] [stderr]    --> src/ui.rs:312:8
[INFO] [stderr]     |
[INFO] [stderr] 312 | pub fn theme_secondary() -> Color {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `clear_screen_buffered` is never used
[INFO] [stderr]    --> src/ui.rs:364:12
[INFO] [stderr]     |
[INFO] [stderr] 364 |     pub fn clear_screen_buffered() -> io::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `begin_frame` is never used
[INFO] [stderr]    --> src/ui.rs:371:12
[INFO] [stderr]     |
[INFO] [stderr] 371 |     pub fn begin_frame() -> io::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `end_frame` is never used
[INFO] [stderr]    --> src/ui.rs:378:12
[INFO] [stderr]     |
[INFO] [stderr] 378 |     pub fn end_frame() -> io::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_colored_buffered` is never used
[INFO] [stderr]    --> src/ui.rs:385:12
[INFO] [stderr]     |
[INFO] [stderr] 385 |     pub fn print_colored_buffered(text: &str, color: Color) -> io::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_screen` is never used
[INFO] [stderr]    --> src/ui.rs:396:12
[INFO] [stderr]     |
[INFO] [stderr] 396 |     pub fn render_screen<F>(render_fn: F) -> io::Result<()>
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_menu_buffered` is never used
[INFO] [stderr]    --> src/ui.rs:407:12
[INFO] [stderr]     |
[INFO] [stderr] 407 |     pub fn render_menu_buffered(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_separator_buffered` is never used
[INFO] [stderr]    --> src/ui.rs:435:12
[INFO] [stderr]     |
[INFO] [stderr] 435 |     pub fn print_separator_buffered() -> io::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PerformanceTimer` is never constructed
[INFO] [stderr]    --> src/ui.rs:440:16
[INFO] [stderr]     |
[INFO] [stderr] 440 |     pub struct PerformanceTimer {
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `elapsed` are never used
[INFO] [stderr]    --> src/ui.rs:446:16
[INFO] [stderr]     |
[INFO] [stderr] 445 |     impl PerformanceTimer {
[INFO] [stderr]     |     --------------------- associated items in this implementation
[INFO] [stderr] 446 |         pub fn new(name: &str) -> Self {
[INFO] [stderr]     |                ^^^
[INFO] [stderr] ...
[INFO] [stderr] 453 |         pub fn elapsed(&self) -> std::time::Duration {
[INFO] [stderr]     |                ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_memory_usage` is never used
[INFO] [stderr]    --> src/ui.rs:472:12
[INFO] [stderr]     |
[INFO] [stderr] 472 |     pub fn print_memory_usage(label: &str) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `clear_command_history` is never used
[INFO] [stderr]    --> src/ui.rs:768:12
[INFO] [stderr]     |
[INFO] [stderr] 768 |     pub fn clear_command_history() {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_history_size` is never used
[INFO] [stderr]    --> src/ui.rs:775:12
[INFO] [stderr]     |
[INFO] [stderr] 775 |     pub fn get_history_size() -> usize {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_box` is never used
[INFO] [stderr]    --> src/ui.rs:862:12
[INFO] [stderr]     |
[INFO] [stderr] 862 |     pub fn print_box(title: &str, content: &str, color: Color) -> io::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_challenge_header` is never used
[INFO] [stderr]    --> src/ui.rs:901:12
[INFO] [stderr]     |
[INFO] [stderr] 901 |     pub fn print_challenge_header(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `typewriter_effect` is never used
[INFO] [stderr]    --> src/ui.rs:941:12
[INFO] [stderr]     |
[INFO] [stderr] 941 |     pub fn typewriter_effect(text: &str, delay_ms: u64) -> io::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `hack_simulator` (bin "hack_simulator") generated 31 warnings (2 duplicates)
[INFO] [stderr] warning: function `create_low_sanity_state` is never used
[INFO] [stderr]   --> tests/common/mod.rs:43:8
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub fn create_low_sanity_state() -> GameState {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `read` is never used
[INFO] [stderr]   --> tests/common/mod.rs:76:12
[INFO] [stderr]    |
[INFO] [stderr] 61 | impl TempSaveFile {
[INFO] [stderr]    | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 76 |     pub fn read(&self) -> std::io::Result<String> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `EMPTY` is never used
[INFO] [stderr]   --> tests/common/mod.rs:89:15
[INFO] [stderr]    |
[INFO] [stderr] 89 |     pub const EMPTY: &str = "";
[INFO] [stderr]    |               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WHITESPACE` is never used
[INFO] [stderr]   --> tests/common/mod.rs:90:15
[INFO] [stderr]    |
[INFO] [stderr] 90 |     pub const WHITESPACE: &str = "   ";
[INFO] [stderr]    |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VERY_LONG` is never used
[INFO] [stderr]   --> tests/common/mod.rs:91:15
[INFO] [stderr]    |
[INFO] [stderr] 91 |     pub const VERY_LONG: &str = "A very long string that repeats many times. A very long string that repeats many times. A very long...
[INFO] [stderr]    |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SPECIAL_CHARS` is never used
[INFO] [stderr]   --> tests/common/mod.rs:92:15
[INFO] [stderr]    |
[INFO] [stderr] 92 |     pub const SPECIAL_CHARS: &str = "!@#$%^&*()_+-={}[]|\\:\";<>?,./~`";
[INFO] [stderr]    |               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `UNICODE` is never used
[INFO] [stderr]   --> tests/common/mod.rs:93:15
[INFO] [stderr]    |
[INFO] [stderr] 93 |     pub const UNICODE: &str = "测试 👻 🎃 🔥";
[INFO] [stderr]    |               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SQL_INJECTION` is never used
[INFO] [stderr]   --> tests/common/mod.rs:94:15
[INFO] [stderr]    |
[INFO] [stderr] 94 |     pub const SQL_INJECTION: &str = "' OR '1'='1' --";
[INFO] [stderr]    |               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HTML_TAGS` is never used
[INFO] [stderr]   --> tests/common/mod.rs:95:15
[INFO] [stderr]    |
[INFO] [stderr] 95 |     pub const HTML_TAGS: &str = "<script>alert('xss')</script>";
[INFO] [stderr]    |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NULL_BYTE` is never used
[INFO] [stderr]   --> tests/common/mod.rs:96:15
[INFO] [stderr]    |
[INFO] [stderr] 96 |     pub const NULL_BYTE: &str = "test\0null";
[INFO] [stderr]    |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `hack_simulator` (bin "hack_simulator" test) generated 31 warnings (31 duplicates)
[INFO] [stderr] warning: `hack_simulator` (test "save_load_tests") generated 10 warnings
[INFO] [stderr] warning: `hack_simulator` (lib test) generated 3 warnings (3 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/hack_simulator-d1b79bb75017c542)
[INFO] [stdout] 
[INFO] [stdout] running 81 tests
[INFO] [stdout] test challenges::tests::test_all_challenges_have_descriptions ... ok
[INFO] [stdout] test challenges::tests::test_all_challenges_have_hints ... ok
[INFO] [stdout] test challenges::tests::test_all_challenges_have_valid_ids ... ok
[INFO] [stdout] test challenges::tests::test_all_challenges_have_unique_ids ... ok
[INFO] [stdout] test challenges::tests::test_binary_challenge ... ok
[INFO] [stdout] test challenges::tests::test_all_challenges_have_titles ... ok
[INFO] [stdout] test challenges::tests::test_challenge_rewards_are_positive ... ok
[INFO] [stdout] test challenges::tests::test_command_injection_challenge ... ok
[INFO] [stdout] test challenges::tests::test_cors_bypass_challenge ... ok
[INFO] [stdout] test challenges::tests::test_format_string_challenge ... ok
[INFO] [stdout] test challenges::tests::test_file_discovery_challenge ... ok
[INFO] [stdout] test challenges::tests::test_buffer_overflow_challenge ... ok
[INFO] [stdout] test challenges::tests::test_get_challenges_for_level ... ok
[INFO] [stdout] test challenges::tests::test_caesar_cipher_challenge ... ok
[INFO] [stdout] test challenges::tests::test_challenge_levels_are_valid ... ok
[INFO] [stdout] test challenges::tests::test_jwt_token_challenge ... ok
[INFO] [stdout] test challenges::tests::test_hex_decode_challenge ... ok
[INFO] [stdout] test challenges::tests::test_md5_collision_challenge ... ok
[INFO] [stdout] test challenges::tests::test_no_empty_hints ... ok
[INFO] [stdout] test challenges::tests::test_port_scan_challenge ... ok
[INFO] [stdout] test challenges::tests::test_rot13_challenge ... ok
[INFO] [stdout] test challenges::tests::test_rewards_scale_with_difficulty ... ok
[INFO] [stdout] test challenges::tests::test_sql_injection_challenge ... ok
[INFO] [stdout] test challenges::tests::test_path_traversal_challenge ... ok
[INFO] [stdout] test challenges::tests::test_race_condition_challenge ... ok
[INFO] [stdout] test challenges::tests::test_total_challenge_count ... ok
[INFO] [stdout] test challenges::tests::test_reverse_engineering_challenge ... ok
[INFO] [stdout] test challenges::tests::test_url_decode_challenge ... ok
[INFO] [stdout] test challenges::tests::test_welcome_challenge ... ok
[INFO] [stdout] test challenges::tests::test_xss_attack_challenge ... ok
[INFO] [stdout] test challenges::tests::test_level_distribution ... ok
[INFO] [stdout] test challenges::tests::test_session_hijack_challenge ... ok
[INFO] [stdout] test challenges::tests::test_challenge_ids_follow_naming_convention ... ok
[INFO] [stdout] test challenges::tests::test_integer_overflow_challenge ... ok
[INFO] [stdout] test state::tests::proptests::test_sanity_always_bounded ... ok
[INFO] [stdout] test challenges::tests::proptests::test_numeric_inputs_safe ... ok
[INFO] [stdout] test state::tests::test_challenge_id_with_special_chars ... ok
[INFO] [stdout] test state::tests::test_complete_challenge_increases_xp ... ok
[INFO] [stdout] test state::tests::test_complete_same_challenge_twice_is_idempotent ... ok
[INFO] [stdout] test state::tests::test_discover_same_secret_twice ... ok
[INFO] [stdout] test challenges::tests::proptests::test_empty_input_never_valid ... ok
[INFO] [stdout] test state::tests::test_discover_secret ... ok
[INFO] [stdout] test state::tests::test_extreme_values ... ok
[INFO] [stdout] test state::tests::test_complete_multiple_challenges ... ok
[INFO] [stdout] test state::tests::test_level_caps_at_10 ... ok
[INFO] [stdout] test state::tests::test_has_completed_returns_false_for_new_challenge ... ok
[INFO] [stdout] test state::tests::test_level_progression ... ok
[INFO] [stdout] test state::tests::test_long_player_name ... ok
[INFO] [stdout] test state::tests::test_modify_sanity_decreases ... ok
[INFO] [stdout] test state::tests::test_modify_sanity_increases ... ok
[INFO] [stdout] test state::tests::test_new_game_state ... ok
[INFO] [stdout] test state::tests::test_sanity_cannot_exceed_100 ... ok
[INFO] [stdout] test state::tests::test_sanity_cannot_go_below_zero ... ok
[INFO] [stdout] test state::tests::test_empty_player_name ... ok
[INFO] [stdout] test state::tests::test_load_fails_when_no_save_exists ... ok
[INFO] [stdout] test state::tests::proptests::test_level_monotonic ... ok
[INFO] [stdout] test challenges::tests::proptests::test_unicode_safe ... ok
[INFO] [stdout] test state::tests::test_state_cloning ... ok
[INFO] [stdout] test state::tests::test_unicode_player_name ... ok
[INFO] [stdout] test tutorial::tests::test_tutorial_not_needed_if_challenges_completed ... ok
[INFO] [stdout] test tutorial::tests::test_tutorial_state_tracking ... ok
[INFO] [stdout] test challenges::tests::proptests::test_special_chars_safe ... ok
[INFO] [stdout] test tutorial::tests::test_tutorial_xp_rewards ... ok
[INFO] [stdout] test ui::tests::test_completion_context ... ok
[INFO] [stdout] test ui::tests::test_all_themes ... ok
[INFO] [stdout] test ui::tests::test_theme_creation ... ok
[INFO] [stdout] test ui::tests::test_theme_system ... ok
[INFO] [stdout] test state::tests::proptests::test_arbitrary_challenge_ids ... ok
[INFO] [stdout] test state::tests::proptests::test_experience_never_decreases ... ok
[INFO] [stdout] test state::tests::test_save_and_load_preserves_state ... FAILED
[INFO] [stdout] test challenges::tests::proptests::test_validators_never_panic ... ok
[INFO] [stdout] test state::tests::test_save_creates_file ... FAILED
[INFO] [stdout] test state::tests::test_save_overwrites_existing_file ... FAILED
[INFO] [stdout] test state::tests::proptests::test_challenge_completion_idempotent ... ok
[INFO] [stdout] test state::tests::test_serialization_format ... FAILED
[INFO] [stdout] test challenges::tests::proptests::test_wrong_answer_case_insensitive ... ok
[INFO] [stdout] test state::tests::proptests::test_player_name_accepts_any_string ... ok
[INFO] [stdout] test state::tests::proptests::test_has_completed_consistency ... ok
[INFO] [stdout] test challenges::tests::proptests::test_long_inputs_handled ... ok
[INFO] [stdout] test state::tests::proptests::test_serialization_lossless ... ok
[INFO] [stdout] test state::tests::proptests::test_secret_discovery_safe ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- state::tests::test_save_and_load_preserves_state stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'state::tests::test_save_and_load_preserves_state' (93) panicked at src/state.rs:1257:34:
[INFO] [stdout] Save failed: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6276a7e658b2 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6276a7e658b2 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6276a7e658b2 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6276a7e658b2 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6276a7e7c9fa - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6276a7e7c9fa - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x6276a7e6aac6 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6276a7e6aac6 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6276a7e42a9f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6276a7e42a9f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6276a7e5d569 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6276a7cd5e3e - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6276a7cd5e3e - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6276a7e5d722 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6276a7e5d722 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6276a7e42b58 - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6276a7e37bc9 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6276a7e439ad - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6276a7e7d1bc - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6276a7e7cf32 - core[27de1724e4349be2]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6276a7d4e5cc - <core[27de1724e4349be2]::result::Result<(), std[3b51380354919863]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6276a7c85336 - hack_simulator[4e7677a79d2e9267]::state::tests::test_save_and_load_preserves_state
[INFO] [stdout]                                at /opt/rustwide/workdir/src/state.rs:1257:34
[INFO] [stdout]   22:     0x6276a7c83017 - hack_simulator[4e7677a79d2e9267]::state::tests::test_save_and_load_preserves_state::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/state.rs:1247:44
[INFO] [stdout]   23:     0x6276a7c5b2f6 - <hack_simulator[4e7677a79d2e9267]::state::tests::test_save_and_load_preserves_state::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x6276a7cca1eb - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6276a7cca1eb - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x6276a7cd6a4a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x6276a7cd6a4a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x6276a7cd6a4a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x6276a7cd6a4a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x6276a7cd6a4a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x6276a7cd6a4a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x6276a7cd6a4a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x6276a7cd1ff4 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x6276a7cd1ff4 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x6276a7cd9542 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x6276a7cd9542 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x6276a7cd9542 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x6276a7cd9542 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x6276a7cd9542 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x6276a7cd9542 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x6276a7cd9542 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x6276a7e64c1f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x6276a7e64c1f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   44:     0x79c4e78f7aa4 - <unknown>
[INFO] [stdout]   45:     0x79c4e7984a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- state::tests::test_save_creates_file stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'state::tests::test_save_creates_file' (94) panicked at src/state.rs:1240:9:
[INFO] [stdout] assertion failed: result.is_ok()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6276a7e658b2 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6276a7e658b2 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6276a7e658b2 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6276a7e658b2 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6276a7e7c9fa - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6276a7e7c9fa - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x6276a7e6aac6 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6276a7e6aac6 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6276a7e42a9f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6276a7e42a9f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6276a7e5d569 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6276a7cd5e3e - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6276a7cd5e3e - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6276a7e5d722 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6276a7e5d722 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6276a7e42b8a - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x6276a7e37bc9 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6276a7e439ad - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6276a7e7d1bc - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6276a7e7d182 - core[27de1724e4349be2]::panicking::panic
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x6276a7c843f7 - hack_simulator[4e7677a79d2e9267]::state::tests::test_save_creates_file
[INFO] [stdout]                                at /opt/rustwide/workdir/src/state.rs:1240:9
[INFO] [stdout]   21:     0x6276a7c82e67 - hack_simulator[4e7677a79d2e9267]::state::tests::test_save_creates_file::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/state.rs:1234:32
[INFO] [stdout]   22:     0x6276a7c5b0b6 - <hack_simulator[4e7677a79d2e9267]::state::tests::test_save_creates_file::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x6276a7cca1eb - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x6276a7cca1eb - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x6276a7cd6a4a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x6276a7cd6a4a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x6276a7cd6a4a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x6276a7cd6a4a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x6276a7cd6a4a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x6276a7cd6a4a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x6276a7cd6a4a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x6276a7cd1ff4 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x6276a7cd1ff4 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x6276a7cd9542 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x6276a7cd9542 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x6276a7cd9542 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x6276a7cd9542 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x6276a7cd9542 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x6276a7cd9542 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x6276a7cd9542 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x6276a7e64c1f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   42:     0x6276a7e64c1f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   43:     0x79c4e78f7aa4 - <unknown>
[INFO] [stdout]   44:     0x79c4e7984a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- state::tests::test_save_overwrites_existing_file stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'state::tests::test_save_overwrites_existing_file' (95) panicked at src/state.rs:1290:35:
[INFO] [stdout] First save failed: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6276a7e658b2 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6276a7e658b2 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6276a7e658b2 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6276a7e658b2 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6276a7e7c9fa - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6276a7e7c9fa - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x6276a7e6aac6 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6276a7e6aac6 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6276a7e42a9f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6276a7e42a9f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6276a7e5d569 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6276a7cd5e3e - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6276a7cd5e3e - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6276a7e5d722 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6276a7e5d722 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6276a7e42b58 - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6276a7e37bc9 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6276a7e439ad - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6276a7e7d1bc - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6276a7e7cf32 - core[27de1724e4349be2]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6276a7d4e5cc - <core[27de1724e4349be2]::result::Result<(), std[3b51380354919863]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6276a7c8581a - hack_simulator[4e7677a79d2e9267]::state::tests::test_save_overwrites_existing_file
[INFO] [stdout]                                at /opt/rustwide/workdir/src/state.rs:1290:35
[INFO] [stdout]   22:     0x6276a7c83047 - hack_simulator[4e7677a79d2e9267]::state::tests::test_save_overwrites_existing_file::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/state.rs:1284:44
[INFO] [stdout]   23:     0x6276a7c5b336 - <hack_simulator[4e7677a79d2e9267]::state::tests::test_save_overwrites_existing_file::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x6276a7cca1eb - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6276a7cca1eb - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x6276a7cd6a4a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x6276a7cd6a4a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x6276a7cd6a4a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x6276a7cd6a4a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x6276a7cd6a4a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x6276a7cd6a4a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x6276a7cd6a4a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x6276a7cd1ff4 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x6276a7cd1ff4 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x6276a7cd9542 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x6276a7cd9542 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x6276a7cd9542 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x6276a7cd9542 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x6276a7cd9542 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x6276a7cd9542 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x6276a7cd9542 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x6276a7e64c1f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x6276a7e64c1f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   44:     0x79c4e78f7aa4 - <unknown>
[INFO] [stdout]   45:     0x79c4e7984a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- state::tests::test_serialization_format stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'state::tests::test_serialization_format' (96) panicked at src/state.rs:1314:34:
[INFO] [stdout] Save failed: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6276a7e658b2 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6276a7e658b2 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6276a7e658b2 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6276a7e658b2 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6276a7e7c9fa - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6276a7e7c9fa - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x6276a7e6aac6 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6276a7e6aac6 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6276a7e42a9f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6276a7e42a9f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6276a7e5d569 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6276a7cd5e3e - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6276a7cd5e3e - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6276a7e5d722 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6276a7e5d722 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6276a7e42b58 - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6276a7e37bc9 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6276a7e439ad - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6276a7e7d1bc - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6276a7e7cf32 - core[27de1724e4349be2]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6276a7d4e5cc - <core[27de1724e4349be2]::result::Result<(), std[3b51380354919863]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6276a7c84696 - hack_simulator[4e7677a79d2e9267]::state::tests::test_serialization_format
[INFO] [stdout]                                at /opt/rustwide/workdir/src/state.rs:1314:34
[INFO] [stdout]   22:     0x6276a7c82ec7 - hack_simulator[4e7677a79d2e9267]::state::tests::test_serialization_format::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/state.rs:1308:35
[INFO] [stdout]   23:     0x6276a7c5b136 - <hack_simulator[4e7677a79d2e9267]::state::tests::test_serialization_format::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x6276a7cca1eb - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6276a7cca1eb - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x6276a7cd6a4a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x6276a7cd6a4a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x6276a7cd6a4a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x6276a7cd6a4a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x6276a7cd6a4a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x6276a7cd6a4a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x6276a7cd6a4a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x6276a7cd1ff4 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x6276a7cd1ff4 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x6276a7cd9542 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x6276a7cd9542 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x6276a7cd9542 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x6276a7cd9542 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x6276a7cd9542 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x6276a7cd9542 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x6276a7cd9542 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x6276a7e64c1f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x6276a7e64c1f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   44:     0x79c4e78f7aa4 - <unknown>
[INFO] [stdout]   45:     0x79c4e7984a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     state::tests::test_save_and_load_preserves_state
[INFO] [stdout]     state::tests::test_save_creates_file
[INFO] [stdout]     state::tests::test_save_overwrites_existing_file
[INFO] [stdout]     state::tests::test_serialization_format
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 77 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.53s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7dc86870a7666476ac20b732aa7e94e7361bbd0b65857e679c5c4bcdfb239478", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7dc86870a7666476ac20b732aa7e94e7361bbd0b65857e679c5c4bcdfb239478", kill_on_drop: false }`
[INFO] [stdout] 7dc86870a7666476ac20b732aa7e94e7361bbd0b65857e679c5c4bcdfb239478
