[INFO] cloning repository https://github.com/brauliobz/crafting_interpreters
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/brauliobz/crafting_interpreters" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrauliobz%2Fcrafting_interpreters", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrauliobz%2Fcrafting_interpreters'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e6515f7944319f129bbcd86fada78717ce987837
[INFO] checking brauliobz/crafting_interpreters against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrauliobz%2Fcrafting_interpreters" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/brauliobz/crafting_interpreters
[INFO] finished tweaking git repo https://github.com/brauliobz/crafting_interpreters
[INFO] tweaked toml for git repo https://github.com/brauliobz/crafting_interpreters written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/brauliobz/crafting_interpreters 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/brauliobz/crafting_interpreters 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 beef v0.5.1
[INFO] [stderr]   Downloaded logos v0.12.0
[INFO] [stderr]   Downloaded logos-derive v0.12.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] d98cd64e99dc9cc3466dfa6bdc03f0ad310a89f32d3845f5b3aa9f7dd8e6de6d
[INFO] running `Command { std: "docker" "start" "-a" "d98cd64e99dc9cc3466dfa6bdc03f0ad310a89f32d3845f5b3aa9f7dd8e6de6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d98cd64e99dc9cc3466dfa6bdc03f0ad310a89f32d3845f5b3aa9f7dd8e6de6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d98cd64e99dc9cc3466dfa6bdc03f0ad310a89f32d3845f5b3aa9f7dd8e6de6d", kill_on_drop: false }`
[INFO] [stdout] d98cd64e99dc9cc3466dfa6bdc03f0ad310a89f32d3845f5b3aa9f7dd8e6de6d
[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] 1021efd42b3975ae0b7cb1a5915446a33187883ff2b1063c465b8912116ebcb9
[INFO] running `Command { std: "docker" "start" "-a" "1021efd42b3975ae0b7cb1a5915446a33187883ff2b1063c465b8912116ebcb9", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.37
[INFO] [stderr]    Compiling syn v1.0.91
[INFO] [stderr]    Compiling quote v1.0.18
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]     Checking thiserror v1.0.30
[INFO] [stderr]     Checking rlox v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `global_env` is never read
[INFO] [stdout]   --> src/interpreter.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Interpreter<'stdout> {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     global_env: Env,
[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/scanner.rs:70:33
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn scan_tokens(source_code: &str) -> Result<Vec<Token>> {
[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 scan_tokens(source_code: &str) -> Result<Vec<Token<'_>>> {
[INFO] [stdout]    |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scanner.rs:90:20
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn scan_token(src: &str, line: u32) -> Result<(Token, &str, u32)> {
[INFO] [stdout]    |                    ^^^^                        ^^^^^  ^^^^ the same lifetime is elided here
[INFO] [stdout]    |                    |                           |
[INFO] [stdout]    |                    |                           the same lifetime is hidden here
[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] 90 | fn scan_token(src: &str, line: u32) -> Result<(Token<'_>, &str, u32)> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/scanner.rs:159:17
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn comment(src: &str, line: u32) -> (Token, &str, u32) {
[INFO] [stdout]     |                 ^^^^                 ^^^^^  ^^^^ the same lifetime is elided here
[INFO] [stdout]     |                 |                    |
[INFO] [stdout]     |                 |                    the same lifetime is hidden here
[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] 159 | fn comment(src: &str, line: u32) -> (Token<'_>, &str, u32) {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/scanner.rs:176:16
[INFO] [stdout]     |
[INFO] [stdout] 176 | fn string(src: &str, line: u32) -> Result<(Token, &str, u32)> {
[INFO] [stdout]     |                ^^^^                        ^^^^^  ^^^^ the same lifetime is elided here
[INFO] [stdout]     |                |                           |
[INFO] [stdout]     |                |                           the same lifetime is hidden here
[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] 176 | fn string(src: &str, line: u32) -> Result<(Token<'_>, &str, u32)> {
[INFO] [stdout]     |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/scanner.rs:191:16
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn number(src: &str, line: u32) -> (Token, &str, u32) {
[INFO] [stdout]     |                ^^^^                 ^^^^^  ^^^^ the same lifetime is elided here
[INFO] [stdout]     |                |                    |
[INFO] [stdout]     |                |                    the same lifetime is hidden here
[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] 191 | fn number(src: &str, line: u32) -> (Token<'_>, &str, u32) {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/scanner.rs:266:31
[INFO] [stdout]     |
[INFO] [stdout] 266 | fn identifier_or_keyword(src: &str, line: u32) -> (Token, &str, u32) {
[INFO] [stdout]     |                               ^^^^                 ^^^^^  ^^^^ the same lifetime is elided here
[INFO] [stdout]     |                               |                    |
[INFO] [stdout]     |                               |                    the same lifetime is hidden here
[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] 266 | fn identifier_or_keyword(src: &str, line: u32) -> (Token<'_>, &str, u32) {
[INFO] [stdout]     |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/environment.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, PartialEq, Clone)]
[INFO] [stdout]    |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub exec: fn(Env) -> Result<Value>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:49:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn consume(&mut self, token_type: TokenType) -> Result<&Token> {
[INFO] [stdout]    |                ^^^^^^^^^                                   ^^^^^^
[INFO] [stdout]    |                |                                           ||
[INFO] [stdout]    |                |                                           |the same lifetime is hidden here
[INFO] [stdout]    |                the lifetime is elided here                 the same 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] 49 |     fn consume(&mut self, token_type: TokenType) -> Result<&Token<'_>> {
[INFO] [stdout]    |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |         &mut self,
[INFO] [stdout]    |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 69 |     ) -> Result<&Token> {
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout]    |                 ||
[INFO] [stdout]    |                 |the same lifetime is hidden here
[INFO] [stdout]    |                 the same 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] 69 |     ) -> Result<&Token<'_>> {
[INFO] [stdout]    |                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn peek(&self) -> Option<&Token> {
[INFO] [stdout]    |             ^^^^^            ^^^^^^
[INFO] [stdout]    |             |                ||
[INFO] [stdout]    |             |                |the same lifetime is hidden here
[INFO] [stdout]    |             |                the same lifetime is elided here
[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] 77 |     fn peek(&self) -> Option<&Token<'_>> {
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:81:17
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn previous(&self) -> Result<&Token> {
[INFO] [stdout]    |                 ^^^^^            ^^^^^^
[INFO] [stdout]    |                 |                ||
[INFO] [stdout]    |                 |                |the same lifetime is hidden here
[INFO] [stdout]    |                 |                the same lifetime is elided here
[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] 81 |     fn previous(&self) -> Result<&Token<'_>> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `global_env` is never read
[INFO] [stdout]   --> src/interpreter.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Interpreter<'stdout> {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     global_env: Env,
[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/scanner.rs:70:33
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn scan_tokens(source_code: &str) -> Result<Vec<Token>> {
[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 scan_tokens(source_code: &str) -> Result<Vec<Token<'_>>> {
[INFO] [stdout]    |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scanner.rs:90:20
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn scan_token(src: &str, line: u32) -> Result<(Token, &str, u32)> {
[INFO] [stdout]    |                    ^^^^                        ^^^^^  ^^^^ the same lifetime is elided here
[INFO] [stdout]    |                    |                           |
[INFO] [stdout]    |                    |                           the same lifetime is hidden here
[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] 90 | fn scan_token(src: &str, line: u32) -> Result<(Token<'_>, &str, u32)> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/scanner.rs:159:17
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn comment(src: &str, line: u32) -> (Token, &str, u32) {
[INFO] [stdout]     |                 ^^^^                 ^^^^^  ^^^^ the same lifetime is elided here
[INFO] [stdout]     |                 |                    |
[INFO] [stdout]     |                 |                    the same lifetime is hidden here
[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] 159 | fn comment(src: &str, line: u32) -> (Token<'_>, &str, u32) {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/scanner.rs:176:16
[INFO] [stdout]     |
[INFO] [stdout] 176 | fn string(src: &str, line: u32) -> Result<(Token, &str, u32)> {
[INFO] [stdout]     |                ^^^^                        ^^^^^  ^^^^ the same lifetime is elided here
[INFO] [stdout]     |                |                           |
[INFO] [stdout]     |                |                           the same lifetime is hidden here
[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] 176 | fn string(src: &str, line: u32) -> Result<(Token<'_>, &str, u32)> {
[INFO] [stdout]     |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/scanner.rs:191:16
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn number(src: &str, line: u32) -> (Token, &str, u32) {
[INFO] [stdout]     |                ^^^^                 ^^^^^  ^^^^ the same lifetime is elided here
[INFO] [stdout]     |                |                    |
[INFO] [stdout]     |                |                    the same lifetime is hidden here
[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] 191 | fn number(src: &str, line: u32) -> (Token<'_>, &str, u32) {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/scanner.rs:266:31
[INFO] [stdout]     |
[INFO] [stdout] 266 | fn identifier_or_keyword(src: &str, line: u32) -> (Token, &str, u32) {
[INFO] [stdout]     |                               ^^^^                 ^^^^^  ^^^^ the same lifetime is elided here
[INFO] [stdout]     |                               |                    |
[INFO] [stdout]     |                               |                    the same lifetime is hidden here
[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] 266 | fn identifier_or_keyword(src: &str, line: u32) -> (Token<'_>, &str, u32) {
[INFO] [stdout]     |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/environment.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, PartialEq, Clone)]
[INFO] [stdout]    |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub exec: fn(Env) -> Result<Value>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:49:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn consume(&mut self, token_type: TokenType) -> Result<&Token> {
[INFO] [stdout]    |                ^^^^^^^^^                                   ^^^^^^
[INFO] [stdout]    |                |                                           ||
[INFO] [stdout]    |                |                                           |the same lifetime is hidden here
[INFO] [stdout]    |                the lifetime is elided here                 the same 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] 49 |     fn consume(&mut self, token_type: TokenType) -> Result<&Token<'_>> {
[INFO] [stdout]    |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |         &mut self,
[INFO] [stdout]    |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 69 |     ) -> Result<&Token> {
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout]    |                 ||
[INFO] [stdout]    |                 |the same lifetime is hidden here
[INFO] [stdout]    |                 the same 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] 69 |     ) -> Result<&Token<'_>> {
[INFO] [stdout]    |                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn peek(&self) -> Option<&Token> {
[INFO] [stdout]    |             ^^^^^            ^^^^^^
[INFO] [stdout]    |             |                ||
[INFO] [stdout]    |             |                |the same lifetime is hidden here
[INFO] [stdout]    |             |                the same lifetime is elided here
[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] 77 |     fn peek(&self) -> Option<&Token<'_>> {
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser.rs:81:17
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn previous(&self) -> Result<&Token> {
[INFO] [stdout]    |                 ^^^^^            ^^^^^^
[INFO] [stdout]    |                 |                ||
[INFO] [stdout]    |                 |                |the same lifetime is hidden here
[INFO] [stdout]    |                 |                the same lifetime is elided here
[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] 81 |     fn previous(&self) -> Result<&Token<'_>> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.53s
[INFO] running `Command { std: "docker" "inspect" "1021efd42b3975ae0b7cb1a5915446a33187883ff2b1063c465b8912116ebcb9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1021efd42b3975ae0b7cb1a5915446a33187883ff2b1063c465b8912116ebcb9", kill_on_drop: false }`
[INFO] [stdout] 1021efd42b3975ae0b7cb1a5915446a33187883ff2b1063c465b8912116ebcb9
