[INFO] fetching crate idiom-solitaire 0.1.0...
[INFO] testing idiom-solitaire-0.1.0 against beta-2025-09-21 for beta-1.91-3
[INFO] extracting crate idiom-solitaire 0.1.0 into /workspace/builds/worker-1-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-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate idiom-solitaire 0.1.0 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "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" "+beta-2025-09-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 46 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.14.0)
[INFO] [stderr]       Adding pinyin v0.8.0 (available: v0.10.0)
[INFO] [stderr]       Adding rand v0.7.3 (available: v0.9.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fecacf3e2950d4ac763e3230f04507ad6e1e1b21f6c3fdc0ad8443d72ec71771
[INFO] running `Command { std: "docker" "start" "-a" "fecacf3e2950d4ac763e3230f04507ad6e1e1b21f6c3fdc0ad8443d72ec71771", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fecacf3e2950d4ac763e3230f04507ad6e1e1b21f6c3fdc0ad8443d72ec71771", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fecacf3e2950d4ac763e3230f04507ad6e1e1b21f6c3fdc0ad8443d72ec71771", kill_on_drop: false }`
[INFO] [stdout] fecacf3e2950d4ac763e3230f04507ad6e1e1b21f6c3fdc0ad8443d72ec71771
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a7c8687bce7df828492b46f934668c5fe1730e8f3576cbb200321d5cc482c4c2
[INFO] running `Command { std: "docker" "start" "-a" "a7c8687bce7df828492b46f934668c5fe1730e8f3576cbb200321d5cc482c4c2", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.176
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling pinyin v0.8.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling csv-core v0.1.12
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]    Compiling integer-sqrt v0.1.5
[INFO] [stderr]    Compiling pathfinding v2.2.3
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_pcg v0.2.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling csv v1.3.1
[INFO] [stderr]    Compiling idiom-solitaire v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0412]: 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[E0412]: 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[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> src/lib.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(try_trait)]
[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, E0412, E0554, 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 10 previous errors
[INFO] running `Command { std: "docker" "inspect" "a7c8687bce7df828492b46f934668c5fe1730e8f3576cbb200321d5cc482c4c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a7c8687bce7df828492b46f934668c5fe1730e8f3576cbb200321d5cc482c4c2", kill_on_drop: false }`
[INFO] [stdout] a7c8687bce7df828492b46f934668c5fe1730e8f3576cbb200321d5cc482c4c2
