[INFO] cloning repository https://github.com/adam-mcdaniel/onion
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/adam-mcdaniel/onion" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadam-mcdaniel%2Fonion", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadam-mcdaniel%2Fonion'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e419c47475f5f2a8085e91a642fc9a26c4b2fa6e
[INFO] checking adam-mcdaniel/onion against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadam-mcdaniel%2Fonion" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/adam-mcdaniel/onion
[INFO] finished tweaking git repo https://github.com/adam-mcdaniel/onion
[INFO] tweaked toml for git repo https://github.com/adam-mcdaniel/onion written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/adam-mcdaniel/onion on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 251 packages to highest Rust 1.100.0-nightly compatible versions
[INFO] [stderr]       Adding image v0.24.9 (available: v0.25.10)
[INFO] [stderr]       Adding nom v7.1.3 (available: v8.0.0)
[INFO] [stderr]       Adding rand v0.9.5 (available: v0.10.2)
[INFO] [stderr]       Adding rodio v0.17.3 (available: v0.22.2)
[INFO] [stderr]       Adding rustyline v14.0.0 (available: v18.0.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rustyline v14.0.0
[INFO] [stderr]   Downloaded coreaudio-sys v0.2.18
[INFO] [stderr]   Downloaded fd-lock v4.0.4
[INFO] [stderr]   Downloaded rodio v0.17.3
[INFO] [stderr]   Downloaded clang-sys v1.9.1
[INFO] [stderr]   Downloaded minifb v0.28.0
[INFO] [stderr]   Downloaded sdl2 v0.38.0
[INFO] [stderr]   Downloaded sdl2-sys v0.38.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9c7aeb147cd5efd099c16b1fd7a0a25167047d25db4814c85a8c5107d80963a1
[INFO] running `Command { std: "docker" "start" "9c7aeb147cd5efd099c16b1fd7a0a25167047d25db4814c85a8c5107d80963a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9c7aeb147cd5efd099c16b1fd7a0a25167047d25db4814c85a8c5107d80963a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9c7aeb147cd5efd099c16b1fd7a0a25167047d25db4814c85a8c5107d80963a1" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9c7aeb147cd5efd099c16b1fd7a0a25167047d25db4814c85a8c5107d80963a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9c7aeb147cd5efd099c16b1fd7a0a25167047d25db4814c85a8c5107d80963a1" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]     Checking smallvec v1.16.1
[INFO] [stderr]     Checking bytemuck v1.25.2
[INFO] [stderr]    Compiling xml-rs v0.8.29
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking log v0.4.34
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]     Checking core_detect v1.0.0
[INFO] [stderr]     Checking simdutf8 v0.1.5
[INFO] [stderr]    Compiling multiversion_no_op v1.0.0
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling nix v0.28.0
[INFO] [stderr]    Compiling cc v1.4.6
[INFO] [stderr]     Checking flate2 v1.1.10
[INFO] [stderr]     Checking anstyle-parse v1.0.0
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]     Checking colorchoice v1.0.5
[INFO] [stderr]     Checking nibble_vec v0.1.0
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking symphonia-core v0.5.5
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]    Compiling cpal v0.15.3
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking jpeg-decoder v0.3.2
[INFO] [stderr]     Checking ogg v0.8.0
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking bit_field v0.10.3
[INFO] [stderr]     Checking endian-type v0.1.2
[INFO] [stderr]    Compiling encoding_rs v0.8.41
[INFO] [stderr]    Compiling syn v3.0.5
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]     Checking clap_lex v1.1.0
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking lebe v0.5.3
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]     Checking clap_builder v4.6.6
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]     Checking radix_trie v0.2.1
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking pulp v0.22.3
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking unicode-segmentation v1.13.3
[INFO] [stderr]     Checking home v0.5.12
[INFO] [stderr]     Checking fd-lock v4.0.4
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]    Compiling minifb v0.28.0
[INFO] [stderr]     Checking hound v3.5.1
[INFO] [stderr]     Checking wayland-commons v0.29.5
[INFO] [stderr]     Checking claxon v0.4.3
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking font8x8 v0.3.1
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling zerocopy-derive v0.8.57
[INFO] [stderr]     Checking wayland-cursor v0.29.5
[INFO] [stderr]     Checking rustyline v14.0.0
[INFO] [stderr]     Checking zerocopy v0.8.57
[INFO] [stderr]    Compiling multiversion-macros v0.9.0
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]     Checking multiversion v0.9.0
[INFO] [stderr]     Checking symphonia-metadata v0.5.5
[INFO] [stderr]     Checking clap v4.6.6
[INFO] [stderr]     Checking symphonia-bundle-mp3 v0.5.5
[INFO] [stderr]     Checking symphonia v0.5.5
[INFO] [stderr]     Checking rodio v0.17.3
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking exr v1.74.2
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.5
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking onion v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `multispace0`
[INFO] [stdout]  --> src/parser.rs:8:41
[INFO] [stdout]   |
[INFO] [stdout] 8 |     character::complete::{char, digit1, multispace0, multispace1, none_of, not_line_ending},
[INFO] [stdout]   |                                         ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `eval`
[INFO] [stdout]  --> src/stdlib/collections.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::context::{Context, eval};
[INFO] [stdout]   |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::stdlib::game`
[INFO] [stdout]  --> src/stdlib/game.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::stdlib::game;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Source`
[INFO] [stdout]  --> src/stdlib/game.rs:8:62
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rodio::{Decoder, OutputStream, OutputStreamHandle, Sink, Source};
[INFO] [stdout]   |                                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `multispace0`
[INFO] [stdout]  --> src/parser.rs:8:41
[INFO] [stdout]   |
[INFO] [stdout] 8 |     character::complete::{char, digit1, multispace0, multispace1, none_of, not_line_ending},
[INFO] [stdout]   |                                         ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `eval`
[INFO] [stdout]  --> src/stdlib/collections.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::context::{Context, eval};
[INFO] [stdout]   |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::stdlib::game`
[INFO] [stdout]  --> src/stdlib/game.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::stdlib::game;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Source`
[INFO] [stdout]  --> src/stdlib/game.rs:8:62
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rodio::{Decoder, OutputStream, OutputStreamHandle, Sink, Source};
[INFO] [stdout]   |                                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/context.rs:217:29
[INFO] [stdout]     |
[INFO] [stdout] 217 |                         let mut new_ctx = Context {
[INFO] [stdout]     |                             ----^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/context.rs:217:29
[INFO] [stdout]     |
[INFO] [stdout] 217 |                         let mut new_ctx = Context {
[INFO] [stdout]     |                             ----^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/stdlib/game.rs:279:14
[INFO] [stdout]     |
[INFO] [stdout] 279 |             |args, ctx| {
[INFO] [stdout]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/stdlib/game.rs:279:20
[INFO] [stdout]     |
[INFO] [stdout] 279 |             |args, ctx| {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/stdlib/game.rs:267:14
[INFO] [stdout]     |
[INFO] [stdout] 267 |             |args, ctx| {
[INFO] [stdout]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/stdlib/game.rs:267:20
[INFO] [stdout]     |
[INFO] [stdout] 267 |             |args, ctx| {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/stdlib/game.rs:182:14
[INFO] [stdout]     |
[INFO] [stdout] 182 |             |args, ctx| {
[INFO] [stdout]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/stdlib/game.rs:182:20
[INFO] [stdout]     |
[INFO] [stdout] 182 |             |args, ctx| {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/stdlib/game.rs:279:14
[INFO] [stdout]     |
[INFO] [stdout] 279 |             |args, ctx| {
[INFO] [stdout]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/stdlib/game.rs:279:20
[INFO] [stdout]     |
[INFO] [stdout] 279 |             |args, ctx| {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/stdlib/game.rs:267:14
[INFO] [stdout]     |
[INFO] [stdout] 267 |             |args, ctx| {
[INFO] [stdout]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/stdlib/game.rs:267:20
[INFO] [stdout]     |
[INFO] [stdout] 267 |             |args, ctx| {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/stdlib/game.rs:182:14
[INFO] [stdout]     |
[INFO] [stdout] 182 |             |args, ctx| {
[INFO] [stdout]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/stdlib/game.rs:182:20
[INFO] [stdout]     |
[INFO] [stdout] 182 |             |args, ctx| {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/stdlib/mod.rs:980:41
[INFO] [stdout]     |
[INFO] [stdout] 980 | ...                   let mut new_ctx = env.fork();
[INFO] [stdout]     |                           ----^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/stdlib/mod.rs:1012:37
[INFO] [stdout]      |
[INFO] [stdout] 1012 | ...                   let mut new_ctx = env.fork();
[INFO] [stdout]      |                           ----^^^^^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `last` is assigned to, but never used
[INFO] [stdout]     --> src/stdlib/mod.rs:1245:21
[INFO] [stdout]      |
[INFO] [stdout] 1245 |                 let mut last = Expr::Nil;
[INFO] [stdout]      |                     ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_last` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last` is never read
[INFO] [stdout]     --> src/stdlib/mod.rs:1247:21
[INFO] [stdout]      |
[INFO] [stdout] 1247 |                     last = eval(expr.clone(), &mut module_ctx);
[INFO] [stdout]      |                     ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rotate` is never used
[INFO] [stdout]   --> src/stdlib/battle.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Vec2 {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn rotate(self, angle: f32) -> Vec2 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:34:21
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn parse_nil(input: &str) -> Res<Expr> {
[INFO] [stdout]    |                     ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn parse_nil(input: &str) -> Res<'_, Expr> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:38:21
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn parse_hex(input: &str) -> Res<Expr> {
[INFO] [stdout]    |                     ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn parse_hex(input: &str) -> Res<'_, Expr> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:48:21
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn parse_int(input: &str) -> Res<Expr> {
[INFO] [stdout]    |                     ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn parse_int(input: &str) -> Res<'_, Expr> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:55:23
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn parse_float(input: &str) -> Res<Expr> {
[INFO] [stdout]    |                       ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn parse_float(input: &str) -> Res<'_, Expr> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:67:25
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn parse_str_lit(input: &str) -> Res<Expr> {
[INFO] [stdout]    |                         ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn parse_str_lit(input: &str) -> Res<'_, Expr> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/stdlib/mod.rs:980:41
[INFO] [stdout]     |
[INFO] [stdout] 980 | ...                   let mut new_ctx = env.fork();
[INFO] [stdout]     |                           ----^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/stdlib/mod.rs:1012:37
[INFO] [stdout]      |
[INFO] [stdout] 1012 | ...                   let mut new_ctx = env.fork();
[INFO] [stdout]      |                           ----^^^^^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `last` is assigned to, but never used
[INFO] [stdout]     --> src/stdlib/mod.rs:1245:21
[INFO] [stdout]      |
[INFO] [stdout] 1245 |                 let mut last = Expr::Nil;
[INFO] [stdout]      |                     ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_last` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last` is never read
[INFO] [stdout]     --> src/stdlib/mod.rs:1247:21
[INFO] [stdout]      |
[INFO] [stdout] 1247 |                     last = eval(expr.clone(), &mut module_ctx);
[INFO] [stdout]      |                     ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rotate` is never used
[INFO] [stdout]   --> src/stdlib/battle.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Vec2 {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn rotate(self, angle: f32) -> Vec2 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:34:21
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn parse_nil(input: &str) -> Res<Expr> {
[INFO] [stdout]    |                     ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn parse_nil(input: &str) -> Res<'_, Expr> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:38:21
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn parse_hex(input: &str) -> Res<Expr> {
[INFO] [stdout]    |                     ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn parse_hex(input: &str) -> Res<'_, Expr> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:48:21
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn parse_int(input: &str) -> Res<Expr> {
[INFO] [stdout]    |                     ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn parse_int(input: &str) -> Res<'_, Expr> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:55:23
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn parse_float(input: &str) -> Res<Expr> {
[INFO] [stdout]    |                       ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn parse_float(input: &str) -> Res<'_, Expr> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:67:25
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn parse_str_lit(input: &str) -> Res<Expr> {
[INFO] [stdout]    |                         ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn parse_str_lit(input: &str) -> Res<'_, Expr> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]    --> tests/stdlib_tests.rs:207:9
[INFO] [stdout]     |
[INFO] [stdout] 207 |     let code = "
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 46.58s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.28.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "9c7aeb147cd5efd099c16b1fd7a0a25167047d25db4814c85a8c5107d80963a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9c7aeb147cd5efd099c16b1fd7a0a25167047d25db4814c85a8c5107d80963a1", kill_on_drop: false }`
[INFO] [stdout] 9c7aeb147cd5efd099c16b1fd7a0a25167047d25db4814c85a8c5107d80963a1
