[INFO] cloning repository https://github.com/TyPR124/advent-of-code [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/TyPR124/advent-of-code" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTyPR124%2Fadvent-of-code", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTyPR124%2Fadvent-of-code'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3c476baf7b1188fca754cc9c07eedbfa5125a6fc [INFO] testing TyPR124/advent-of-code against master#99e3aef02079e9c10583638520cd0c134dc3a01d for pr-85530 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTyPR124%2Fadvent-of-code" "/workspace/builds/worker-7/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/TyPR124/advent-of-code on toolchain 99e3aef02079e9c10583638520cd0c134dc3a01d [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+99e3aef02079e9c10583638520cd0c134dc3a01d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-7/source/rust-toolchain [INFO] started tweaking git repo https://github.com/TyPR124/advent-of-code [INFO] finished tweaking git repo https://github.com/TyPR124/advent-of-code [INFO] tweaked toml for git repo https://github.com/TyPR124/advent-of-code written to /workspace/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/TyPR124/advent-of-code already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+99e3aef02079e9c10583638520cd0c134dc3a01d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+99e3aef02079e9c10583638520cd0c134dc3a01d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2196d6b3e63372bc41ffe85294151a95759437da7bb9ddf8b1bf3373a806ed8a [INFO] running `Command { std: "docker" "start" "-a" "2196d6b3e63372bc41ffe85294151a95759437da7bb9ddf8b1bf3373a806ed8a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2196d6b3e63372bc41ffe85294151a95759437da7bb9ddf8b1bf3373a806ed8a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2196d6b3e63372bc41ffe85294151a95759437da7bb9ddf8b1bf3373a806ed8a", kill_on_drop: false }` [INFO] [stdout] 2196d6b3e63372bc41ffe85294151a95759437da7bb9ddf8b1bf3373a806ed8a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+99e3aef02079e9c10583638520cd0c134dc3a01d" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2dd3ef094f0153e3cfc7728c9689e221875674d9891ea21f9429598834150414 [INFO] running `Command { std: "docker" "start" "-a" "2dd3ef094f0153e3cfc7728c9689e221875674d9891ea21f9429598834150414", kill_on_drop: false }` [INFO] [stderr] warning: output filename collision. [INFO] [stderr] The bin target `day1` in package `aoc_2019 v0.1.0 (/opt/rustwide/workdir/2019)` has the same output filename as the bin target `day1` in package `aoc_2018 v0.1.0 (/opt/rustwide/workdir/2018)`. [INFO] [stderr] Colliding filename is: /opt/rustwide/target/debug/day1 [INFO] [stderr] The targets should have unique names. [INFO] [stderr] Consider changing their names to be unique or compiling them separately. [INFO] [stderr] This may become a hard error in the future; see . [INFO] [stderr] warning: output filename collision. [INFO] [stderr] The bin target `day10` in package `aoc_2019 v0.1.0 (/opt/rustwide/workdir/2019)` has the same output filename as the bin target `day10` in package `aoc_2018 v0.1.0 (/opt/rustwide/workdir/2018)`. [INFO] [stderr] Colliding filename is: /opt/rustwide/target/debug/day10 [INFO] [stderr] The targets should have unique names. [INFO] [stderr] Consider changing their names to be unique or compiling them separately. [INFO] [stderr] This may become a hard error in the future; see . [INFO] [stderr] warning: output filename collision. [INFO] [stderr] The bin target `day11` in package `aoc_2019 v0.1.0 (/opt/rustwide/workdir/2019)` has the same output filename as the bin target `day11` in package `aoc_2018 v0.1.0 (/opt/rustwide/workdir/2018)`. [INFO] [stderr] Colliding filename is: /opt/rustwide/target/debug/day11 [INFO] [stderr] The targets should have unique names. [INFO] [stderr] Consider changing their names to be unique or compiling them separately. [INFO] [stderr] This may become a hard error in the future; see . [INFO] [stderr] warning: output filename collision. [INFO] [stderr] The bin target `day12` in package `aoc_2019 v0.1.0 (/opt/rustwide/workdir/2019)` has the same output filename as the bin target `day12` in package `aoc_2018 v0.1.0 (/opt/rustwide/workdir/2018)`. [INFO] [stderr] Colliding filename is: /opt/rustwide/target/debug/day12 [INFO] [stderr] The targets should have unique names. [INFO] [stderr] Consider changing their names to be unique or compiling them separately. [INFO] [stderr] This may become a hard error in the future; see . [INFO] [stderr] warning: output filename collision. [INFO] [stderr] The bin target `day2` in package `aoc_2019 v0.1.0 (/opt/rustwide/workdir/2019)` has the same output filename as the bin target `day2` in package `aoc_2018 v0.1.0 (/opt/rustwide/workdir/2018)`. [INFO] [stderr] Colliding filename is: /opt/rustwide/target/debug/day2 [INFO] [stderr] The targets should have unique names. [INFO] [stderr] Consider changing their names to be unique or compiling them separately. [INFO] [stderr] This may become a hard error in the future; see . [INFO] [stderr] warning: output filename collision. [INFO] [stderr] The bin target `day3` in package `aoc_2019 v0.1.0 (/opt/rustwide/workdir/2019)` has the same output filename as the bin target `day3` in package `aoc_2018 v0.1.0 (/opt/rustwide/workdir/2018)`. [INFO] [stderr] Colliding filename is: /opt/rustwide/target/debug/day3 [INFO] [stderr] The targets should have unique names. [INFO] [stderr] Consider changing their names to be unique or compiling them separately. [INFO] [stderr] This may become a hard error in the future; see . [INFO] [stderr] warning: output filename collision. [INFO] [stderr] The bin target `day4` in package `aoc_2019 v0.1.0 (/opt/rustwide/workdir/2019)` has the same output filename as the bin target `day4` in package `aoc_2018 v0.1.0 (/opt/rustwide/workdir/2018)`. [INFO] [stderr] Colliding filename is: /opt/rustwide/target/debug/day4 [INFO] [stderr] The targets should have unique names. [INFO] [stderr] Consider changing their names to be unique or compiling them separately. [INFO] [stderr] This may become a hard error in the future; see . [INFO] [stderr] warning: output filename collision. [INFO] [stderr] The bin target `day5` in package `aoc_2019 v0.1.0 (/opt/rustwide/workdir/2019)` has the same output filename as the bin target `day5` in package `aoc_2018 v0.1.0 (/opt/rustwide/workdir/2018)`. [INFO] [stderr] Colliding filename is: /opt/rustwide/target/debug/day5 [INFO] [stderr] The targets should have unique names. [INFO] [stderr] Consider changing their names to be unique or compiling them separately. [INFO] [stderr] This may become a hard error in the future; see . [INFO] [stderr] warning: output filename collision. [INFO] [stderr] The bin target `day6` in package `aoc_2019 v0.1.0 (/opt/rustwide/workdir/2019)` has the same output filename as the bin target `day6` in package `aoc_2018 v0.1.0 (/opt/rustwide/workdir/2018)`. [INFO] [stderr] Colliding filename is: /opt/rustwide/target/debug/day6 [INFO] [stderr] The targets should have unique names. [INFO] [stderr] Consider changing their names to be unique or compiling them separately. [INFO] [stderr] This may become a hard error in the future; see . [INFO] [stderr] warning: output filename collision. [INFO] [stderr] The bin target `day7` in package `aoc_2019 v0.1.0 (/opt/rustwide/workdir/2019)` has the same output filename as the bin target `day7` in package `aoc_2018 v0.1.0 (/opt/rustwide/workdir/2018)`. [INFO] [stderr] Colliding filename is: /opt/rustwide/target/debug/day7 [INFO] [stderr] The targets should have unique names. [INFO] [stderr] Consider changing their names to be unique or compiling them separately. [INFO] [stderr] This may become a hard error in the future; see . [INFO] [stderr] warning: output filename collision. [INFO] [stderr] The bin target `day8` in package `aoc_2019 v0.1.0 (/opt/rustwide/workdir/2019)` has the same output filename as the bin target `day8` in package `aoc_2018 v0.1.0 (/opt/rustwide/workdir/2018)`. [INFO] [stderr] Colliding filename is: /opt/rustwide/target/debug/day8 [INFO] [stderr] The targets should have unique names. [INFO] [stderr] Consider changing their names to be unique or compiling them separately. [INFO] [stderr] This may become a hard error in the future; see . [INFO] [stderr] warning: output filename collision. [INFO] [stderr] The bin target `day9` in package `aoc_2019 v0.1.0 (/opt/rustwide/workdir/2019)` has the same output filename as the bin target `day9` in package `aoc_2018 v0.1.0 (/opt/rustwide/workdir/2018)`. [INFO] [stderr] Colliding filename is: /opt/rustwide/target/debug/day9 [INFO] [stderr] The targets should have unique names. [INFO] [stderr] Consider changing their names to be unique or compiling them separately. [INFO] [stderr] This may become a hard error in the future; see . [INFO] [stderr] warning: output filename collision. [INFO] [stderr] The bin target `day1` in package `aoc_2020 v0.1.0 (/opt/rustwide/workdir/2020)` has the same output filename as the bin target `day1` in package `aoc_2019 v0.1.0 (/opt/rustwide/workdir/2019)`. [INFO] [stderr] Colliding filename is: /opt/rustwide/target/debug/day1 [INFO] [stderr] The targets should have unique names. [INFO] [stderr] Consider changing their names to be unique or compiling them separately. [INFO] [stderr] This may become a hard error in the future; see . [INFO] [stderr] warning: output filename collision. [INFO] [stderr] The bin target `day2` in package `aoc_2020 v0.1.0 (/opt/rustwide/workdir/2020)` has the same output filename as the bin target `day2` in package `aoc_2019 v0.1.0 (/opt/rustwide/workdir/2019)`. [INFO] [stderr] Colliding filename is: /opt/rustwide/target/debug/day2 [INFO] [stderr] The targets should have unique names. [INFO] [stderr] Consider changing their names to be unique or compiling them separately. [INFO] [stderr] This may become a hard error in the future; see . [INFO] [stderr] warning: output filename collision. [INFO] [stderr] The bin target `day3` in package `aoc_2020 v0.1.0 (/opt/rustwide/workdir/2020)` has the same output filename as the bin target `day3` in package `aoc_2019 v0.1.0 (/opt/rustwide/workdir/2019)`. [INFO] [stderr] Colliding filename is: /opt/rustwide/target/debug/day3 [INFO] [stderr] The targets should have unique names. [INFO] [stderr] Consider changing their names to be unique or compiling them separately. [INFO] [stderr] This may become a hard error in the future; see . [INFO] [stderr] warning: output filename collision. [INFO] [stderr] The bin target `day4` in package `aoc_2020 v0.1.0 (/opt/rustwide/workdir/2020)` has the same output filename as the bin target `day4` in package `aoc_2019 v0.1.0 (/opt/rustwide/workdir/2019)`. [INFO] [stderr] Colliding filename is: /opt/rustwide/target/debug/day4 [INFO] [stderr] The targets should have unique names. [INFO] [stderr] Consider changing their names to be unique or compiling them separately. [INFO] [stderr] This may become a hard error in the future; see . [INFO] [stderr] warning: output filename collision. [INFO] [stderr] The bin target `day5` in package `aoc_2020 v0.1.0 (/opt/rustwide/workdir/2020)` has the same output filename as the bin target `day5` in package `aoc_2019 v0.1.0 (/opt/rustwide/workdir/2019)`. [INFO] [stderr] Colliding filename is: /opt/rustwide/target/debug/day5 [INFO] [stderr] The targets should have unique names. [INFO] [stderr] Consider changing their names to be unique or compiling them separately. [INFO] [stderr] This may become a hard error in the future; see . [INFO] [stderr] warning: output filename collision. [INFO] [stderr] The bin target `day6` in package `aoc_2020 v0.1.0 (/opt/rustwide/workdir/2020)` has the same output filename as the bin target `day6` in package `aoc_2019 v0.1.0 (/opt/rustwide/workdir/2019)`. [INFO] [stderr] Colliding filename is: /opt/rustwide/target/debug/day6 [INFO] [stderr] The targets should have unique names. [INFO] [stderr] Consider changing their names to be unique or compiling them separately. [INFO] [stderr] This may become a hard error in the future; see . [INFO] [stderr] Compiling libc v0.2.45 [INFO] [stderr] Compiling arrayvec v0.4.10 [INFO] [stderr] Compiling version_check v0.1.5 [INFO] [stderr] Compiling memoffset v0.2.1 [INFO] [stderr] Compiling scopeguard v0.3.3 [INFO] [stderr] Compiling ucd-util v0.1.3 [INFO] [stderr] Compiling regex v1.1.0 [INFO] [stderr] Compiling utf8-ranges v1.0.2 [INFO] [stderr] Compiling either v1.5.0 [INFO] [stderr] Compiling aoc_2019 v0.1.0 (/opt/rustwide/workdir/2019) [INFO] [stderr] Compiling anyhow v1.0.34 [INFO] [stderr] Compiling thread_local v0.3.6 [INFO] [stderr] Compiling regex-syntax v0.6.4 [INFO] [stderr] Compiling memchr v2.1.2 [INFO] [stderr] Compiling num_cpus v1.9.0 [INFO] [stderr] Compiling aoc_2020 v0.1.0 (/opt/rustwide/workdir/2020) [INFO] [stderr] Compiling crossbeam-epoch v0.3.1 [INFO] [stderr] Compiling aho-corasick v0.6.9 [INFO] [stderr] Compiling crossbeam-deque v0.2.0 [INFO] [stderr] Compiling rayon-core v1.4.1 [INFO] [stderr] Compiling rayon v1.0.3 [INFO] [stderr] Compiling aoc_2018 v0.1.0 (/opt/rustwide/workdir/2018) [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> 2018/src/bin/day5/main.rs:50:43 [INFO] [stdout] | [INFO] [stdout] 30 | / fn part2(input: &str) -> Result { [INFO] [stdout] 31 | | use std::collections::HashMap; [INFO] [stdout] 32 | | let input = input.trim().as_bytes(); [INFO] [stdout] 33 | | let mut all = HashMap::new(); [INFO] [stdout] ... | [INFO] [stdout] 50 | | Ok(all.values().map(|v| v.len()).min()?) [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 51 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `aoc_2018` [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] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> 2018/src/bin/day9/main.rs:18:29 [INFO] [stdout] | [INFO] [stdout] 14 | / fn part1(n_players: usize, last_marble_score: usize) -> Result { [INFO] [stdout] 15 | | let mut players = vec![0; n_players]; [INFO] [stdout] 16 | | let marble_count = last_marble_score + 1; [INFO] [stdout] 17 | | play_game(&mut players, marble_count); [INFO] [stdout] 18 | | Ok(*players.iter().max()?) [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 19 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [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] --> 2018/src/bin/day13/main.rs:113:45 [INFO] [stdout] | [INFO] [stdout] 40 | / fn main() -> Result<()> { [INFO] [stdout] 41 | | let input = INPUT; [INFO] [stdout] 42 | | let mut turns = Turns::new(); [INFO] [stdout] 43 | | let mut carts = Carts::new(); [INFO] [stdout] ... | [INFO] [stdout] 113 | | first = *collisions.iter().min()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), aoc_2018::Error>` [INFO] [stdout] ... | [INFO] [stdout] 121 | | Ok(()) [INFO] [stdout] 122 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), aoc_2018::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] --> 2018/src/bin/day13/main.rs:119:46 [INFO] [stdout] | [INFO] [stdout] 40 | / fn main() -> Result<()> { [INFO] [stdout] 41 | | let input = INPUT; [INFO] [stdout] 42 | | let mut turns = Turns::new(); [INFO] [stdout] 43 | | let mut carts = Carts::new(); [INFO] [stdout] ... | [INFO] [stdout] 119 | | println!("Part2: {}", carts.iter().next()?.0); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), aoc_2018::Error>` [INFO] [stdout] 120 | | [INFO] [stdout] 121 | | Ok(()) [INFO] [stdout] 122 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), aoc_2018::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error [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] --> 2018/src/bin/day6/main.rs:101:15 [INFO] [stdout] | [INFO] [stdout] 57 | / fn part1(points: &[Point], bounds: Bounds) -> Result { [INFO] [stdout] 58 | | use std::sync::Mutex; [INFO] [stdout] 59 | | let results = Mutex::new(HashMap::::new()); [INFO] [stdout] 60 | | let disq = Mutex::new(HashSet::::new()); [INFO] [stdout] ... | [INFO] [stdout] 101 | | .max()?) [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 102 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [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] --> 2018/src/bin/day6/main.rs:128:32 [INFO] [stdout] | [INFO] [stdout] 122 | / fn from_str(s: &str) -> Result { [INFO] [stdout] 123 | | let mut parts = s.split(", "); [INFO] [stdout] 124 | | if parts.clone().count() != 2 { [INFO] [stdout] 125 | | Err(err!("Expected 2 parts in Point::from_str()")) [INFO] [stdout] ... | [INFO] [stdout] 128 | | x: parts.next()?.parse()?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 131 | | } [INFO] [stdout] 132 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [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 method that returns `Result` [INFO] [stdout] --> 2018/src/bin/day6/main.rs:129:32 [INFO] [stdout] | [INFO] [stdout] 122 | / fn from_str(s: &str) -> Result { [INFO] [stdout] 123 | | let mut parts = s.split(", "); [INFO] [stdout] 124 | | if parts.clone().count() != 2 { [INFO] [stdout] 125 | | Err(err!("Expected 2 parts in Point::from_str()")) [INFO] [stdout] ... | [INFO] [stdout] 129 | | y: parts.next()?.parse()?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 130 | | }) [INFO] [stdout] 131 | | } [INFO] [stdout] 132 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [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] --> 2018/src/bin/day7/main.rs:51:45 [INFO] [stdout] | [INFO] [stdout] 31 | / fn part1(input: &str) -> Result { [INFO] [stdout] 32 | | type DepMap = BTreeMap>; [INFO] [stdout] 33 | | fn step(dep_map: &mut DepMap) -> u8 { [INFO] [stdout] 34 | | // #[allow(clippy::clippy::skip_while_next)] [INFO] [stdout] ... | [INFO] [stdout] 51 | | let caps = LINE_REGEX.captures(line)?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 60 | | Ok(out) [INFO] [stdout] 61 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [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] --> 2018/src/bin/day7/main.rs:52:37 [INFO] [stdout] | [INFO] [stdout] 31 | / fn part1(input: &str) -> Result { [INFO] [stdout] 32 | | type DepMap = BTreeMap>; [INFO] [stdout] 33 | | fn step(dep_map: &mut DepMap) -> u8 { [INFO] [stdout] 34 | | // #[allow(clippy::clippy::skip_while_next)] [INFO] [stdout] ... | [INFO] [stdout] 52 | | let node = caps.name("node")?.as_str().as_bytes()[0]; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 60 | | Ok(out) [INFO] [stdout] 61 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [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] --> 2018/src/bin/day7/main.rs:53:37 [INFO] [stdout] | [INFO] [stdout] 31 | / fn part1(input: &str) -> Result { [INFO] [stdout] 32 | | type DepMap = BTreeMap>; [INFO] [stdout] 33 | | fn step(dep_map: &mut DepMap) -> u8 { [INFO] [stdout] 34 | | // #[allow(clippy::clippy::skip_while_next)] [INFO] [stdout] ... | [INFO] [stdout] 53 | | let need = caps.name("need")?.as_str().as_bytes()[0]; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 60 | | Ok(out) [INFO] [stdout] 61 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [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] --> 2018/src/bin/day7/main.rs:113:45 [INFO] [stdout] | [INFO] [stdout] 63 | / fn part2(input: &str, worker_count: usize) -> Result { [INFO] [stdout] 64 | | #[derive(PartialEq)] [INFO] [stdout] 65 | | enum Status { [INFO] [stdout] 66 | | HaveNeeds(BTreeSet), [INFO] [stdout] ... | [INFO] [stdout] 113 | | let caps = LINE_REGEX.captures(line)?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 202 | | } [INFO] [stdout] 203 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [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] --> 2018/src/bin/day7/main.rs:114:37 [INFO] [stdout] | [INFO] [stdout] 63 | / fn part2(input: &str, worker_count: usize) -> Result { [INFO] [stdout] 64 | | #[derive(PartialEq)] [INFO] [stdout] 65 | | enum Status { [INFO] [stdout] 66 | | HaveNeeds(BTreeSet), [INFO] [stdout] ... | [INFO] [stdout] 114 | | let node = caps.name("node")?.as_str().as_bytes()[0]; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 202 | | } [INFO] [stdout] 203 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [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] --> 2018/src/bin/day7/main.rs:115:37 [INFO] [stdout] | [INFO] [stdout] 63 | / fn part2(input: &str, worker_count: usize) -> Result { [INFO] [stdout] 64 | | #[derive(PartialEq)] [INFO] [stdout] 65 | | enum Status { [INFO] [stdout] 66 | | HaveNeeds(BTreeSet), [INFO] [stdout] ... | [INFO] [stdout] 115 | | let need = caps.name("need")?.as_str().as_bytes()[0]; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 202 | | } [INFO] [stdout] 203 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [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] --> 2018/src/bin/day7/main.rs:197:23 [INFO] [stdout] | [INFO] [stdout] 144 | / fn tick(dep_map: &mut DepMap, workers: &mut Vec, todo: &mut Vec) -> Result { [INFO] [stdout] 145 | | let &passing_time = workers [INFO] [stdout] 146 | | .iter() [INFO] [stdout] 147 | | .filter(|w| w.is_working()) [INFO] [stdout] ... | [INFO] [stdout] 197 | | .max()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 201 | | } [INFO] [stdout] 202 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [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] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "2dd3ef094f0153e3cfc7728c9689e221875674d9891ea21f9429598834150414", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2dd3ef094f0153e3cfc7728c9689e221875674d9891ea21f9429598834150414", kill_on_drop: false }` [INFO] [stdout] 2dd3ef094f0153e3cfc7728c9689e221875674d9891ea21f9429598834150414