[INFO] cloning repository https://github.com/megabytesofrem/deimos
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/megabytesofrem/deimos" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmegabytesofrem%2Fdeimos", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmegabytesofrem%2Fdeimos'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2abfa1c7380b964b237ba4b9cdb557172f9a8df3
[INFO] checking megabytesofrem/deimos against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmegabytesofrem%2Fdeimos" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/megabytesofrem/deimos
[INFO] finished tweaking git repo https://github.com/megabytesofrem/deimos
[INFO] tweaked toml for git repo https://github.com/megabytesofrem/deimos written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/megabytesofrem/deimos on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/megabytesofrem/deimos 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tempfile v3.12.0
[INFO] [stderr]   Downloaded serde_derive v1.0.208
[INFO] [stderr]   Downloaded strsim v0.11.1
[INFO] [stderr]   Downloaded anstyle-query v1.0.3
[INFO] [stderr]   Downloaded anstyle-wincon v3.0.3
[INFO] [stderr]   Downloaded anstream v0.6.14
[INFO] [stderr]   Downloaded libyml v0.0.4
[INFO] [stderr]   Downloaded anstyle-parse v0.2.4
[INFO] [stderr]   Downloaded serde v1.0.208
[INFO] [stderr]   Downloaded indexmap v2.4.0
[INFO] [stderr]   Downloaded logos-codegen v0.14.0
[INFO] [stderr]   Downloaded colorchoice v1.0.1
[INFO] [stderr]   Downloaded serde_json v1.0.125
[INFO] [stderr]   Downloaded serde_yml v0.0.11
[INFO] [stderr]   Downloaded is_terminal_polyfill v1.70.0
[INFO] [stderr]   Downloaded beef v0.5.2
[INFO] [stderr]   Downloaded logos-derive v0.14.0
[INFO] [stderr]   Downloaded anstyle v1.0.7
[INFO] [stderr]   Downloaded regex-syntax v0.8.3
[INFO] [stderr]   Downloaded libc v0.2.158
[INFO] [stderr]   Downloaded logos v0.14.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 21b6947a86eb49e63b9bf0201790da4983d0412d498932fee0746975a76fa9e2
[INFO] running `Command { std: "docker" "start" "-a" "21b6947a86eb49e63b9bf0201790da4983d0412d498932fee0746975a76fa9e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "21b6947a86eb49e63b9bf0201790da4983d0412d498932fee0746975a76fa9e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "21b6947a86eb49e63b9bf0201790da4983d0412d498932fee0746975a76fa9e2", kill_on_drop: false }`
[INFO] [stdout] 21b6947a86eb49e63b9bf0201790da4983d0412d498932fee0746975a76fa9e2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 476f8663b88bbc66a7876091640457bc37ca4944e1867d0ed3af79d8975d651a
[INFO] running `Command { std: "docker" "start" "-a" "476f8663b88bbc66a7876091640457bc37ca4944e1867d0ed3af79d8975d651a", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.208
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]     Checking colorchoice v1.0.1
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]     Checking anstyle-query v1.0.3
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.0
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling serde_json v1.0.125
[INFO] [stderr]    Compiling regex-syntax v0.8.3
[INFO] [stderr]     Checking anstyle v1.0.7
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling serde_yml v0.0.11
[INFO] [stderr]    Compiling syn v2.0.60
[INFO] [stderr]     Checking anstyle-parse v0.2.4
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking clap_lex v0.7.0
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]    Compiling thiserror v1.0.58
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking libyml v0.0.4
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]     Checking anstream v0.6.14
[INFO] [stderr]     Checking indexmap v2.4.0
[INFO] [stderr]     Checking clap_builder v4.5.2
[INFO] [stderr]     Checking tempfile v3.12.0
[INFO] [stderr]    Compiling logos-codegen v0.14.0
[INFO] [stderr]    Compiling serde_derive v1.0.208
[INFO] [stderr]    Compiling thiserror-impl v1.0.58
[INFO] [stderr]    Compiling clap_derive v4.5.4
[INFO] [stderr]    Compiling logos-derive v0.14.0
[INFO] [stderr]     Checking logos v0.14.0
[INFO] [stderr]     Checking clap v4.5.4
[INFO] [stderr]     Checking deimos v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/sema/module.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs;
[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: `crate::spanned::Spanned`
[INFO] [stdout]  --> src/sema/module.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::spanned::Spanned;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Ast` and `ToplevelStmt`
[INFO] [stdout]  --> src/sema/module.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::syntax::ast::{Ast, ToplevelStmt};
[INFO] [stdout]   |                          ^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FunctionInfo` and `StructureInfo`
[INFO] [stdout]  --> src/sema/module.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::syntax::ast_types::{FunctionInfo, StructureInfo, Ty};
[INFO] [stdout]   |                                ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::syntax::parser::Parser`
[INFO] [stdout]  --> src/sema/module.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::syntax::parser::Parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stmt`
[INFO] [stdout]  --> src/sema/resolver.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::syntax::ast::{Stmt, ToplevelStmt};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/spanned.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/syntax/ast.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StructureInfo`
[INFO] [stdout]  --> src/syntax/ast.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 |     ast_types::{StructureInfo, Ty},
[INFO] [stdout]   |                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/syntax/ast_types.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/syntax/ast_types.rs:194:47
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 s.fields.iter().any(|(_, ty)| (Self::contains_typevar(ty)))
[INFO] [stdout]     |                                               ^                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 194 -                 s.fields.iter().any(|(_, ty)| (Self::contains_typevar(ty)))
[INFO] [stdout] 194 +                 s.fields.iter().any(|(_, ty)| Self::contains_typevar(ty) )
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Op`
[INFO] [stdout]  --> src/syntax/parser/expr.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::syntax::lexer::{Op, Token, TokenKind};
[INFO] [stdout]   |                            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/sema/module.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs;
[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: `crate::spanned::Spanned`
[INFO] [stdout]  --> src/sema/module.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::spanned::Spanned;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Ast` and `ToplevelStmt`
[INFO] [stdout]  --> src/sema/module.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::syntax::ast::{Ast, ToplevelStmt};
[INFO] [stdout]   |                          ^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FunctionInfo` and `StructureInfo`
[INFO] [stdout]  --> src/sema/module.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::syntax::ast_types::{FunctionInfo, StructureInfo, Ty};
[INFO] [stdout]   |                                ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::syntax::parser::Parser`
[INFO] [stdout]  --> src/sema/module.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::syntax::parser::Parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stmt`
[INFO] [stdout]  --> src/sema/resolver.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::syntax::ast::{Stmt, ToplevelStmt};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/spanned.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/syntax/ast.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StructureInfo`
[INFO] [stdout]  --> src/syntax/ast.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 |     ast_types::{StructureInfo, Ty},
[INFO] [stdout]   |                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/syntax/ast_types.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/syntax/ast_types.rs:194:47
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 s.fields.iter().any(|(_, ty)| (Self::contains_typevar(ty)))
[INFO] [stdout]     |                                               ^                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 194 -                 s.fields.iter().any(|(_, ty)| (Self::contains_typevar(ty)))
[INFO] [stdout] 194 +                 s.fields.iter().any(|(_, ty)| Self::contains_typevar(ty) )
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Op`
[INFO] [stdout]  --> src/syntax/parser/expr.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::syntax::lexer::{Op, Token, TokenKind};
[INFO] [stdout]   |                            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/spanned.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |             _ => todo!(),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/spanned.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             Stmt::Expr(expr) => Stmt::Expr(expr.target.strip_span().spanned_default()),
[INFO] [stdout]     |             ---------------- matches some of the same values
[INFO] [stdout] 114 |             Stmt::Return(expr) => Stmt::Return(
[INFO] [stdout]     |             ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 121 |             Stmt::BlockTerminator => Stmt::BlockTerminator,
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] 122 |
[INFO] [stdout] 123 |             Stmt::Let { name, ty, value } => Stmt::Let {
[INFO] [stdout]     |             ----------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 190 |             _ => todo!(),
[INFO] [stdout]     |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/spanned.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |             _ => todo!(),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/spanned.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             Stmt::Expr(expr) => Stmt::Expr(expr.target.strip_span().spanned_default()),
[INFO] [stdout]     |             ---------------- matches some of the same values
[INFO] [stdout] 114 |             Stmt::Return(expr) => Stmt::Return(
[INFO] [stdout]     |             ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 121 |             Stmt::BlockTerminator => Stmt::BlockTerminator,
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] 122 |
[INFO] [stdout] 123 |             Stmt::Let { name, ty, value } => Stmt::Let {
[INFO] [stdout]     |             ----------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 190 |             _ => todo!(),
[INFO] [stdout]     |             ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/syntax/parser/expr.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let location = self.advance().map(|t| t.location).unwrap_or_default();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:471:13
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let token = self.expect(TokenKind::KwStruct)?;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:503:13
[INFO] [stdout]     |
[INFO] [stdout] 503 |         let token = self.expect(TokenKind::KwEnum)?;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `check` is never used
[INFO] [stdout]   --> src/syntax/parser/mod.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl<'p> Parser<'p> {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub(crate) fn check(&mut self, kind: TokenKind) -> Return<Token<'p>> {
[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/sema/resolver.rs:70:35
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn insert_modulewide_name(&mut self, name: &str, ty: Ty) -> Return<()> {
[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] 70 |     pub fn insert_modulewide_name(&mut self, name: &str, ty: Ty) -> Return<'_, ()> {
[INFO] [stdout]    |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sema/resolver.rs:94:24
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn insert_name(&mut self, name: &str, ty: Ty) -> Return<()> {
[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] 94 |     pub fn insert_name(&mut self, name: &str, ty: Ty) -> Return<'_, ()> {
[INFO] [stdout]    |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/resolver.rs:113:24
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn remove_name(&mut self, name: &str) -> Return<()> {
[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] 113 |     pub fn remove_name(&mut self, name: &str) -> Return<'_, ()> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/resolver.rs:126:24
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn update_name(&mut self, name: &str, ty: Ty) -> Return<()> {
[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] 126 |     pub fn update_name(&mut self, name: &str, ty: Ty) -> Return<'_, ()> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sema/type_infer.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn equal(&self, t1: &Ty, t2: &Ty, location: &SourceLoc) -> Return<()> {
[INFO] [stdout]    |                  ^^^^^ the lifetime is elided here                 ^^^^^^^^^^ the same lifetime is hidden 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] 23 |     pub fn equal(&self, t1: &Ty, t2: &Ty, location: &SourceLoc) -> Return<'_, ()> {
[INFO] [stdout]    |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sema/type_infer.rs:54:24
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn resolve_generic(&self, ty: &Ty) -> Return<Ty> {
[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] 54 |     fn resolve_generic(&self, ty: &Ty) -> Return<'_, Ty> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sema/type_infer.rs:73:28
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn specialize_function(&self, func: &FunctionInfo) -> Return<Ty> {
[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] 73 |     fn specialize_function(&self, func: &FunctionInfo) -> Return<'_, Ty> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/type_infer.rs:123:22
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn unify_typevar(&self, ty: &Ty, tv: usize, location: &SourceLoc) -> Return<()> {
[INFO] [stdout]     |                      ^^^^^ the lifetime is elided here                   ^^^^^^^^^^ the same lifetime is hidden 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] 123 |     fn unify_typevar(&self, ty: &Ty, tv: usize, location: &SourceLoc) -> Return<'_, ()> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/type_infer.rs:141:18
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn unify(&self, t1: &Ty, t2: &Ty, location: &SourceLoc) -> Return<()> {
[INFO] [stdout]     |                  ^^^^^ the lifetime is elided here                 ^^^^^^^^^^ the same lifetime is hidden 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] 141 |     pub fn unify(&self, t1: &Ty, t2: &Ty, location: &SourceLoc) -> Return<'_, ()> {
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/type_infer.rs:237:25
[INFO] [stdout]     |
[INFO] [stdout] 237 |     fn can_perform_cast(&self, t1: &Ty, t2: &Ty, location: &SourceLoc) -> Return<()> {
[INFO] [stdout]     |                         ^^^^^ the lifetime is elided here                 ^^^^^^^^^^ the same lifetime is hidden 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] 237 |     fn can_perform_cast(&self, t1: &Ty, t2: &Ty, location: &SourceLoc) -> Return<'_, ()> {
[INFO] [stdout]     |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/type_infer.rs:255:22
[INFO] [stdout]     |
[INFO] [stdout] 255 |     pub fn cast_expr(&mut self, expr: &Spanned<Expr>, target_ty: &Ty) -> Return<Spanned<Expr>> {
[INFO] [stdout]     |                      ^^^^^^^^^ the lifetime is elided here               ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 255 |     pub fn cast_expr(&mut self, expr: &Spanned<Expr>, target_ty: &Ty) -> Return<'_, Spanned<Expr>> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/type_infer.rs:265:9
[INFO] [stdout]     |
[INFO] [stdout] 265 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 269 |     ) -> Return<Spanned<Expr>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 269 |     ) -> Return<'_, Spanned<Expr>> {
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/type_infer.rs:326:25
[INFO] [stdout]     |
[INFO] [stdout] 326 |     fn infer_binop_expr(&self, lhs: &Spanned<Expr>, op: &Op, rhs: &Spanned<Expr>) -> Return<Ty> {
[INFO] [stdout]     |                         ^^^^^ the lifetime is elided here                            ^^^^^^^^^^ the same lifetime is hidden 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] 326 |     fn infer_binop_expr(&self, lhs: &Spanned<Expr>, op: &Op, rhs: &Spanned<Expr>) -> Return<'_, Ty> {
[INFO] [stdout]     |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/type_infer.rs:362:23
[INFO] [stdout]     |
[INFO] [stdout] 362 |     pub fn infer_expr(&self, value: &Spanned<Expr>) -> Return<Ty> {
[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] 362 |     pub fn infer_expr(&self, value: &Spanned<Expr>) -> Return<'_, Ty> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/type_infer.rs:411:28
[INFO] [stdout]     |
[INFO] [stdout] 411 |     pub fn infer_call_expr(&self, name: &'t str, args: &Vec<Spanned<Expr>>) -> Return<Ty> {
[INFO] [stdout]     |                            ^^^^^ the lifetime is elided here                   ^^^^^^^^^^ the same lifetime is hidden 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] 411 |     pub fn infer_call_expr(&self, name: &'t str, args: &Vec<Spanned<Expr>>) -> Return<'_, Ty> {
[INFO] [stdout]     |                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/type_infer.rs:454:32
[INFO] [stdout]     |
[INFO] [stdout] 454 |     pub fn infer_array_literal(&self, elems: &[Spanned<Expr>]) -> Return<Ty> {
[INFO] [stdout]     |                                ^^^^^ the lifetime is elided here  ^^^^^^^^^^ the same lifetime is hidden 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] 454 |     pub fn infer_array_literal(&self, elems: &[Spanned<Expr>]) -> Return<'_, Ty> {
[INFO] [stdout]     |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/type_infer.rs:473:9
[INFO] [stdout]     |
[INFO] [stdout] 473 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 476 |     ) -> Return<Ty> {
[INFO] [stdout]     |          ^^^^^^^^^^ the same lifetime is hidden 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] 476 |     ) -> Return<'_, Ty> {
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sema/typecheck.rs:48:24
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn lookup_name(&self, name: &str, location: SourceLoc) -> Return<Ty> {
[INFO] [stdout]    |                        ^^^^^ the lifetime is elided here          ^^^^^^^^^^ the same lifetime is hidden 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 |     pub fn lookup_name(&self, name: &str, location: SourceLoc) -> Return<'_, Ty> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sema/typecheck.rs:60:33
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn lookup_member_access(&self, member: &Member, _location: SourceLoc) -> Return<Ty> {
[INFO] [stdout]    |                                 ^^^^^ the lifetime is elided here                ^^^^^^^^^^ the same lifetime is hidden 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] 60 |     pub fn lookup_member_access(&self, member: &Member, _location: SourceLoc) -> Return<'_, Ty> {
[INFO] [stdout]    |                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sema/typecheck.rs:91:26
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn check_literal(&mut self, lit: &Literal) -> Return<Ty> {
[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] 91 |     pub fn check_literal(&mut self, lit: &Literal) -> Return<'_, Ty> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sema/typecheck.rs:95:23
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn check_expr(&mut self, expr: &Spanned<Expr>) -> Return<Spanned<TExpr>> {
[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] 95 |     pub fn check_expr(&mut self, expr: &Spanned<Expr>) -> Return<'_, Spanned<TExpr>> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/typecheck.rs:179:23
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn check_stmt(&mut self, stmt: &Spanned<Stmt>) -> Return<Spanned<TStmt>> {
[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] 179 |     pub fn check_stmt(&mut self, stmt: &Spanned<Stmt>) -> Return<'_, Spanned<TStmt>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/typecheck.rs:279:20
[INFO] [stdout]     |
[INFO] [stdout] 279 |     fn check_block(&mut self, block: &Block) -> Return<Vec<Spanned<TStmt>>> {
[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] 279 |     fn check_block(&mut self, block: &Block) -> Return<'_, Vec<Spanned<TStmt>>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/typecheck.rs:289:9
[INFO] [stdout]     |
[INFO] [stdout] 289 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 292 |     ) -> Return<Option<Spanned<TExpr>>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 292 |     ) -> Return<'_, Option<Spanned<TExpr>>> {
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/typecheck.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 330 |     ) -> Return<TToplevelStmt> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 330 |     ) -> Return<'_, TToplevelStmt> {
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/typecheck.rs:375:9
[INFO] [stdout]     |
[INFO] [stdout] 375 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 378 |     ) -> Return<TToplevelStmt> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 378 |     ) -> Return<'_, TToplevelStmt> {
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/typecheck.rs:403:27
[INFO] [stdout]     |
[INFO] [stdout] 403 |     fn check_enum_declare(&mut self, name: &str, fields: &[String]) -> Return<TToplevelStmt> {
[INFO] [stdout]     |                           ^^^^^^^^^ the lifetime is elided here        ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 403 |     fn check_enum_declare(&mut self, name: &str, fields: &[String]) -> Return<'_, TToplevelStmt> {
[INFO] [stdout]     |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/typecheck.rs:433:9
[INFO] [stdout]     |
[INFO] [stdout] 433 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 434 |         stmt: &Spanned<ToplevelStmt>,
[INFO] [stdout] 435 |     ) -> ReturnErrors<Spanned<TToplevelStmt>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 435 |     ) -> ReturnErrors<'_, Spanned<TToplevelStmt>> {
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/typecheck.rs:496:18
[INFO] [stdout]     |
[INFO] [stdout] 496 |     pub fn check(&mut self, ast: &Ast) -> ReturnErrors<TypedAst> {
[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] 496 |     pub fn check(&mut self, ast: &Ast) -> ReturnErrors<'_, TypedAst> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/lexer.rs:290:24
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub fn lex_tokens(src: &str) -> LexerIter {
[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] 290 | pub fn lex_tokens(src: &str) -> LexerIter<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/syntax/parser/mod.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub(crate) fn check(&mut self, kind: TokenKind) -> Return<Token<'p>> {
[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] 56 |     pub(crate) fn check(&mut self, kind: TokenKind) -> Return<'_, Token<'p>> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/syntax/parser/mod.rs:76:26
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub(crate) fn expect(&mut self, kind: TokenKind) -> Return<Token<'p>> {
[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] 76 |     pub(crate) fn expect(&mut self, kind: TokenKind) -> Return<'_, Token<'p>> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/syntax/parser/mod.rs:95:33
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub(crate) fn expect_one_of(&mut self, kinds: Vec<TokenKind>) -> Return<Token<'p>> {
[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] 95 |     pub(crate) fn expect_one_of(&mut self, kinds: Vec<TokenKind>) -> Return<'_, Token<'p>> {
[INFO] [stdout]    |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/mod.rs:115:32
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub(crate) fn expect_error(&mut self, kind: TokenKind, err: SyntaxError) -> Return<Token<'p>> {
[INFO] [stdout]     |                                ^^^^^^^^^ the lifetime is elided here            ^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 115 |     pub(crate) fn expect_error(&mut self, kind: TokenKind, err: SyntaxError) -> Return<'_, Token<'p>> {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/syntax/parser/expr.rs:16:24
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn parse_expr_prec(&mut self, min_prec: u8) -> parser::Return<Spanned<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] 16 |     fn parse_expr_prec(&mut self, min_prec: u8) -> parser::Return<'_, Spanned<Expr>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/syntax/parser/expr.rs:53:23
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn parse_expr(&mut self) -> parser::Return<Spanned<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] 53 |     pub fn parse_expr(&mut self) -> parser::Return<'_, Spanned<Expr>> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/syntax/parser/expr.rs:57:24
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn parse_main_expr(&mut self) -> parser::Return<Spanned<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] 57 |     fn parse_main_expr(&mut self) -> parser::Return<'_, Spanned<Expr>> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/expr.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 132 |         base_node: Spanned<Expr>,
[INFO] [stdout] 133 |     ) -> parser::Return<Spanned<Expr>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 133 |     ) -> parser::Return<'_, Spanned<Expr>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/expr.rs:189:22
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn parse_literal(&mut self, token: &Token) -> parser::Return<Literal> {
[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] 189 |     fn parse_literal(&mut self, token: &Token) -> parser::Return<'_, Literal> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/expr.rs:204:9
[INFO] [stdout]     |
[INFO] [stdout] 204 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 205 |         callee: Spanned<Expr>,
[INFO] [stdout] 206 |     ) -> parser::Return<Spanned<Expr>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 206 |     ) -> parser::Return<'_, Spanned<Expr>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/expr.rs:243:24
[INFO] [stdout]     |
[INFO] [stdout] 243 |     fn parse_cast_expr(&mut self) -> parser::Return<Spanned<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] 243 |     fn parse_cast_expr(&mut self) -> parser::Return<'_, Spanned<Expr>> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/expr.rs:257:28
[INFO] [stdout]     |
[INFO] [stdout] 257 |     fn parse_array_literal(&mut self) -> parser::Return<Spanned<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] 257 |     fn parse_array_literal(&mut self) -> parser::Return<'_, Spanned<Expr>> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/expr.rs:292:26
[INFO] [stdout]     |
[INFO] [stdout] 292 |     fn parse_array_index(&mut self, _array: &Expr) -> parser::Return<Spanned<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] 292 |     fn parse_array_index(&mut self, _array: &Expr) -> parser::Return<'_, Spanned<Expr>> {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/expr.rs:323:27
[INFO] [stdout]     |
[INFO] [stdout] 323 |     fn parse_struct_field(&mut self) -> parser::Return<(String, Spanned<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] 323 |     fn parse_struct_field(&mut self) -> parser::Return<'_, (String, Spanned<Expr>)> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/expr.rs:331:33
[INFO] [stdout]     |
[INFO] [stdout] 331 |     fn parse_struct_constructor(&mut self) -> parser::Return<Spanned<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] 331 |     fn parse_struct_constructor(&mut self) -> parser::Return<'_, Spanned<Expr>> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/syntax/parser/stmt.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub(crate) fn parse_block(&mut self) -> parser::Return<Block> {
[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] 12 |     pub(crate) fn parse_block(&mut self) -> parser::Return<'_, Block> {
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/syntax/parser/stmt.rs:36:30
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub(crate) fn parse_stmt(&mut self) -> parser::Return<Spanned<Stmt>> {
[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] 36 |     pub(crate) fn parse_stmt(&mut self) -> parser::Return<'_, Spanned<Stmt>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/syntax/parser/stmt.rs:82:23
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn parse_let_stmt(&mut self) -> parser::Return<Spanned<Stmt>> {
[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] 82 |     fn parse_let_stmt(&mut self) -> parser::Return<'_, Spanned<Stmt>> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:118:24
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn parse_expr_stmt(&mut self) -> parser::Return<Spanned<Stmt>> {
[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] 118 |     fn parse_expr_stmt(&mut self) -> parser::Return<'_, Spanned<Stmt>> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:167:22
[INFO] [stdout]     |
[INFO] [stdout] 167 |     fn parse_if_stmt(&mut self) -> parser::Return<Spanned<Stmt>> {
[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] 167 |     fn parse_if_stmt(&mut self) -> parser::Return<'_, Spanned<Stmt>> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:228:25
[INFO] [stdout]     |
[INFO] [stdout] 228 |     fn parse_elif_block(&mut self) -> parser::Return<(Spanned<Expr>, Block)> {
[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] 228 |     fn parse_elif_block(&mut self) -> parser::Return<'_, (Spanned<Expr>, Block)> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:256:25
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn parse_else_block(&mut self) -> parser::Return<Block> {
[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] 256 |     fn parse_else_block(&mut self) -> parser::Return<'_, Block> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:261:23
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn parse_for_loop(&mut self) -> parser::Return<Spanned<Stmt>> {
[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] 261 |     fn parse_for_loop(&mut self) -> parser::Return<'_, Spanned<Stmt>> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:287:25
[INFO] [stdout]     |
[INFO] [stdout] 287 |     fn parse_while_loop(&mut self) -> parser::Return<Spanned<Stmt>> {
[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] 287 |     fn parse_while_loop(&mut self) -> parser::Return<'_, Spanned<Stmt>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:299:21
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fn parse_return(&mut self) -> parser::Return<Spanned<Stmt>> {
[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] 299 |     fn parse_return(&mut self) -> parser::Return<'_, Spanned<Stmt>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:316:39
[INFO] [stdout]     |
[INFO] [stdout] 316 |     pub(crate) fn parse_toplevel_stmt(&mut self) -> parser::Return<ToplevelStmt> {
[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] 316 |     pub(crate) fn parse_toplevel_stmt(&mut self) -> parser::Return<'_, ToplevelStmt> {
[INFO] [stdout]     |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:348:26
[INFO] [stdout]     |
[INFO] [stdout] 348 |     fn parse_dotted_path(&mut self) -> parser::Return<Vec<String>> {
[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] 348 |     fn parse_dotted_path(&mut self) -> parser::Return<'_, Vec<String>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:413:21
[INFO] [stdout]     |
[INFO] [stdout] 413 |     fn parse_import(&mut self) -> parser::Return<ToplevelStmt> {
[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] 413 |     fn parse_import(&mut self) -> parser::Return<'_, ToplevelStmt> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:434:29
[INFO] [stdout]     |
[INFO] [stdout] 434 |     fn parse_extern_declare(&mut self) -> parser::Return<ToplevelStmt> {
[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] 434 |     fn parse_extern_declare(&mut self) -> parser::Return<'_, ToplevelStmt> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:467:29
[INFO] [stdout]     |
[INFO] [stdout] 467 |     fn parse_struct_declare(&mut self) -> parser::Return<ToplevelStmt> {
[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] 467 |     fn parse_struct_declare(&mut self) -> parser::Return<'_, ToplevelStmt> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:499:27
[INFO] [stdout]     |
[INFO] [stdout] 499 |     fn parse_enum_declare(&mut self) -> parser::Return<ToplevelStmt> {
[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] 499 |     fn parse_enum_declare(&mut self) -> parser::Return<'_, ToplevelStmt> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:529:31
[INFO] [stdout]     |
[INFO] [stdout] 529 |     fn parse_function_declare(&mut self) -> parser::Return<ToplevelStmt> {
[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] 529 |     fn parse_function_declare(&mut self) -> parser::Return<'_, ToplevelStmt> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/syntax/parser/tidbits.rs:72:30
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub(crate) fn parse_type(&mut self) -> parser::Return<Ty> {
[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] 72 |     pub(crate) fn parse_type(&mut self) -> parser::Return<'_, Ty> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/tidbits.rs:122:41
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub(crate) fn parse_annotated_param(&mut self) -> parser::Return<Param> {
[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] 122 |     pub(crate) fn parse_annotated_param(&mut self) -> parser::Return<'_, Param> {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/tidbits.rs:129:42
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub(crate) fn parse_annotated_params(&mut self) -> parser::Return<Vec<Param>> {
[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] 129 |     pub(crate) fn parse_annotated_params(&mut self) -> parser::Return<'_, Vec<Param>> {
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/tidbits.rs:153:32
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub(crate) fn parse_params(&mut self) -> parser::Return<Vec<String>> {
[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] 153 |     pub(crate) fn parse_params(&mut self) -> parser::Return<'_, Vec<String>> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/syntax/parser/parser_tests.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) fn parser(src: &str) -> Parser {
[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] 6 | pub(crate) fn parser(src: &str) -> Parser<'_> {
[INFO] [stdout]   |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/syntax/parser/expr.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let location = self.advance().map(|t| t.location).unwrap_or_default();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:471:13
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let token = self.expect(TokenKind::KwStruct)?;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:503:13
[INFO] [stdout]     |
[INFO] [stdout] 503 |         let token = self.expect(TokenKind::KwEnum)?;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `check` is never used
[INFO] [stdout]   --> src/syntax/parser/mod.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl<'p> Parser<'p> {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub(crate) fn check(&mut self, kind: TokenKind) -> Return<Token<'p>> {
[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/sema/resolver.rs:70:35
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn insert_modulewide_name(&mut self, name: &str, ty: Ty) -> Return<()> {
[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] 70 |     pub fn insert_modulewide_name(&mut self, name: &str, ty: Ty) -> Return<'_, ()> {
[INFO] [stdout]    |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sema/resolver.rs:94:24
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn insert_name(&mut self, name: &str, ty: Ty) -> Return<()> {
[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] 94 |     pub fn insert_name(&mut self, name: &str, ty: Ty) -> Return<'_, ()> {
[INFO] [stdout]    |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/resolver.rs:113:24
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn remove_name(&mut self, name: &str) -> Return<()> {
[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] 113 |     pub fn remove_name(&mut self, name: &str) -> Return<'_, ()> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/resolver.rs:126:24
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn update_name(&mut self, name: &str, ty: Ty) -> Return<()> {
[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] 126 |     pub fn update_name(&mut self, name: &str, ty: Ty) -> Return<'_, ()> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sema/type_infer.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn equal(&self, t1: &Ty, t2: &Ty, location: &SourceLoc) -> Return<()> {
[INFO] [stdout]    |                  ^^^^^ the lifetime is elided here                 ^^^^^^^^^^ the same lifetime is hidden 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] 23 |     pub fn equal(&self, t1: &Ty, t2: &Ty, location: &SourceLoc) -> Return<'_, ()> {
[INFO] [stdout]    |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sema/type_infer.rs:54:24
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn resolve_generic(&self, ty: &Ty) -> Return<Ty> {
[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] 54 |     fn resolve_generic(&self, ty: &Ty) -> Return<'_, Ty> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sema/type_infer.rs:73:28
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn specialize_function(&self, func: &FunctionInfo) -> Return<Ty> {
[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] 73 |     fn specialize_function(&self, func: &FunctionInfo) -> Return<'_, Ty> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/type_infer.rs:123:22
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn unify_typevar(&self, ty: &Ty, tv: usize, location: &SourceLoc) -> Return<()> {
[INFO] [stdout]     |                      ^^^^^ the lifetime is elided here                   ^^^^^^^^^^ the same lifetime is hidden 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] 123 |     fn unify_typevar(&self, ty: &Ty, tv: usize, location: &SourceLoc) -> Return<'_, ()> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/type_infer.rs:141:18
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn unify(&self, t1: &Ty, t2: &Ty, location: &SourceLoc) -> Return<()> {
[INFO] [stdout]     |                  ^^^^^ the lifetime is elided here                 ^^^^^^^^^^ the same lifetime is hidden 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] 141 |     pub fn unify(&self, t1: &Ty, t2: &Ty, location: &SourceLoc) -> Return<'_, ()> {
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/type_infer.rs:237:25
[INFO] [stdout]     |
[INFO] [stdout] 237 |     fn can_perform_cast(&self, t1: &Ty, t2: &Ty, location: &SourceLoc) -> Return<()> {
[INFO] [stdout]     |                         ^^^^^ the lifetime is elided here                 ^^^^^^^^^^ the same lifetime is hidden 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] 237 |     fn can_perform_cast(&self, t1: &Ty, t2: &Ty, location: &SourceLoc) -> Return<'_, ()> {
[INFO] [stdout]     |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/type_infer.rs:255:22
[INFO] [stdout]     |
[INFO] [stdout] 255 |     pub fn cast_expr(&mut self, expr: &Spanned<Expr>, target_ty: &Ty) -> Return<Spanned<Expr>> {
[INFO] [stdout]     |                      ^^^^^^^^^ the lifetime is elided here               ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 255 |     pub fn cast_expr(&mut self, expr: &Spanned<Expr>, target_ty: &Ty) -> Return<'_, Spanned<Expr>> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/type_infer.rs:265:9
[INFO] [stdout]     |
[INFO] [stdout] 265 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 269 |     ) -> Return<Spanned<Expr>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 269 |     ) -> Return<'_, Spanned<Expr>> {
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/type_infer.rs:326:25
[INFO] [stdout]     |
[INFO] [stdout] 326 |     fn infer_binop_expr(&self, lhs: &Spanned<Expr>, op: &Op, rhs: &Spanned<Expr>) -> Return<Ty> {
[INFO] [stdout]     |                         ^^^^^ the lifetime is elided here                            ^^^^^^^^^^ the same lifetime is hidden 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] 326 |     fn infer_binop_expr(&self, lhs: &Spanned<Expr>, op: &Op, rhs: &Spanned<Expr>) -> Return<'_, Ty> {
[INFO] [stdout]     |                                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/type_infer.rs:362:23
[INFO] [stdout]     |
[INFO] [stdout] 362 |     pub fn infer_expr(&self, value: &Spanned<Expr>) -> Return<Ty> {
[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] 362 |     pub fn infer_expr(&self, value: &Spanned<Expr>) -> Return<'_, Ty> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/type_infer.rs:411:28
[INFO] [stdout]     |
[INFO] [stdout] 411 |     pub fn infer_call_expr(&self, name: &'t str, args: &Vec<Spanned<Expr>>) -> Return<Ty> {
[INFO] [stdout]     |                            ^^^^^ the lifetime is elided here                   ^^^^^^^^^^ the same lifetime is hidden 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] 411 |     pub fn infer_call_expr(&self, name: &'t str, args: &Vec<Spanned<Expr>>) -> Return<'_, Ty> {
[INFO] [stdout]     |                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/type_infer.rs:454:32
[INFO] [stdout]     |
[INFO] [stdout] 454 |     pub fn infer_array_literal(&self, elems: &[Spanned<Expr>]) -> Return<Ty> {
[INFO] [stdout]     |                                ^^^^^ the lifetime is elided here  ^^^^^^^^^^ the same lifetime is hidden 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] 454 |     pub fn infer_array_literal(&self, elems: &[Spanned<Expr>]) -> Return<'_, Ty> {
[INFO] [stdout]     |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/type_infer.rs:473:9
[INFO] [stdout]     |
[INFO] [stdout] 473 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 476 |     ) -> Return<Ty> {
[INFO] [stdout]     |          ^^^^^^^^^^ the same lifetime is hidden 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] 476 |     ) -> Return<'_, Ty> {
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sema/typecheck.rs:48:24
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn lookup_name(&self, name: &str, location: SourceLoc) -> Return<Ty> {
[INFO] [stdout]    |                        ^^^^^ the lifetime is elided here          ^^^^^^^^^^ the same lifetime is hidden 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 |     pub fn lookup_name(&self, name: &str, location: SourceLoc) -> Return<'_, Ty> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sema/typecheck.rs:60:33
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn lookup_member_access(&self, member: &Member, _location: SourceLoc) -> Return<Ty> {
[INFO] [stdout]    |                                 ^^^^^ the lifetime is elided here                ^^^^^^^^^^ the same lifetime is hidden 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] 60 |     pub fn lookup_member_access(&self, member: &Member, _location: SourceLoc) -> Return<'_, Ty> {
[INFO] [stdout]    |                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sema/typecheck.rs:91:26
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn check_literal(&mut self, lit: &Literal) -> Return<Ty> {
[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] 91 |     pub fn check_literal(&mut self, lit: &Literal) -> Return<'_, Ty> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sema/typecheck.rs:95:23
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn check_expr(&mut self, expr: &Spanned<Expr>) -> Return<Spanned<TExpr>> {
[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] 95 |     pub fn check_expr(&mut self, expr: &Spanned<Expr>) -> Return<'_, Spanned<TExpr>> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/typecheck.rs:179:23
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn check_stmt(&mut self, stmt: &Spanned<Stmt>) -> Return<Spanned<TStmt>> {
[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] 179 |     pub fn check_stmt(&mut self, stmt: &Spanned<Stmt>) -> Return<'_, Spanned<TStmt>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/typecheck.rs:279:20
[INFO] [stdout]     |
[INFO] [stdout] 279 |     fn check_block(&mut self, block: &Block) -> Return<Vec<Spanned<TStmt>>> {
[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] 279 |     fn check_block(&mut self, block: &Block) -> Return<'_, Vec<Spanned<TStmt>>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/typecheck.rs:289:9
[INFO] [stdout]     |
[INFO] [stdout] 289 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 292 |     ) -> Return<Option<Spanned<TExpr>>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 292 |     ) -> Return<'_, Option<Spanned<TExpr>>> {
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/typecheck.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 330 |     ) -> Return<TToplevelStmt> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 330 |     ) -> Return<'_, TToplevelStmt> {
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/typecheck.rs:375:9
[INFO] [stdout]     |
[INFO] [stdout] 375 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 378 |     ) -> Return<TToplevelStmt> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 378 |     ) -> Return<'_, TToplevelStmt> {
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/typecheck.rs:403:27
[INFO] [stdout]     |
[INFO] [stdout] 403 |     fn check_enum_declare(&mut self, name: &str, fields: &[String]) -> Return<TToplevelStmt> {
[INFO] [stdout]     |                           ^^^^^^^^^ the lifetime is elided here        ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 403 |     fn check_enum_declare(&mut self, name: &str, fields: &[String]) -> Return<'_, TToplevelStmt> {
[INFO] [stdout]     |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/typecheck.rs:433:9
[INFO] [stdout]     |
[INFO] [stdout] 433 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 434 |         stmt: &Spanned<ToplevelStmt>,
[INFO] [stdout] 435 |     ) -> ReturnErrors<Spanned<TToplevelStmt>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 435 |     ) -> ReturnErrors<'_, Spanned<TToplevelStmt>> {
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sema/typecheck.rs:496:18
[INFO] [stdout]     |
[INFO] [stdout] 496 |     pub fn check(&mut self, ast: &Ast) -> ReturnErrors<TypedAst> {
[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] 496 |     pub fn check(&mut self, ast: &Ast) -> ReturnErrors<'_, TypedAst> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/lexer.rs:290:24
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub fn lex_tokens(src: &str) -> LexerIter {
[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] 290 | pub fn lex_tokens(src: &str) -> LexerIter<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/syntax/parser/mod.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub(crate) fn check(&mut self, kind: TokenKind) -> Return<Token<'p>> {
[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] 56 |     pub(crate) fn check(&mut self, kind: TokenKind) -> Return<'_, Token<'p>> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/syntax/parser/mod.rs:76:26
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub(crate) fn expect(&mut self, kind: TokenKind) -> Return<Token<'p>> {
[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] 76 |     pub(crate) fn expect(&mut self, kind: TokenKind) -> Return<'_, Token<'p>> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/syntax/parser/mod.rs:95:33
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub(crate) fn expect_one_of(&mut self, kinds: Vec<TokenKind>) -> Return<Token<'p>> {
[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] 95 |     pub(crate) fn expect_one_of(&mut self, kinds: Vec<TokenKind>) -> Return<'_, Token<'p>> {
[INFO] [stdout]    |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/mod.rs:115:32
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub(crate) fn expect_error(&mut self, kind: TokenKind, err: SyntaxError) -> Return<Token<'p>> {
[INFO] [stdout]     |                                ^^^^^^^^^ the lifetime is elided here            ^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 115 |     pub(crate) fn expect_error(&mut self, kind: TokenKind, err: SyntaxError) -> Return<'_, Token<'p>> {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/syntax/parser/expr.rs:16:24
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn parse_expr_prec(&mut self, min_prec: u8) -> parser::Return<Spanned<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] 16 |     fn parse_expr_prec(&mut self, min_prec: u8) -> parser::Return<'_, Spanned<Expr>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/syntax/parser/expr.rs:53:23
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn parse_expr(&mut self) -> parser::Return<Spanned<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] 53 |     pub fn parse_expr(&mut self) -> parser::Return<'_, Spanned<Expr>> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/syntax/parser/expr.rs:57:24
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn parse_main_expr(&mut self) -> parser::Return<Spanned<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] 57 |     fn parse_main_expr(&mut self) -> parser::Return<'_, Spanned<Expr>> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/expr.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 132 |         base_node: Spanned<Expr>,
[INFO] [stdout] 133 |     ) -> parser::Return<Spanned<Expr>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 133 |     ) -> parser::Return<'_, Spanned<Expr>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/expr.rs:189:22
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn parse_literal(&mut self, token: &Token) -> parser::Return<Literal> {
[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] 189 |     fn parse_literal(&mut self, token: &Token) -> parser::Return<'_, Literal> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/expr.rs:204:9
[INFO] [stdout]     |
[INFO] [stdout] 204 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 205 |         callee: Spanned<Expr>,
[INFO] [stdout] 206 |     ) -> parser::Return<Spanned<Expr>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 206 |     ) -> parser::Return<'_, Spanned<Expr>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/expr.rs:243:24
[INFO] [stdout]     |
[INFO] [stdout] 243 |     fn parse_cast_expr(&mut self) -> parser::Return<Spanned<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] 243 |     fn parse_cast_expr(&mut self) -> parser::Return<'_, Spanned<Expr>> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/expr.rs:257:28
[INFO] [stdout]     |
[INFO] [stdout] 257 |     fn parse_array_literal(&mut self) -> parser::Return<Spanned<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] 257 |     fn parse_array_literal(&mut self) -> parser::Return<'_, Spanned<Expr>> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/expr.rs:292:26
[INFO] [stdout]     |
[INFO] [stdout] 292 |     fn parse_array_index(&mut self, _array: &Expr) -> parser::Return<Spanned<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] 292 |     fn parse_array_index(&mut self, _array: &Expr) -> parser::Return<'_, Spanned<Expr>> {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/expr.rs:323:27
[INFO] [stdout]     |
[INFO] [stdout] 323 |     fn parse_struct_field(&mut self) -> parser::Return<(String, Spanned<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] 323 |     fn parse_struct_field(&mut self) -> parser::Return<'_, (String, Spanned<Expr>)> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/expr.rs:331:33
[INFO] [stdout]     |
[INFO] [stdout] 331 |     fn parse_struct_constructor(&mut self) -> parser::Return<Spanned<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] 331 |     fn parse_struct_constructor(&mut self) -> parser::Return<'_, Spanned<Expr>> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/syntax/parser/stmt.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub(crate) fn parse_block(&mut self) -> parser::Return<Block> {
[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] 12 |     pub(crate) fn parse_block(&mut self) -> parser::Return<'_, Block> {
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/syntax/parser/stmt.rs:36:30
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub(crate) fn parse_stmt(&mut self) -> parser::Return<Spanned<Stmt>> {
[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] 36 |     pub(crate) fn parse_stmt(&mut self) -> parser::Return<'_, Spanned<Stmt>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/syntax/parser/stmt.rs:82:23
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn parse_let_stmt(&mut self) -> parser::Return<Spanned<Stmt>> {
[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] 82 |     fn parse_let_stmt(&mut self) -> parser::Return<'_, Spanned<Stmt>> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:118:24
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn parse_expr_stmt(&mut self) -> parser::Return<Spanned<Stmt>> {
[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] 118 |     fn parse_expr_stmt(&mut self) -> parser::Return<'_, Spanned<Stmt>> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:167:22
[INFO] [stdout]     |
[INFO] [stdout] 167 |     fn parse_if_stmt(&mut self) -> parser::Return<Spanned<Stmt>> {
[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] 167 |     fn parse_if_stmt(&mut self) -> parser::Return<'_, Spanned<Stmt>> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:228:25
[INFO] [stdout]     |
[INFO] [stdout] 228 |     fn parse_elif_block(&mut self) -> parser::Return<(Spanned<Expr>, Block)> {
[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] 228 |     fn parse_elif_block(&mut self) -> parser::Return<'_, (Spanned<Expr>, Block)> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:256:25
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn parse_else_block(&mut self) -> parser::Return<Block> {
[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] 256 |     fn parse_else_block(&mut self) -> parser::Return<'_, Block> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:261:23
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn parse_for_loop(&mut self) -> parser::Return<Spanned<Stmt>> {
[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] 261 |     fn parse_for_loop(&mut self) -> parser::Return<'_, Spanned<Stmt>> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:287:25
[INFO] [stdout]     |
[INFO] [stdout] 287 |     fn parse_while_loop(&mut self) -> parser::Return<Spanned<Stmt>> {
[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] 287 |     fn parse_while_loop(&mut self) -> parser::Return<'_, Spanned<Stmt>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:299:21
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fn parse_return(&mut self) -> parser::Return<Spanned<Stmt>> {
[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] 299 |     fn parse_return(&mut self) -> parser::Return<'_, Spanned<Stmt>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:316:39
[INFO] [stdout]     |
[INFO] [stdout] 316 |     pub(crate) fn parse_toplevel_stmt(&mut self) -> parser::Return<ToplevelStmt> {
[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] 316 |     pub(crate) fn parse_toplevel_stmt(&mut self) -> parser::Return<'_, ToplevelStmt> {
[INFO] [stdout]     |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:348:26
[INFO] [stdout]     |
[INFO] [stdout] 348 |     fn parse_dotted_path(&mut self) -> parser::Return<Vec<String>> {
[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] 348 |     fn parse_dotted_path(&mut self) -> parser::Return<'_, Vec<String>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:413:21
[INFO] [stdout]     |
[INFO] [stdout] 413 |     fn parse_import(&mut self) -> parser::Return<ToplevelStmt> {
[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] 413 |     fn parse_import(&mut self) -> parser::Return<'_, ToplevelStmt> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:434:29
[INFO] [stdout]     |
[INFO] [stdout] 434 |     fn parse_extern_declare(&mut self) -> parser::Return<ToplevelStmt> {
[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] 434 |     fn parse_extern_declare(&mut self) -> parser::Return<'_, ToplevelStmt> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:467:29
[INFO] [stdout]     |
[INFO] [stdout] 467 |     fn parse_struct_declare(&mut self) -> parser::Return<ToplevelStmt> {
[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] 467 |     fn parse_struct_declare(&mut self) -> parser::Return<'_, ToplevelStmt> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:499:27
[INFO] [stdout]     |
[INFO] [stdout] 499 |     fn parse_enum_declare(&mut self) -> parser::Return<ToplevelStmt> {
[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] 499 |     fn parse_enum_declare(&mut self) -> parser::Return<'_, ToplevelStmt> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/stmt.rs:529:31
[INFO] [stdout]     |
[INFO] [stdout] 529 |     fn parse_function_declare(&mut self) -> parser::Return<ToplevelStmt> {
[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] 529 |     fn parse_function_declare(&mut self) -> parser::Return<'_, ToplevelStmt> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/syntax/parser/tidbits.rs:72:30
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub(crate) fn parse_type(&mut self) -> parser::Return<Ty> {
[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] 72 |     pub(crate) fn parse_type(&mut self) -> parser::Return<'_, Ty> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/tidbits.rs:122:41
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub(crate) fn parse_annotated_param(&mut self) -> parser::Return<Param> {
[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] 122 |     pub(crate) fn parse_annotated_param(&mut self) -> parser::Return<'_, Param> {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/tidbits.rs:129:42
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub(crate) fn parse_annotated_params(&mut self) -> parser::Return<Vec<Param>> {
[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] 129 |     pub(crate) fn parse_annotated_params(&mut self) -> parser::Return<'_, Vec<Param>> {
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/syntax/parser/tidbits.rs:153:32
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub(crate) fn parse_params(&mut self) -> parser::Return<Vec<String>> {
[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] 153 |     pub(crate) fn parse_params(&mut self) -> parser::Return<'_, Vec<String>> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.42s
[INFO] running `Command { std: "docker" "inspect" "476f8663b88bbc66a7876091640457bc37ca4944e1867d0ed3af79d8975d651a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "476f8663b88bbc66a7876091640457bc37ca4944e1867d0ed3af79d8975d651a", kill_on_drop: false }`
[INFO] [stdout] 476f8663b88bbc66a7876091640457bc37ca4944e1867d0ed3af79d8975d651a
