[INFO] cloning repository https://github.com/AlienKevin/hack-assembler
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AlienKevin/hack-assembler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlienKevin%2Fhack-assembler", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlienKevin%2Fhack-assembler'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d2e3ad01b37cec5eda80d60fbeb8599af4682871
[INFO] testing AlienKevin/hack-assembler against master#d98a5da813da67eb189387b8ccfb73cf481275d8+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlienKevin%2Fhack-assembler" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/AlienKevin/hack-assembler
[INFO] finished tweaking git repo https://github.com/AlienKevin/hack-assembler
[INFO] tweaked toml for git repo https://github.com/AlienKevin/hack-assembler written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AlienKevin/hack-assembler on toolchain d98a5da813da67eb189387b8ccfb73cf481275d8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 8 packages to latest compatible versions
[INFO] [stderr]       Adding im v14.3.0 (available: v15.1.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rand_xoshiro v0.4.0
[INFO] [stderr]   Downloaded sized-chunks v0.5.3
[INFO] [stderr]   Downloaded im v14.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8510fa218a99a5d1b74db452da166de811da00d289326a093acea7da74f2f948
[INFO] running `Command { std: "docker" "start" "-a" "8510fa218a99a5d1b74db452da166de811da00d289326a093acea7da74f2f948", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8510fa218a99a5d1b74db452da166de811da00d289326a093acea7da74f2f948", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8510fa218a99a5d1b74db452da166de811da00d289326a093acea7da74f2f948", kill_on_drop: false }`
[INFO] [stdout] 8510fa218a99a5d1b74db452da166de811da00d289326a093acea7da74f2f948
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ba1d8c2b665eb3116a01830116d6bdd3013eae2621dedb71f05db43068df3a85
[INFO] running `Command { std: "docker" "start" "-a" "ba1d8c2b665eb3116a01830116d6bdd3013eae2621dedb71f05db43068df3a85", kill_on_drop: false }`
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling im v14.3.0
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_xoshiro v0.4.0
[INFO] [stderr]    Compiling bitmaps v2.1.0
[INFO] [stderr]    Compiling sized-chunks v0.5.3
[INFO] [stderr]    Compiling hack-assembler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variant `number` should have an upper camel case name
[INFO] [stdout]   --> src/hack_parser.rs:46:3
[INFO] [stdout]    |
[INFO] [stdout] 46 |   number(usize),
[INFO] [stdout]    |   ^^^^^^ help: convert the identifier to upper camel case: `Number`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `label` should have an upper camel case name
[INFO] [stdout]   --> src/hack_parser.rs:47:3
[INFO] [stdout]    |
[INFO] [stdout] 47 |   label(Located<String>),
[INFO] [stdout]    |   ^^^^^ help: convert the identifier to upper camel case: `Label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state` is never read
[INFO] [stdout]   --> src/hack_parser.rs:86:3
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct SingleParseError {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |   state: State,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `map_with_state` and `map_err` are never used
[INFO] [stdout]   --> src/parser.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl<'a, T, S: Clone> ParseResult<'a, T, S> {
[INFO] [stdout]    | ------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |   pub fn map_with_state<U, F: FnOnce(T, S) -> U>(self, func: F) -> ParseResult<'a, U, S> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |   pub fn map_err<F: FnOnce(String) -> String>(self, func: F) -> ParseResult<'a, T, S> {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `map_err` is never used
[INFO] [stdout]    --> src/parser.rs:109:6
[INFO] [stdout]     |
[INFO] [stdout] 87  | pub trait Parser<'a, Output, State: Clone> {
[INFO] [stdout]     |           ------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 109 |   fn map_err<F>(self, map_fn: F) -> BoxedParser<'a, Output, State>
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quadruple` is never used
[INFO] [stdout]    --> src/parser.rs:271:8
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub fn quadruple<'a, P1: 'a, P2: 'a, P3: 'a, P4: 'a, R1: 'a, R2: 'a, R3: 'a, R4: 'a, S: Clone + 'a>
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_err` is never used
[INFO] [stdout]    --> src/parser.rs:333:8
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub fn map_err<'a, P, F, A, S: Clone + 'a>(parser: P, map_fn: F) -> impl Parser<'a, A, S>
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map2` is never used
[INFO] [stdout]    --> src/parser.rs:343:4
[INFO] [stdout]     |
[INFO] [stdout] 343 | fn map2<'a, P1, P2, F, A, B, C, S: Clone + 'a>(parser1: P1, parser2: P2, map_fn: F) -> impl Parser<'a, C, S>
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `newline0` is never used
[INFO] [stdout]    --> src/parser.rs:614:4
[INFO] [stdout]     |
[INFO] [stdout] 614 | fn newline0<'a, S: Clone + 'a>(indentations: usize) -> BoxedParser<'a, (), S> {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `newline1` is never used
[INFO] [stdout]    --> src/parser.rs:623:8
[INFO] [stdout]     |
[INFO] [stdout] 623 | pub fn newline1<'a, S: Clone + 'a>(indentations: usize) -> BoxedParser<'a, (), S> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `space1` is never used
[INFO] [stdout]    --> src/parser.rs:634:8
[INFO] [stdout]     |
[INFO] [stdout] 634 | pub fn space1<'a, S: Clone + 'a>() -> BoxedParser<'a, (), S> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `indent` is never used
[INFO] [stdout]    --> src/parser.rs:638:8
[INFO] [stdout]     |
[INFO] [stdout] 638 | pub fn indent<'a, S: Clone + 'a>() -> BoxedParser<'a, (), S> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `indents` is never used
[INFO] [stdout]    --> src/parser.rs:645:8
[INFO] [stdout]     |
[INFO] [stdout] 645 | pub fn indents<'a, S: Clone + 'a>(indentations: usize) -> BoxedParser<'a, (), S> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `repeat` is never used
[INFO] [stdout]    --> src/parser.rs:653:4
[INFO] [stdout]     |
[INFO] [stdout] 653 | fn repeat<'a, A, P, S: Clone + 'a>(times: usize, parser: P)
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line_comments` is never used
[INFO] [stdout]    --> src/parser.rs:779:8
[INFO] [stdout]     |
[INFO] [stdout] 779 | pub fn line_comments<'a, S: Clone + 'a>(indentations: usize) -> BoxedParser<'a, (), S> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `A` should have a snake case name
[INFO] [stdout]   --> src/hack_parser.rs:63:7
[INFO] [stdout]    |
[INFO] [stdout] 63 |   pub A: bool,
[INFO] [stdout]    |       ^ help: convert the identifier to snake case: `a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `D` should have a snake case name
[INFO] [stdout]   --> src/hack_parser.rs:64:7
[INFO] [stdout]    |
[INFO] [stdout] 64 |   pub D: bool,
[INFO] [stdout]    |       ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `M` should have a snake case name
[INFO] [stdout]   --> src/hack_parser.rs:65:7
[INFO] [stdout]    |
[INFO] [stdout] 65 |   pub M: bool,
[INFO] [stdout]    |       ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `LT` should have a snake case name
[INFO] [stdout]   --> src/hack_parser.rs:70:7
[INFO] [stdout]    |
[INFO] [stdout] 70 |   pub LT: bool,
[INFO] [stdout]    |       ^^ help: convert the identifier to snake case: `lt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `EQ` should have a snake case name
[INFO] [stdout]   --> src/hack_parser.rs:71:7
[INFO] [stdout]    |
[INFO] [stdout] 71 |   pub EQ: bool,
[INFO] [stdout]    |       ^^ help: convert the identifier to snake case: `eq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `GT` should have a snake case name
[INFO] [stdout]   --> src/hack_parser.rs:72:7
[INFO] [stdout]    |
[INFO] [stdout] 72 |   pub GT: bool,
[INFO] [stdout]    |       ^^ help: convert the identifier to snake case: `gt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/parser.rs:205:44
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn token<'a, S: Clone + 'a>(expected: &'static str) -> BoxedParser<'a, &str, S> {
[INFO] [stdout]     |                                            ^^^^^^^                         ---- the lifetime gets resolved as `'static`
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to consistently use `'static`
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn token<'a, S: Clone + 'a>(expected: &'static str) -> BoxedParser<'a, &'static str, S> {
[INFO] [stdout]     |                                                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.32s
[INFO] running `Command { std: "docker" "inspect" "ba1d8c2b665eb3116a01830116d6bdd3013eae2621dedb71f05db43068df3a85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ba1d8c2b665eb3116a01830116d6bdd3013eae2621dedb71f05db43068df3a85", kill_on_drop: false }`
[INFO] [stdout] ba1d8c2b665eb3116a01830116d6bdd3013eae2621dedb71f05db43068df3a85
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2b7eaf5f38b895a2dbff616d96828ac9433900e9110d34df818079f0cd614871
[INFO] running `Command { std: "docker" "start" "-a" "2b7eaf5f38b895a2dbff616d96828ac9433900e9110d34df818079f0cd614871", kill_on_drop: false }`
[INFO] [stderr]    Compiling hack-assembler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variant `number` should have an upper camel case name
[INFO] [stdout]   --> src/hack_parser.rs:46:3
[INFO] [stdout]    |
[INFO] [stdout] 46 |   number(usize),
[INFO] [stdout]    |   ^^^^^^ help: convert the identifier to upper camel case: `Number`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `label` should have an upper camel case name
[INFO] [stdout]   --> src/hack_parser.rs:47:3
[INFO] [stdout]    |
[INFO] [stdout] 47 |   label(Located<String>),
[INFO] [stdout]    |   ^^^^^ help: convert the identifier to upper camel case: `Label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state` is never read
[INFO] [stdout]   --> src/hack_parser.rs:86:3
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct SingleParseError {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |   state: State,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `map_with_state` and `map_err` are never used
[INFO] [stdout]   --> src/parser.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl<'a, T, S: Clone> ParseResult<'a, T, S> {
[INFO] [stdout]    | ------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |   pub fn map_with_state<U, F: FnOnce(T, S) -> U>(self, func: F) -> ParseResult<'a, U, S> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |   pub fn map_err<F: FnOnce(String) -> String>(self, func: F) -> ParseResult<'a, T, S> {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `map_err` is never used
[INFO] [stdout]    --> src/parser.rs:109:6
[INFO] [stdout]     |
[INFO] [stdout] 87  | pub trait Parser<'a, Output, State: Clone> {
[INFO] [stdout]     |           ------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 109 |   fn map_err<F>(self, map_fn: F) -> BoxedParser<'a, Output, State>
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quadruple` is never used
[INFO] [stdout]    --> src/parser.rs:271:8
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub fn quadruple<'a, P1: 'a, P2: 'a, P3: 'a, P4: 'a, R1: 'a, R2: 'a, R3: 'a, R4: 'a, S: Clone + 'a>
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_err` is never used
[INFO] [stdout]    --> src/parser.rs:333:8
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub fn map_err<'a, P, F, A, S: Clone + 'a>(parser: P, map_fn: F) -> impl Parser<'a, A, S>
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map2` is never used
[INFO] [stdout]    --> src/parser.rs:343:4
[INFO] [stdout]     |
[INFO] [stdout] 343 | fn map2<'a, P1, P2, F, A, B, C, S: Clone + 'a>(parser1: P1, parser2: P2, map_fn: F) -> impl Parser<'a, C, S>
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `newline0` is never used
[INFO] [stdout]    --> src/parser.rs:614:4
[INFO] [stdout]     |
[INFO] [stdout] 614 | fn newline0<'a, S: Clone + 'a>(indentations: usize) -> BoxedParser<'a, (), S> {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `newline1` is never used
[INFO] [stdout]    --> src/parser.rs:623:8
[INFO] [stdout]     |
[INFO] [stdout] 623 | pub fn newline1<'a, S: Clone + 'a>(indentations: usize) -> BoxedParser<'a, (), S> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `space1` is never used
[INFO] [stdout]    --> src/parser.rs:634:8
[INFO] [stdout]     |
[INFO] [stdout] 634 | pub fn space1<'a, S: Clone + 'a>() -> BoxedParser<'a, (), S> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `indent` is never used
[INFO] [stdout]    --> src/parser.rs:638:8
[INFO] [stdout]     |
[INFO] [stdout] 638 | pub fn indent<'a, S: Clone + 'a>() -> BoxedParser<'a, (), S> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `indents` is never used
[INFO] [stdout]    --> src/parser.rs:645:8
[INFO] [stdout]     |
[INFO] [stdout] 645 | pub fn indents<'a, S: Clone + 'a>(indentations: usize) -> BoxedParser<'a, (), S> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `repeat` is never used
[INFO] [stdout]    --> src/parser.rs:653:4
[INFO] [stdout]     |
[INFO] [stdout] 653 | fn repeat<'a, A, P, S: Clone + 'a>(times: usize, parser: P)
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line_comments` is never used
[INFO] [stdout]    --> src/parser.rs:779:8
[INFO] [stdout]     |
[INFO] [stdout] 779 | pub fn line_comments<'a, S: Clone + 'a>(indentations: usize) -> BoxedParser<'a, (), S> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `A` should have a snake case name
[INFO] [stdout]   --> src/hack_parser.rs:63:7
[INFO] [stdout]    |
[INFO] [stdout] 63 |   pub A: bool,
[INFO] [stdout]    |       ^ help: convert the identifier to snake case: `a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `D` should have a snake case name
[INFO] [stdout]   --> src/hack_parser.rs:64:7
[INFO] [stdout]    |
[INFO] [stdout] 64 |   pub D: bool,
[INFO] [stdout]    |       ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `M` should have a snake case name
[INFO] [stdout]   --> src/hack_parser.rs:65:7
[INFO] [stdout]    |
[INFO] [stdout] 65 |   pub M: bool,
[INFO] [stdout]    |       ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `LT` should have a snake case name
[INFO] [stdout]   --> src/hack_parser.rs:70:7
[INFO] [stdout]    |
[INFO] [stdout] 70 |   pub LT: bool,
[INFO] [stdout]    |       ^^ help: convert the identifier to snake case: `lt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `EQ` should have a snake case name
[INFO] [stdout]   --> src/hack_parser.rs:71:7
[INFO] [stdout]    |
[INFO] [stdout] 71 |   pub EQ: bool,
[INFO] [stdout]    |       ^^ help: convert the identifier to snake case: `eq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `GT` should have a snake case name
[INFO] [stdout]   --> src/hack_parser.rs:72:7
[INFO] [stdout]    |
[INFO] [stdout] 72 |   pub GT: bool,
[INFO] [stdout]    |       ^^ help: convert the identifier to snake case: `gt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/parser.rs:205:44
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn token<'a, S: Clone + 'a>(expected: &'static str) -> BoxedParser<'a, &str, S> {
[INFO] [stdout]     |                                            ^^^^^^^                         ---- the lifetime gets resolved as `'static`
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to consistently use `'static`
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn token<'a, S: Clone + 'a>(expected: &'static str) -> BoxedParser<'a, &'static str, S> {
[INFO] [stdout]     |                                                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `number` should have an upper camel case name
[INFO] [stdout]   --> src/hack_parser.rs:46:3
[INFO] [stdout]    |
[INFO] [stdout] 46 |   number(usize),
[INFO] [stdout]    |   ^^^^^^ help: convert the identifier to upper camel case: `Number`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `label` should have an upper camel case name
[INFO] [stdout]   --> src/hack_parser.rs:47:3
[INFO] [stdout]    |
[INFO] [stdout] 47 |   label(Located<String>),
[INFO] [stdout]    |   ^^^^^ help: convert the identifier to upper camel case: `Label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state` is never read
[INFO] [stdout]   --> src/hack_parser.rs:86:3
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct SingleParseError {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |   state: State,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `map_with_state` and `map_err` are never used
[INFO] [stdout]   --> src/parser.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl<'a, T, S: Clone> ParseResult<'a, T, S> {
[INFO] [stdout]    | ------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |   pub fn map_with_state<U, F: FnOnce(T, S) -> U>(self, func: F) -> ParseResult<'a, U, S> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |   pub fn map_err<F: FnOnce(String) -> String>(self, func: F) -> ParseResult<'a, T, S> {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `map_err` is never used
[INFO] [stdout]    --> src/parser.rs:109:6
[INFO] [stdout]     |
[INFO] [stdout] 87  | pub trait Parser<'a, Output, State: Clone> {
[INFO] [stdout]     |           ------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 109 |   fn map_err<F>(self, map_fn: F) -> BoxedParser<'a, Output, State>
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quadruple` is never used
[INFO] [stdout]    --> src/parser.rs:271:8
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub fn quadruple<'a, P1: 'a, P2: 'a, P3: 'a, P4: 'a, R1: 'a, R2: 'a, R3: 'a, R4: 'a, S: Clone + 'a>
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_err` is never used
[INFO] [stdout]    --> src/parser.rs:333:8
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub fn map_err<'a, P, F, A, S: Clone + 'a>(parser: P, map_fn: F) -> impl Parser<'a, A, S>
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map2` is never used
[INFO] [stdout]    --> src/parser.rs:343:4
[INFO] [stdout]     |
[INFO] [stdout] 343 | fn map2<'a, P1, P2, F, A, B, C, S: Clone + 'a>(parser1: P1, parser2: P2, map_fn: F) -> impl Parser<'a, C, S>
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `newline0` is never used
[INFO] [stdout]    --> src/parser.rs:614:4
[INFO] [stdout]     |
[INFO] [stdout] 614 | fn newline0<'a, S: Clone + 'a>(indentations: usize) -> BoxedParser<'a, (), S> {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `newline1` is never used
[INFO] [stdout]    --> src/parser.rs:623:8
[INFO] [stdout]     |
[INFO] [stdout] 623 | pub fn newline1<'a, S: Clone + 'a>(indentations: usize) -> BoxedParser<'a, (), S> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `space1` is never used
[INFO] [stdout]    --> src/parser.rs:634:8
[INFO] [stdout]     |
[INFO] [stdout] 634 | pub fn space1<'a, S: Clone + 'a>() -> BoxedParser<'a, (), S> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `indent` is never used
[INFO] [stdout]    --> src/parser.rs:638:8
[INFO] [stdout]     |
[INFO] [stdout] 638 | pub fn indent<'a, S: Clone + 'a>() -> BoxedParser<'a, (), S> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `indents` is never used
[INFO] [stdout]    --> src/parser.rs:645:8
[INFO] [stdout]     |
[INFO] [stdout] 645 | pub fn indents<'a, S: Clone + 'a>(indentations: usize) -> BoxedParser<'a, (), S> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `repeat` is never used
[INFO] [stdout]    --> src/parser.rs:653:4
[INFO] [stdout]     |
[INFO] [stdout] 653 | fn repeat<'a, A, P, S: Clone + 'a>(times: usize, parser: P)
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line_comments` is never used
[INFO] [stdout]    --> src/parser.rs:779:8
[INFO] [stdout]     |
[INFO] [stdout] 779 | pub fn line_comments<'a, S: Clone + 'a>(indentations: usize) -> BoxedParser<'a, (), S> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `A` should have a snake case name
[INFO] [stdout]   --> src/hack_parser.rs:63:7
[INFO] [stdout]    |
[INFO] [stdout] 63 |   pub A: bool,
[INFO] [stdout]    |       ^ help: convert the identifier to snake case: `a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `D` should have a snake case name
[INFO] [stdout]   --> src/hack_parser.rs:64:7
[INFO] [stdout]    |
[INFO] [stdout] 64 |   pub D: bool,
[INFO] [stdout]    |       ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `M` should have a snake case name
[INFO] [stdout]   --> src/hack_parser.rs:65:7
[INFO] [stdout]    |
[INFO] [stdout] 65 |   pub M: bool,
[INFO] [stdout]    |       ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `LT` should have a snake case name
[INFO] [stdout]   --> src/hack_parser.rs:70:7
[INFO] [stdout]    |
[INFO] [stdout] 70 |   pub LT: bool,
[INFO] [stdout]    |       ^^ help: convert the identifier to snake case: `lt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `EQ` should have a snake case name
[INFO] [stdout]   --> src/hack_parser.rs:71:7
[INFO] [stdout]    |
[INFO] [stdout] 71 |   pub EQ: bool,
[INFO] [stdout]    |       ^^ help: convert the identifier to snake case: `eq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `GT` should have a snake case name
[INFO] [stdout]   --> src/hack_parser.rs:72:7
[INFO] [stdout]    |
[INFO] [stdout] 72 |   pub GT: bool,
[INFO] [stdout]    |       ^^ help: convert the identifier to snake case: `gt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/parser.rs:205:44
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn token<'a, S: Clone + 'a>(expected: &'static str) -> BoxedParser<'a, &str, S> {
[INFO] [stdout]     |                                            ^^^^^^^                         ---- the lifetime gets resolved as `'static`
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to consistently use `'static`
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn token<'a, S: Clone + 'a>(expected: &'static str) -> BoxedParser<'a, &'static str, S> {
[INFO] [stdout]     |                                                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.56s
[INFO] running `Command { std: "docker" "inspect" "2b7eaf5f38b895a2dbff616d96828ac9433900e9110d34df818079f0cd614871", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2b7eaf5f38b895a2dbff616d96828ac9433900e9110d34df818079f0cd614871", kill_on_drop: false }`
[INFO] [stdout] 2b7eaf5f38b895a2dbff616d96828ac9433900e9110d34df818079f0cd614871
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d5f76b6bc0bb53bddbbdeeaac98747dee709d5939588b82029de175a1c89de85
[INFO] running `Command { std: "docker" "start" "-a" "d5f76b6bc0bb53bddbbdeeaac98747dee709d5939588b82029de175a1c89de85", kill_on_drop: false }`
[INFO] [stderr] warning: variant `number` should have an upper camel case name
[INFO] [stderr]   --> src/hack_parser.rs:46:3
[INFO] [stderr]    |
[INFO] [stderr] 46 |   number(usize),
[INFO] [stderr]    |   ^^^^^^ help: convert the identifier to upper camel case: `Number`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `label` should have an upper camel case name
[INFO] [stderr]   --> src/hack_parser.rs:47:3
[INFO] [stderr]    |
[INFO] [stderr] 47 |   label(Located<String>),
[INFO] [stderr]    |   ^^^^^ help: convert the identifier to upper camel case: `Label`
[INFO] [stderr] 
[INFO] [stderr] warning: field `state` is never read
[INFO] [stderr]   --> src/hack_parser.rs:86:3
[INFO] [stderr]    |
[INFO] [stderr] 82 | struct SingleParseError {
[INFO] [stderr]    |        ---------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 86 |   state: State,
[INFO] [stderr]    |   ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `map_with_state` and `map_err` are never used
[INFO] [stderr]   --> src/parser.rs:46:10
[INFO] [stderr]    |
[INFO] [stderr] 32 | impl<'a, T, S: Clone> ParseResult<'a, T, S> {
[INFO] [stderr]    | ------------------------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 46 |   pub fn map_with_state<U, F: FnOnce(T, S) -> U>(self, func: F) -> ParseResult<'a, U, S> {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 59 |   pub fn map_err<F: FnOnce(String) -> String>(self, func: F) -> ParseResult<'a, T, S> {
[INFO] [stderr]    |          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `map_err` is never used
[INFO] [stderr]    --> src/parser.rs:109:6
[INFO] [stderr]     |
[INFO] [stderr] 87  | pub trait Parser<'a, Output, State: Clone> {
[INFO] [stderr]     |           ------ method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 109 |   fn map_err<F>(self, map_fn: F) -> BoxedParser<'a, Output, State>
[INFO] [stderr]     |      ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `quadruple` is never used
[INFO] [stderr]    --> src/parser.rs:271:8
[INFO] [stderr]     |
[INFO] [stderr] 271 | pub fn quadruple<'a, P1: 'a, P2: 'a, P3: 'a, P4: 'a, R1: 'a, R2: 'a, R3: 'a, R4: 'a, S: Clone + 'a>
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `map_err` is never used
[INFO] [stderr]    --> src/parser.rs:333:8
[INFO] [stderr]     |
[INFO] [stderr] 333 | pub fn map_err<'a, P, F, A, S: Clone + 'a>(parser: P, map_fn: F) -> impl Parser<'a, A, S>
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `map2` is never used
[INFO] [stderr]    --> src/parser.rs:343:4
[INFO] [stderr]     |
[INFO] [stderr] 343 | fn map2<'a, P1, P2, F, A, B, C, S: Clone + 'a>(parser1: P1, parser2: P2, map_fn: F) -> impl Parser<'a, C, S>
[INFO] [stderr]     |    ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `newline0` is never used
[INFO] [stderr]    --> src/parser.rs:614:4
[INFO] [stderr]     |
[INFO] [stderr] 614 | fn newline0<'a, S: Clone + 'a>(indentations: usize) -> BoxedParser<'a, (), S> {
[INFO] [stderr]     |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `newline1` is never used
[INFO] [stderr]    --> src/parser.rs:623:8
[INFO] [stderr]     |
[INFO] [stderr] 623 | pub fn newline1<'a, S: Clone + 'a>(indentations: usize) -> BoxedParser<'a, (), S> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `space1` is never used
[INFO] [stderr]    --> src/parser.rs:634:8
[INFO] [stderr]     |
[INFO] [stderr] 634 | pub fn space1<'a, S: Clone + 'a>() -> BoxedParser<'a, (), S> {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `indent` is never used
[INFO] [stderr]    --> src/parser.rs:638:8
[INFO] [stderr]     |
[INFO] [stderr] 638 | pub fn indent<'a, S: Clone + 'a>() -> BoxedParser<'a, (), S> {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `indents` is never used
[INFO] [stderr]    --> src/parser.rs:645:8
[INFO] [stderr]     |
[INFO] [stderr] 645 | pub fn indents<'a, S: Clone + 'a>(indentations: usize) -> BoxedParser<'a, (), S> {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `repeat` is never used
[INFO] [stderr]    --> src/parser.rs:653:4
[INFO] [stderr]     |
[INFO] [stderr] 653 | fn repeat<'a, A, P, S: Clone + 'a>(times: usize, parser: P)
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `line_comments` is never used
[INFO] [stderr]    --> src/parser.rs:779:8
[INFO] [stderr]     |
[INFO] [stderr] 779 | pub fn line_comments<'a, S: Clone + 'a>(indentations: usize) -> BoxedParser<'a, (), S> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `A` should have a snake case name
[INFO] [stderr]   --> src/hack_parser.rs:63:7
[INFO] [stderr]    |
[INFO] [stderr] 63 |   pub A: bool,
[INFO] [stderr]    |       ^ help: convert the identifier to snake case: `a`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `D` should have a snake case name
[INFO] [stderr]   --> src/hack_parser.rs:64:7
[INFO] [stderr]    |
[INFO] [stderr] 64 |   pub D: bool,
[INFO] [stderr]    |       ^ help: convert the identifier to snake case: `d`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `M` should have a snake case name
[INFO] [stderr]   --> src/hack_parser.rs:65:7
[INFO] [stderr]    |
[INFO] [stderr] 65 |   pub M: bool,
[INFO] [stderr]    |       ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `LT` should have a snake case name
[INFO] [stderr]   --> src/hack_parser.rs:70:7
[INFO] [stderr]    |
[INFO] [stderr] 70 |   pub LT: bool,
[INFO] [stderr]    |       ^^ help: convert the identifier to snake case: `lt`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `EQ` should have a snake case name
[INFO] [stderr]   --> src/hack_parser.rs:71:7
[INFO] [stderr]    |
[INFO] [stderr] 71 |   pub EQ: bool,
[INFO] [stderr]    |       ^^ help: convert the identifier to snake case: `eq`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `GT` should have a snake case name
[INFO] [stderr]   --> src/hack_parser.rs:72:7
[INFO] [stderr]    |
[INFO] [stderr] 72 |   pub GT: bool,
[INFO] [stderr]    |       ^^ help: convert the identifier to snake case: `gt`
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/parser.rs:205:44
[INFO] [stderr]     |
[INFO] [stderr] 205 | pub fn token<'a, S: Clone + 'a>(expected: &'static str) -> BoxedParser<'a, &str, S> {
[INFO] [stderr]     |                                            ^^^^^^^                         ---- the lifetime gets resolved as `'static`
[INFO] [stderr]     |                                            |
[INFO] [stderr]     |                                            this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: one option is to consistently use `'static`
[INFO] [stderr]     |
[INFO] [stderr] 205 | pub fn token<'a, S: Clone + 'a>(expected: &'static str) -> BoxedParser<'a, &'static str, S> {
[INFO] [stderr]     |                                                                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `hack-assembler` (lib) generated 22 warnings
[INFO] [stderr] warning: `hack-assembler` (lib test) generated 22 warnings (22 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/hack_assembler-e5f23d3926b2e998)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests hack_assembler
[INFO] [stderr] warning: variant `number` should have an upper camel case name
[INFO] [stderr]   --> src/hack_parser.rs:46:3
[INFO] [stderr]    |
[INFO] [stderr] 46 |   number(usize),
[INFO] [stderr]    |   ^^^^^^ help: convert the identifier to upper camel case: `Number`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `label` should have an upper camel case name
[INFO] [stderr]   --> src/hack_parser.rs:47:3
[INFO] [stderr]    |
[INFO] [stderr] 47 |   label(Located<String>),
[INFO] [stderr]    |   ^^^^^ help: convert the identifier to upper camel case: `Label`
[INFO] [stderr] 
[INFO] [stderr] warning: 2 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d5f76b6bc0bb53bddbbdeeaac98747dee709d5939588b82029de175a1c89de85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d5f76b6bc0bb53bddbbdeeaac98747dee709d5939588b82029de175a1c89de85", kill_on_drop: false }`
[INFO] [stdout] d5f76b6bc0bb53bddbbdeeaac98747dee709d5939588b82029de175a1c89de85
