[INFO] cloning repository https://github.com/lord/learnllvm
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lord/learnllvm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flord%2Flearnllvm", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flord%2Flearnllvm'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4fc6a517b229c7ffc4f2a74e14df8185a9e2d2ea
[INFO] testing lord/learnllvm against 1.83.0 for beta-1.84.0-4-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flord%2Flearnllvm" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/lord/learnllvm on toolchain 1.83.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.83.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/lord/learnllvm
[INFO] finished tweaking git repo https://github.com/lord/learnllvm
[INFO] tweaked toml for git repo https://github.com/lord/learnllvm written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/lord/learnllvm 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" "+1.83.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded llvm-alt v0.5.0
[INFO] [stderr]   Downloaded cbox v0.3.0
[INFO] [stderr]   Downloaded llvm-sys v0.4.0
[INFO] [stderr]   Downloaded nom v2.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 54cdfa683295c2c99a2b41b69ea94d05e1e44a750fc3ba68edec93923e6430b1
[INFO] running `Command { std: "docker" "start" "-a" "54cdfa683295c2c99a2b41b69ea94d05e1e44a750fc3ba68edec93923e6430b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "54cdfa683295c2c99a2b41b69ea94d05e1e44a750fc3ba68edec93923e6430b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "54cdfa683295c2c99a2b41b69ea94d05e1e44a750fc3ba68edec93923e6430b1", kill_on_drop: false }`
[INFO] [stdout] 54cdfa683295c2c99a2b41b69ea94d05e1e44a750fc3ba68edec93923e6430b1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] eb523cea34cdb35b1d2276a3f9339012fd078b460024ab3d7a3f7ec592911c2f
[INFO] running `Command { std: "docker" "start" "-a" "eb523cea34cdb35b1d2276a3f9339012fd078b460024ab3d7a3f7ec592911c2f", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]    Compiling gcc v0.3.38
[INFO] [stderr]    Compiling semver v0.1.20
[INFO] [stderr]    Compiling libc v0.2.17
[INFO] [stderr]    Compiling bitflags v0.5.0
[INFO] [stderr]    Compiling llvm-alt v0.5.0
[INFO] [stderr]    Compiling nom v2.0.0
[INFO] [stderr]    Compiling cbox v0.3.0
[INFO] [stderr]    Compiling llvm-sys v0.4.0
[INFO] [stderr]    Compiling kscope v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]  --> src/main.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 | use llvm::{Context, Builder, Module, Value};
[INFO] [stdout]   |                                      ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |   let (lhs, rest) = try!(primary_expr(rem));
[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/parser.rs:97:29
[INFO] [stdout]    |
[INFO] [stdout] 97 |   let (mut rhs, mut rest) = try!(primary_expr(rest));
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:101:33
[INFO] [stdout]     |
[INFO] [stdout] 101 |       let (new_rhs, new_rest) = try!(parse_binop_rhs(get_token_precedence(op) + 1, rhs, rest));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:136:35
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let (expr, rest_from_parse) = try!(parse_single_expr(rest));
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:145:22
[INFO] [stdout]     |
[INFO] [stdout] 145 |   let (expr, rest) = try!(parse_single_expr(rem));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:187:23
[INFO] [stdout]     |
[INFO] [stdout] 187 |   let (proto, rest) = try!(prototype_expr(rem));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:188:22
[INFO] [stdout]     |
[INFO] [stdout] 188 |   let (expr, rest) = try!(parse_single_expr(rest));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BasicBlock`
[INFO] [stdout]  --> src/codegen.rs:2:84
[INFO] [stdout]   |
[INFO] [stdout] 2 | use llvm::{Context, Value, Compile, Builder, Module, Type, FunctionType, Function, BasicBlock};
[INFO] [stdout]   |                                                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codegen.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |   let ret_val = try!(codegen(ctx, builder, module, vals, func_ast.body));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codegen.rs:62:22
[INFO] [stdout]    |
[INFO] [stdout] 62 |       let lhs_code = try!(codegen(ctx, builder, module, vals, *lhs));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codegen.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |       let rhs_code = try!(codegen(ctx, builder, module, vals, *rhs));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/codegen.rs:78:10
[INFO] [stdout]    |
[INFO] [stdout] 78 |       if (func.get_signature().num_params() != arg_names.len()) {
[INFO] [stdout]    |          ^                                                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 78 -       if (func.get_signature().num_params() != arg_names.len()) {
[INFO] [stdout] 78 +       if func.get_signature().num_params() != arg_names.len() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codegen.rs:84:23
[INFO] [stdout]    |
[INFO] [stdout] 84 |         arg_vals.push(try!(codegen(ctx, builder, module, vals, arg)));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `llvm_sys::core::LLVMDumpValue`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use llvm_sys::core::LLVMDumpValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `llvm_sys::prelude::LLVMValueRef`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use llvm_sys::prelude::LLVMValueRef;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `builder`
[INFO] [stdout]   --> src/codegen.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 15 |   builder: &'a Builder,
[INFO] [stdout]    |   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_builder`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vals`
[INFO] [stdout]   --> src/codegen.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 17 |   vals: &mut HashMap<String, &'a Value>,
[INFO] [stdout]    |   ^^^^ help: if this is intentional, prefix it with an underscore: `_vals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 |   let mut module = Module::new("mod_name", &ctx);
[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: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct ParseError(String);
[INFO] [stdout]    |            ---------- ^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `ParseError` 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 `0` is never read
[INFO] [stdout]  --> src/codegen.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct CompilerError(String);
[INFO] [stdout]   |            ------------- ^^^^^^
[INFO] [stdout]   |            |
[INFO] [stdout]   |            field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout]   = note: `CompilerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.49s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.5.0, nom v2.0.0
[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" "eb523cea34cdb35b1d2276a3f9339012fd078b460024ab3d7a3f7ec592911c2f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eb523cea34cdb35b1d2276a3f9339012fd078b460024ab3d7a3f7ec592911c2f", kill_on_drop: false }`
[INFO] [stdout] eb523cea34cdb35b1d2276a3f9339012fd078b460024ab3d7a3f7ec592911c2f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fbbfbd6ec46478a833d9023325e3e1cfa89630547a90f5dcffcf2710b2dcb52c
[INFO] running `Command { std: "docker" "start" "-a" "fbbfbd6ec46478a833d9023325e3e1cfa89630547a90f5dcffcf2710b2dcb52c", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]    Compiling kscope v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]  --> src/main.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 | use llvm::{Context, Builder, Module, Value};
[INFO] [stdout]   |                                      ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |   let (lhs, rest) = try!(primary_expr(rem));
[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/parser.rs:97:29
[INFO] [stdout]    |
[INFO] [stdout] 97 |   let (mut rhs, mut rest) = try!(primary_expr(rest));
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:101:33
[INFO] [stdout]     |
[INFO] [stdout] 101 |       let (new_rhs, new_rest) = try!(parse_binop_rhs(get_token_precedence(op) + 1, rhs, rest));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:136:35
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let (expr, rest_from_parse) = try!(parse_single_expr(rest));
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:145:22
[INFO] [stdout]     |
[INFO] [stdout] 145 |   let (expr, rest) = try!(parse_single_expr(rem));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:187:23
[INFO] [stdout]     |
[INFO] [stdout] 187 |   let (proto, rest) = try!(prototype_expr(rem));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser.rs:188:22
[INFO] [stdout]     |
[INFO] [stdout] 188 |   let (expr, rest) = try!(parse_single_expr(rest));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BasicBlock`
[INFO] [stdout]  --> src/codegen.rs:2:84
[INFO] [stdout]   |
[INFO] [stdout] 2 | use llvm::{Context, Value, Compile, Builder, Module, Type, FunctionType, Function, BasicBlock};
[INFO] [stdout]   |                                                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codegen.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |   let ret_val = try!(codegen(ctx, builder, module, vals, func_ast.body));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codegen.rs:62:22
[INFO] [stdout]    |
[INFO] [stdout] 62 |       let lhs_code = try!(codegen(ctx, builder, module, vals, *lhs));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codegen.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |       let rhs_code = try!(codegen(ctx, builder, module, vals, *rhs));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/codegen.rs:78:10
[INFO] [stdout]    |
[INFO] [stdout] 78 |       if (func.get_signature().num_params() != arg_names.len()) {
[INFO] [stdout]    |          ^                                                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 78 -       if (func.get_signature().num_params() != arg_names.len()) {
[INFO] [stdout] 78 +       if func.get_signature().num_params() != arg_names.len() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/codegen.rs:84:23
[INFO] [stdout]    |
[INFO] [stdout] 84 |         arg_vals.push(try!(codegen(ctx, builder, module, vals, arg)));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `llvm_sys::core::LLVMDumpValue`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use llvm_sys::core::LLVMDumpValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `llvm_sys::prelude::LLVMValueRef`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use llvm_sys::prelude::LLVMValueRef;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `builder`
[INFO] [stdout]   --> src/codegen.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 15 |   builder: &'a Builder,
[INFO] [stdout]    |   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_builder`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vals`
[INFO] [stdout]   --> src/codegen.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 17 |   vals: &mut HashMap<String, &'a Value>,
[INFO] [stdout]    |   ^^^^ help: if this is intentional, prefix it with an underscore: `_vals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 |   let mut module = Module::new("mod_name", &ctx);
[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: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct ParseError(String);
[INFO] [stdout]    |            ---------- ^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `ParseError` 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 `0` is never read
[INFO] [stdout]  --> src/codegen.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct CompilerError(String);
[INFO] [stdout]   |            ------------- ^^^^^^
[INFO] [stdout]   |            |
[INFO] [stdout]   |            field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout]   = note: `CompilerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.58s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.5.0, nom v2.0.0
[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" "fbbfbd6ec46478a833d9023325e3e1cfa89630547a90f5dcffcf2710b2dcb52c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fbbfbd6ec46478a833d9023325e3e1cfa89630547a90f5dcffcf2710b2dcb52c", kill_on_drop: false }`
[INFO] [stdout] fbbfbd6ec46478a833d9023325e3e1cfa89630547a90f5dcffcf2710b2dcb52c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 42d31ea6eecc63b2d3f3881998789f6dbc1c05543576fade6c3d0f1c81a7e641
[INFO] running `Command { std: "docker" "start" "-a" "42d31ea6eecc63b2d3f3881998789f6dbc1c05543576fade6c3d0f1c81a7e641", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr] warning: unused import: `Value`
[INFO] [stderr]  --> src/main.rs:6:38
[INFO] [stderr]   |
[INFO] [stderr] 6 | use llvm::{Context, Builder, Module, Value};
[INFO] [stderr]   |                                      ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::mem`
[INFO] [stderr]  --> src/main.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::mem;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parser.rs:71:21
[INFO] [stderr]    |
[INFO] [stderr] 71 |   let (lhs, rest) = try!(primary_expr(rem));
[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/parser.rs:97:29
[INFO] [stderr]    |
[INFO] [stderr] 97 |   let (mut rhs, mut rest) = try!(primary_expr(rest));
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser.rs:101:33
[INFO] [stderr]     |
[INFO] [stderr] 101 |       let (new_rhs, new_rest) = try!(parse_binop_rhs(get_token_precedence(op) + 1, rhs, rest));
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser.rs:136:35
[INFO] [stderr]     |
[INFO] [stderr] 136 |     let (expr, rest_from_parse) = try!(parse_single_expr(rest));
[INFO] [stderr]     |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser.rs:145:22
[INFO] [stderr]     |
[INFO] [stderr] 145 |   let (expr, rest) = try!(parse_single_expr(rem));
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser.rs:187:23
[INFO] [stderr]     |
[INFO] [stderr] 187 |   let (proto, rest) = try!(prototype_expr(rem));
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser.rs:188:22
[INFO] [stderr]     |
[INFO] [stderr] 188 |   let (expr, rest) = try!(parse_single_expr(rest));
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BasicBlock`
[INFO] [stderr]  --> src/codegen.rs:2:84
[INFO] [stderr]   |
[INFO] [stderr] 2 | use llvm::{Context, Value, Compile, Builder, Module, Type, FunctionType, Function, BasicBlock};
[INFO] [stderr]   |                                                                                    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/codegen.rs:45:17
[INFO] [stderr]    |
[INFO] [stderr] 45 |   let ret_val = try!(codegen(ctx, builder, module, vals, func_ast.body));
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/codegen.rs:62:22
[INFO] [stderr]    |
[INFO] [stderr] 62 |       let lhs_code = try!(codegen(ctx, builder, module, vals, *lhs));
[INFO] [stderr]    |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/codegen.rs:63:22
[INFO] [stderr]    |
[INFO] [stderr] 63 |       let rhs_code = try!(codegen(ctx, builder, module, vals, *rhs));
[INFO] [stderr]    |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/codegen.rs:78:10
[INFO] [stderr]    |
[INFO] [stderr] 78 |       if (func.get_signature().num_params() != arg_names.len()) {
[INFO] [stderr]    |          ^                                                    ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 78 -       if (func.get_signature().num_params() != arg_names.len()) {
[INFO] [stderr] 78 +       if func.get_signature().num_params() != arg_names.len() {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/codegen.rs:84:23
[INFO] [stderr]    |
[INFO] [stderr] 84 |         arg_vals.push(try!(codegen(ctx, builder, module, vals, arg)));
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `llvm_sys::core::LLVMDumpValue`
[INFO] [stderr]   --> src/main.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use llvm_sys::core::LLVMDumpValue;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `llvm_sys::prelude::LLVMValueRef`
[INFO] [stderr]   --> src/main.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | use llvm_sys::prelude::LLVMValueRef;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `builder`
[INFO] [stderr]   --> src/codegen.rs:15:3
[INFO] [stderr]    |
[INFO] [stderr] 15 |   builder: &'a Builder,
[INFO] [stderr]    |   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_builder`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vals`
[INFO] [stderr]   --> src/codegen.rs:17:3
[INFO] [stderr]    |
[INFO] [stderr] 17 |   vals: &mut HashMap<String, &'a Value>,
[INFO] [stderr]    |   ^^^^ help: if this is intentional, prefix it with an underscore: `_vals`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:24:7
[INFO] [stderr]    |
[INFO] [stderr] 24 |   let mut module = Module::new("mod_name", &ctx);
[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: field `0` is never read
[INFO] [stderr]   --> src/parser.rs:19:23
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub struct ParseError(String);
[INFO] [stderr]    |            ---------- ^^^^^^
[INFO] [stderr]    |            |
[INFO] [stderr]    |            field in this struct
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider removing this field
[INFO] [stderr]    = note: `ParseError` 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 `0` is never read
[INFO] [stderr]  --> src/codegen.rs:6:26
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct CompilerError(String);
[INFO] [stderr]   |            ------------- ^^^^^^
[INFO] [stderr]   |            |
[INFO] [stderr]   |            field in this struct
[INFO] [stderr]   |
[INFO] [stderr]   = help: consider removing this field
[INFO] [stderr]   = note: `CompilerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `kscope` (bin "kscope" test) generated 22 warnings (run `cargo fix --bin "kscope" --tests` to apply 7 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.5.0, nom v2.0.0
[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/main.rs (/opt/rustwide/target/debug/deps/kscope-b2618a3764ac9e50)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "42d31ea6eecc63b2d3f3881998789f6dbc1c05543576fade6c3d0f1c81a7e641", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "42d31ea6eecc63b2d3f3881998789f6dbc1c05543576fade6c3d0f1c81a7e641", kill_on_drop: false }`
[INFO] [stdout] 42d31ea6eecc63b2d3f3881998789f6dbc1c05543576fade6c3d0f1c81a7e641
