[INFO] fetching crate cxmr-tectonic 0.0.1...
[INFO] checking cxmr-tectonic-0.0.1 against master#b0696a5160711c068cb1f01b7437db7990d15750 for pr-121848
[INFO] extracting crate cxmr-tectonic 0.0.1 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate cxmr-tectonic 0.0.1 on toolchain b0696a5160711c068cb1f01b7437db7990d15750
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "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-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cxmr-currency v0.0.1
[INFO] [stderr]   Downloaded scopeguard v0.3.3
[INFO] [stderr]   Downloaded cxmr-feeds v0.0.1
[INFO] [stderr]   Downloaded hashbrown v0.1.8
[INFO] [stderr]   Downloaded cxmr-balances v0.0.1
[INFO] [stderr]   Downloaded err-convert-macro 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-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c3c515a12d9929402e9e1bdc86a05af9175457127a32580671debf452152f9cc
[INFO] running `Command { std: "docker" "start" "-a" "c3c515a12d9929402e9e1bdc86a05af9175457127a32580671debf452152f9cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c3c515a12d9929402e9e1bdc86a05af9175457127a32580671debf452152f9cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c3c515a12d9929402e9e1bdc86a05af9175457127a32580671debf452152f9cc", kill_on_drop: false }`
[INFO] [stdout] c3c515a12d9929402e9e1bdc86a05af9175457127a32580671debf452152f9cc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 49ca03b27bc8f048cd4f4905b9275d2a5eb62984fed8ea5aff84106125baa61d
[INFO] running `Command { std: "docker" "start" "-a" "49ca03b27bc8f048cd4f4905b9275d2a5eb62984fed8ea5aff84106125baa61d", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]     Checking err-convert-macro v0.0.1
[INFO] [stderr]     Checking hashbrown v0.1.8
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]     Checking failure v0.1.8
[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] warning: the item `SocketAddr` is imported redundantly
[INFO] [stdout]    --> src/sync.rs:98:9
[INFO] [stdout]     |
[INFO] [stdout] 98  |     use std::net::SocketAddr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     use super::*;
[INFO] [stdout]     |         -------- the item `SocketAddr` is already imported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[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<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, 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<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, 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<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, 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<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, 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<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, 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<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, 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<Yeet<E>>>
[INFO] [stdout]               <Result<T, F> as FromResidual<Result<Infallible, 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<Yeet<E>>>
[INFO] [stdout]               <Result<T, F> as FromResidual<Result<Infallible, 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<Yeet<E>>>
[INFO] [stdout]               <Result<T, F> as FromResidual<Result<Infallible, 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<Yeet<E>>>
[INFO] [stdout]               <Result<T, F> as FromResidual<Result<Infallible, 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] [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] [stdout] error: aborting due to 7 previous errors; 3 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; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "49ca03b27bc8f048cd4f4905b9275d2a5eb62984fed8ea5aff84106125baa61d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "49ca03b27bc8f048cd4f4905b9275d2a5eb62984fed8ea5aff84106125baa61d", kill_on_drop: false }`
[INFO] [stdout] 49ca03b27bc8f048cd4f4905b9275d2a5eb62984fed8ea5aff84106125baa61d
[INFO] checking cxmr-tectonic-0.0.1 against try#bfe97fcae016881ad333f0ff8cea2cadb9cf136c for pr-121848
[INFO] extracting crate cxmr-tectonic 0.0.1 into /workspace/builds/worker-7-tc2/source
[INFO] validating manifest of crates.io crate cxmr-tectonic 0.0.1 on toolchain bfe97fcae016881ad333f0ff8cea2cadb9cf136c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "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-7-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1ed3118a92a4869bdccec2e35e863af7ca8dd6f9c194bce6c9c84d68fd3be4fa
[INFO] running `Command { std: "docker" "start" "-a" "1ed3118a92a4869bdccec2e35e863af7ca8dd6f9c194bce6c9c84d68fd3be4fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1ed3118a92a4869bdccec2e35e863af7ca8dd6f9c194bce6c9c84d68fd3be4fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1ed3118a92a4869bdccec2e35e863af7ca8dd6f9c194bce6c9c84d68fd3be4fa", kill_on_drop: false }`
[INFO] [stdout] 1ed3118a92a4869bdccec2e35e863af7ca8dd6f9c194bce6c9c84d68fd3be4fa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7c07e34c0fd7b04278b32d1c862c0302a918320f9cd3d5498d8b4fd9dd323b1c
[INFO] running `Command { std: "docker" "start" "-a" "7c07e34c0fd7b04278b32d1c862c0302a918320f9cd3d5498d8b4fd9dd323b1c", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]     Checking err-convert-macro v0.0.1
[INFO] [stderr]     Checking hashbrown v0.1.8
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]     Checking failure v0.1.8
[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] warning: the item `SocketAddr` is imported redundantly
[INFO] [stdout]    --> src/sync.rs:98:9
[INFO] [stdout]     |
[INFO] [stdout] 98  |     use std::net::SocketAddr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     use super::*;
[INFO] [stdout]     |         -------- the item `SocketAddr` is already imported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[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<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, 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<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, 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<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, 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<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, 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<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, 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<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, 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<Yeet<E>>>
[INFO] [stdout]               <Result<T, F> as FromResidual<Result<Infallible, 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<Yeet<E>>>
[INFO] [stdout]               <Result<T, F> as FromResidual<Result<Infallible, 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<Yeet<E>>>
[INFO] [stdout]               <Result<T, F> as FromResidual<Result<Infallible, 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<Yeet<E>>>
[INFO] [stdout]               <Result<T, F> as FromResidual<Result<Infallible, 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] [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] [stdout] error: aborting due to 7 previous errors; 3 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; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "7c07e34c0fd7b04278b32d1c862c0302a918320f9cd3d5498d8b4fd9dd323b1c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7c07e34c0fd7b04278b32d1c862c0302a918320f9cd3d5498d8b4fd9dd323b1c", kill_on_drop: false }`
[INFO] [stdout] 7c07e34c0fd7b04278b32d1c862c0302a918320f9cd3d5498d8b4fd9dd323b1c
