[INFO] fetching crate cxmr-pubsub 0.0.1...
[INFO] testing cxmr-pubsub-0.0.1 against 1.54.0 for beta-1.55-1
[INFO] extracting crate cxmr-pubsub 0.0.1 into /workspace/builds/worker-70/source
[INFO] validating manifest of crates.io crate cxmr-pubsub 0.0.1 on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate cxmr-pubsub 0.0.1
[INFO] finished tweaking crates.io crate cxmr-pubsub 0.0.1
[INFO] tweaked toml for crates.io crate cxmr-pubsub 0.0.1 written to /workspace/builds/worker-70/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded metadeps v1.1.2
[INFO] [stderr]   Downloaded toml v0.2.1
[INFO] [stderr]   Downloaded zeromq-src v0.1.10+4.3.2
[INFO] [stderr]   Downloaded zmq-sys v0.11.0
[INFO] [stderr]   Downloaded cxmr-tectonic v0.0.1
[INFO] [stderr]   Downloaded zmq v0.9.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-70/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-70/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 173118c497ace9c8a33938035520b09e4a0484630081a4d915719e24d2cadb80
[INFO] running `Command { std: "docker" "start" "-a" "173118c497ace9c8a33938035520b09e4a0484630081a4d915719e24d2cadb80", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "173118c497ace9c8a33938035520b09e4a0484630081a4d915719e24d2cadb80", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "173118c497ace9c8a33938035520b09e4a0484630081a4d915719e24d2cadb80", kill_on_drop: false }`
[INFO] [stdout] 173118c497ace9c8a33938035520b09e4a0484630081a4d915719e24d2cadb80
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-70/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-70/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6773fc4a228c0c0b995ca6c45a4e8dd0ae2f102581df5acf7c016a49ed83aece
[INFO] running `Command { std: "docker" "start" "-a" "6773fc4a228c0c0b995ca6c45a4e8dd0ae2f102581df5acf7c016a49ed83aece", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]    Compiling toml v0.2.1
[INFO] [stderr]    Compiling error-chain v0.10.0
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]    Compiling scopeguard v0.3.3
[INFO] [stderr]    Compiling err-convert-macro v0.0.1
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling zmq v0.9.2
[INFO] [stderr]    Compiling memoffset v0.6.4
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]    Compiling cmake v0.1.45
[INFO] [stderr]    Compiling crossbeam-channel v0.4.4
[INFO] [stderr]    Compiling serde_derive v1.0.127
[INFO] [stderr]    Compiling hashbrown v0.1.8
[INFO] [stderr]    Compiling zeromq-src v0.1.10+4.3.2
[INFO] [stderr]    Compiling metadeps v1.1.2
[INFO] [stderr]    Compiling crossbeam v0.7.3
[INFO] [stderr]    Compiling crossbeam-channel v0.5.1
[INFO] [stderr]    Compiling zmq-sys v0.11.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.1
[INFO] [stderr]    Compiling cxmr-balances v0.0.1
[INFO] [stderr]    Compiling cxmr-currency v0.0.1
[INFO] [stderr]    Compiling cxmr-exchanges v0.0.1
[INFO] [stderr]    Compiling cxmr-feeds v0.0.1
[INFO] [stderr]    Compiling cxmr-tectonic v0.0.1
[INFO] [stdout] error[E0412]: cannot find type `NoneError` in module `std::option`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/cxmr-tectonic-0.0.1/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[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]  --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/cxmr-tectonic-0.0.1/src/lib.rs:2:1
[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]   --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/cxmr-tectonic-0.0.1/src/dirs.rs:37:34
[INFO] [stdout]    |
[INFO] [stdout] 36 | / fn is_not_default(path: &Path) -> Result<bool, Error> {
[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] 38 | |     Ok(symbol != "default")
[INFO] [stdout] 39 | | }
[INFO] [stdout]    | |_- this function returns a `Result`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<bool, Error>`
[INFO] [stdout]    = note: required by `from_residual`
[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]   --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/cxmr-tectonic-0.0.1/src/dirs.rs:37:44
[INFO] [stdout]    |
[INFO] [stdout] 36 | / fn is_not_default(path: &Path) -> Result<bool, Error> {
[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] 38 | |     Ok(symbol != "default")
[INFO] [stdout] 39 | | }
[INFO] [stdout]    | |_- this function returns a `Result`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<bool, Error>`
[INFO] [stdout]    = note: required by `from_residual`
[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]   --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/cxmr-tectonic-0.0.1/src/dirs.rs:37:63
[INFO] [stdout]    |
[INFO] [stdout] 36 | / fn is_not_default(path: &Path) -> Result<bool, Error> {
[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] 38 | |     Ok(symbol != "default")
[INFO] [stdout] 39 | | }
[INFO] [stdout]    | |_- this function returns a `Result`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<bool, Error>`
[INFO] [stdout]    = note: required by `from_residual`
[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]    --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/cxmr-tectonic-0.0.1/src/dtf.rs:635:42
[INFO] [stdout]     |
[INFO] [stdout] 634 | / fn split_symbol(symbol: &str) -> Result<Market, Error> {
[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] 636 | |     let index = symbol.find('_')?;
[INFO] [stdout] 637 | |     let exchange = Exchange::from_str(&symbol[..index])?;
[INFO] [stdout] 638 | |     let pair = CurrencyPair::from_str(&symbol[index + 1..])?;
[INFO] [stdout] 639 | |     Ok(Market::new(exchange, pair))
[INFO] [stdout] 640 | | }
[INFO] [stdout]     | |_- this function returns a `Result`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<cxmr_exchanges::Market, Error>`
[INFO] [stdout]     = note: required by `from_residual`
[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]    --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/cxmr-tectonic-0.0.1/src/dtf.rs:636:33
[INFO] [stdout]     |
[INFO] [stdout] 634 | / fn split_symbol(symbol: &str) -> Result<Market, Error> {
[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] 637 | |     let exchange = Exchange::from_str(&symbol[..index])?;
[INFO] [stdout] 638 | |     let pair = CurrencyPair::from_str(&symbol[index + 1..])?;
[INFO] [stdout] 639 | |     Ok(Market::new(exchange, pair))
[INFO] [stdout] 640 | | }
[INFO] [stdout]     | |_- this function returns a `Result`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<cxmr_exchanges::Market, Error>`
[INFO] [stdout]     = note: required by `from_residual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0412, E0554.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cxmr-tectonic`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "6773fc4a228c0c0b995ca6c45a4e8dd0ae2f102581df5acf7c016a49ed83aece", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6773fc4a228c0c0b995ca6c45a4e8dd0ae2f102581df5acf7c016a49ed83aece", kill_on_drop: false }`
[INFO] [stdout] 6773fc4a228c0c0b995ca6c45a4e8dd0ae2f102581df5acf7c016a49ed83aece
