[INFO] cloning repository https://github.com/acdimalev/2015-adventofcode-rust [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/acdimalev/2015-adventofcode-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Facdimalev%2F2015-adventofcode-rust"` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Facdimalev%2F2015-adventofcode-rust'... [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] ecc57bb7261cd620d6b8771d16feebaaf3380db8 [INFO] checking acdimalev/2015-adventofcode-rust against master#2748a9fd93dd1a00a4521f4f16de5befbf77f6cd for pr-62262-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Facdimalev%2F2015-adventofcode-rust" "/workspace/builds/worker-3/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/acdimalev/2015-adventofcode-rust on toolchain 2748a9fd93dd1a00a4521f4f16de5befbf77f6cd [INFO] running `"/workspace/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/acdimalev/2015-adventofcode-rust [INFO] finished tweaking git repo https://github.com/acdimalev/2015-adventofcode-rust [INFO] tweaked toml for git repo https://github.com/acdimalev/2015-adventofcode-rust written to /workspace/builds/worker-3/source/Cargo.toml [INFO] crate git repo https://github.com/acdimalev/2015-adventofcode-rust already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] error: the lock file /workspace/builds/worker-3/source/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] the lockfile is outdated, regenerating it [INFO] running `"/workspace/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 939df0ed1ae343114e79ade12d55205f40d6dc998ffc04685c04a808df9f1b2a [INFO] running `"docker" "start" "-a" "939df0ed1ae343114e79ade12d55205f40d6dc998ffc04685c04a808df9f1b2a"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Checking combine v3.8.1 [INFO] [stderr] Checking 2015-adventofcode-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] error[E0432]: unresolved import `self::combine::primitives` [INFO] [stderr] --> src/bin/day7.rs:30:24 [INFO] [stderr] | [INFO] [stderr] 30 | use self::combine::primitives::{Stream, Consumed, Error}; [INFO] [stderr] | ^^^^^^^^^^ could not find `primitives` in `combine` [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `State` in this scope [INFO] [stderr] --> src/bin/day7.rs:39:23 [INFO] [stderr] | [INFO] [stderr] 39 | fn wire(input: State) -> ParseResult<::Wire, I> where [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::stream::state::State; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `lower` in this scope [INFO] [stderr] --> src/bin/day7.rs:42:15 [INFO] [stderr] | [INFO] [stderr] 42 | many1(lower()) [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::byte::lower; [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::char::lower; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `State` in this scope [INFO] [stderr] --> src/bin/day7.rs:47:31 [INFO] [stderr] | [INFO] [stderr] 47 | fn signal_value(input: State) -> ParseResult where [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::stream::state::State; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `digit` in this scope [INFO] [stderr] --> src/bin/day7.rs:50:15 [INFO] [stderr] | [INFO] [stderr] 50 | many1(digit()) [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::byte::digit; [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::char::digit; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `State` in this scope [INFO] [stderr] --> src/bin/day7.rs:56:28 [INFO] [stderr] | [INFO] [stderr] 56 | fn operation(input: State) -> ParseResult<::Operation, I> where [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::stream::state::State; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `string` in this scope [INFO] [stderr] --> src/bin/day7.rs:71:22 [INFO] [stderr] | [INFO] [stderr] 71 | let op_not = string("NOT ").with(wire()) [INFO] [stderr] | ^^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::char::string; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `string` in this scope [INFO] [stderr] --> src/bin/day7.rs:75:27 [INFO] [stderr] | [INFO] [stderr] 75 | signal().skip(string(" AND ")), [INFO] [stderr] | ^^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::char::string; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `string` in this scope [INFO] [stderr] --> src/bin/day7.rs:80:25 [INFO] [stderr] | [INFO] [stderr] 80 | wire().skip(string(" OR ")), [INFO] [stderr] | ^^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::char::string; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `string` in this scope [INFO] [stderr] --> src/bin/day7.rs:85:25 [INFO] [stderr] | [INFO] [stderr] 85 | wire().skip(string(" LSHIFT ")), [INFO] [stderr] | ^^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::char::string; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `string` in this scope [INFO] [stderr] --> src/bin/day7.rs:90:25 [INFO] [stderr] | [INFO] [stderr] 90 | wire().skip(string(" RSHIFT ")), [INFO] [stderr] | ^^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::char::string; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `string` in this scope [INFO] [stderr] --> src/bin/day7.rs:132:34 [INFO] [stderr] | [INFO] [stderr] 132 | operation().skip(string(" -> ")), [INFO] [stderr] | ^^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::char::string; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day7.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | try(signal_value().map(|value| ::Signal::Value(value))) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day7.rs:94:22 [INFO] [stderr] | [INFO] [stderr] 94 | let result = try(op_not).parse_state(input.clone()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day7.rs:97:22 [INFO] [stderr] | [INFO] [stderr] 97 | let result = try(op_and).parse_state(input.clone()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day7.rs:100:22 [INFO] [stderr] | [INFO] [stderr] 100 | let result = try(op_or).parse_state(input.clone()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day7.rs:103:22 [INFO] [stderr] | [INFO] [stderr] 103 | let result = try(op_lshift).parse_state(input.clone()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day7.rs:106:22 [INFO] [stderr] | [INFO] [stderr] 106 | let result = try(op_rshift).parse_state(input.clone()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day7.rs:112:22 [INFO] [stderr] | [INFO] [stderr] 112 | let result = try(op_signal).parse_state(input.clone()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `::Error: parse::combine::ParseError::Range, ::Position>` is not satisfied [INFO] [stderr] --> src/bin/day7.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | / fn wire(input: State) -> ParseResult<::Wire, I> where [INFO] [stderr] 40 | | I: Stream, [INFO] [stderr] 41 | | { [INFO] [stderr] 42 | | many1(lower()) [INFO] [stderr] 43 | | .map(|id: String| ::Wire(id)) [INFO] [stderr] 44 | | .parse_state(input) [INFO] [stderr] 45 | | } [INFO] [stderr] | |_____^ the trait `parse::combine::ParseError::Range, ::Position>` is not implemented for `::Error` [INFO] [stderr] | [INFO] [stderr] = help: consider adding a `where ::Error: parse::combine::ParseError::Range, ::Position>` bound [INFO] [stderr] = note: required by `parse::combine::StreamOnce` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `::Error: parse::combine::ParseError::Range, ::Position>` is not satisfied [INFO] [stderr] --> src/bin/day7.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | / fn signal_value(input: State) -> ParseResult where [INFO] [stderr] 48 | | I: Stream, [INFO] [stderr] 49 | | { [INFO] [stderr] 50 | | many1(digit()) [INFO] [stderr] ... | [INFO] [stderr] 53 | | .parse_state(input) [INFO] [stderr] 54 | | } [INFO] [stderr] | |_____^ the trait `parse::combine::ParseError::Range, ::Position>` is not implemented for `::Error` [INFO] [stderr] | [INFO] [stderr] = help: consider adding a `where ::Error: parse::combine::ParseError::Range, ::Position>` bound [INFO] [stderr] = note: required by `parse::combine::StreamOnce` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `::Error: parse::combine::ParseError::Range, ::Position>` is not satisfied [INFO] [stderr] --> src/bin/day7.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | / fn operation(input: State) -> ParseResult<::Operation, I> where [INFO] [stderr] 57 | | I: Stream, [INFO] [stderr] 58 | | { [INFO] [stderr] 59 | | let signal_value = || parser(signal_value) [INFO] [stderr] ... | [INFO] [stderr] 120 | | )) [INFO] [stderr] 121 | | } [INFO] [stderr] | |_____^ the trait `parse::combine::ParseError::Range, ::Position>` is not implemented for `::Error` [INFO] [stderr] | [INFO] [stderr] = help: consider adding a `where ::Error: parse::combine::ParseError::Range, ::Position>` bound [INFO] [stderr] = note: required by `parse::combine::StreamOnce` [INFO] [stderr] [INFO] [stderr] error: aborting due to 15 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0277, E0412, E0425, E0432. [INFO] [stderr] For more information about an error, try `rustc --explain E0277`. [INFO] [stderr] error[E0432]: unresolved imports `self::combine::ParserExt`, `self::combine::string`, `self::combine::digit` [INFO] [stderr] --> src/bin/day6.rs:96:17 [INFO] [stderr] | [INFO] [stderr] 96 | Parser, ParserExt, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | no `ParserExt` in the root [INFO] [stderr] | help: a similar name exists in the module: `Parser` [INFO] [stderr] 97 | choice, string, many1, digit, token, value, try [INFO] [stderr] | ^^^^^^ ^^^^^ no `digit` in the root [INFO] [stderr] | | [INFO] [stderr] | no `string` in the root [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bin/day6.rs:5:21 [INFO] [stderr] | [INFO] [stderr] 5 | type LightStateFn = Fn(LightState) -> LightState; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(LightState) -> LightState` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] error: could not compile `2015-adventofcode-rust`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day6.rs:97:53 [INFO] [stderr] | [INFO] [stderr] 97 | choice, string, many1, digit, token, value, try [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day6.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | try(string("turn on")).with(value(Action::TurnOn)), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day6.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | try(string("turn off")).with(value(Action::TurnOff)), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day6.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | try(string("toggle")).with(value(Action::Toggle)), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved imports `self::combine::ParserExt`, `self::combine::string`, `self::combine::digit` [INFO] [stderr] --> src/bin/day6.rs:96:17 [INFO] [stderr] | [INFO] [stderr] 96 | Parser, ParserExt, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | no `ParserExt` in the root [INFO] [stderr] | help: a similar name exists in the module: `Parser` [INFO] [stderr] 97 | choice, string, many1, digit, token, value, try [INFO] [stderr] | ^^^^^^ ^^^^^ no `digit` in the root [INFO] [stderr] | | [INFO] [stderr] | no `string` in the root [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bin/day6.rs:5:21 [INFO] [stderr] | [INFO] [stderr] 5 | type LightStateFn = Fn(LightState) -> LightState; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(LightState) -> LightState` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day6.rs:97:53 [INFO] [stderr] | [INFO] [stderr] 97 | choice, string, many1, digit, token, value, try [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day6.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | try(string("turn on")).with(value(Action::TurnOn)), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day6.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | try(string("turn off")).with(value(Action::TurnOff)), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day6.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | try(string("toggle")).with(value(Action::Toggle)), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `parse::combine::error::StringStreamError: std::convert::From` is not satisfied [INFO] [stderr] --> src/bin/day6.rs:122:22 [INFO] [stderr] | [INFO] [stderr] 122 | number().skip(token(',')), [INFO] [stderr] | ^^^^ the trait `std::convert::From` is not implemented for `parse::combine::error::StringStreamError` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `std::convert::Into` for `std::num::ParseIntError` [INFO] [stderr] = note: required because of the requirements on the impl of `parse::combine::Parser` for `parse::combine::combinator::AndThen, [closure@src/bin/day6.rs:119:23: 119:44]>` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `parse::combine::error::StringStreamError: std::convert::From` is not satisfied [INFO] [stderr] --> src/bin/day6.rs:124:11 [INFO] [stderr] | [INFO] [stderr] 124 | ).map(|(x, y)| Coord(x, y)); [INFO] [stderr] | ^^^ the trait `std::convert::From` is not implemented for `parse::combine::error::StringStreamError` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `std::convert::Into` for `std::num::ParseIntError` [INFO] [stderr] = note: required because of the requirements on the impl of `parse::combine::Parser` for `parse::combine::combinator::AndThen, [closure@src/bin/day6.rs:119:23: 119:44]>` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `parse::combine::error::StringStreamError: std::convert::From` is not satisfied [INFO] [stderr] --> src/bin/day6.rs:134:13 [INFO] [stderr] | [INFO] [stderr] 134 | coord().skip(string(" through ")), [INFO] [stderr] | ^^^^^^^ the trait `std::convert::From` is not implemented for `parse::combine::error::StringStreamError` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `std::convert::Into` for `std::num::ParseIntError` [INFO] [stderr] = note: required because of the requirements on the impl of `parse::combine::Parser` for `parse::combine::combinator::AndThen, [closure@src/bin/day6.rs:119:23: 119:44]>` [INFO] [stderr] = note: required by `parse::combine::combinator::Skip` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `parse::combine::error::StringStreamError: std::convert::From` is not satisfied [INFO] [stderr] --> src/bin/day6.rs:134:21 [INFO] [stderr] | [INFO] [stderr] 134 | coord().skip(string(" through ")), [INFO] [stderr] | ^^^^ the trait `std::convert::From` is not implemented for `parse::combine::error::StringStreamError` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `std::convert::Into` for `std::num::ParseIntError` [INFO] [stderr] = note: required because of the requirements on the impl of `parse::combine::Parser` for `parse::combine::combinator::AndThen, [closure@src/bin/day6.rs:119:23: 119:44]>` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `parse::combine::error::StringStreamError: std::convert::From` is not satisfied [INFO] [stderr] --> src/bin/day6.rs:136:11 [INFO] [stderr] | [INFO] [stderr] 136 | ).map(|(action, coord1, coord2)| Instruction { [INFO] [stderr] | ^^^ the trait `std::convert::From` is not implemented for `parse::combine::error::StringStreamError` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `std::convert::Into` for `std::num::ParseIntError` [INFO] [stderr] = note: required because of the requirements on the impl of `parse::combine::Parser` for `parse::combine::combinator::AndThen, [closure@src/bin/day6.rs:119:23: 119:44]>` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `parse::combine::error::StringStreamError: std::convert::From` is not satisfied [INFO] [stderr] --> src/bin/day6.rs:142:9 [INFO] [stderr] | [INFO] [stderr] 142 | instruction().parse(from_string).unwrap().0 [INFO] [stderr] | ^^^^^^^^^^^^^ the trait `std::convert::From` is not implemented for `parse::combine::error::StringStreamError` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `std::convert::Into` for `std::num::ParseIntError` [INFO] [stderr] = note: required because of the requirements on the impl of `parse::combine::Parser` for `parse::combine::combinator::AndThen, [closure@src/bin/day6.rs:119:23: 119:44]>` [INFO] [stderr] = note: required by `parse::combine::combinator::Skip` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `parse::combine::error::StringStreamError: std::convert::From` is not satisfied [INFO] [stderr] --> src/bin/day6.rs:142:23 [INFO] [stderr] | [INFO] [stderr] 142 | instruction().parse(from_string).unwrap().0 [INFO] [stderr] | ^^^^^ the trait `std::convert::From` is not implemented for `parse::combine::error::StringStreamError` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `std::convert::Into` for `std::num::ParseIntError` [INFO] [stderr] = note: required because of the requirements on the impl of `parse::combine::Parser` for `parse::combine::combinator::AndThen, [closure@src/bin/day6.rs:119:23: 119:44]>` [INFO] [stderr] [INFO] [stderr] error: aborting due to 8 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0277, E0432. [INFO] [stderr] For more information about an error, try `rustc --explain E0277`. [INFO] [stderr] error: could not compile `2015-adventofcode-rust`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0277]: the trait bound `parse::combine::error::StringStreamError: std::convert::From` is not satisfied [INFO] [stderr] --> src/bin/day6.rs:122:22 [INFO] [stderr] | [INFO] [stderr] 122 | number().skip(token(',')), [INFO] [stderr] | ^^^^ the trait `std::convert::From` is not implemented for `parse::combine::error::StringStreamError` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `std::convert::Into` for `std::num::ParseIntError` [INFO] [stderr] = note: required because of the requirements on the impl of `parse::combine::Parser` for `parse::combine::combinator::AndThen, [closure@src/bin/day6.rs:119:23: 119:44]>` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `parse::combine::error::StringStreamError: std::convert::From` is not satisfied [INFO] [stderr] --> src/bin/day6.rs:124:11 [INFO] [stderr] | [INFO] [stderr] 124 | ).map(|(x, y)| Coord(x, y)); [INFO] [stderr] | ^^^ the trait `std::convert::From` is not implemented for `parse::combine::error::StringStreamError` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `std::convert::Into` for `std::num::ParseIntError` [INFO] [stderr] = note: required because of the requirements on the impl of `parse::combine::Parser` for `parse::combine::combinator::AndThen, [closure@src/bin/day6.rs:119:23: 119:44]>` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `parse::combine::error::StringStreamError: std::convert::From` is not satisfied [INFO] [stderr] --> src/bin/day6.rs:134:13 [INFO] [stderr] | [INFO] [stderr] 134 | coord().skip(string(" through ")), [INFO] [stderr] | ^^^^^^^ the trait `std::convert::From` is not implemented for `parse::combine::error::StringStreamError` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `std::convert::Into` for `std::num::ParseIntError` [INFO] [stderr] = note: required because of the requirements on the impl of `parse::combine::Parser` for `parse::combine::combinator::AndThen, [closure@src/bin/day6.rs:119:23: 119:44]>` [INFO] [stderr] = note: required by `parse::combine::combinator::Skip` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `parse::combine::error::StringStreamError: std::convert::From` is not satisfied [INFO] [stderr] --> src/bin/day6.rs:134:21 [INFO] [stderr] | [INFO] [stderr] 134 | coord().skip(string(" through ")), [INFO] [stderr] | ^^^^ the trait `std::convert::From` is not implemented for `parse::combine::error::StringStreamError` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `std::convert::Into` for `std::num::ParseIntError` [INFO] [stderr] = note: required because of the requirements on the impl of `parse::combine::Parser` for `parse::combine::combinator::AndThen, [closure@src/bin/day6.rs:119:23: 119:44]>` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `parse::combine::error::StringStreamError: std::convert::From` is not satisfied [INFO] [stderr] --> src/bin/day6.rs:136:11 [INFO] [stderr] | [INFO] [stderr] 136 | ).map(|(action, coord1, coord2)| Instruction { [INFO] [stderr] | ^^^ the trait `std::convert::From` is not implemented for `parse::combine::error::StringStreamError` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `std::convert::Into` for `std::num::ParseIntError` [INFO] [stderr] = note: required because of the requirements on the impl of `parse::combine::Parser` for `parse::combine::combinator::AndThen, [closure@src/bin/day6.rs:119:23: 119:44]>` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `parse::combine::error::StringStreamError: std::convert::From` is not satisfied [INFO] [stderr] --> src/bin/day6.rs:142:9 [INFO] [stderr] | [INFO] [stderr] 142 | instruction().parse(from_string).unwrap().0 [INFO] [stderr] | ^^^^^^^^^^^^^ the trait `std::convert::From` is not implemented for `parse::combine::error::StringStreamError` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `std::convert::Into` for `std::num::ParseIntError` [INFO] [stderr] = note: required because of the requirements on the impl of `parse::combine::Parser` for `parse::combine::combinator::AndThen, [closure@src/bin/day6.rs:119:23: 119:44]>` [INFO] [stderr] = note: required by `parse::combine::combinator::Skip` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `parse::combine::error::StringStreamError: std::convert::From` is not satisfied [INFO] [stderr] --> src/bin/day6.rs:142:23 [INFO] [stderr] | [INFO] [stderr] 142 | instruction().parse(from_string).unwrap().0 [INFO] [stderr] | ^^^^^ the trait `std::convert::From` is not implemented for `parse::combine::error::StringStreamError` [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `std::convert::Into` for `std::num::ParseIntError` [INFO] [stderr] = note: required because of the requirements on the impl of `parse::combine::Parser` for `parse::combine::combinator::AndThen, [closure@src/bin/day6.rs:119:23: 119:44]>` [INFO] [stderr] [INFO] [stderr] error: aborting due to 8 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0277, E0432. [INFO] [stderr] For more information about an error, try `rustc --explain E0277`. [INFO] [stderr] error: could not compile `2015-adventofcode-rust`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0432]: unresolved import `self::combine::primitives` [INFO] [stderr] --> src/bin/day7.rs:30:24 [INFO] [stderr] | [INFO] [stderr] 30 | use self::combine::primitives::{Stream, Consumed, Error}; [INFO] [stderr] | ^^^^^^^^^^ could not find `primitives` in `combine` [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `State` in this scope [INFO] [stderr] --> src/bin/day7.rs:39:23 [INFO] [stderr] | [INFO] [stderr] 39 | fn wire(input: State) -> ParseResult<::Wire, I> where [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::stream::state::State; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `lower` in this scope [INFO] [stderr] --> src/bin/day7.rs:42:15 [INFO] [stderr] | [INFO] [stderr] 42 | many1(lower()) [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::byte::lower; [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::char::lower; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `State` in this scope [INFO] [stderr] --> src/bin/day7.rs:47:31 [INFO] [stderr] | [INFO] [stderr] 47 | fn signal_value(input: State) -> ParseResult where [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::stream::state::State; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `digit` in this scope [INFO] [stderr] --> src/bin/day7.rs:50:15 [INFO] [stderr] | [INFO] [stderr] 50 | many1(digit()) [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::byte::digit; [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::char::digit; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `State` in this scope [INFO] [stderr] --> src/bin/day7.rs:56:28 [INFO] [stderr] | [INFO] [stderr] 56 | fn operation(input: State) -> ParseResult<::Operation, I> where [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::stream::state::State; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `string` in this scope [INFO] [stderr] --> src/bin/day7.rs:71:22 [INFO] [stderr] | [INFO] [stderr] 71 | let op_not = string("NOT ").with(wire()) [INFO] [stderr] | ^^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::char::string; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `string` in this scope [INFO] [stderr] --> src/bin/day7.rs:75:27 [INFO] [stderr] | [INFO] [stderr] 75 | signal().skip(string(" AND ")), [INFO] [stderr] | ^^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::char::string; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `string` in this scope [INFO] [stderr] --> src/bin/day7.rs:80:25 [INFO] [stderr] | [INFO] [stderr] 80 | wire().skip(string(" OR ")), [INFO] [stderr] | ^^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::char::string; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `string` in this scope [INFO] [stderr] --> src/bin/day7.rs:85:25 [INFO] [stderr] | [INFO] [stderr] 85 | wire().skip(string(" LSHIFT ")), [INFO] [stderr] | ^^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::char::string; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `string` in this scope [INFO] [stderr] --> src/bin/day7.rs:90:25 [INFO] [stderr] | [INFO] [stderr] 90 | wire().skip(string(" RSHIFT ")), [INFO] [stderr] | ^^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::char::string; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `string` in this scope [INFO] [stderr] --> src/bin/day7.rs:132:34 [INFO] [stderr] | [INFO] [stderr] 132 | operation().skip(string(" -> ")), [INFO] [stderr] | ^^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 29 | use parse::combine::char::string; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::FromStr` [INFO] [stderr] --> src/bin/day7.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::str::FromStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day7.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | try(signal_value().map(|value| ::Signal::Value(value))) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day7.rs:94:22 [INFO] [stderr] | [INFO] [stderr] 94 | let result = try(op_not).parse_state(input.clone()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day7.rs:97:22 [INFO] [stderr] | [INFO] [stderr] 97 | let result = try(op_and).parse_state(input.clone()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day7.rs:100:22 [INFO] [stderr] | [INFO] [stderr] 100 | let result = try(op_or).parse_state(input.clone()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day7.rs:103:22 [INFO] [stderr] | [INFO] [stderr] 103 | let result = try(op_lshift).parse_state(input.clone()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day7.rs:106:22 [INFO] [stderr] | [INFO] [stderr] 106 | let result = try(op_rshift).parse_state(input.clone()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'parse::combine::try': try is a reserved keyword in Rust 2018. Use attempt instead. [INFO] [stderr] --> src/bin/day7.rs:112:22 [INFO] [stderr] | [INFO] [stderr] 112 | let result = try(op_signal).parse_state(input.clone()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `::Error: parse::combine::ParseError::Range, ::Position>` is not satisfied [INFO] [stderr] --> src/bin/day7.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | / fn wire(input: State) -> ParseResult<::Wire, I> where [INFO] [stderr] 40 | | I: Stream, [INFO] [stderr] 41 | | { [INFO] [stderr] 42 | | many1(lower()) [INFO] [stderr] 43 | | .map(|id: String| ::Wire(id)) [INFO] [stderr] 44 | | .parse_state(input) [INFO] [stderr] 45 | | } [INFO] [stderr] | |_____^ the trait `parse::combine::ParseError::Range, ::Position>` is not implemented for `::Error` [INFO] [stderr] | [INFO] [stderr] = help: consider adding a `where ::Error: parse::combine::ParseError::Range, ::Position>` bound [INFO] [stderr] = note: required by `parse::combine::StreamOnce` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `::Error: parse::combine::ParseError::Range, ::Position>` is not satisfied [INFO] [stderr] --> src/bin/day7.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | / fn signal_value(input: State) -> ParseResult where [INFO] [stderr] 48 | | I: Stream, [INFO] [stderr] 49 | | { [INFO] [stderr] 50 | | many1(digit()) [INFO] [stderr] ... | [INFO] [stderr] 53 | | .parse_state(input) [INFO] [stderr] 54 | | } [INFO] [stderr] | |_____^ the trait `parse::combine::ParseError::Range, ::Position>` is not implemented for `::Error` [INFO] [stderr] | [INFO] [stderr] = help: consider adding a `where ::Error: parse::combine::ParseError::Range, ::Position>` bound [INFO] [stderr] = note: required by `parse::combine::StreamOnce` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `::Error: parse::combine::ParseError::Range, ::Position>` is not satisfied [INFO] [stderr] --> src/bin/day7.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | / fn operation(input: State) -> ParseResult<::Operation, I> where [INFO] [stderr] 57 | | I: Stream, [INFO] [stderr] 58 | | { [INFO] [stderr] 59 | | let signal_value = || parser(signal_value) [INFO] [stderr] ... | [INFO] [stderr] 120 | | )) [INFO] [stderr] 121 | | } [INFO] [stderr] | |_____^ the trait `parse::combine::ParseError::Range, ::Position>` is not implemented for `::Error` [INFO] [stderr] | [INFO] [stderr] = help: consider adding a `where ::Error: parse::combine::ParseError::Range, ::Position>` bound [INFO] [stderr] = note: required by `parse::combine::StreamOnce` [INFO] [stderr] [INFO] [stderr] error: aborting due to 15 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0277, E0412, E0425, E0432. [INFO] [stderr] For more information about an error, try `rustc --explain E0277`. [INFO] [stderr] error: could not compile `2015-adventofcode-rust`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "939df0ed1ae343114e79ade12d55205f40d6dc998ffc04685c04a808df9f1b2a"` [INFO] running `"docker" "rm" "-f" "939df0ed1ae343114e79ade12d55205f40d6dc998ffc04685c04a808df9f1b2a"` [INFO] [stdout] 939df0ed1ae343114e79ade12d55205f40d6dc998ffc04685c04a808df9f1b2a