[INFO] fetching crate haxonite 0.1.0...
[INFO] testing haxonite-0.1.0 against beta-2025-09-21 for beta-1.91-3
[INFO] extracting crate haxonite 0.1.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate haxonite 0.1.0
[INFO] finished tweaking crates.io crate haxonite 0.1.0
[INFO] tweaked toml for crates.io crate haxonite 0.1.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate haxonite 0.1.0 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 76 packages to latest compatible versions
[INFO] [stderr]       Adding clap v2.34.0 (available: v4.5.48)
[INFO] [stderr]       Adding iron v0.4.0 (available: v0.6.1)
[INFO] [stderr]       Adding log v0.3.9 (available: v0.4.28)
[INFO] [stderr]       Adding logger v0.2.0 (available: v0.4.0)
[INFO] [stderr]       Adding mount v0.2.1 (available: v0.4.0)
[INFO] [stderr]       Adding router v0.4.0 (available: v0.6.0)
[INFO] [stderr]       Adding rustache v0.0.4 (available: v0.1.0)
[INFO] [stderr]       Adding simplelog v0.4.4 (available: v0.12.2)
[INFO] [stderr]       Adding staticfile v0.3.1 (available: v0.5.0)
[INFO] [stderr]       Adding toml v0.2.1 (available: v0.9.7)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1a296ee791aecca0d2c495a8d9ddabb9108aa3d0129496a1498bfdf7d8593b5e
[INFO] running `Command { std: "docker" "start" "-a" "1a296ee791aecca0d2c495a8d9ddabb9108aa3d0129496a1498bfdf7d8593b5e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1a296ee791aecca0d2c495a8d9ddabb9108aa3d0129496a1498bfdf7d8593b5e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1a296ee791aecca0d2c495a8d9ddabb9108aa3d0129496a1498bfdf7d8593b5e", kill_on_drop: false }`
[INFO] [stdout] 1a296ee791aecca0d2c495a8d9ddabb9108aa3d0129496a1498bfdf7d8593b5e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3a48ab8dbe78d900bc027308680dfd68d04c8da6e2be28665cb6c36c5674bd8e
[INFO] running `Command { std: "docker" "start" "-a" "3a48ab8dbe78d900bc027308680dfd68d04c8da6e2be28665cb6c36c5674bd8e", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling traitobject v0.1.1
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling matches v0.1.10
[INFO] [stderr]    Compiling percent-encoding v1.0.1
[INFO] [stderr]    Compiling hpack v0.2.0
[INFO] [stderr]    Compiling typeable v0.1.2
[INFO] [stderr]    Compiling mime v0.2.6
[INFO] [stderr]    Compiling traitobject v0.0.1
[INFO] [stderr]    Compiling language-tags v0.2.2
[INFO] [stderr]    Compiling conduit-mime-types v0.7.3
[INFO] [stderr]    Compiling num_cpus v0.2.13
[INFO] [stderr]    Compiling modifier v0.1.0
[INFO] [stderr]    Compiling lazy_static v0.1.16
[INFO] [stderr]    Compiling sequence_trie v0.0.13
[INFO] [stderr]    Compiling route-recognizer v0.1.13
[INFO] [stderr]    Compiling simplelog v0.4.4
[INFO] [stderr]    Compiling random_choice v0.3.2
[INFO] [stderr]    Compiling rustache v0.0.4
[INFO] [stderr]    Compiling toml v0.2.1
[INFO] [stderr]    Compiling unsafe-any v0.4.2
[INFO] [stderr]    Compiling error v0.1.9
[INFO] [stderr]    Compiling typemap v0.3.3
[INFO] [stderr]    Compiling solicit v0.4.4
[INFO] [stderr]    Compiling unicase v1.4.2
[INFO] [stderr]    Compiling plugin v0.2.6
[INFO] [stderr]    Compiling idna v0.1.5
[INFO] [stderr]    Compiling url v1.7.2
[INFO] [stderr]    Compiling cookie v0.2.5
[INFO] [stderr]    Compiling hyper v0.9.18
[INFO] [stderr]    Compiling iron v0.4.0
[INFO] [stderr]    Compiling mount v0.2.1
[INFO] [stderr]    Compiling logger v0.2.0
[INFO] [stderr]    Compiling router v0.4.0
[INFO] [stderr]    Compiling staticfile v0.3.1
[INFO] [stderr]    Compiling haxonite v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]   --> src/config.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(Debug, RustcDecodable)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]   --> src/config.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Debug, RustcDecodable, Clone)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]   --> src/config.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, RustcDecodable, Clone)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     try!(fs::create_dir_all(Path::new(project_name).join("responses")));
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     try!(fs::create_dir_all(Path::new(project_name).join("assets")));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     try!(config_toml.write_all(config_toml_content(generate_full_project)));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     try!(haxonite_json.write_all(LIMONITE_JSON.as_bytes()));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     try!(try!(File::create(Path::new(project_name).join("assets").join("haxonite.png"))).write_all(LIMONITE_LOGO));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:36:27
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let mut config_toml = try!(File::create(Path::new(project_name).join("config.toml")));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:39:29
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut haxonite_json = try!(File::create(Path::new(project_name).join("responses").join("haxonite.json")));
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 |     try!(try!(File::create(Path::new(project_name).join("assets").join("haxonite.png"))).write_all(LIMONITE_LOGO));
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         try!(try!(File::create(Path::new(project_name).join("responses").join("resources.json"))).write_all(RESOURCES_JSON.as_bytes()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         try!(try!(File::create(Path::new(project_name).join("responses").join("resource.json"))).write_all(RESOURCE_JSON.as_bytes()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |         try!(try!(File::create(Path::new(project_name).join("responses").join("error.404.json"))).write_all(ERROR_404_JSON.as_bytes()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         try!(try!(File::create(Path::new(project_name).join("responses").join("error.500.json"))).write_all(ERROR_500_JSON.as_bytes()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:44:14
[INFO] [stdout]    |
[INFO] [stdout] 44 |         try!(try!(File::create(Path::new(project_name).join("responses").join("resources.json"))).write_all(RESOURCES_JSON.as_bytes()));
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:45:14
[INFO] [stdout]    |
[INFO] [stdout] 45 |         try!(try!(File::create(Path::new(project_name).join("responses").join("resource.json"))).write_all(RESOURCE_JSON.as_bytes()));
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:46:14
[INFO] [stdout]    |
[INFO] [stdout] 46 |         try!(try!(File::create(Path::new(project_name).join("responses").join("error.404.json"))).write_all(ERROR_404_JSON.as_bytes()));
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils.rs:47:14
[INFO] [stdout]    |
[INFO] [stdout] 47 |         try!(try!(File::create(Path::new(project_name).join("responses").join("error.500.json"))).write_all(ERROR_500_JSON.as_bytes()));
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |             try!(utils::create_new_project(project_name, generate_full_project));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:72:26
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let config_content = try!(config::read_config(config_file));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |             try!(process_config_requests(&requests, &mut mount, &mut router));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         try!(define_route(request_name.clone(),
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:142:35
[INFO] [stdout]     |
[INFO] [stdout] 142 |             let response_config = try!(response_configs.first()
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:144:22
[INFO] [stdout]     |
[INFO] [stdout] 144 |             Box::new(try!(get_single_response_handler(request_name.clone(), response_config.clone())))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:151:37
[INFO] [stdout]     |
[INFO] [stdout] 151 | ...                   try!(get_single_response_handler(request_name.clone(), response_config.clone())));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:158:37
[INFO] [stdout]     |
[INFO] [stdout] 158 |                 handler.add_handler(try!(get_single_response_handler(request_name.clone(), response_config.clone())));
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:165:37
[INFO] [stdout]     |
[INFO] [stdout] 165 |                 handler.add_handler(try!(get_single_response_handler(request_name.clone(), response_config.clone())));
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:170:35
[INFO] [stdout]     |
[INFO] [stdout] 170 |             let response_config = try!(response_configs.first()
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stdout]   --> src/main.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 | use std::ascii::AsciiExt;
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/error.rs:37:32
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `decode` found for struct `ResponseConfig` in the current scope
[INFO] [stdout]   --> src/config.rs:38:74
[INFO] [stdout]    |
[INFO] [stdout] 38 |                                    |d| d.read_to_vec(|d| ResponseConfig::decode(d)))
[INFO] [stdout]    |                                                                          ^^^^^^ function or associated item not found in `ResponseConfig`
[INFO] [stdout] ...
[INFO] [stdout] 51 | pub struct ResponseConfig {
[INFO] [stdout]    | ------------------------- function or associated item `decode` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `Decodable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/config.rs:106:92
[INFO] [stdout]     |
[INFO] [stdout] 106 |         Err(err) => return Err(io::Error::new(err.kind(), format!("{}: {}", file_name, err.description())))
[INFO] [stdout]     |                                                                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/config.rs:110:92
[INFO] [stdout]     |
[INFO] [stdout] 110 |         Err(err) => return Err(io::Error::new(err.kind(), format!("{}: {}", file_name, err.description())))
[INFO] [stdout]     |                                                                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:26:47
[INFO] [stdout]    |
[INFO] [stdout] 26 |             HaxoniteError::Io(ref err) => err.description(),
[INFO] [stdout]    |                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `config::Config: Decodable` is not satisfied
[INFO] [stdout]    --> src/main.rs:73:26
[INFO] [stdout]     |
[INFO] [stdout]  73 |     let config: Config = toml::decode_str(config_content.as_ref()).unwrap(); // TODO: remove unwrap to handle malformed config
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Decodable` is not implemented for `config::Config`
[INFO] [stdout]    --> src/config.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub struct Config {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Decodable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T10, T11)
[INFO] [stdout]               (T11,)
[INFO] [stdout]               (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]             and 72 others
[INFO] [stdout] note: required by a bound in `decode_str`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/toml-0.2.1/src/decoder/mod.rs:100:22
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn decode_str<T: ::rustc_serialize::Decodable>(s: &str) -> Option<T> {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `decode_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:140:22
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let handler: Box<Handler> = match type_.as_ref() {
[INFO] [stdout]     |                      ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let handler: Box<dyn Handler> = match type_.as_ref() {
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | use std::ascii::AsciiExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `haxonite` (bin "haxonite") due to 5 previous errors; 33 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "3a48ab8dbe78d900bc027308680dfd68d04c8da6e2be28665cb6c36c5674bd8e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3a48ab8dbe78d900bc027308680dfd68d04c8da6e2be28665cb6c36c5674bd8e", kill_on_drop: false }`
[INFO] [stdout] 3a48ab8dbe78d900bc027308680dfd68d04c8da6e2be28665cb6c36c5674bd8e
