[INFO] fetching crate idiom-solitaire 0.1.0...
[INFO] testing idiom-solitaire-0.1.0 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate idiom-solitaire 0.1.0 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate idiom-solitaire 0.1.0
[INFO] finished tweaking crates.io crate idiom-solitaire 0.1.0
[INFO] tweaked toml for crates.io crate idiom-solitaire 0.1.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate idiom-solitaire 0.1.0 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 44 packages to latest compatible versions
[INFO] [stderr]       Adding itertools v0.9.0 (available: v0.14.0)
[INFO] [stderr]       Adding pathfinding v2.2.3 (available: v4.15.0)
[INFO] [stderr]       Adding pinyin v0.8.0 (available: v0.11.0)
[INFO] [stderr]       Adding rand v0.7.3 (available: v0.10.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 31c13baff72546b37c2077aaa4a3a81e46a15bf18489567eaf71ec67a2f2f234
[INFO] running `Command { std: "docker" "start" "-a" "31c13baff72546b37c2077aaa4a3a81e46a15bf18489567eaf71ec67a2f2f234", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "31c13baff72546b37c2077aaa4a3a81e46a15bf18489567eaf71ec67a2f2f234", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31c13baff72546b37c2077aaa4a3a81e46a15bf18489567eaf71ec67a2f2f234", kill_on_drop: false }`
[INFO] [stdout] 31c13baff72546b37c2077aaa4a3a81e46a15bf18489567eaf71ec67a2f2f234
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 23a774cefba5c1b7b88386e188bff5375a76b35412ec82761335c203d616e585
[INFO] running `Command { std: "docker" "start" "-a" "23a774cefba5c1b7b88386e188bff5375a76b35412ec82761335c203d616e585", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling pinyin v0.8.0
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling integer-sqrt v0.1.5
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling pathfinding v2.2.3
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand_pcg v0.2.1
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling idiom-solitaire v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0425]: cannot find type `NoneError` in module `std::option`
[INFO] [stdout]   --> src/errors.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl From<std::option::NoneError> for Error {
[INFO] [stdout]    |                        ^^^^^^^^^ not found in `std::option`
[INFO] [stdout]    |
[INFO] [stdout] help: there is an enum variant `crate::Error::NoneError`; try using the variant's enum
[INFO] [stdout]    |
[INFO] [stdout] 23 - impl From<std::option::NoneError> for Error {
[INFO] [stdout] 23 + impl From<crate::Error> for Error {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `NoneError` in module `std::option`
[INFO] [stdout]   --> src/errors.rs:24:29
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn from(_: std::option::NoneError) -> Self {
[INFO] [stdout]    |                             ^^^^^^^^^ not found in `std::option`
[INFO] [stdout]    |
[INFO] [stdout] help: there is an enum variant `crate::Error::NoneError`; try using the variant's enum
[INFO] [stdout]    |
[INFO] [stdout] 24 -     fn from(_: std::option::NoneError) -> Self {
[INFO] [stdout] 24 +     fn from(_: crate::Error) -> Self {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: feature `try_trait` has been renamed to `try_trait_v2`
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(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 method that returns `Result`
[INFO] [stdout]   --> src/solver/mod.rs:96:55
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn solve_random(&mut self, input: &str) -> Result<Idiom> {
[INFO] [stdout]    |     ------------------------------------------------------------ this function returns a `Result`
[INFO] [stdout] ...
[INFO] [stdout] 96 |             let i = (0..s.len()).choose(&mut self.rng)?;
[INFO] [stdout]    |                                                       ^ use `.ok_or(...)?` to provide an error compatible with `std::result::Result<Idiom, errors::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result`
[INFO] [stdout]    --> src/solver/mod.rs:104:43
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn solve_target(&mut self, input: &str, target: &str) -> Result<Vec<Idiom>> {
[INFO] [stdout]     |     ------------------------------------------------------------------------------- this function returns a `Result`
[INFO] [stdout] 103 |         let first = Idiom::from(input);
[INFO] [stdout] 104 |         let target = target.chars().next()?;
[INFO] [stdout]     |                                           ^ use `.ok_or(...)?` to provide an error compatible with `std::result::Result<Vec<Idiom>, errors::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result`
[INFO] [stdout]    --> src/solver/mod.rs:107:54
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn solve_target(&mut self, input: &str, target: &str) -> Result<Vec<Idiom>> {
[INFO] [stdout]     |     ------------------------------------------------------------------------------- this function returns a `Result`
[INFO] [stdout] ...
[INFO] [stdout] 107 |             SolitaireMode::Tone => target.to_pinyin()?.with_tone().to_string(),
[INFO] [stdout]     |                                                      ^ use `.ok_or(...)?` to provide an error compatible with `std::result::Result<Vec<Idiom>, errors::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result`
[INFO] [stdout]    --> src/solver/mod.rs:108:55
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn solve_target(&mut self, input: &str, target: &str) -> Result<Vec<Idiom>> {
[INFO] [stdout]     |     ------------------------------------------------------------------------------- this function returns a `Result`
[INFO] [stdout] ...
[INFO] [stdout] 108 |             SolitaireMode::Sound => target.to_pinyin()?.plain().to_string(),
[INFO] [stdout]     |                                                       ^ use `.ok_or(...)?` to provide an error compatible with `std::result::Result<Vec<Idiom>, errors::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result`
[INFO] [stdout]    --> src/solver/mod.rs:110:95
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn solve_target(&mut self, input: &str, target: &str) -> Result<Vec<Idiom>> {
[INFO] [stdout]     |     ------------------------------------------------------------------------------- this function returns a `Result`
[INFO] [stdout] ...
[INFO] [stdout] 110 |         let result = bfs(&first, |p| self.successors(p), |p| self.get_key(&p.idiom) == target)?;
[INFO] [stdout]     |                                                                                               ^ use `.ok_or(...)?` to provide an error compatible with `std::result::Result<Vec<Idiom>, errors::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result`
[INFO] [stdout]    --> src/solver/mod.rs:133:57
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn solve_greedy(&mut self, input: &str) -> Result<Idiom> {
[INFO] [stdout]     |     ------------------------------------------------------------ this function returns a `Result`
[INFO] [stdout] ...
[INFO] [stdout] 133 |         let s = self.state.get_mut(&self.get_key(input))?;
[INFO] [stdout]     |                                                         ^ use `.ok_or(...)?` to provide an error compatible with `std::result::Result<Idiom, errors::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0425, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `idiom-solitaire` (lib) due to 9 previous errors
[INFO] running `Command { std: "docker" "inspect" "23a774cefba5c1b7b88386e188bff5375a76b35412ec82761335c203d616e585", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "23a774cefba5c1b7b88386e188bff5375a76b35412ec82761335c203d616e585", kill_on_drop: false }`
[INFO] [stdout] 23a774cefba5c1b7b88386e188bff5375a76b35412ec82761335c203d616e585
