[INFO] cloning repository https://github.com/whj768702/100-exercises-to-learn-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/whj768702/100-exercises-to-learn-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwhj768702%2F100-exercises-to-learn-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwhj768702%2F100-exercises-to-learn-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] de1f029160d4e306d364662536d227537fba44a1
[INFO] checking whj768702/100-exercises-to-learn-rust against 760e1de835e253bf28bbcbfee38b5e8ed9ffe074 for pr-133502-27
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwhj768702%2F100-exercises-to-learn-rust" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/whj768702/100-exercises-to-learn-rust
[INFO] finished tweaking git repo https://github.com/whj768702/100-exercises-to-learn-rust
[INFO] tweaked toml for git repo https://github.com/whj768702/100-exercises-to-learn-rust written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/whj768702/100-exercises-to-learn-rust on toolchain 760e1de835e253bf28bbcbfee38b5e8ed9ffe074
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+760e1de835e253bf28bbcbfee38b5e8ed9ffe074" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/whj768702/100-exercises-to-learn-rust 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" "+760e1de835e253bf28bbcbfee38b5e8ed9ffe074" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c36f533e8924a726b63f9d01e781fa8c8c28c96d1d595403829afb31452ee0f5" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 46de077f3e5f099f940bb9b1f14560c5ab485f3894923b7f579b71806dbf7488
[INFO] running `Command { std: "docker" "start" "46de077f3e5f099f940bb9b1f14560c5ab485f3894923b7f579b71806dbf7488", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "46de077f3e5f099f940bb9b1f14560c5ab485f3894923b7f579b71806dbf7488", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "46de077f3e5f099f940bb9b1f14560c5ab485f3894923b7f579b71806dbf7488" "/opt/rustwide/cargo-home/bin/cargo" "+760e1de835e253bf28bbcbfee38b5e8ed9ffe074" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "46de077f3e5f099f940bb9b1f14560c5ab485f3894923b7f579b71806dbf7488", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "46de077f3e5f099f940bb9b1f14560c5ab485f3894923b7f579b71806dbf7488" "/opt/rustwide/cargo-home/bin/cargo" "+760e1de835e253bf28bbcbfee38b5e8ed9ffe074" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.82
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling thiserror v1.0.60
[INFO] [stderr]     Checking common v0.1.0 (/opt/rustwide/workdir/helpers/common)
[INFO] [stderr]    Compiling libc v0.2.154
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking bytes v1.6.0
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]    Compiling serde v1.0.202
[INFO] [stderr]    Compiling ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking regex-syntax v0.8.3
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling unicase v2.7.0
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling phf_shared v0.11.2
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking parking_lot v0.12.2
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling syn v2.0.63
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking anstyle-parse v0.2.4
[INFO] [stderr]     Checking colorchoice v1.0.1
[INFO] [stderr]     Checking anstyle v1.0.7
[INFO] [stderr]     Checking anstyle-query v1.0.3
[INFO] [stderr]    Compiling ucd-trie v0.1.6
[INFO] [stderr]     Checking mac v0.1.1
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]     Checking cpufeatures v0.2.12
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.0
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]     Checking futf v0.1.5
[INFO] [stderr]     Checking anstream v0.6.14
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]     Checking precomputed-hash v0.1.1
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking tendril v0.4.3
[INFO] [stderr]     Checking phf v0.11.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking data-encoding v2.6.0
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]     Checking indexmap v2.2.6
[INFO] [stderr]     Checking clap_lex v0.7.0
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]     Checking headers-core v0.2.0
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking inotify v0.9.6
[INFO] [stderr]     Checking crossbeam-channel v0.5.13
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking url v2.5.0
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking filetime v0.2.23
[INFO] [stderr]     Checking regex-automata v0.4.6
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]    Compiling pulldown-cmark v0.10.3
[INFO] [stderr]     Checking tower-service v0.3.2
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking scoped-tls v1.0.1
[INFO] [stderr]     Checking pulldown-cmark-escape v0.10.1
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking iana-time-zone v0.1.60
[INFO] [stderr]    Compiling semver v1.0.23
[INFO] [stderr]     Checking fastrand v2.1.0
[INFO] [stderr]     Checking maplit v1.0.2
[INFO] [stderr]     Checking pathdiff v0.2.1
[INFO] [stderr]     Checking shlex v1.3.0
[INFO] [stderr]     Checking topological-sort v0.2.2
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling phf_generator v0.11.2
[INFO] [stderr]     Checking packages v0.1.0 (/opt/rustwide/workdir/exercises/05_ticket_v2/10_packages)
[INFO] [stderr]     Checking outro_03 v0.1.0 (/opt/rustwide/workdir/exercises/04_traits/14_outro)
[INFO] [stderr]    Compiling string_cache_codegen v0.5.2
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]    Compiling phf_codegen v0.11.2
[INFO] [stderr]     Checking outro_02 v0.1.0 (/opt/rustwide/workdir/exercises/03_ticket_v1/12_outro)
[INFO] [stderr]     Checking deps v0.1.0 (/opt/rustwide/workdir/exercises/05_ticket_v2/11_dependencies)
[INFO] [stderr]     Checking error_trait v0.1.0 (/opt/rustwide/workdir/exercises/05_ticket_v2/09_error_trait)
[INFO] [stdout] warning: unused import: `anyhow::Error`
[INFO] [stdout]  --> exercises/05_ticket_v2/11_dependencies/src/lib.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use anyhow::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking str_slice v0.1.0 (/opt/rustwide/workdir/exercises/04_traits/06_str_slice)
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking variants_with_data v0.1.0 (/opt/rustwide/workdir/exercises/05_ticket_v2/03_variants_with_data)
[INFO] [stderr]     Checking unwrap v0.1.0 (/opt/rustwide/workdir/exercises/05_ticket_v2/07_unwrap)
[INFO] [stdout] warning: unused import: `anyhow::Error`
[INFO] [stdout]  --> exercises/05_ticket_v2/11_dependencies/src/lib.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use anyhow::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking fallibility v0.1.0 (/opt/rustwide/workdir/exercises/05_ticket_v2/06_fallibility)
[INFO] [stderr]     Checking error_enums v0.1.0 (/opt/rustwide/workdir/exercises/05_ticket_v2/08_error_enums)
[INFO] [stderr]     Checking validation v0.1.0 (/opt/rustwide/workdir/exercises/03_ticket_v1/02_validation)
[INFO] [stdout] warning: variants `InProgress` and `Done` are never constructed
[INFO] [stdout]   --> exercises/05_ticket_v2/09_error_trait/src/lib.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | enum Status {
[INFO] [stdout]    |      ------ variants in this enum
[INFO] [stdout] 48 |     ToDo,
[INFO] [stdout] 49 |     InProgress { assigned_to: String },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 50 |     Done,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Status` 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] [stderr]     Checking nullability v0.1.0 (/opt/rustwide/workdir/exercises/05_ticket_v2/05_nullability)
[INFO] [stderr]     Checking setters v0.1.0 (/opt/rustwide/workdir/exercises/03_ticket_v1/07_setters)
[INFO] [stdout] warning: variants `InProgress` and `Done` are never constructed
[INFO] [stdout]   --> exercises/05_ticket_v2/07_unwrap/src/lib.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | enum Status {
[INFO] [stdout]    |      ------ variants in this enum
[INFO] [stdout] 26 |     ToDo,
[INFO] [stdout] 27 |     InProgress { assigned_to: String },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 28 |     Done,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Status` 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] [stderr]     Checking enum_ v0.1.0 (/opt/rustwide/workdir/exercises/05_ticket_v2/01_enum)
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> exercises/05_ticket_v2/08_error_enums/src/lib.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 |     DescriptionError(String),
[INFO] [stdout]   |     ---------------- ^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TicketNewError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 7 -     DescriptionError(String),
[INFO] [stdout] 7 +     DescriptionError(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InProgress` and `Done` are never constructed
[INFO] [stdout]   --> exercises/05_ticket_v2/08_error_enums/src/lib.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | enum Status {
[INFO] [stdout]    |      ------ variants in this enum
[INFO] [stdout] 33 |     ToDo,
[INFO] [stdout] 34 |     InProgress { assigned_to: String },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 35 |     Done,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Status` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking intro_02 v0.1.0 (/opt/rustwide/workdir/exercises/03_ticket_v1/00_intro)
[INFO] [stdout] warning: variants `InProgress` and `Done` are never constructed
[INFO] [stdout]   --> exercises/05_ticket_v2/06_fallibility/src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | enum Status {
[INFO] [stdout]    |      ------ variants in this enum
[INFO] [stdout] 13 |     ToDo,
[INFO] [stdout] 14 |     InProgress { assigned_to: String },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 15 |     Done,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Status` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking saturating v0.1.0 (/opt/rustwide/workdir/exercises/02_basic_calculator/09_saturating)
[INFO] [stdout] warning: fields `title`, `description`, and `status` are never read
[INFO] [stdout]  --> exercises/03_ticket_v1/02_validation/src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Ticket {
[INFO] [stdout]   |        ------ fields in this struct
[INFO] [stdout] 2 |     title: String,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 3 |     description: String,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 4 |     status: String,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking slice v0.1.0 (/opt/rustwide/workdir/exercises/06_ticket_management/10_slices)
[INFO] [stderr]     Checking interior_mutability v0.1.0 (/opt/rustwide/workdir/exercises/07_threads/06_interior_mutability)
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stdout] warning: function `intro` is never used
[INFO] [stdout]  --> exercises/03_ticket_v1/00_intro/src/lib.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn intro() -> &'static str {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking outro_04 v0.1.0 (/opt/rustwide/workdir/exercises/05_ticket_v2/15_outro)
[INFO] [stderr]     Checking notify v6.1.1
[INFO] [stderr]     Checking intro_08 v0.1.0 (/opt/rustwide/workdir/exercises/08_futures/00_intro)
[INFO] [stdout] error: expected type, found `"not yet implemented"`
[INFO] [stdout]  --> exercises/07_threads/06_interior_mutability/src/lib.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 |     counter: todo!(),
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout]   |              |
[INFO] [stdout]   |              expected type
[INFO] [stdout]   |              in this macro invocation
[INFO] [stdout]   |              this macro call doesn't expand to a type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected type, found `"not yet implemented"`
[INFO] [stdout]   --> exercises/07_threads/06_interior_mutability/src/lib.rs:13:35
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(value: T, counter: todo!()) -> Self {
[INFO] [stdout]    |                                   ^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   expected type
[INFO] [stdout]    |                                   in this macro invocation
[INFO] [stdout]    |                                   this macro call doesn't expand to a type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> exercises/07_threads/06_interior_mutability/src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> exercises/07_threads/06_interior_mutability/src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking orphan v0.1.0 (/opt/rustwide/workdir/exercises/04_traits/02_orphan_rule)
[INFO] [stdout] warning: associated items `new`, `title`, `description`, and `status` are never used
[INFO] [stdout]   --> exercises/05_ticket_v2/01_enum/src/lib.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Ticket {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn new(title: String, description: String, status: Status) -> Ticket {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn title(&self) -> &String {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn description(&self) -> &String {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn status(&self) -> &Status {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking struct_ v0.1.0 (/opt/rustwide/workdir/exercises/03_ticket_v1/01_struct)
[INFO] [stderr] error: could not compile `interior_mutability` (lib) due to 2 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: function `intro` is never used
[INFO] [stdout]  --> exercises/08_futures/00_intro/src/lib.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn intro() -> &'static str {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Order` is never constructed
[INFO] [stdout]  --> exercises/03_ticket_v1/01_struct/src/lib.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Order {
[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 `is_available` is never used
[INFO] [stdout]   --> exercises/03_ticket_v1/01_struct/src/lib.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Order {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 12 |     fn is_available(self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `description::TicketDescription: TryFrom<String>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:14:27
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let description = TicketDescription::try_from("A description".to_string()).unwrap();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<String>` is not implemented for `description::TicketDescription`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct TicketDescription(String);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `String` to implement `Into<description::TicketDescription>`
[INFO] [stdout]    = note: required for `description::TicketDescription` to implement `TryFrom<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `description::TicketDescription: From<String>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:14:27
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let description = TicketDescription::try_from("A description".to_string()).unwrap();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<String>` is not implemented for `description::TicketDescription`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct TicketDescription(String);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `String` to implement `Into<description::TicketDescription>`
[INFO] [stdout]    = note: required for `description::TicketDescription` to implement `TryFrom<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `description::TicketDescription: TryFrom<String>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let err = TicketDescription::try_from("".to_string()).unwrap_err();
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<String>` is not implemented for `description::TicketDescription`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct TicketDescription(String);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `String` to implement `Into<description::TicketDescription>`
[INFO] [stdout]    = note: required for `description::TicketDescription` to implement `TryFrom<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `description::TicketDescription` doesn't implement `Debug`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:20:63
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let err = TicketDescription::try_from("".to_string()).unwrap_err();
[INFO] [stdout]    |                                                               ^^^^^^^^^^ the trait `Debug` is not implemented for `description::TicketDescription`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Result::<T, E>::unwrap_err`
[INFO] [stdout]   --> /rustc/760e1de835e253bf28bbcbfee38b5e8ed9ffe074/library/core/src/result.rs:1322:4
[INFO] [stdout] help: consider annotating `description::TicketDescription` with `#[derive(Debug)]`
[INFO] [stdout]    |
[INFO] [stdout]  5 + #[derive(Debug)]
[INFO] [stdout]  6 | pub struct TicketDescription(String);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `description::TicketDescription: From<String>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let err = TicketDescription::try_from("".to_string()).unwrap_err();
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<String>` is not implemented for `description::TicketDescription`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct TicketDescription(String);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `String` to implement `Into<description::TicketDescription>`
[INFO] [stdout]    = note: required for `description::TicketDescription` to implement `TryFrom<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `description::TicketDescription: TryFrom<String>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let err = TicketDescription::try_from(description).unwrap_err();
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<String>` is not implemented for `description::TicketDescription`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct TicketDescription(String);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `String` to implement `Into<description::TicketDescription>`
[INFO] [stdout]    = note: required for `description::TicketDescription` to implement `TryFrom<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `description::TicketDescription` doesn't implement `Debug`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:27:60
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let err = TicketDescription::try_from(description).unwrap_err();
[INFO] [stdout]    |                                                            ^^^^^^^^^^ the trait `Debug` is not implemented for `description::TicketDescription`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Result::<T, E>::unwrap_err`
[INFO] [stdout]   --> /rustc/760e1de835e253bf28bbcbfee38b5e8ed9ffe074/library/core/src/result.rs:1322:4
[INFO] [stdout] help: consider annotating `description::TicketDescription` with `#[derive(Debug)]`
[INFO] [stdout]    |
[INFO] [stdout]  5 + #[derive(Debug)]
[INFO] [stdout]  6 | pub struct TicketDescription(String);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `description::TicketDescription: From<String>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let err = TicketDescription::try_from(description).unwrap_err();
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<String>` is not implemented for `description::TicketDescription`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct TicketDescription(String);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `String` to implement `Into<description::TicketDescription>`
[INFO] [stdout]    = note: required for `description::TicketDescription` to implement `TryFrom<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `description::TicketDescription: TryFrom<&str>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:36:27
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let description = TicketDescription::try_from("A description").unwrap();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<&str>` is not implemented for `description::TicketDescription`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct TicketDescription(String);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `&str` to implement `Into<description::TicketDescription>`
[INFO] [stdout]    = note: required for `description::TicketDescription` to implement `TryFrom<&str>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `description::TicketDescription: From<&str>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:36:27
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let description = TicketDescription::try_from("A description").unwrap();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<&str>` is not implemented for `description::TicketDescription`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct TicketDescription(String);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `&str` to implement `Into<description::TicketDescription>`
[INFO] [stdout]    = note: required for `description::TicketDescription` to implement `TryFrom<&str>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `status::Status: TryFrom<String>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let status = Status::try_from("ToDO".to_string()).unwrap();
[INFO] [stdout]    |                      ^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<String>` is not implemented for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `String` to implement `Into<status::Status>`
[INFO] [stdout]    = note: required for `status::Status` to implement `TryFrom<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         assert_eq!(status, Status::ToDo);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         status::Status
[INFO] [stdout]    |         status::Status
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `status::Status` with `#[derive(PartialEq)]`
[INFO] [stdout]    |
[INFO] [stdout]  4 + #[derive(PartialEq)]
[INFO] [stdout]  5 | pub enum Status {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `status::Status` doesn't implement `Debug`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         assert_eq!(status, Status::ToDo);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `status::Status`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `status::Status` with `#[derive(Debug)]`
[INFO] [stdout]    |
[INFO] [stdout]  4 + #[derive(Debug)]
[INFO] [stdout]  5 | pub enum Status {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `status::Status` doesn't implement `Debug`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         assert_eq!(status, Status::ToDo);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `status::Status`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `status::Status` with `#[derive(Debug)]`
[INFO] [stdout]    |
[INFO] [stdout]  4 + #[derive(Debug)]
[INFO] [stdout]  5 | pub enum Status {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `status::Status: TryFrom<String>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let status = Status::try_from("inproGress".to_string()).unwrap();
[INFO] [stdout]    |                      ^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<String>` is not implemented for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `String` to implement `Into<status::Status>`
[INFO] [stdout]    = note: required for `status::Status` to implement `TryFrom<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         assert_eq!(status, Status::InProgress);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         status::Status
[INFO] [stdout]    |         status::Status
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `status::Status` with `#[derive(PartialEq)]`
[INFO] [stdout]    |
[INFO] [stdout]  4 + #[derive(PartialEq)]
[INFO] [stdout]  5 | pub enum Status {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `status::Status` doesn't implement `Debug`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         assert_eq!(status, Status::InProgress);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `status::Status`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `status::Status` with `#[derive(Debug)]`
[INFO] [stdout]    |
[INFO] [stdout]  4 + #[derive(Debug)]
[INFO] [stdout]  5 | pub enum Status {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `status::Status` doesn't implement `Debug`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         assert_eq!(status, Status::InProgress);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `status::Status`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `status::Status` with `#[derive(Debug)]`
[INFO] [stdout]    |
[INFO] [stdout]  4 + #[derive(Debug)]
[INFO] [stdout]  5 | pub enum Status {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `status::Status: TryFrom<String>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let status = Status::try_from("Done".to_string()).unwrap();
[INFO] [stdout]    |                      ^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<String>` is not implemented for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `String` to implement `Into<status::Status>`
[INFO] [stdout]    = note: required for `status::Status` to implement `TryFrom<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         assert_eq!(status, Status::Done);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         status::Status
[INFO] [stdout]    |         status::Status
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `status::Status` with `#[derive(PartialEq)]`
[INFO] [stdout]    |
[INFO] [stdout]  4 + #[derive(PartialEq)]
[INFO] [stdout]  5 | pub enum Status {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `status::Status` doesn't implement `Debug`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         assert_eq!(status, Status::Done);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `status::Status`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `status::Status` with `#[derive(Debug)]`
[INFO] [stdout]    |
[INFO] [stdout]  4 + #[derive(Debug)]
[INFO] [stdout]  5 | pub enum Status {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `status::Status` doesn't implement `Debug`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         assert_eq!(status, Status::Done);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `status::Status`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `status::Status` with `#[derive(Debug)]`
[INFO] [stdout]    |
[INFO] [stdout]  4 + #[derive(Debug)]
[INFO] [stdout]  5 | pub enum Status {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `status::Status: From<String>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let status = Status::try_from("ToDO".to_string()).unwrap();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<String>` is not implemented for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `String` to implement `Into<status::Status>`
[INFO] [stdout]    = note: required for `status::Status` to implement `TryFrom<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `status::Status: From<String>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let status = Status::try_from("inproGress".to_string()).unwrap();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<String>` is not implemented for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `String` to implement `Into<status::Status>`
[INFO] [stdout]    = note: required for `status::Status` to implement `TryFrom<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `status::Status: From<String>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let status = Status::try_from("Done".to_string()).unwrap();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<String>` is not implemented for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `String` to implement `Into<status::Status>`
[INFO] [stdout]    = note: required for `status::Status` to implement `TryFrom<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `status::Status: TryFrom<&str>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let status = Status::try_from("ToDO").unwrap();
[INFO] [stdout]    |                      ^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<&str>` is not implemented for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `&str` to implement `Into<status::Status>`
[INFO] [stdout]    = note: required for `status::Status` to implement `TryFrom<&str>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         assert_eq!(status, Status::ToDo);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         status::Status
[INFO] [stdout]    |         status::Status
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `status::Status` with `#[derive(PartialEq)]`
[INFO] [stdout]    |
[INFO] [stdout]  4 + #[derive(PartialEq)]
[INFO] [stdout]  5 | pub enum Status {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `status::Status` doesn't implement `Debug`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         assert_eq!(status, Status::ToDo);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `status::Status`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `status::Status` with `#[derive(Debug)]`
[INFO] [stdout]    |
[INFO] [stdout]  4 + #[derive(Debug)]
[INFO] [stdout]  5 | pub enum Status {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `status::Status` doesn't implement `Debug`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         assert_eq!(status, Status::ToDo);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `status::Status`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `status::Status` with `#[derive(Debug)]`
[INFO] [stdout]    |
[INFO] [stdout]  4 + #[derive(Debug)]
[INFO] [stdout]  5 | pub enum Status {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `status::Status: TryFrom<&str>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let status = Status::try_from("inproGress").unwrap();
[INFO] [stdout]    |                      ^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<&str>` is not implemented for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `&str` to implement `Into<status::Status>`
[INFO] [stdout]    = note: required for `status::Status` to implement `TryFrom<&str>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         assert_eq!(status, Status::InProgress);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         status::Status
[INFO] [stdout]    |         status::Status
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `status::Status` with `#[derive(PartialEq)]`
[INFO] [stdout]    |
[INFO] [stdout]  4 + #[derive(PartialEq)]
[INFO] [stdout]  5 | pub enum Status {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `status::Status` doesn't implement `Debug`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         assert_eq!(status, Status::InProgress);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `status::Status`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `status::Status` with `#[derive(Debug)]`
[INFO] [stdout]    |
[INFO] [stdout]  4 + #[derive(Debug)]
[INFO] [stdout]  5 | pub enum Status {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `status::Status` doesn't implement `Debug`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         assert_eq!(status, Status::InProgress);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `status::Status`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `status::Status` with `#[derive(Debug)]`
[INFO] [stdout]    |
[INFO] [stdout]  4 + #[derive(Debug)]
[INFO] [stdout]  5 | pub enum Status {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `status::Status: TryFrom<&str>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:35:22
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let status = Status::try_from("Done").unwrap();
[INFO] [stdout]    |                      ^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<&str>` is not implemented for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `&str` to implement `Into<status::Status>`
[INFO] [stdout]    = note: required for `status::Status` to implement `TryFrom<&str>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         assert_eq!(status, Status::Done);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         status::Status
[INFO] [stdout]    |         status::Status
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `status::Status` with `#[derive(PartialEq)]`
[INFO] [stdout]    |
[INFO] [stdout]  4 + #[derive(PartialEq)]
[INFO] [stdout]  5 | pub enum Status {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `status::Status` doesn't implement `Debug`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         assert_eq!(status, Status::Done);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `status::Status`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `status::Status` with `#[derive(Debug)]`
[INFO] [stdout]    |
[INFO] [stdout]  4 + #[derive(Debug)]
[INFO] [stdout]  5 | pub enum Status {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `status::Status` doesn't implement `Debug`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         assert_eq!(status, Status::Done);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `status::Status`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `status::Status` with `#[derive(Debug)]`
[INFO] [stdout]    |
[INFO] [stdout]  4 + #[derive(Debug)]
[INFO] [stdout]  5 | pub enum Status {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `status::Status: From<&str>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let status = Status::try_from("ToDO").unwrap();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<&str>` is not implemented for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `&str` to implement `Into<status::Status>`
[INFO] [stdout]    = note: required for `status::Status` to implement `TryFrom<&str>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `status::Status: From<&str>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let status = Status::try_from("inproGress").unwrap();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<&str>` is not implemented for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `&str` to implement `Into<status::Status>`
[INFO] [stdout]    = note: required for `status::Status` to implement `TryFrom<&str>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `status::Status: From<&str>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:35:22
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let status = Status::try_from("Done").unwrap();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<&str>` is not implemented for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `&str` to implement `Into<status::Status>`
[INFO] [stdout]    = note: required for `status::Status` to implement `TryFrom<&str>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `status::Status: TryFrom<&str>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:41:22
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let status = Status::try_from("Invalid");
[INFO] [stdout]    |                      ^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<&str>` is not implemented for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `&str` to implement `Into<status::Status>`
[INFO] [stdout]    = note: required for `status::Status` to implement `TryFrom<&str>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `status::Status: From<&str>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:41:22
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let status = Status::try_from("Invalid");
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<&str>` is not implemented for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `&str` to implement `Into<status::Status>`
[INFO] [stdout]    = note: required for `status::Status` to implement `TryFrom<&str>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `title::TicketTitle: TryFrom<String>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let title = TicketTitle::try_from("A title".to_string()).unwrap();
[INFO] [stdout]    |                     ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<String>` is not implemented for `title::TicketTitle`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct TicketTitle(String);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `String` to implement `Into<title::TicketTitle>`
[INFO] [stdout]    = note: required for `title::TicketTitle` to implement `TryFrom<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `title::TicketTitle: From<String>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let title = TicketTitle::try_from("A title".to_string()).unwrap();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<String>` is not implemented for `title::TicketTitle`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct TicketTitle(String);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `String` to implement `Into<title::TicketTitle>`
[INFO] [stdout]    = note: required for `title::TicketTitle` to implement `TryFrom<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `title::TicketTitle: TryFrom<String>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let err = TicketTitle::try_from("".to_string()).unwrap_err();
[INFO] [stdout]    |                   ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<String>` is not implemented for `title::TicketTitle`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct TicketTitle(String);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `String` to implement `Into<title::TicketTitle>`
[INFO] [stdout]    = note: required for `title::TicketTitle` to implement `TryFrom<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `title::TicketTitle` doesn't implement `Debug`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:20:57
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let err = TicketTitle::try_from("".to_string()).unwrap_err();
[INFO] [stdout]    |                                                         ^^^^^^^^^^ the trait `Debug` is not implemented for `title::TicketTitle`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Result::<T, E>::unwrap_err`
[INFO] [stdout]   --> /rustc/760e1de835e253bf28bbcbfee38b5e8ed9ffe074/library/core/src/result.rs:1322:4
[INFO] [stdout] help: consider annotating `title::TicketTitle` with `#[derive(Debug)]`
[INFO] [stdout]    |
[INFO] [stdout]  5 + #[derive(Debug)]
[INFO] [stdout]  6 | pub struct TicketTitle(String);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `title::TicketTitle: From<String>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let err = TicketTitle::try_from("".to_string()).unwrap_err();
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<String>` is not implemented for `title::TicketTitle`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct TicketTitle(String);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `String` to implement `Into<title::TicketTitle>`
[INFO] [stdout]    = note: required for `title::TicketTitle` to implement `TryFrom<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `title::TicketTitle: TryFrom<String>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let err = TicketTitle::try_from(title).unwrap_err();
[INFO] [stdout]    |                   ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<String>` is not implemented for `title::TicketTitle`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct TicketTitle(String);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `String` to implement `Into<title::TicketTitle>`
[INFO] [stdout]    = note: required for `title::TicketTitle` to implement `TryFrom<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `title::TicketTitle` doesn't implement `Debug`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:29:48
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let err = TicketTitle::try_from(title).unwrap_err();
[INFO] [stdout]    |                                                ^^^^^^^^^^ the trait `Debug` is not implemented for `title::TicketTitle`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Result::<T, E>::unwrap_err`
[INFO] [stdout]   --> /rustc/760e1de835e253bf28bbcbfee38b5e8ed9ffe074/library/core/src/result.rs:1322:4
[INFO] [stdout] help: consider annotating `title::TicketTitle` with `#[derive(Debug)]`
[INFO] [stdout]    |
[INFO] [stdout]  5 + #[derive(Debug)]
[INFO] [stdout]  6 | pub struct TicketTitle(String);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `title::TicketTitle: From<String>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let err = TicketTitle::try_from(title).unwrap_err();
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<String>` is not implemented for `title::TicketTitle`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct TicketTitle(String);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `String` to implement `Into<title::TicketTitle>`
[INFO] [stdout]    = note: required for `title::TicketTitle` to implement `TryFrom<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `title::TicketTitle: TryFrom<&str>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:35:21
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let title = TicketTitle::try_from("A title").unwrap();
[INFO] [stdout]    |                     ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<&str>` is not implemented for `title::TicketTitle`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct TicketTitle(String);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `&str` to implement `Into<title::TicketTitle>`
[INFO] [stdout]    = note: required for `title::TicketTitle` to implement `TryFrom<&str>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `title::TicketTitle: From<&str>` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:35:21
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let title = TicketTitle::try_from("A title").unwrap();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<&str>` is not implemented for `title::TicketTitle`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct TicketTitle(String);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `&str` to implement `Into<title::TicketTitle>`
[INFO] [stdout]    = note: required for `title::TicketTitle` to implement `TryFrom<&str>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&title::TicketTitle: CoerceUnsized<&dyn Debug>` is not satisfied in `title::TicketTitle`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub title: TicketTitle,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ within `title::TicketTitle`, the trait `Debug` is not implemented for `title::TicketTitle`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `title::TicketTitle` with `#[derive(Debug)]`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 + #[derive(Debug)]
[INFO] [stdout]  6 | pub struct TicketTitle(String);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&description::TicketDescription: CoerceUnsized<&dyn Debug>` is not satisfied in `description::TicketDescription`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub description: TicketDescription,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ within `description::TicketDescription`, the trait `Debug` is not implemented for `description::TicketDescription`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `description::TicketDescription` with `#[derive(Debug)]`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 + #[derive(Debug)]
[INFO] [stdout]  6 | pub struct TicketDescription(String);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `&status::Status` doesn't implement `Debug`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/lib.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, PartialEq, Clone)]
[INFO] [stdout]    |          ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub status: Status,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ within `&status::Status`, the trait `Debug` is not implemented for `&status::Status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `title::TicketTitle`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, PartialEq, Clone)]
[INFO] [stdout]    |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub title: TicketTitle,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `title::TicketTitle`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct TicketTitle(String);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `title::TicketTitle` with `#[derive(PartialEq)]`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 + #[derive(PartialEq)]
[INFO] [stdout]  6 | pub struct TicketTitle(String);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `description::TicketDescription`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, PartialEq, Clone)]
[INFO] [stdout]    |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub description: TicketDescription,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `description::TicketDescription`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct TicketDescription(String);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `description::TicketDescription` with `#[derive(PartialEq)]`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 + #[derive(PartialEq)]
[INFO] [stdout]  6 | pub struct TicketDescription(String);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/lib.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, PartialEq, Clone)]
[INFO] [stdout]    |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub status: Status,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `status::Status`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Status {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `status::Status` with `#[derive(PartialEq)]`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 + #[derive(PartialEq)]
[INFO] [stdout]  5 | pub enum Status {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `title::TicketTitle: Clone` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, PartialEq, Clone)]
[INFO] [stdout]    |                            ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub title: TicketTitle,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `title::TicketTitle`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `title::TicketTitle` with `#[derive(Clone)]`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/title.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 + #[derive(Clone)]
[INFO] [stdout]  6 | pub struct TicketTitle(String);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `description::TicketDescription: Clone` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/lib.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, PartialEq, Clone)]
[INFO] [stdout]    |                            ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub description: TicketDescription,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `description::TicketDescription`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `description::TicketDescription` with `#[derive(Clone)]`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/description.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 + #[derive(Clone)]
[INFO] [stdout]  6 | pub struct TicketDescription(String);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `status::Status: Clone` is not satisfied
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/lib.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, PartialEq, Clone)]
[INFO] [stdout]    |                            ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub status: Status,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `status::Status`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `status::Status` with `#[derive(Clone)]`
[INFO] [stdout]   --> exercises/05_ticket_v2/15_outro/src/status.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 + #[derive(Clone)]
[INFO] [stdout]  5 | pub enum Status {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0369.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `outro_04` (lib test) due to 61 previous errors
[INFO] running `Command { std: "docker" "inspect" "46de077f3e5f099f940bb9b1f14560c5ab485f3894923b7f579b71806dbf7488", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "46de077f3e5f099f940bb9b1f14560c5ab485f3894923b7f579b71806dbf7488", kill_on_drop: false }`
[INFO] [stdout] 46de077f3e5f099f940bb9b1f14560c5ab485f3894923b7f579b71806dbf7488
