[INFO] fetching crate cxmr-tectonic 0.0.1...
[INFO] checking cxmr-tectonic-0.0.1 against master#c2f2db79ca3024f68d22b45aa22b570775c2c4ad for pr-124157
[INFO] extracting crate cxmr-tectonic 0.0.1 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate cxmr-tectonic 0.0.1 on toolchain c2f2db79ca3024f68d22b45aa22b570775c2c4ad
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate cxmr-tectonic 0.0.1
[INFO] finished tweaking crates.io crate cxmr-tectonic 0.0.1
[INFO] tweaked toml for crates.io crate cxmr-tectonic 0.0.1 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 69 packages to latest compatible versions
[INFO] [stderr]       Adding addr2line v0.21.0 (latest: v0.22.0)
[INFO] [stderr]       Adding bitflags v1.3.2 (latest: v2.5.0)
[INFO] [stderr]       Adding err-convert-macro v0.0.1 (latest: v0.1.1)
[INFO] [stderr]       Adding gimli v0.28.1 (latest: v0.29.0)
[INFO] [stderr]       Adding hashbrown v0.1.8 (latest: v0.14.5)
[INFO] [stderr]       Adding object v0.32.2 (latest: v0.35.0)
[INFO] [stderr]       Adding scopeguard v0.3.3 (latest: v1.2.0)
[INFO] [stderr]       Adding syn v1.0.109 (latest: v2.0.60)
[INFO] [stderr]       Adding synstructure v0.12.6 (latest: v0.13.1)
[INFO] [stderr]       Adding windows-core v0.52.0 (latest: v0.56.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded err-convert-macro v0.0.1
[INFO] [stderr]   Downloaded cxmr-balances v0.0.1
[INFO] [stderr]   Downloaded cxmr-currency v0.0.1
[INFO] [stderr]   Downloaded cxmr-feeds v0.0.1
[INFO] [stderr]   Downloaded cxmr-exchanges v0.0.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 58591cb373f1d38060cd8e117e28d0cd24ff13e1d8f0068c4ca19837b1266a0d
[INFO] running `Command { std: "docker" "start" "-a" "58591cb373f1d38060cd8e117e28d0cd24ff13e1d8f0068c4ca19837b1266a0d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "58591cb373f1d38060cd8e117e28d0cd24ff13e1d8f0068c4ca19837b1266a0d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "58591cb373f1d38060cd8e117e28d0cd24ff13e1d8f0068c4ca19837b1266a0d", kill_on_drop: false }`
[INFO] [stdout] 58591cb373f1d38060cd8e117e28d0cd24ff13e1d8f0068c4ca19837b1266a0d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 638496cd43e5db8b6233ae429caf0ea085f0aebeba73afd132779ba423d6a0bb
[INFO] running `Command { std: "docker" "start" "-a" "638496cd43e5db8b6233ae429caf0ea085f0aebeba73afd132779ba423d6a0bb", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.200
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling syn v2.0.60
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]     Checking addr2line v0.21.0
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling backtrace v0.3.71
[INFO] [stderr]     Checking err-convert-macro v0.0.1
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]     Checking hashbrown v0.1.8
[INFO] [stderr]     Checking serde_json v1.0.116
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]    Compiling serde_derive v1.0.200
[INFO] [stderr]     Checking cxmr-balances v0.0.1
[INFO] [stderr]     Checking cxmr-currency v0.0.1
[INFO] [stderr]     Checking cxmr-exchanges v0.0.1
[INFO] [stderr]     Checking cxmr-feeds v0.0.1
[INFO] [stderr]     Checking cxmr-tectonic v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0412]: cannot find type `NoneError` in module `std::option`
[INFO] [stdout]   --> src/lib.rs:76:49
[INFO] [stdout]    |
[INFO] [stdout] 76 | err_converter_no_args!(OptionNone, std::option::NoneError);
[INFO] [stdout]    |                                                 ^^^^^^^^^ not found in `std::option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `NoneError` in module `std::option`
[INFO] [stdout]   --> src/lib.rs:76:49
[INFO] [stdout]    |
[INFO] [stdout] 76 | err_converter_no_args!(OptionNone, std::option::NoneError);
[INFO] [stdout]    |                                                 ^^^^^^^^^ not found in `std::option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `try_trait`
[INFO] [stdout]  --> src/lib.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(test, try_trait)]
[INFO] [stdout]   |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `try_trait`
[INFO] [stdout]  --> src/lib.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(test, try_trait)]
[INFO] [stdout]   |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/dirs.rs:37:34
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn is_not_default(path: &Path) -> Result<bool, Error> {
[INFO] [stdout]    | ----------------------------------------------------- this function returns a `Result`
[INFO] [stdout] 37 |     let symbol = path.file_name()?.to_str()?.split('.').next()?;
[INFO] [stdout]    |                                  ^ use `.ok_or(...)?` to provide an error compatible with `Result<bool, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<bool, Error>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/dirs.rs:37:34
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn is_not_default(path: &Path) -> Result<bool, Error> {
[INFO] [stdout]    | ----------------------------------------------------- this function returns a `Result`
[INFO] [stdout] 37 |     let symbol = path.file_name()?.to_str()?.split('.').next()?;
[INFO] [stdout]    |                                  ^ use `.ok_or(...)?` to provide an error compatible with `Result<bool, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<bool, Error>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/dirs.rs:37:44
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn is_not_default(path: &Path) -> Result<bool, Error> {
[INFO] [stdout]    | ----------------------------------------------------- this function returns a `Result`
[INFO] [stdout] 37 |     let symbol = path.file_name()?.to_str()?.split('.').next()?;
[INFO] [stdout]    |                                            ^ use `.ok_or(...)?` to provide an error compatible with `Result<bool, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<bool, Error>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/dirs.rs:37:44
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn is_not_default(path: &Path) -> Result<bool, Error> {
[INFO] [stdout]    | ----------------------------------------------------- this function returns a `Result`
[INFO] [stdout] 37 |     let symbol = path.file_name()?.to_str()?.split('.').next()?;
[INFO] [stdout]    |                                            ^ use `.ok_or(...)?` to provide an error compatible with `Result<bool, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<bool, Error>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/dirs.rs:37:63
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn is_not_default(path: &Path) -> Result<bool, Error> {
[INFO] [stdout]    | ----------------------------------------------------- this function returns a `Result`
[INFO] [stdout] 37 |     let symbol = path.file_name()?.to_str()?.split('.').next()?;
[INFO] [stdout]    |                                                               ^ use `.ok_or(...)?` to provide an error compatible with `Result<bool, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<bool, Error>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/dirs.rs:37:63
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn is_not_default(path: &Path) -> Result<bool, Error> {
[INFO] [stdout]    | ----------------------------------------------------- this function returns a `Result`
[INFO] [stdout] 37 |     let symbol = path.file_name()?.to_str()?.split('.').next()?;
[INFO] [stdout]    |                                                               ^ use `.ok_or(...)?` to provide an error compatible with `Result<bool, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<bool, Error>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `DateTime::from_timestamp` instead
[INFO] [stdout]    --> src/meta.rs:103:32
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let naive = NaiveDateTime::from_timestamp(t as i64 / 1000, 0);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `DateTime::from_timestamp` instead
[INFO] [stdout]    --> src/meta.rs:103:32
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let naive = NaiveDateTime::from_timestamp(t as i64 / 1000, 0);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/meta.rs:104:45
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let datetime: DateTime<Utc> = DateTime::from_utc(naive, Utc);
[INFO] [stdout]     |                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/meta.rs:104:45
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let datetime: DateTime<Utc> = DateTime::from_utc(naive, Utc);
[INFO] [stdout]     |                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]    --> src/dtf.rs:635:42
[INFO] [stdout]     |
[INFO] [stdout] 634 | fn split_symbol(symbol: &str) -> Result<Market, Error> {
[INFO] [stdout]     | ------------------------------------------------------ this function returns a `Result`
[INFO] [stdout] 635 |     let symbol = symbol.split('.').next()?;
[INFO] [stdout]     |                                          ^ use `.ok_or(...)?` to provide an error compatible with `Result<cxmr_exchanges::Market, Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<cxmr_exchanges::Market, Error>`
[INFO] [stdout]     = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]               <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout]               <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]    --> src/dtf.rs:635:42
[INFO] [stdout]     |
[INFO] [stdout] 634 | fn split_symbol(symbol: &str) -> Result<Market, Error> {
[INFO] [stdout]     | ------------------------------------------------------ this function returns a `Result`
[INFO] [stdout] 635 |     let symbol = symbol.split('.').next()?;
[INFO] [stdout]     |                                          ^ use `.ok_or(...)?` to provide an error compatible with `Result<cxmr_exchanges::Market, Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<cxmr_exchanges::Market, Error>`
[INFO] [stdout]     = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]               <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout]               <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]    --> src/dtf.rs:636:33
[INFO] [stdout]     |
[INFO] [stdout] 634 | fn split_symbol(symbol: &str) -> Result<Market, Error> {
[INFO] [stdout]     | ------------------------------------------------------ this function returns a `Result`
[INFO] [stdout] 635 |     let symbol = symbol.split('.').next()?;
[INFO] [stdout] 636 |     let index = symbol.find('_')?;
[INFO] [stdout]     |                                 ^ use `.ok_or(...)?` to provide an error compatible with `Result<cxmr_exchanges::Market, Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<cxmr_exchanges::Market, Error>`
[INFO] [stdout]     = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]               <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout]               <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]    --> src/dtf.rs:636:33
[INFO] [stdout]     |
[INFO] [stdout] 634 | fn split_symbol(symbol: &str) -> Result<Market, Error> {
[INFO] [stdout]     | ------------------------------------------------------ this function returns a `Result`
[INFO] [stdout] 635 |     let symbol = symbol.split('.').next()?;
[INFO] [stdout] 636 |     let index = symbol.find('_')?;
[INFO] [stdout]     |                                 ^ use `.ok_or(...)?` to provide an error compatible with `Result<cxmr_exchanges::Market, Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<cxmr_exchanges::Market, Error>`
[INFO] [stdout]     = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]               <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout]               <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0412, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0412, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cxmr-tectonic` (lib) due to 8 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `cxmr-tectonic` (lib test) due to 8 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "638496cd43e5db8b6233ae429caf0ea085f0aebeba73afd132779ba423d6a0bb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "638496cd43e5db8b6233ae429caf0ea085f0aebeba73afd132779ba423d6a0bb", kill_on_drop: false }`
[INFO] [stdout] 638496cd43e5db8b6233ae429caf0ea085f0aebeba73afd132779ba423d6a0bb
[INFO] checking cxmr-tectonic-0.0.1 against try#9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88 for pr-124157
[INFO] extracting crate cxmr-tectonic 0.0.1 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate cxmr-tectonic 0.0.1 on toolchain 9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate cxmr-tectonic 0.0.1
[INFO] finished tweaking crates.io crate cxmr-tectonic 0.0.1
[INFO] tweaked toml for crates.io crate cxmr-tectonic 0.0.1 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 69 packages to latest compatible versions
[INFO] [stderr]       Adding addr2line v0.21.0 (latest: v0.22.0)
[INFO] [stderr]       Adding bitflags v1.3.2 (latest: v2.5.0)
[INFO] [stderr]       Adding err-convert-macro v0.0.1 (latest: v0.1.1)
[INFO] [stderr]       Adding gimli v0.28.1 (latest: v0.29.0)
[INFO] [stderr]       Adding hashbrown v0.1.8 (latest: v0.14.5)
[INFO] [stderr]       Adding object v0.32.2 (latest: v0.35.0)
[INFO] [stderr]       Adding scopeguard v0.3.3 (latest: v1.2.0)
[INFO] [stderr]       Adding syn v1.0.109 (latest: v2.0.60)
[INFO] [stderr]       Adding synstructure v0.12.6 (latest: v0.13.1)
[INFO] [stderr]       Adding windows-core v0.52.0 (latest: v0.56.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b47d369e9fe3c67102dcdf8164ed1b39cb7a98bc0c3a678c84c51a92eb17bf91
[INFO] running `Command { std: "docker" "start" "-a" "b47d369e9fe3c67102dcdf8164ed1b39cb7a98bc0c3a678c84c51a92eb17bf91", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b47d369e9fe3c67102dcdf8164ed1b39cb7a98bc0c3a678c84c51a92eb17bf91", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b47d369e9fe3c67102dcdf8164ed1b39cb7a98bc0c3a678c84c51a92eb17bf91", kill_on_drop: false }`
[INFO] [stdout] b47d369e9fe3c67102dcdf8164ed1b39cb7a98bc0c3a678c84c51a92eb17bf91
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2ab9bbb42607a105e2841e61a921f85373297b4b8f81a17b39049ca17ea7182e
[INFO] running `Command { std: "docker" "start" "-a" "2ab9bbb42607a105e2841e61a921f85373297b4b8f81a17b39049ca17ea7182e", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.200
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]     Checking addr2line v0.21.0
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling backtrace v0.3.71
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking err-convert-macro v0.0.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling syn v2.0.60
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]     Checking hashbrown v0.1.8
[INFO] [stderr]     Checking serde_json v1.0.116
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]    Compiling serde_derive v1.0.200
[INFO] [stderr]     Checking cxmr-balances v0.0.1
[INFO] [stderr]     Checking cxmr-currency v0.0.1
[INFO] [stderr]     Checking cxmr-exchanges v0.0.1
[INFO] [stderr]     Checking cxmr-feeds v0.0.1
[INFO] [stderr]     Checking cxmr-tectonic v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0412]: cannot find type `NoneError` in module `std::option`
[INFO] [stdout]   --> src/lib.rs:76:49
[INFO] [stdout]    |
[INFO] [stdout] 76 | err_converter_no_args!(OptionNone, std::option::NoneError);
[INFO] [stdout]    |                                                 ^^^^^^^^^ not found in `std::option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `NoneError` in module `std::option`
[INFO] [stdout]   --> src/lib.rs:76:49
[INFO] [stdout]    |
[INFO] [stdout] 76 | err_converter_no_args!(OptionNone, std::option::NoneError);
[INFO] [stdout]    |                                                 ^^^^^^^^^ not found in `std::option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `try_trait`
[INFO] [stdout]  --> src/lib.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(test, try_trait)]
[INFO] [stdout]   |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `try_trait`
[INFO] [stdout]  --> src/lib.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(test, try_trait)]
[INFO] [stdout]   |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/dirs.rs:37:34
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn is_not_default(path: &Path) -> Result<bool, Error> {
[INFO] [stdout]    | ----------------------------------------------------- this function returns a `Result`
[INFO] [stdout] 37 |     let symbol = path.file_name()?.to_str()?.split('.').next()?;
[INFO] [stdout]    |                                  ^ use `.ok_or(...)?` to provide an error compatible with `Result<bool, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<bool, Error>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/dirs.rs:37:44
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn is_not_default(path: &Path) -> Result<bool, Error> {
[INFO] [stdout]    | ----------------------------------------------------- this function returns a `Result`
[INFO] [stdout] 37 |     let symbol = path.file_name()?.to_str()?.split('.').next()?;
[INFO] [stdout]    |                                            ^ use `.ok_or(...)?` to provide an error compatible with `Result<bool, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<bool, Error>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/dirs.rs:37:34
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn is_not_default(path: &Path) -> Result<bool, Error> {
[INFO] [stdout]    | ----------------------------------------------------- this function returns a `Result`
[INFO] [stdout] 37 |     let symbol = path.file_name()?.to_str()?.split('.').next()?;
[INFO] [stdout]    |                                  ^ use `.ok_or(...)?` to provide an error compatible with `Result<bool, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<bool, Error>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/dirs.rs:37:63
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn is_not_default(path: &Path) -> Result<bool, Error> {
[INFO] [stdout]    | ----------------------------------------------------- this function returns a `Result`
[INFO] [stdout] 37 |     let symbol = path.file_name()?.to_str()?.split('.').next()?;
[INFO] [stdout]    |                                                               ^ use `.ok_or(...)?` to provide an error compatible with `Result<bool, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<bool, Error>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/dirs.rs:37:44
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn is_not_default(path: &Path) -> Result<bool, Error> {
[INFO] [stdout]    | ----------------------------------------------------- this function returns a `Result`
[INFO] [stdout] 37 |     let symbol = path.file_name()?.to_str()?.split('.').next()?;
[INFO] [stdout]    |                                            ^ use `.ok_or(...)?` to provide an error compatible with `Result<bool, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<bool, Error>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/dirs.rs:37:63
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn is_not_default(path: &Path) -> Result<bool, Error> {
[INFO] [stdout]    | ----------------------------------------------------- this function returns a `Result`
[INFO] [stdout] 37 |     let symbol = path.file_name()?.to_str()?.split('.').next()?;
[INFO] [stdout]    |                                                               ^ use `.ok_or(...)?` to provide an error compatible with `Result<bool, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<bool, Error>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `DateTime::from_timestamp` instead
[INFO] [stdout]    --> src/meta.rs:103:32
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let naive = NaiveDateTime::from_timestamp(t as i64 / 1000, 0);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/meta.rs:104:45
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let datetime: DateTime<Utc> = DateTime::from_utc(naive, Utc);
[INFO] [stdout]     |                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `DateTime::from_timestamp` instead
[INFO] [stdout]    --> src/meta.rs:103:32
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let naive = NaiveDateTime::from_timestamp(t as i64 / 1000, 0);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::<Tz>::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead
[INFO] [stdout]    --> src/meta.rs:104:45
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let datetime: DateTime<Utc> = DateTime::from_utc(naive, Utc);
[INFO] [stdout]     |                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]    --> src/dtf.rs:635:42
[INFO] [stdout]     |
[INFO] [stdout] 634 | fn split_symbol(symbol: &str) -> Result<Market, Error> {
[INFO] [stdout]     | ------------------------------------------------------ this function returns a `Result`
[INFO] [stdout] 635 |     let symbol = symbol.split('.').next()?;
[INFO] [stdout]     |                                          ^ use `.ok_or(...)?` to provide an error compatible with `Result<cxmr_exchanges::Market, Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<cxmr_exchanges::Market, Error>`
[INFO] [stdout]     = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]               <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout]               <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]    --> src/dtf.rs:635:42
[INFO] [stdout]     |
[INFO] [stdout] 634 | fn split_symbol(symbol: &str) -> Result<Market, Error> {
[INFO] [stdout]     | ------------------------------------------------------ this function returns a `Result`
[INFO] [stdout] 635 |     let symbol = symbol.split('.').next()?;
[INFO] [stdout]     |                                          ^ use `.ok_or(...)?` to provide an error compatible with `Result<cxmr_exchanges::Market, Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<cxmr_exchanges::Market, Error>`
[INFO] [stdout]     = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]               <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout]               <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]    --> src/dtf.rs:636:33
[INFO] [stdout]     |
[INFO] [stdout] 634 | fn split_symbol(symbol: &str) -> Result<Market, Error> {
[INFO] [stdout]     | ------------------------------------------------------ this function returns a `Result`
[INFO] [stdout] 635 |     let symbol = symbol.split('.').next()?;
[INFO] [stdout] 636 |     let index = symbol.find('_')?;
[INFO] [stdout]     |                                 ^ use `.ok_or(...)?` to provide an error compatible with `Result<cxmr_exchanges::Market, Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<cxmr_exchanges::Market, Error>`
[INFO] [stdout]     = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]               <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout]               <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]    --> src/dtf.rs:636:33
[INFO] [stdout]     |
[INFO] [stdout] 634 | fn split_symbol(symbol: &str) -> Result<Market, Error> {
[INFO] [stdout]     | ------------------------------------------------------ this function returns a `Result`
[INFO] [stdout] 635 |     let symbol = symbol.split('.').next()?;
[INFO] [stdout] 636 |     let index = symbol.find('_')?;
[INFO] [stdout]     |                                 ^ use `.ok_or(...)?` to provide an error compatible with `Result<cxmr_exchanges::Market, Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<cxmr_exchanges::Market, Error>`
[INFO] [stdout]     = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]               <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout]               <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0412, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0412, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cxmr-tectonic` (lib test) due to 8 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `cxmr-tectonic` (lib) due to 8 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "2ab9bbb42607a105e2841e61a921f85373297b4b8f81a17b39049ca17ea7182e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2ab9bbb42607a105e2841e61a921f85373297b4b8f81a17b39049ca17ea7182e", kill_on_drop: false }`
[INFO] [stdout] 2ab9bbb42607a105e2841e61a921f85373297b4b8f81a17b39049ca17ea7182e
