[INFO] cloning repository https://github.com/snirk-lang/protosnirk
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/snirk-lang/protosnirk" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsnirk-lang%2Fprotosnirk", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsnirk-lang%2Fprotosnirk'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 24aadb65f118c6a94c96fb8214dfbf1f95f48a13
[INFO] testing snirk-lang/protosnirk against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsnirk-lang%2Fprotosnirk" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/snirk-lang/protosnirk on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/snirk-lang/protosnirk
[INFO] finished tweaking git repo https://github.com/snirk-lang/protosnirk
[INFO] tweaked toml for git repo https://github.com/snirk-lang/protosnirk written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/snirk-lang/protosnirk already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded proc-macro2 v0.4.21
[INFO] [stderr]   Downloaded llvm-sys v70.0.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d1fd0ba6bf4d623cf74aa38e112a4ebefc9abf0dbe70f7c563216258315d9ffe
[INFO] running `Command { std: "docker" "start" "-a" "d1fd0ba6bf4d623cf74aa38e112a4ebefc9abf0dbe70f7c563216258315d9ffe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d1fd0ba6bf4d623cf74aa38e112a4ebefc9abf0dbe70f7c563216258315d9ffe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d1fd0ba6bf4d623cf74aa38e112a4ebefc9abf0dbe70f7c563216258315d9ffe", kill_on_drop: false }`
[INFO] [stdout] d1fd0ba6bf4d623cf74aa38e112a4ebefc9abf0dbe70f7c563216258315d9ffe
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "-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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7d302776de3a23b5e77bb4d6ad4e196f292f0f0426b3c83361a99db41e771b1b
[INFO] running `Command { std: "docker" "start" "-a" "7d302776de3a23b5e77bb4d6ad4e196f292f0f0426b3c83361a99db41e771b1b", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.1.1
[INFO] [stderr]    Compiling libc v0.2.43
[INFO] [stderr]    Compiling ucd-util v0.1.2
[INFO] [stderr]    Compiling regex v1.1.0
[INFO] [stderr]    Compiling lazy_static v1.2.0
[INFO] [stderr]    Compiling utf8-ranges v1.0.2
[INFO] [stderr]    Compiling cc v1.0.28
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling fixedbitset v0.1.9
[INFO] [stderr]    Compiling ordermap v0.3.5
[INFO] [stderr]    Compiling maplit v1.0.1
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling log v0.4.6
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling unreachable v1.0.0
[INFO] [stderr]    Compiling smallvec v0.6.5
[INFO] [stderr]    Compiling regex-syntax v0.6.4
[INFO] [stderr]    Compiling petgraph v0.4.13
[INFO] [stderr]    Compiling aho-corasick v0.6.9
[INFO] [stderr]    Compiling llvm-sys v70.0.2
[INFO] [stderr]    Compiling protosnirk v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:156:21
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let token = try!(self.consume_type(expected_type));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:228:24
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let mut left = try!(match token_type {
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:256:20
[INFO] [stdout]     |
[INFO] [stdout] 256 |             left = try!(match token_type {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:334:29
[INFO] [stdout]     |
[INFO] [stdout] 334 |             let next_stmt = try!(self.statement());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:427:24
[INFO] [stdout]     |
[INFO] [stdout] 427 |             let item = try!(self.item());
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/parens.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         try!(parser.consume_type(TokenType::RightParen));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/parens.rs:24:26
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let inner_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/parens.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let inner = try!(inner_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assignment.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let ident = try!(left.expect_identifier());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assignment.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let right_expr = try!(parser.expression(Precedence::Assign));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assignment.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let right = try!(right_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let lvalue = try!(left.expect_identifier());
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:24:26
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let right_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:25:27
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let right_value = try!(right_expr.expect_value());
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let operator = try!(parser.binary_operator(token.get_type()));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         try!(parser.consume_type(TokenType::InlineArrow));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         try!(parser.consume_type(TokenType::Else));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let condition = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:32:25
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let true_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:36:25
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let else_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let lvalue = try!(left.expect_identifier());
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:36:27
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 let arg = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:41:41
[INFO] [stdout]    |
[INFO] [stdout] 41 |                         let arg_value = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 |                     try!(parser.consume_type_indented(TokenType::RightParen,
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 try!(parser.consume_type_indented(TokenType::Comma,
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:33:33
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let right: Expression = try!(parser.expression(precedence));
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:34:28
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let bin_operator = try!(parser.binary_operator(token.get_type()));
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let right_expr = try!(parser.expression(precedence));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let right_value = try!(right_expr.expect_value());
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:53:24
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let operator = try!(parser.unary_operator(token.get_type()));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/do_block.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |             let block = try!(parser.block());
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/do_block.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |             let stmt = try!(parser.statement());
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/return_stmt.rs:31:26
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let inner_expr = try!(parser.expression(Precedence::Return));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/return_stmt.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let inner = try!(inner_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let condition = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             try!(parser.consume_type(TokenType::Else));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:34:29
[INFO] [stdout]    |
[INFO] [stdout] 34 |             let true_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:41:29
[INFO] [stdout]    |
[INFO] [stdout] 41 |             let else_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let true_block = try!(parser.block());
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:67:34
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let else_block = try!(parser.block());
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:81:17
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 let else_if_condition = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:82:37
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let else_if_block = try!(parser.block());
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         try!(parser.consume_type(TokenType::Equals));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let name = try!(parser.lvalue());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Some(try!(parser.type_expr()))
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:43:26
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let value_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let value = try!(value_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         try!(parser.consume_type(TokenType::LeftParen));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let name = try!(parser.lvalue());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 try!(parser.consume_type(TokenType::Colon));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:48:28
[INFO] [stdout]    |
[INFO] [stdout] 48 |                 let name = try!(parser.lvalue());
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 let type_ = try!(parser.type_expr());
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 try!(parser.consume_type_indented(TokenType::Comma,
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:66:14
[INFO] [stdout]    |
[INFO] [stdout] 66 |             (try!(parser.type_expr()), true)
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let block = try!(parser.block());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/typedef.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         try!(parser.consume_type(TokenType::Equals));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/typedef.rs:22:20
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let name = try!(parser.lvalue());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/typedef.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let type_ = try!(parser.type_expr());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/llvm/target.rs:177:23
[INFO] [stdout]     |
[INFO] [stdout] 177 |         let machine = try!(TargetMachine::native(opt_level, reloc_mode, code_model));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/llvm/target.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let native_target = try!(Target::native());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/pipeline/mod.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         try!(file.read_to_string(buffer));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/pipeline/mod.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let mut file = try!(File::open(path));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/pipeline/mod.rs:57:20
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let unit = try!(parser.parse_unit());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/identify/types/type_graph.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 let mut path = Path::new(&file_path)
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expected_indent_length` and `expected_indent_spaces` are never read
[INFO] [stdout]   --> src/lex/tokenizer.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct IterTokenizer<I> where I: Iterator<Item=char> {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     expected_indent_length: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     expected_indent_spaces: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IterTokenizer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `errors` is never read
[INFO] [stdout]   --> src/identify/types/item_typographer.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ItemTypographer<'builder, 'err, 'graph> {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 12 |     builder: &'builder TypeScopeBuilder,
[INFO] [stdout] 13 |     errors: &'err mut ErrorCollector,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ItemTypographer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name_builder` is never read
[INFO] [stdout]    --> src/pipeline/mod.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct CheckRunner {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 121 |     name_builder: NameScopeBuilder,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CheckRunner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/identify/scope_builder.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |         &mut self.scopes[last_ix].insert(key, value);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let _ = &mut self.scopes[last_ix].insert(key, value);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/identify/scope_builder.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         &mut self.scopes[0].insert(key, value);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let _ = &mut self.scopes[0].insert(key, value);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 72 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.57s
[INFO] running `Command { std: "docker" "inspect" "7d302776de3a23b5e77bb4d6ad4e196f292f0f0426b3c83361a99db41e771b1b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d302776de3a23b5e77bb4d6ad4e196f292f0f0426b3c83361a99db41e771b1b", kill_on_drop: false }`
[INFO] [stdout] 7d302776de3a23b5e77bb4d6ad4e196f292f0f0426b3c83361a99db41e771b1b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "-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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 73933ba6e1ba1a0440fe85522910d783baa08c72681fd9908d7561e7fe1a63a0
[INFO] running `Command { std: "docker" "start" "-a" "73933ba6e1ba1a0440fe85522910d783baa08c72681fd9908d7561e7fe1a63a0", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.21
[INFO] [stderr]    Compiling env_logger v0.6.0
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:156:21
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let token = try!(self.consume_type(expected_type));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:228:24
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let mut left = try!(match token_type {
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:256:20
[INFO] [stdout]     |
[INFO] [stdout] 256 |             left = try!(match token_type {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:334:29
[INFO] [stdout]     |
[INFO] [stdout] 334 |             let next_stmt = try!(self.statement());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:427:24
[INFO] [stdout]     |
[INFO] [stdout] 427 |             let item = try!(self.item());
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/parens.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         try!(parser.consume_type(TokenType::RightParen));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/parens.rs:24:26
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let inner_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/parens.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let inner = try!(inner_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assignment.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let ident = try!(left.expect_identifier());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assignment.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let right_expr = try!(parser.expression(Precedence::Assign));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assignment.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let right = try!(right_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let lvalue = try!(left.expect_identifier());
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:24:26
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let right_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:25:27
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let right_value = try!(right_expr.expect_value());
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let operator = try!(parser.binary_operator(token.get_type()));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         try!(parser.consume_type(TokenType::InlineArrow));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         try!(parser.consume_type(TokenType::Else));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let condition = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:32:25
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let true_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:36:25
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let else_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let lvalue = try!(left.expect_identifier());
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:36:27
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 let arg = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:41:41
[INFO] [stdout]    |
[INFO] [stdout] 41 |                         let arg_value = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 |                     try!(parser.consume_type_indented(TokenType::RightParen,
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 try!(parser.consume_type_indented(TokenType::Comma,
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:33:33
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let right: Expression = try!(parser.expression(precedence));
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:34:28
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let bin_operator = try!(parser.binary_operator(token.get_type()));
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let right_expr = try!(parser.expression(precedence));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let right_value = try!(right_expr.expect_value());
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:53:24
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let operator = try!(parser.unary_operator(token.get_type()));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/do_block.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |             let block = try!(parser.block());
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/do_block.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |             let stmt = try!(parser.statement());
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/return_stmt.rs:31:26
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let inner_expr = try!(parser.expression(Precedence::Return));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/return_stmt.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let inner = try!(inner_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let condition = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             try!(parser.consume_type(TokenType::Else));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:34:29
[INFO] [stdout]    |
[INFO] [stdout] 34 |             let true_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:41:29
[INFO] [stdout]    |
[INFO] [stdout] 41 |             let else_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let true_block = try!(parser.block());
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:67:34
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let else_block = try!(parser.block());
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:81:17
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 let else_if_condition = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:82:37
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let else_if_block = try!(parser.block());
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         try!(parser.consume_type(TokenType::Equals));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let name = try!(parser.lvalue());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Some(try!(parser.type_expr()))
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:43:26
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let value_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let value = try!(value_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         try!(parser.consume_type(TokenType::LeftParen));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let name = try!(parser.lvalue());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 try!(parser.consume_type(TokenType::Colon));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:48:28
[INFO] [stdout]    |
[INFO] [stdout] 48 |                 let name = try!(parser.lvalue());
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 let type_ = try!(parser.type_expr());
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 try!(parser.consume_type_indented(TokenType::Comma,
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:66:14
[INFO] [stdout]    |
[INFO] [stdout] 66 |             (try!(parser.type_expr()), true)
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let block = try!(parser.block());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/typedef.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         try!(parser.consume_type(TokenType::Equals));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/typedef.rs:22:20
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let name = try!(parser.lvalue());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/typedef.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let type_ = try!(parser.type_expr());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/llvm/target.rs:177:23
[INFO] [stdout]     |
[INFO] [stdout] 177 |         let machine = try!(TargetMachine::native(opt_level, reloc_mode, code_model));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/llvm/target.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let native_target = try!(Target::native());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/pipeline/mod.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         try!(file.read_to_string(buffer));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/pipeline/mod.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let mut file = try!(File::open(path));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/pipeline/mod.rs:57:20
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let unit = try!(parser.parse_unit());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/identify/types/type_graph.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 let mut path = Path::new(&file_path)
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expected_indent_length` and `expected_indent_spaces` are never read
[INFO] [stdout]   --> src/lex/tokenizer.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct IterTokenizer<I> where I: Iterator<Item=char> {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     expected_indent_length: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     expected_indent_spaces: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IterTokenizer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `errors` is never read
[INFO] [stdout]   --> src/identify/types/item_typographer.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ItemTypographer<'builder, 'err, 'graph> {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 12 |     builder: &'builder TypeScopeBuilder,
[INFO] [stdout] 13 |     errors: &'err mut ErrorCollector,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ItemTypographer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name_builder` is never read
[INFO] [stdout]    --> src/pipeline/mod.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct CheckRunner {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 121 |     name_builder: NameScopeBuilder,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CheckRunner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/identify/scope_builder.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |         &mut self.scopes[last_ix].insert(key, value);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let _ = &mut self.scopes[last_ix].insert(key, value);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/identify/scope_builder.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         &mut self.scopes[0].insert(key, value);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let _ = &mut self.scopes[0].insert(key, value);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 72 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling quote v0.6.10
[INFO] [stderr]    Compiling syn v0.14.9
[INFO] [stderr]    Compiling derive_integration_tests v0.1.0 (/opt/rustwide/workdir/derive_integration_tests)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> derive_integration_tests/src/lib.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DeriveInput`
[INFO] [stdout]   --> derive_integration_tests/src/lib.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use syn::{DeriveInput, Ident};
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `File`
[INFO] [stdout]   --> derive_integration_tests/src/lib.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::fs::{self, File};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `prelude::*`, `self`
[INFO] [stdout]   --> derive_integration_tests/src/lib.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::io::{self, prelude::*};
[INFO] [stdout]    |               ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> derive_integration_tests/src/lib.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn is_rust_kw(text: &AsRef<str>) -> bool {
[INFO] [stdout]    |                      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn is_rust_kw(text: &dyn AsRef<str>) -> bool {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> derive_integration_tests/src/lib.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn make_ident(path: &AsRef<Path>) -> Ident {
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn make_ident(path: &dyn AsRef<Path>) -> Ident {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> derive_integration_tests/src/lib.rs:42:30
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn create_tests(path: &Path, mut path_name: Ident) -> quote::__rt::TokenStream {
[INFO] [stdout]    |                              ----^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> derive_integration_tests/src/lib.rs:100:33
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn create_integration_tests(input: TokenStream) -> TokenStream {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling protosnirk v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/integration.rs:86:28
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn new(file_name: &AsRef<Path>, content: String) -> Test {
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn new(file_name: &dyn AsRef<Path>, content: String) -> Test {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:156:21
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let token = try!(self.consume_type(expected_type));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:228:24
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let mut left = try!(match token_type {
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:256:20
[INFO] [stdout]     |
[INFO] [stdout] 256 |             left = try!(match token_type {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:334:29
[INFO] [stdout]     |
[INFO] [stdout] 334 |             let next_stmt = try!(self.statement());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:427:24
[INFO] [stdout]     |
[INFO] [stdout] 427 |             let item = try!(self.item());
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/parens.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         try!(parser.consume_type(TokenType::RightParen));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/parens.rs:24:26
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let inner_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/parens.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let inner = try!(inner_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assignment.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let ident = try!(left.expect_identifier());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assignment.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let right_expr = try!(parser.expression(Precedence::Assign));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assignment.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let right = try!(right_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let lvalue = try!(left.expect_identifier());
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:24:26
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let right_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:25:27
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let right_value = try!(right_expr.expect_value());
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let operator = try!(parser.binary_operator(token.get_type()));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         try!(parser.consume_type(TokenType::InlineArrow));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         try!(parser.consume_type(TokenType::Else));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let condition = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:32:25
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let true_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:36:25
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let else_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let lvalue = try!(left.expect_identifier());
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:36:27
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 let arg = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:41:41
[INFO] [stdout]    |
[INFO] [stdout] 41 |                         let arg_value = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 |                     try!(parser.consume_type_indented(TokenType::RightParen,
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 try!(parser.consume_type_indented(TokenType::Comma,
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:33:33
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let right: Expression = try!(parser.expression(precedence));
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:34:28
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let bin_operator = try!(parser.binary_operator(token.get_type()));
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let right_expr = try!(parser.expression(precedence));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let right_value = try!(right_expr.expect_value());
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:53:24
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let operator = try!(parser.unary_operator(token.get_type()));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/do_block.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |             let block = try!(parser.block());
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/do_block.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |             let stmt = try!(parser.statement());
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/return_stmt.rs:31:26
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let inner_expr = try!(parser.expression(Precedence::Return));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/return_stmt.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let inner = try!(inner_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let condition = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             try!(parser.consume_type(TokenType::Else));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:34:29
[INFO] [stdout]    |
[INFO] [stdout] 34 |             let true_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:41:29
[INFO] [stdout]    |
[INFO] [stdout] 41 |             let else_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let true_block = try!(parser.block());
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:67:34
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let else_block = try!(parser.block());
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:81:17
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 let else_if_condition = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:82:37
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let else_if_block = try!(parser.block());
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         try!(parser.consume_type(TokenType::Equals));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let name = try!(parser.lvalue());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Some(try!(parser.type_expr()))
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:43:26
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let value_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let value = try!(value_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         try!(parser.consume_type(TokenType::LeftParen));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let name = try!(parser.lvalue());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 try!(parser.consume_type(TokenType::Colon));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:48:28
[INFO] [stdout]    |
[INFO] [stdout] 48 |                 let name = try!(parser.lvalue());
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 let type_ = try!(parser.type_expr());
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 try!(parser.consume_type_indented(TokenType::Comma,
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:66:14
[INFO] [stdout]    |
[INFO] [stdout] 66 |             (try!(parser.type_expr()), true)
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let block = try!(parser.block());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/typedef.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         try!(parser.consume_type(TokenType::Equals));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/typedef.rs:22:20
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let name = try!(parser.lvalue());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/typedef.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let type_ = try!(parser.type_expr());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/llvm/target.rs:177:23
[INFO] [stdout]     |
[INFO] [stdout] 177 |         let machine = try!(TargetMachine::native(opt_level, reloc_mode, code_model));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/llvm/target.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let native_target = try!(Target::native());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/pipeline/mod.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         try!(file.read_to_string(buffer));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/pipeline/mod.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let mut file = try!(File::open(path));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/pipeline/mod.rs:57:20
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let unit = try!(parser.parse_unit());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/identify/types/type_graph.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 let mut path = Path::new(&file_path)
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expected_indent_length` and `expected_indent_spaces` are never read
[INFO] [stdout]   --> src/lex/tokenizer.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct IterTokenizer<I> where I: Iterator<Item=char> {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     expected_indent_length: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     expected_indent_spaces: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IterTokenizer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `errors` is never read
[INFO] [stdout]   --> src/identify/types/item_typographer.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ItemTypographer<'builder, 'err, 'graph> {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 12 |     builder: &'builder TypeScopeBuilder,
[INFO] [stdout] 13 |     errors: &'err mut ErrorCollector,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ItemTypographer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name_builder` is never read
[INFO] [stdout]    --> src/pipeline/mod.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct CheckRunner {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 121 |     name_builder: NameScopeBuilder,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CheckRunner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/identify/scope_builder.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |         &mut self.scopes[last_ix].insert(key, value);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let _ = &mut self.scopes[last_ix].insert(key, value);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/identify/scope_builder.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         &mut self.scopes[0].insert(key, value);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let _ = &mut self.scopes[0].insert(key, value);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 72 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.14s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.14.9
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "73933ba6e1ba1a0440fe85522910d783baa08c72681fd9908d7561e7fe1a63a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "73933ba6e1ba1a0440fe85522910d783baa08c72681fd9908d7561e7fe1a63a0", kill_on_drop: false }`
[INFO] [stdout] 73933ba6e1ba1a0440fe85522910d783baa08c72681fd9908d7561e7fe1a63a0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "-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:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 486a030c223d97943db97ce875d9e43a3fc04414f5c1eb1e871312dde84e7ebd
[INFO] running `Command { std: "docker" "start" "-a" "486a030c223d97943db97ce875d9e43a3fc04414f5c1eb1e871312dde84e7ebd", kill_on_drop: false }`
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> derive_integration_tests/src/lib.rs:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `DeriveInput`
[INFO] [stderr]   --> derive_integration_tests/src/lib.rs:12:11
[INFO] [stderr]    |
[INFO] [stderr] 12 | use syn::{DeriveInput, Ident};
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `File`
[INFO] [stderr]   --> derive_integration_tests/src/lib.rs:15:21
[INFO] [stderr]    |
[INFO] [stderr] 15 | use std::fs::{self, File};
[INFO] [stderr]    |                     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `prelude::*`, `self`
[INFO] [stderr]   --> derive_integration_tests/src/lib.rs:16:15
[INFO] [stderr]    |
[INFO] [stderr] 16 | use std::io::{self, prelude::*};
[INFO] [stderr]    |               ^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> derive_integration_tests/src/lib.rs:20:22
[INFO] [stderr]    |
[INFO] [stderr] 20 | fn is_rust_kw(text: &AsRef<str>) -> bool {
[INFO] [stderr]    |                      ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 20 | fn is_rust_kw(text: &dyn AsRef<str>) -> bool {
[INFO] [stderr]    |                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> derive_integration_tests/src/lib.rs:31:22
[INFO] [stderr]    |
[INFO] [stderr] 31 | fn make_ident(path: &AsRef<Path>) -> Ident {
[INFO] [stderr]    |                      ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 31 | fn make_ident(path: &dyn AsRef<Path>) -> Ident {
[INFO] [stderr]    |                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> derive_integration_tests/src/lib.rs:42:30
[INFO] [stderr]    |
[INFO] [stderr] 42 | fn create_tests(path: &Path, mut path_name: Ident) -> quote::__rt::TokenStream {
[INFO] [stderr]    |                              ----^^^^^^^^^
[INFO] [stderr]    |                              |
[INFO] [stderr]    |                              help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]    --> derive_integration_tests/src/lib.rs:100:33
[INFO] [stderr]     |
[INFO] [stderr] 100 | pub fn create_integration_tests(input: TokenStream) -> TokenStream {
[INFO] [stderr]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `derive_integration_tests` (lib) generated 8 warnings (run `cargo fix --lib -p derive_integration_tests` to apply 6 suggestions)
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse/parser.rs:156:21
[INFO] [stderr]     |
[INFO] [stderr] 156 |         let token = try!(self.consume_type(expected_type));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse/parser.rs:228:24
[INFO] [stderr]     |
[INFO] [stderr] 228 |         let mut left = try!(match token_type {
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse/parser.rs:256:20
[INFO] [stderr]     |
[INFO] [stderr] 256 |             left = try!(match token_type {
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse/parser.rs:334:29
[INFO] [stderr]     |
[INFO] [stderr] 334 |             let next_stmt = try!(self.statement());
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse/parser.rs:427:24
[INFO] [stderr]     |
[INFO] [stderr] 427 |             let item = try!(self.item());
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/parens.rs:26:9
[INFO] [stderr]    |
[INFO] [stderr] 26 |         try!(parser.consume_type(TokenType::RightParen));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/parens.rs:24:26
[INFO] [stderr]    |
[INFO] [stderr] 24 |         let inner_expr = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/parens.rs:25:21
[INFO] [stderr]    |
[INFO] [stderr] 25 |         let inner = try!(inner_expr.expect_value());
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/assignment.rs:22:21
[INFO] [stderr]    |
[INFO] [stderr] 22 |         let ident = try!(left.expect_identifier());
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/assignment.rs:23:26
[INFO] [stderr]    |
[INFO] [stderr] 23 |         let right_expr = try!(parser.expression(Precedence::Assign));
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/assignment.rs:24:21
[INFO] [stderr]    |
[INFO] [stderr] 24 |         let right = try!(right_expr.expect_value());
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/assign_op.rs:23:22
[INFO] [stderr]    |
[INFO] [stderr] 23 |         let lvalue = try!(left.expect_identifier());
[INFO] [stderr]    |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/assign_op.rs:24:26
[INFO] [stderr]    |
[INFO] [stderr] 24 |         let right_expr = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/assign_op.rs:25:27
[INFO] [stderr]    |
[INFO] [stderr] 25 |         let right_value = try!(right_expr.expect_value());
[INFO] [stderr]    |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/assign_op.rs:26:24
[INFO] [stderr]    |
[INFO] [stderr] 26 |         let operator = try!(parser.binary_operator(token.get_type()));
[INFO] [stderr]    |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/if_expr.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |         try!(parser.consume_type(TokenType::InlineArrow));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/if_expr.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 |         try!(parser.consume_type(TokenType::Else));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/if_expr.rs:28:25
[INFO] [stderr]    |
[INFO] [stderr] 28 |         let condition = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/if_expr.rs:32:25
[INFO] [stderr]    |
[INFO] [stderr] 32 |         let true_expr = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/if_expr.rs:36:25
[INFO] [stderr]    |
[INFO] [stderr] 36 |         let else_expr = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/fn_call.rs:24:22
[INFO] [stderr]    |
[INFO] [stderr] 24 |         let lvalue = try!(left.expect_identifier());
[INFO] [stderr]    |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/fn_call.rs:36:27
[INFO] [stderr]    |
[INFO] [stderr] 36 |                 let arg = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/fn_call.rs:41:41
[INFO] [stderr]    |
[INFO] [stderr] 41 |                         let arg_value = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/fn_call.rs:53:21
[INFO] [stderr]    |
[INFO] [stderr] 53 |                     try!(parser.consume_type_indented(TokenType::RightParen,
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/fn_call.rs:61:17
[INFO] [stderr]    |
[INFO] [stderr] 61 |                 try!(parser.consume_type_indented(TokenType::Comma,
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/mod.rs:33:33
[INFO] [stderr]    |
[INFO] [stderr] 33 |         let right: Expression = try!(parser.expression(precedence));
[INFO] [stderr]    |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/mod.rs:34:28
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let bin_operator = try!(parser.binary_operator(token.get_type()));
[INFO] [stderr]    |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/mod.rs:51:26
[INFO] [stderr]    |
[INFO] [stderr] 51 |         let right_expr = try!(parser.expression(precedence));
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/mod.rs:52:27
[INFO] [stderr]    |
[INFO] [stderr] 52 |         let right_value = try!(right_expr.expect_value());
[INFO] [stderr]    |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/mod.rs:53:24
[INFO] [stderr]    |
[INFO] [stderr] 53 |         let operator = try!(parser.unary_operator(token.get_type()));
[INFO] [stderr]    |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/do_block.rs:28:25
[INFO] [stderr]    |
[INFO] [stderr] 28 |             let block = try!(parser.block());
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/do_block.rs:35:24
[INFO] [stderr]    |
[INFO] [stderr] 35 |             let stmt = try!(parser.statement());
[INFO] [stderr]    |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/return_stmt.rs:31:26
[INFO] [stderr]    |
[INFO] [stderr] 31 |         let inner_expr = try!(parser.expression(Precedence::Return));
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/return_stmt.rs:32:21
[INFO] [stderr]    |
[INFO] [stderr] 32 |         let inner = try!(inner_expr.expect_value());
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/if_block.rs:50:9
[INFO] [stderr]    |
[INFO] [stderr] 50 |         try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/if_block.rs:29:25
[INFO] [stderr]    |
[INFO] [stderr] 29 |         let condition = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/if_block.rs:36:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |             try!(parser.consume_type(TokenType::Else));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/if_block.rs:34:29
[INFO] [stderr]    |
[INFO] [stderr] 34 |             let true_expr = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/if_block.rs:41:29
[INFO] [stderr]    |
[INFO] [stderr] 41 |             let else_expr = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/if_block.rs:51:26
[INFO] [stderr]    |
[INFO] [stderr] 51 |         let true_block = try!(parser.block());
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/if_block.rs:67:34
[INFO] [stderr]    |
[INFO] [stderr] 67 |                 let else_block = try!(parser.block());
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/if_block.rs:81:17
[INFO] [stderr]    |
[INFO] [stderr] 81 |                 try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/if_block.rs:75:41
[INFO] [stderr]    |
[INFO] [stderr] 75 |                 let else_if_condition = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/if_block.rs:82:37
[INFO] [stderr]    |
[INFO] [stderr] 82 |                 let else_if_block = try!(parser.block());
[INFO] [stderr]    |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/declaration.rs:41:9
[INFO] [stderr]    |
[INFO] [stderr] 41 |         try!(parser.consume_type(TokenType::Equals));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/declaration.rs:30:20
[INFO] [stderr]    |
[INFO] [stderr] 30 |         let name = try!(parser.lvalue());
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/declaration.rs:35:18
[INFO] [stderr]    |
[INFO] [stderr] 35 |             Some(try!(parser.type_expr()))
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/declaration.rs:43:26
[INFO] [stderr]    |
[INFO] [stderr] 43 |         let value_expr = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/declaration.rs:44:21
[INFO] [stderr]    |
[INFO] [stderr] 44 |         let value = try!(value_expr.expect_value());
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/function.rs:35:9
[INFO] [stderr]    |
[INFO] [stderr] 35 |         try!(parser.consume_type(TokenType::LeftParen));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/function.rs:75:9
[INFO] [stderr]    |
[INFO] [stderr] 75 |         try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/function.rs:26:20
[INFO] [stderr]    |
[INFO] [stderr] 26 |         let name = try!(parser.lvalue());
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/function.rs:49:17
[INFO] [stderr]    |
[INFO] [stderr] 49 |                 try!(parser.consume_type(TokenType::Colon));
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/function.rs:48:28
[INFO] [stderr]    |
[INFO] [stderr] 48 |                 let name = try!(parser.lvalue());
[INFO] [stderr]    |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/function.rs:50:29
[INFO] [stderr]    |
[INFO] [stderr] 50 |                 let type_ = try!(parser.type_expr());
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/function.rs:56:17
[INFO] [stderr]    |
[INFO] [stderr] 56 |                 try!(parser.consume_type_indented(TokenType::Comma,
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/function.rs:66:14
[INFO] [stderr]    |
[INFO] [stderr] 66 |             (try!(parser.type_expr()), true)
[INFO] [stderr]    |              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/function.rs:76:21
[INFO] [stderr]    |
[INFO] [stderr] 76 |         let block = try!(parser.block());
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/typedef.rs:24:9
[INFO] [stderr]    |
[INFO] [stderr] 24 |         try!(parser.consume_type(TokenType::Equals));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/typedef.rs:22:20
[INFO] [stderr]    |
[INFO] [stderr] 22 |         let name = try!(parser.lvalue());
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/typedef.rs:26:21
[INFO] [stderr]    |
[INFO] [stderr] 26 |         let type_ = try!(parser.type_expr());
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/llvm/target.rs:177:23
[INFO] [stderr]     |
[INFO] [stderr] 177 |         let machine = try!(TargetMachine::native(opt_level, reloc_mode, code_model));
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/llvm/target.rs:229:29
[INFO] [stderr]     |
[INFO] [stderr] 229 |         let native_target = try!(Target::native());
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/pipeline/mod.rs:51:9
[INFO] [stderr]    |
[INFO] [stderr] 51 |         try!(file.read_to_string(buffer));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/pipeline/mod.rs:50:24
[INFO] [stderr]    |
[INFO] [stderr] 50 |         let mut file = try!(File::open(path));
[INFO] [stderr]    |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/pipeline/mod.rs:57:20
[INFO] [stderr]    |
[INFO] [stderr] 57 |         let unit = try!(parser.parse_unit());
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/identify/types/type_graph.rs:145:21
[INFO] [stderr]     |
[INFO] [stderr] 145 |                 let mut path = Path::new(&file_path)
[INFO] [stderr]     |                     ----^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `expected_indent_length` and `expected_indent_spaces` are never read
[INFO] [stderr]   --> src/lex/tokenizer.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub struct IterTokenizer<I> where I: Iterator<Item=char> {
[INFO] [stderr]    |            ------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 59 |     expected_indent_length: u32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 63 |     expected_indent_spaces: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `IterTokenizer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `errors` is never read
[INFO] [stderr]   --> src/identify/types/item_typographer.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct ItemTypographer<'builder, 'err, 'graph> {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] 12 |     builder: &'builder TypeScopeBuilder,
[INFO] [stderr] 13 |     errors: &'err mut ErrorCollector,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ItemTypographer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `name_builder` is never read
[INFO] [stderr]    --> src/pipeline/mod.rs:121:5
[INFO] [stderr]     |
[INFO] [stderr] 117 | pub struct CheckRunner {
[INFO] [stderr]     |            ----------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 121 |     name_builder: NameScopeBuilder,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `CheckRunner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]   --> src/identify/scope_builder.rs:65:9
[INFO] [stderr]    |
[INFO] [stderr] 65 |         &mut self.scopes[last_ix].insert(key, value);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 65 |         let _ = &mut self.scopes[last_ix].insert(key, value);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]   --> src/identify/scope_builder.rs:73:9
[INFO] [stderr]    |
[INFO] [stderr] 73 |         &mut self.scopes[0].insert(key, value);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]    |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 73 |         let _ = &mut self.scopes[0].insert(key, value);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `protosnirk` (lib) generated 72 warnings (run `cargo fix --lib -p protosnirk` to apply 1 suggestion)
[INFO] [stderr] warning: `protosnirk` (lib test) generated 72 warnings (72 duplicates)
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> tests/integration.rs:86:28
[INFO] [stderr]    |
[INFO] [stderr] 86 |     pub fn new(file_name: &AsRef<Path>, content: String) -> Test {
[INFO] [stderr]    |                            ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 86 |     pub fn new(file_name: &dyn AsRef<Path>, content: String) -> Test {
[INFO] [stderr]    |                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: `protosnirk` (test "integration") generated 1 warning (run `cargo fix --test "integration"` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.14.9
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/protosnirk-f432e32a102a8eb4)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test lex::textiter::tests::it_starts_at_zero ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-33fba5738518e21e)
[INFO] [stdout] 
[INFO] [stdout] running 48 tests
[INFO] [stdout] test tests::compile::block::empty_block_without_comment_parse_fail ... ok
[INFO] [stdout] test tests::compile::block::if_::empty_if_block_empty_parse_fail ... ok
[INFO] [stdout] test tests::compile::block::if_::else_empty_parse_fail ... ok
[INFO] [stdout] test tests::compile::expression::if_::if_expr_unmatching_bad ... ok
[INFO] [stderr] error: test failed, to rerun pass `--test integration`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/integration-33fba5738518e21e` (signal: 11, SIGSEGV: invalid memory reference)
[INFO] running `Command { std: "docker" "inspect" "486a030c223d97943db97ce875d9e43a3fc04414f5c1eb1e871312dde84e7ebd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "486a030c223d97943db97ce875d9e43a3fc04414f5c1eb1e871312dde84e7ebd", kill_on_drop: false }`
[INFO] [stdout] 486a030c223d97943db97ce875d9e43a3fc04414f5c1eb1e871312dde84e7ebd
[INFO] testing snirk-lang/protosnirk against try#b642703cf9526da1e72c0b6755753b939a9c6b6d for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsnirk-lang%2Fprotosnirk" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/snirk-lang/protosnirk on toolchain b642703cf9526da1e72c0b6755753b939a9c6b6d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/snirk-lang/protosnirk
[INFO] finished tweaking git repo https://github.com/snirk-lang/protosnirk
[INFO] tweaked toml for git repo https://github.com/snirk-lang/protosnirk written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/snirk-lang/protosnirk already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 518b41f033d95151aa11a1f2bb99f2c8c72591256d5f806cd8d9594158ac5b86
[INFO] running `Command { std: "docker" "start" "-a" "518b41f033d95151aa11a1f2bb99f2c8c72591256d5f806cd8d9594158ac5b86", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "518b41f033d95151aa11a1f2bb99f2c8c72591256d5f806cd8d9594158ac5b86", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "518b41f033d95151aa11a1f2bb99f2c8c72591256d5f806cd8d9594158ac5b86", kill_on_drop: false }`
[INFO] [stdout] 518b41f033d95151aa11a1f2bb99f2c8c72591256d5f806cd8d9594158ac5b86
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 40152089a067e67308d6af8d81d3c4ce03b8d7ac5ef67026acdd3ad21e10c776
[INFO] running `Command { std: "docker" "start" "-a" "40152089a067e67308d6af8d81d3c4ce03b8d7ac5ef67026acdd3ad21e10c776", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.1.1
[INFO] [stderr]    Compiling libc v0.2.43
[INFO] [stderr]    Compiling ucd-util v0.1.2
[INFO] [stderr]    Compiling lazy_static v1.2.0
[INFO] [stderr]    Compiling regex v1.1.0
[INFO] [stderr]    Compiling utf8-ranges v1.0.2
[INFO] [stderr]    Compiling cc v1.0.28
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling ordermap v0.3.5
[INFO] [stderr]    Compiling fixedbitset v0.1.9
[INFO] [stderr]    Compiling log v0.4.6
[INFO] [stderr]    Compiling maplit v1.0.1
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling unreachable v1.0.0
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling regex-syntax v0.6.4
[INFO] [stderr]    Compiling smallvec v0.6.5
[INFO] [stderr]    Compiling petgraph v0.4.13
[INFO] [stderr]    Compiling aho-corasick v0.6.9
[INFO] [stderr]    Compiling llvm-sys v70.0.2
[INFO] [stderr]    Compiling protosnirk v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:156:21
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let token = try!(self.consume_type(expected_type));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:228:24
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let mut left = try!(match token_type {
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:256:20
[INFO] [stdout]     |
[INFO] [stdout] 256 |             left = try!(match token_type {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:334:29
[INFO] [stdout]     |
[INFO] [stdout] 334 |             let next_stmt = try!(self.statement());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:427:24
[INFO] [stdout]     |
[INFO] [stdout] 427 |             let item = try!(self.item());
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/parens.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         try!(parser.consume_type(TokenType::RightParen));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/parens.rs:24:26
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let inner_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/parens.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let inner = try!(inner_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assignment.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let ident = try!(left.expect_identifier());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assignment.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let right_expr = try!(parser.expression(Precedence::Assign));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assignment.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let right = try!(right_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let lvalue = try!(left.expect_identifier());
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:24:26
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let right_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:25:27
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let right_value = try!(right_expr.expect_value());
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let operator = try!(parser.binary_operator(token.get_type()));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         try!(parser.consume_type(TokenType::InlineArrow));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         try!(parser.consume_type(TokenType::Else));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let condition = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:32:25
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let true_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:36:25
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let else_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let lvalue = try!(left.expect_identifier());
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:36:27
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 let arg = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:41:41
[INFO] [stdout]    |
[INFO] [stdout] 41 |                         let arg_value = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 |                     try!(parser.consume_type_indented(TokenType::RightParen,
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 try!(parser.consume_type_indented(TokenType::Comma,
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:33:33
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let right: Expression = try!(parser.expression(precedence));
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:34:28
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let bin_operator = try!(parser.binary_operator(token.get_type()));
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let right_expr = try!(parser.expression(precedence));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let right_value = try!(right_expr.expect_value());
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:53:24
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let operator = try!(parser.unary_operator(token.get_type()));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/do_block.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |             let block = try!(parser.block());
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/do_block.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |             let stmt = try!(parser.statement());
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/return_stmt.rs:31:26
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let inner_expr = try!(parser.expression(Precedence::Return));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/return_stmt.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let inner = try!(inner_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let condition = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             try!(parser.consume_type(TokenType::Else));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:34:29
[INFO] [stdout]    |
[INFO] [stdout] 34 |             let true_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:41:29
[INFO] [stdout]    |
[INFO] [stdout] 41 |             let else_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let true_block = try!(parser.block());
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:67:34
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let else_block = try!(parser.block());
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:81:17
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 let else_if_condition = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:82:37
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let else_if_block = try!(parser.block());
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         try!(parser.consume_type(TokenType::Equals));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let name = try!(parser.lvalue());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Some(try!(parser.type_expr()))
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:43:26
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let value_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let value = try!(value_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         try!(parser.consume_type(TokenType::LeftParen));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let name = try!(parser.lvalue());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 try!(parser.consume_type(TokenType::Colon));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:48:28
[INFO] [stdout]    |
[INFO] [stdout] 48 |                 let name = try!(parser.lvalue());
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 let type_ = try!(parser.type_expr());
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 try!(parser.consume_type_indented(TokenType::Comma,
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:66:14
[INFO] [stdout]    |
[INFO] [stdout] 66 |             (try!(parser.type_expr()), true)
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let block = try!(parser.block());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/typedef.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         try!(parser.consume_type(TokenType::Equals));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/typedef.rs:22:20
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let name = try!(parser.lvalue());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/typedef.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let type_ = try!(parser.type_expr());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/llvm/target.rs:177:23
[INFO] [stdout]     |
[INFO] [stdout] 177 |         let machine = try!(TargetMachine::native(opt_level, reloc_mode, code_model));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/llvm/target.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let native_target = try!(Target::native());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/pipeline/mod.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         try!(file.read_to_string(buffer));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/pipeline/mod.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let mut file = try!(File::open(path));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/pipeline/mod.rs:57:20
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let unit = try!(parser.parse_unit());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/identify/types/type_graph.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 let mut path = Path::new(&file_path)
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expected_indent_length` and `expected_indent_spaces` are never read
[INFO] [stdout]   --> src/lex/tokenizer.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct IterTokenizer<I> where I: Iterator<Item=char> {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     expected_indent_length: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     expected_indent_spaces: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IterTokenizer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `errors` is never read
[INFO] [stdout]   --> src/identify/types/item_typographer.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ItemTypographer<'builder, 'err, 'graph> {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 12 |     builder: &'builder TypeScopeBuilder,
[INFO] [stdout] 13 |     errors: &'err mut ErrorCollector,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ItemTypographer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name_builder` is never read
[INFO] [stdout]    --> src/pipeline/mod.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct CheckRunner {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 121 |     name_builder: NameScopeBuilder,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CheckRunner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/identify/scope_builder.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |         &mut self.scopes[last_ix].insert(key, value);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let _ = &mut self.scopes[last_ix].insert(key, value);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/identify/scope_builder.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         &mut self.scopes[0].insert(key, value);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let _ = &mut self.scopes[0].insert(key, value);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 72 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.89s
[INFO] running `Command { std: "docker" "inspect" "40152089a067e67308d6af8d81d3c4ce03b8d7ac5ef67026acdd3ad21e10c776", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "40152089a067e67308d6af8d81d3c4ce03b8d7ac5ef67026acdd3ad21e10c776", kill_on_drop: false }`
[INFO] [stdout] 40152089a067e67308d6af8d81d3c4ce03b8d7ac5ef67026acdd3ad21e10c776
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3f0c481a5be346dc91716d18a479c0f893c91266106c8f8ff2d6e859f5be71ea
[INFO] running `Command { std: "docker" "start" "-a" "3f0c481a5be346dc91716d18a479c0f893c91266106c8f8ff2d6e859f5be71ea", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.21
[INFO] [stderr]    Compiling env_logger v0.6.0
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:156:21
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let token = try!(self.consume_type(expected_type));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:228:24
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let mut left = try!(match token_type {
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:256:20
[INFO] [stdout]     |
[INFO] [stdout] 256 |             left = try!(match token_type {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:334:29
[INFO] [stdout]     |
[INFO] [stdout] 334 |             let next_stmt = try!(self.statement());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:427:24
[INFO] [stdout]     |
[INFO] [stdout] 427 |             let item = try!(self.item());
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/parens.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         try!(parser.consume_type(TokenType::RightParen));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/parens.rs:24:26
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let inner_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/parens.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let inner = try!(inner_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assignment.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let ident = try!(left.expect_identifier());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assignment.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let right_expr = try!(parser.expression(Precedence::Assign));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assignment.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let right = try!(right_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let lvalue = try!(left.expect_identifier());
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:24:26
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let right_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:25:27
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let right_value = try!(right_expr.expect_value());
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let operator = try!(parser.binary_operator(token.get_type()));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         try!(parser.consume_type(TokenType::InlineArrow));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         try!(parser.consume_type(TokenType::Else));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let condition = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:32:25
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let true_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:36:25
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let else_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let lvalue = try!(left.expect_identifier());
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:36:27
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 let arg = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:41:41
[INFO] [stdout]    |
[INFO] [stdout] 41 |                         let arg_value = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 |                     try!(parser.consume_type_indented(TokenType::RightParen,
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 try!(parser.consume_type_indented(TokenType::Comma,
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:33:33
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let right: Expression = try!(parser.expression(precedence));
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:34:28
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let bin_operator = try!(parser.binary_operator(token.get_type()));
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let right_expr = try!(parser.expression(precedence));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let right_value = try!(right_expr.expect_value());
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:53:24
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let operator = try!(parser.unary_operator(token.get_type()));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/do_block.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |             let block = try!(parser.block());
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/do_block.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |             let stmt = try!(parser.statement());
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/return_stmt.rs:31:26
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let inner_expr = try!(parser.expression(Precedence::Return));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/return_stmt.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let inner = try!(inner_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let condition = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             try!(parser.consume_type(TokenType::Else));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:34:29
[INFO] [stdout]    |
[INFO] [stdout] 34 |             let true_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:41:29
[INFO] [stdout]    |
[INFO] [stdout] 41 |             let else_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let true_block = try!(parser.block());
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:67:34
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let else_block = try!(parser.block());
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:81:17
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 let else_if_condition = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:82:37
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let else_if_block = try!(parser.block());
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         try!(parser.consume_type(TokenType::Equals));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let name = try!(parser.lvalue());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Some(try!(parser.type_expr()))
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:43:26
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let value_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let value = try!(value_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         try!(parser.consume_type(TokenType::LeftParen));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let name = try!(parser.lvalue());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 try!(parser.consume_type(TokenType::Colon));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:48:28
[INFO] [stdout]    |
[INFO] [stdout] 48 |                 let name = try!(parser.lvalue());
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 let type_ = try!(parser.type_expr());
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 try!(parser.consume_type_indented(TokenType::Comma,
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:66:14
[INFO] [stdout]    |
[INFO] [stdout] 66 |             (try!(parser.type_expr()), true)
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let block = try!(parser.block());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/typedef.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         try!(parser.consume_type(TokenType::Equals));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/typedef.rs:22:20
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let name = try!(parser.lvalue());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/typedef.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let type_ = try!(parser.type_expr());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/llvm/target.rs:177:23
[INFO] [stdout]     |
[INFO] [stdout] 177 |         let machine = try!(TargetMachine::native(opt_level, reloc_mode, code_model));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/llvm/target.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let native_target = try!(Target::native());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/pipeline/mod.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         try!(file.read_to_string(buffer));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/pipeline/mod.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let mut file = try!(File::open(path));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/pipeline/mod.rs:57:20
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let unit = try!(parser.parse_unit());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/identify/types/type_graph.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 let mut path = Path::new(&file_path)
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expected_indent_length` and `expected_indent_spaces` are never read
[INFO] [stdout]   --> src/lex/tokenizer.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct IterTokenizer<I> where I: Iterator<Item=char> {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     expected_indent_length: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     expected_indent_spaces: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IterTokenizer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `errors` is never read
[INFO] [stdout]   --> src/identify/types/item_typographer.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ItemTypographer<'builder, 'err, 'graph> {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 12 |     builder: &'builder TypeScopeBuilder,
[INFO] [stdout] 13 |     errors: &'err mut ErrorCollector,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ItemTypographer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name_builder` is never read
[INFO] [stdout]    --> src/pipeline/mod.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct CheckRunner {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 121 |     name_builder: NameScopeBuilder,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CheckRunner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/identify/scope_builder.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |         &mut self.scopes[last_ix].insert(key, value);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let _ = &mut self.scopes[last_ix].insert(key, value);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/identify/scope_builder.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         &mut self.scopes[0].insert(key, value);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let _ = &mut self.scopes[0].insert(key, value);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 72 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling quote v0.6.10
[INFO] [stderr]    Compiling syn v0.14.9
[INFO] [stderr]    Compiling derive_integration_tests v0.1.0 (/opt/rustwide/workdir/derive_integration_tests)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> derive_integration_tests/src/lib.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DeriveInput`
[INFO] [stdout]   --> derive_integration_tests/src/lib.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use syn::{DeriveInput, Ident};
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `File`
[INFO] [stdout]   --> derive_integration_tests/src/lib.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::fs::{self, File};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `prelude::*`, `self`
[INFO] [stdout]   --> derive_integration_tests/src/lib.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::io::{self, prelude::*};
[INFO] [stdout]    |               ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> derive_integration_tests/src/lib.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn is_rust_kw(text: &AsRef<str>) -> bool {
[INFO] [stdout]    |                      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn is_rust_kw(text: &dyn AsRef<str>) -> bool {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> derive_integration_tests/src/lib.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn make_ident(path: &AsRef<Path>) -> Ident {
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn make_ident(path: &dyn AsRef<Path>) -> Ident {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> derive_integration_tests/src/lib.rs:42:30
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn create_tests(path: &Path, mut path_name: Ident) -> quote::__rt::TokenStream {
[INFO] [stdout]    |                              ----^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> derive_integration_tests/src/lib.rs:100:33
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn create_integration_tests(input: TokenStream) -> TokenStream {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 8 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling protosnirk v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/integration.rs:86:28
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn new(file_name: &AsRef<Path>, content: String) -> Test {
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn new(file_name: &dyn AsRef<Path>, content: String) -> Test {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:156:21
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let token = try!(self.consume_type(expected_type));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:228:24
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let mut left = try!(match token_type {
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:256:20
[INFO] [stdout]     |
[INFO] [stdout] 256 |             left = try!(match token_type {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:334:29
[INFO] [stdout]     |
[INFO] [stdout] 334 |             let next_stmt = try!(self.statement());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse/parser.rs:427:24
[INFO] [stdout]     |
[INFO] [stdout] 427 |             let item = try!(self.item());
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/parens.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         try!(parser.consume_type(TokenType::RightParen));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/parens.rs:24:26
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let inner_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/parens.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let inner = try!(inner_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assignment.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let ident = try!(left.expect_identifier());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assignment.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let right_expr = try!(parser.expression(Precedence::Assign));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assignment.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let right = try!(right_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let lvalue = try!(left.expect_identifier());
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:24:26
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let right_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:25:27
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let right_value = try!(right_expr.expect_value());
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/assign_op.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let operator = try!(parser.binary_operator(token.get_type()));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         try!(parser.consume_type(TokenType::InlineArrow));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         try!(parser.consume_type(TokenType::Else));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let condition = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:32:25
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let true_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/if_expr.rs:36:25
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let else_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let lvalue = try!(left.expect_identifier());
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:36:27
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 let arg = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:41:41
[INFO] [stdout]    |
[INFO] [stdout] 41 |                         let arg_value = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 |                     try!(parser.consume_type_indented(TokenType::RightParen,
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/fn_call.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 try!(parser.consume_type_indented(TokenType::Comma,
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:33:33
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let right: Expression = try!(parser.expression(precedence));
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:34:28
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let bin_operator = try!(parser.binary_operator(token.get_type()));
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let right_expr = try!(parser.expression(precedence));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let right_value = try!(right_expr.expect_value());
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/expression/mod.rs:53:24
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let operator = try!(parser.unary_operator(token.get_type()));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/do_block.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |             let block = try!(parser.block());
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/do_block.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |             let stmt = try!(parser.statement());
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/return_stmt.rs:31:26
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let inner_expr = try!(parser.expression(Precedence::Return));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/return_stmt.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let inner = try!(inner_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let condition = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             try!(parser.consume_type(TokenType::Else));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:34:29
[INFO] [stdout]    |
[INFO] [stdout] 34 |             let true_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:41:29
[INFO] [stdout]    |
[INFO] [stdout] 41 |             let else_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let true_block = try!(parser.block());
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:67:34
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let else_block = try!(parser.block());
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:81:17
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 let else_if_condition = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/if_block.rs:82:37
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let else_if_block = try!(parser.block());
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         try!(parser.consume_type(TokenType::Equals));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let name = try!(parser.lvalue());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Some(try!(parser.type_expr()))
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:43:26
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let value_expr = try!(parser.expression(Precedence::Min));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/statement/declaration.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let value = try!(value_expr.expect_value());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         try!(parser.consume_type(TokenType::LeftParen));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let name = try!(parser.lvalue());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 try!(parser.consume_type(TokenType::Colon));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:48:28
[INFO] [stdout]    |
[INFO] [stdout] 48 |                 let name = try!(parser.lvalue());
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:50:29
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 let type_ = try!(parser.type_expr());
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 |                 try!(parser.consume_type_indented(TokenType::Comma,
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:66:14
[INFO] [stdout]    |
[INFO] [stdout] 66 |             (try!(parser.type_expr()), true)
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/function.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let block = try!(parser.block());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/typedef.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         try!(parser.consume_type(TokenType::Equals));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/typedef.rs:22:20
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let name = try!(parser.lvalue());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse/parsers/item/typedef.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let type_ = try!(parser.type_expr());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/llvm/target.rs:177:23
[INFO] [stdout]     |
[INFO] [stdout] 177 |         let machine = try!(TargetMachine::native(opt_level, reloc_mode, code_model));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/llvm/target.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let native_target = try!(Target::native());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/pipeline/mod.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         try!(file.read_to_string(buffer));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/pipeline/mod.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let mut file = try!(File::open(path));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/pipeline/mod.rs:57:20
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let unit = try!(parser.parse_unit());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/identify/types/type_graph.rs:145:21
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 let mut path = Path::new(&file_path)
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expected_indent_length` and `expected_indent_spaces` are never read
[INFO] [stdout]   --> src/lex/tokenizer.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct IterTokenizer<I> where I: Iterator<Item=char> {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     expected_indent_length: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     expected_indent_spaces: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IterTokenizer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `errors` is never read
[INFO] [stdout]   --> src/identify/types/item_typographer.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ItemTypographer<'builder, 'err, 'graph> {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 12 |     builder: &'builder TypeScopeBuilder,
[INFO] [stdout] 13 |     errors: &'err mut ErrorCollector,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ItemTypographer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name_builder` is never read
[INFO] [stdout]    --> src/pipeline/mod.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct CheckRunner {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 121 |     name_builder: NameScopeBuilder,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CheckRunner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/identify/scope_builder.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |         &mut self.scopes[last_ix].insert(key, value);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let _ = &mut self.scopes[last_ix].insert(key, value);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/identify/scope_builder.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         &mut self.scopes[0].insert(key, value);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let _ = &mut self.scopes[0].insert(key, value);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 72 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4.41s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.14.9
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "3f0c481a5be346dc91716d18a479c0f893c91266106c8f8ff2d6e859f5be71ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3f0c481a5be346dc91716d18a479c0f893c91266106c8f8ff2d6e859f5be71ea", kill_on_drop: false }`
[INFO] [stdout] 3f0c481a5be346dc91716d18a479c0f893c91266106c8f8ff2d6e859f5be71ea
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:beeedbb442662e57d416641ecc3200b38e573c25b057896194468d05594dd835" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d1e2e4418a12d814b2e736fc28fdce4e8aec848661009982d692a4a4daffdb37
[INFO] running `Command { std: "docker" "start" "-a" "d1e2e4418a12d814b2e736fc28fdce4e8aec848661009982d692a4a4daffdb37", kill_on_drop: false }`
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> derive_integration_tests/src/lib.rs:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `DeriveInput`
[INFO] [stderr]   --> derive_integration_tests/src/lib.rs:12:11
[INFO] [stderr]    |
[INFO] [stderr] 12 | use syn::{DeriveInput, Ident};
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `File`
[INFO] [stderr]   --> derive_integration_tests/src/lib.rs:15:21
[INFO] [stderr]    |
[INFO] [stderr] 15 | use std::fs::{self, File};
[INFO] [stderr]    |                     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `prelude::*`, `self`
[INFO] [stderr]   --> derive_integration_tests/src/lib.rs:16:15
[INFO] [stderr]    |
[INFO] [stderr] 16 | use std::io::{self, prelude::*};
[INFO] [stderr]    |               ^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> derive_integration_tests/src/lib.rs:20:22
[INFO] [stderr]    |
[INFO] [stderr] 20 | fn is_rust_kw(text: &AsRef<str>) -> bool {
[INFO] [stderr]    |                      ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 20 | fn is_rust_kw(text: &dyn AsRef<str>) -> bool {
[INFO] [stderr]    |                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> derive_integration_tests/src/lib.rs:31:22
[INFO] [stderr]    |
[INFO] [stderr] 31 | fn make_ident(path: &AsRef<Path>) -> Ident {
[INFO] [stderr]    |                      ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 31 | fn make_ident(path: &dyn AsRef<Path>) -> Ident {
[INFO] [stderr]    |                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> derive_integration_tests/src/lib.rs:42:30
[INFO] [stderr]    |
[INFO] [stderr] 42 | fn create_tests(path: &Path, mut path_name: Ident) -> quote::__rt::TokenStream {
[INFO] [stderr]    |                              ----^^^^^^^^^
[INFO] [stderr]    |                              |
[INFO] [stderr]    |                              help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]    --> derive_integration_tests/src/lib.rs:100:33
[INFO] [stderr]     |
[INFO] [stderr] 100 | pub fn create_integration_tests(input: TokenStream) -> TokenStream {
[INFO] [stderr]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `derive_integration_tests` (lib) generated 8 warnings (run `cargo fix --lib -p derive_integration_tests` to apply 6 suggestions)
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse/parser.rs:156:21
[INFO] [stderr]     |
[INFO] [stderr] 156 |         let token = try!(self.consume_type(expected_type));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse/parser.rs:228:24
[INFO] [stderr]     |
[INFO] [stderr] 228 |         let mut left = try!(match token_type {
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse/parser.rs:256:20
[INFO] [stderr]     |
[INFO] [stderr] 256 |             left = try!(match token_type {
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse/parser.rs:334:29
[INFO] [stderr]     |
[INFO] [stderr] 334 |             let next_stmt = try!(self.statement());
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse/parser.rs:427:24
[INFO] [stderr]     |
[INFO] [stderr] 427 |             let item = try!(self.item());
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/parens.rs:26:9
[INFO] [stderr]    |
[INFO] [stderr] 26 |         try!(parser.consume_type(TokenType::RightParen));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/parens.rs:24:26
[INFO] [stderr]    |
[INFO] [stderr] 24 |         let inner_expr = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/parens.rs:25:21
[INFO] [stderr]    |
[INFO] [stderr] 25 |         let inner = try!(inner_expr.expect_value());
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/assignment.rs:22:21
[INFO] [stderr]    |
[INFO] [stderr] 22 |         let ident = try!(left.expect_identifier());
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/assignment.rs:23:26
[INFO] [stderr]    |
[INFO] [stderr] 23 |         let right_expr = try!(parser.expression(Precedence::Assign));
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/assignment.rs:24:21
[INFO] [stderr]    |
[INFO] [stderr] 24 |         let right = try!(right_expr.expect_value());
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/assign_op.rs:23:22
[INFO] [stderr]    |
[INFO] [stderr] 23 |         let lvalue = try!(left.expect_identifier());
[INFO] [stderr]    |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/assign_op.rs:24:26
[INFO] [stderr]    |
[INFO] [stderr] 24 |         let right_expr = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/assign_op.rs:25:27
[INFO] [stderr]    |
[INFO] [stderr] 25 |         let right_value = try!(right_expr.expect_value());
[INFO] [stderr]    |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/assign_op.rs:26:24
[INFO] [stderr]    |
[INFO] [stderr] 26 |         let operator = try!(parser.binary_operator(token.get_type()));
[INFO] [stderr]    |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/if_expr.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |         try!(parser.consume_type(TokenType::InlineArrow));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/if_expr.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 |         try!(parser.consume_type(TokenType::Else));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/if_expr.rs:28:25
[INFO] [stderr]    |
[INFO] [stderr] 28 |         let condition = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/if_expr.rs:32:25
[INFO] [stderr]    |
[INFO] [stderr] 32 |         let true_expr = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/if_expr.rs:36:25
[INFO] [stderr]    |
[INFO] [stderr] 36 |         let else_expr = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/fn_call.rs:24:22
[INFO] [stderr]    |
[INFO] [stderr] 24 |         let lvalue = try!(left.expect_identifier());
[INFO] [stderr]    |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/fn_call.rs:36:27
[INFO] [stderr]    |
[INFO] [stderr] 36 |                 let arg = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/fn_call.rs:41:41
[INFO] [stderr]    |
[INFO] [stderr] 41 |                         let arg_value = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/fn_call.rs:53:21
[INFO] [stderr]    |
[INFO] [stderr] 53 |                     try!(parser.consume_type_indented(TokenType::RightParen,
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/fn_call.rs:61:17
[INFO] [stderr]    |
[INFO] [stderr] 61 |                 try!(parser.consume_type_indented(TokenType::Comma,
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/mod.rs:33:33
[INFO] [stderr]    |
[INFO] [stderr] 33 |         let right: Expression = try!(parser.expression(precedence));
[INFO] [stderr]    |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/mod.rs:34:28
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let bin_operator = try!(parser.binary_operator(token.get_type()));
[INFO] [stderr]    |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/mod.rs:51:26
[INFO] [stderr]    |
[INFO] [stderr] 51 |         let right_expr = try!(parser.expression(precedence));
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/mod.rs:52:27
[INFO] [stderr]    |
[INFO] [stderr] 52 |         let right_value = try!(right_expr.expect_value());
[INFO] [stderr]    |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/expression/mod.rs:53:24
[INFO] [stderr]    |
[INFO] [stderr] 53 |         let operator = try!(parser.unary_operator(token.get_type()));
[INFO] [stderr]    |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/do_block.rs:28:25
[INFO] [stderr]    |
[INFO] [stderr] 28 |             let block = try!(parser.block());
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/do_block.rs:35:24
[INFO] [stderr]    |
[INFO] [stderr] 35 |             let stmt = try!(parser.statement());
[INFO] [stderr]    |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/return_stmt.rs:31:26
[INFO] [stderr]    |
[INFO] [stderr] 31 |         let inner_expr = try!(parser.expression(Precedence::Return));
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/return_stmt.rs:32:21
[INFO] [stderr]    |
[INFO] [stderr] 32 |         let inner = try!(inner_expr.expect_value());
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/if_block.rs:50:9
[INFO] [stderr]    |
[INFO] [stderr] 50 |         try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/if_block.rs:29:25
[INFO] [stderr]    |
[INFO] [stderr] 29 |         let condition = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/if_block.rs:36:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |             try!(parser.consume_type(TokenType::Else));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/if_block.rs:34:29
[INFO] [stderr]    |
[INFO] [stderr] 34 |             let true_expr = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/if_block.rs:41:29
[INFO] [stderr]    |
[INFO] [stderr] 41 |             let else_expr = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/if_block.rs:51:26
[INFO] [stderr]    |
[INFO] [stderr] 51 |         let true_block = try!(parser.block());
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/if_block.rs:67:34
[INFO] [stderr]    |
[INFO] [stderr] 67 |                 let else_block = try!(parser.block());
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/if_block.rs:81:17
[INFO] [stderr]    |
[INFO] [stderr] 81 |                 try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/if_block.rs:75:41
[INFO] [stderr]    |
[INFO] [stderr] 75 |                 let else_if_condition = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/if_block.rs:82:37
[INFO] [stderr]    |
[INFO] [stderr] 82 |                 let else_if_block = try!(parser.block());
[INFO] [stderr]    |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/declaration.rs:41:9
[INFO] [stderr]    |
[INFO] [stderr] 41 |         try!(parser.consume_type(TokenType::Equals));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/declaration.rs:30:20
[INFO] [stderr]    |
[INFO] [stderr] 30 |         let name = try!(parser.lvalue());
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/declaration.rs:35:18
[INFO] [stderr]    |
[INFO] [stderr] 35 |             Some(try!(parser.type_expr()))
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/declaration.rs:43:26
[INFO] [stderr]    |
[INFO] [stderr] 43 |         let value_expr = try!(parser.expression(Precedence::Min));
[INFO] [stderr]    |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/statement/declaration.rs:44:21
[INFO] [stderr]    |
[INFO] [stderr] 44 |         let value = try!(value_expr.expect_value());
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/function.rs:35:9
[INFO] [stderr]    |
[INFO] [stderr] 35 |         try!(parser.consume_type(TokenType::LeftParen));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/function.rs:75:9
[INFO] [stderr]    |
[INFO] [stderr] 75 |         try!(parser.consume_type(TokenType::BeginBlock));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/function.rs:26:20
[INFO] [stderr]    |
[INFO] [stderr] 26 |         let name = try!(parser.lvalue());
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/function.rs:49:17
[INFO] [stderr]    |
[INFO] [stderr] 49 |                 try!(parser.consume_type(TokenType::Colon));
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/function.rs:48:28
[INFO] [stderr]    |
[INFO] [stderr] 48 |                 let name = try!(parser.lvalue());
[INFO] [stderr]    |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/function.rs:50:29
[INFO] [stderr]    |
[INFO] [stderr] 50 |                 let type_ = try!(parser.type_expr());
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/function.rs:56:17
[INFO] [stderr]    |
[INFO] [stderr] 56 |                 try!(parser.consume_type_indented(TokenType::Comma,
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/function.rs:66:14
[INFO] [stderr]    |
[INFO] [stderr] 66 |             (try!(parser.type_expr()), true)
[INFO] [stderr]    |              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/function.rs:76:21
[INFO] [stderr]    |
[INFO] [stderr] 76 |         let block = try!(parser.block());
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/typedef.rs:24:9
[INFO] [stderr]    |
[INFO] [stderr] 24 |         try!(parser.consume_type(TokenType::Equals));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/typedef.rs:22:20
[INFO] [stderr]    |
[INFO] [stderr] 22 |         let name = try!(parser.lvalue());
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse/parsers/item/typedef.rs:26:21
[INFO] [stderr]    |
[INFO] [stderr] 26 |         let type_ = try!(parser.type_expr());
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/llvm/target.rs:177:23
[INFO] [stderr]     |
[INFO] [stderr] 177 |         let machine = try!(TargetMachine::native(opt_level, reloc_mode, code_model));
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/llvm/target.rs:229:29
[INFO] [stderr]     |
[INFO] [stderr] 229 |         let native_target = try!(Target::native());
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/pipeline/mod.rs:51:9
[INFO] [stderr]    |
[INFO] [stderr] 51 |         try!(file.read_to_string(buffer));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/pipeline/mod.rs:50:24
[INFO] [stderr]    |
[INFO] [stderr] 50 |         let mut file = try!(File::open(path));
[INFO] [stderr]    |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/pipeline/mod.rs:57:20
[INFO] [stderr]    |
[INFO] [stderr] 57 |         let unit = try!(parser.parse_unit());
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/identify/types/type_graph.rs:145:21
[INFO] [stderr]     |
[INFO] [stderr] 145 |                 let mut path = Path::new(&file_path)
[INFO] [stderr]     |                     ----^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `expected_indent_length` and `expected_indent_spaces` are never read
[INFO] [stderr]   --> src/lex/tokenizer.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub struct IterTokenizer<I> where I: Iterator<Item=char> {
[INFO] [stderr]    |            ------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 59 |     expected_indent_length: u32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 63 |     expected_indent_spaces: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `IterTokenizer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `errors` is never read
[INFO] [stderr]   --> src/identify/types/item_typographer.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct ItemTypographer<'builder, 'err, 'graph> {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] 12 |     builder: &'builder TypeScopeBuilder,
[INFO] [stderr] 13 |     errors: &'err mut ErrorCollector,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ItemTypographer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `name_builder` is never read
[INFO] [stderr]    --> src/pipeline/mod.rs:121:5
[INFO] [stderr]     |
[INFO] [stderr] 117 | pub struct CheckRunner {
[INFO] [stderr]     |            ----------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 121 |     name_builder: NameScopeBuilder,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `CheckRunner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]   --> src/identify/scope_builder.rs:65:9
[INFO] [stderr]    |
[INFO] [stderr] 65 |         &mut self.scopes[last_ix].insert(key, value);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 65 |         let _ = &mut self.scopes[last_ix].insert(key, value);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused borrow that must be used
[INFO] [stderr]   --> src/identify/scope_builder.rs:73:9
[INFO] [stderr]    |
[INFO] [stderr] 73 |         &mut self.scopes[0].insert(key, value);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stderr]    |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 73 |         let _ = &mut self.scopes[0].insert(key, value);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `protosnirk` (lib) generated 72 warnings (run `cargo fix --lib -p protosnirk` to apply 1 suggestion)
[INFO] [stderr] warning: `protosnirk` (lib test) generated 72 warnings (72 duplicates)
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> tests/integration.rs:86:28
[INFO] [stderr]    |
[INFO] [stderr] 86 |     pub fn new(file_name: &AsRef<Path>, content: String) -> Test {
[INFO] [stderr]    |                            ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is an object-safe trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 86 |     pub fn new(file_name: &dyn AsRef<Path>, content: String) -> Test {
[INFO] [stderr]    |                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: `protosnirk` (test "integration") generated 1 warning (run `cargo fix --test "integration"` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.14.9
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/protosnirk-f432e32a102a8eb4)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test lex::textiter::tests::it_starts_at_zero ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-33fba5738518e21e)
[INFO] [stdout] 
[INFO] [stdout] running 48 tests
[INFO] [stdout] test tests::compile::block::empty_block_without_comment_parse_fail ... ok
[INFO] [stdout] test tests::compile::block::if_::empty_if_block_empty_parse_fail ... ok
[INFO] [stdout] test tests::compile::block::if_::else_empty_parse_fail ... ok
[INFO] [stderr] error: test failed, to rerun pass `--test integration`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/integration-33fba5738518e21e` (signal: 11, SIGSEGV: invalid memory reference)
[INFO] running `Command { std: "docker" "inspect" "d1e2e4418a12d814b2e736fc28fdce4e8aec848661009982d692a4a4daffdb37", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d1e2e4418a12d814b2e736fc28fdce4e8aec848661009982d692a4a4daffdb37", kill_on_drop: false }`
[INFO] [stdout] d1e2e4418a12d814b2e736fc28fdce4e8aec848661009982d692a4a4daffdb37
