[INFO] cloning repository https://github.com/oubrax/halex-lang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/oubrax/halex-lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foubrax%2Fhalex-lang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foubrax%2Fhalex-lang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e183f3f30c7c9164aa5f90ae05c6d2f9ccdec7e0
[INFO] checking oubrax/halex-lang against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foubrax%2Fhalex-lang" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/oubrax/halex-lang
[INFO] finished tweaking git repo https://github.com/oubrax/halex-lang
[INFO] tweaked toml for git repo https://github.com/oubrax/halex-lang written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/oubrax/halex-lang on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/oubrax/halex-lang 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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 32615b0ad7fbc4f69284b7b08391752560b13c957afbe800dc8519d44648c55a
[INFO] running `Command { std: "docker" "start" "32615b0ad7fbc4f69284b7b08391752560b13c957afbe800dc8519d44648c55a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "32615b0ad7fbc4f69284b7b08391752560b13c957afbe800dc8519d44648c55a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "32615b0ad7fbc4f69284b7b08391752560b13c957afbe800dc8519d44648c55a" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "32615b0ad7fbc4f69284b7b08391752560b13c957afbe800dc8519d44648c55a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "32615b0ad7fbc4f69284b7b08391752560b13c957afbe800dc8519d44648c55a" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling virtue v0.0.18
[INFO] [stderr]     Checking unty v0.0.4
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]     Checking cranelfit_backend v0.1.0 (/opt/rustwide/workdir/crates/cranelfit_backend)
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]     Checking ariadne v0.5.1
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling logos-codegen v0.15.0
[INFO] [stderr]    Compiling bincode_derive v2.0.1
[INFO] [stderr]     Checking bincode v2.0.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling sirius-macros v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling logos-derive v0.15.0
[INFO] [stderr]     Checking logos v0.15.0
[INFO] [stderr]     Checking thiserror v2.0.12
[INFO] [stderr]     Checking sirius v0.1.1
[INFO] [stderr]     Checking frontend v0.1.0 (/opt/rustwide/workdir/crates/frontend)
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:379:23
[INFO] [stdout]     |
[INFO] [stdout] 379 |                 span: span.into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 379 -                 span: span.into(),
[INFO] [stdout] 379 +                 span: span,
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 379 -                 span: span.into(),
[INFO] [stdout] 379 +                 span: <lexer::Span as Into<_>>::into(span),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:465:61
[INFO] [stdout]     |
[INFO] [stdout] 465 |                     self.push_delimiter(LogosToken::LParen, opening_span.into());
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 465 -                     self.push_delimiter(LogosToken::LParen, opening_span.into());
[INFO] [stdout] 465 +                     self.push_delimiter(LogosToken::LParen, opening_span);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 465 -                     self.push_delimiter(LogosToken::LParen, opening_span.into());
[INFO] [stdout] 465 +                     self.push_delimiter(LogosToken::LParen, <lexer::Span as Into<_>>::into(opening_span));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:505:57
[INFO] [stdout]     |
[INFO] [stdout] 505 |                 self.push_delimiter(LogosToken::LParen, opening_span.into());
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 505 -                 self.push_delimiter(LogosToken::LParen, opening_span.into());
[INFO] [stdout] 505 +                 self.push_delimiter(LogosToken::LParen, opening_span);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 505 -                 self.push_delimiter(LogosToken::LParen, opening_span.into());
[INFO] [stdout] 505 +                 self.push_delimiter(LogosToken::LParen, <lexer::Span as Into<_>>::into(opening_span));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:590:57
[INFO] [stdout]     |
[INFO] [stdout] 590 |                 self.push_delimiter(LogosToken::LBrace, start_token.span.into());
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 590 -                 self.push_delimiter(LogosToken::LBrace, start_token.span.into());
[INFO] [stdout] 590 +                 self.push_delimiter(LogosToken::LBrace, start_token.span);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 590 -                 self.push_delimiter(LogosToken::LBrace, start_token.span.into());
[INFO] [stdout] 590 +                 self.push_delimiter(LogosToken::LBrace, <lexer::Span as Into<_>>::into(start_token.span));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:653:39
[INFO] [stdout]     |
[INFO] [stdout] 653 | ...                   span: peek_token.span.into(),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 653 -                                 span: peek_token.span.into(),
[INFO] [stdout] 653 +                                 span: peek_token.span,
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 653 -                                 span: peek_token.span.into(),
[INFO] [stdout] 653 +                                 span: <lexer::Span as Into<_>>::into(peek_token.span),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:846:53
[INFO] [stdout]     |
[INFO] [stdout] 846 |             self.push_delimiter(LogosToken::LParen, token.span.into());
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 846 -             self.push_delimiter(LogosToken::LParen, token.span.into());
[INFO] [stdout] 846 +             self.push_delimiter(LogosToken::LParen, token.span);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 846 -             self.push_delimiter(LogosToken::LParen, token.span.into());
[INFO] [stdout] 846 +             self.push_delimiter(LogosToken::LParen, <lexer::Span as Into<_>>::into(token.span));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:851:23
[INFO] [stdout]     |
[INFO] [stdout] 851 |                 span: span.into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 851 -                 span: span.into(),
[INFO] [stdout] 851 +                 span: span,
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 851 -                 span: span.into(),
[INFO] [stdout] 851 +                 span: <lexer::Span as Into<_>>::into(span),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:856:13
[INFO] [stdout]     |
[INFO] [stdout] 856 |             span.into()
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 856 -             span.into()
[INFO] [stdout] 856 +             span
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 856 -             span.into()
[INFO] [stdout] 856 +             <lexer::Span as Into<_>>::into(span)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:903:39
[INFO] [stdout]     |
[INFO] [stdout] 903 | ...                   span: peeked.span.into(),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 903 -                                 span: peeked.span.into(),
[INFO] [stdout] 903 +                                 span: peeked.span,
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 903 -                                 span: peeked.span.into(),
[INFO] [stdout] 903 +                                 span: <lexer::Span as Into<_>>::into(peeked.span),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:923:23
[INFO] [stdout]     |
[INFO] [stdout] 923 |                 span: self.current().span.into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 923 -                 span: self.current().span.into(),
[INFO] [stdout] 923 +                 span: self.current().span,
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 923 -                 span: self.current().span.into(),
[INFO] [stdout] 923 +                 span: <lexer::Span as Into<_>>::into(self.current().span),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:925:31
[INFO] [stdout]     |
[INFO] [stdout] 925 |                 opening_span: opening_paren_span.into(),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 925 -                 opening_span: opening_paren_span.into(),
[INFO] [stdout] 925 +                 opening_span: opening_paren_span,
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 925 -                 opening_span: opening_paren_span.into(),
[INFO] [stdout] 925 +                 opening_span: <lexer::Span as Into<_>>::into(opening_paren_span),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:929:21
[INFO] [stdout]     |
[INFO] [stdout] 929 |         Ok((params, opening_paren_span.into()))
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 929 -         Ok((params, opening_paren_span.into()))
[INFO] [stdout] 929 +         Ok((params, opening_paren_span))
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 929 -         Ok((params, opening_paren_span.into()))
[INFO] [stdout] 929 +         Ok((params, <lexer::Span as Into<_>>::into(opening_paren_span)))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]     --> crates/frontend/src/parser.rs:1054:35
[INFO] [stdout]      |
[INFO] [stdout] 1054 | ...                   span: token.span.into(),
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1054 -                             span: token.span.into(),
[INFO] [stdout] 1054 +                             span: token.span,
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1054 -                             span: token.span.into(),
[INFO] [stdout] 1054 +                             span: <lexer::Span as Into<_>>::into(token.span),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]     --> crates/frontend/src/parser.rs:1251:35
[INFO] [stdout]      |
[INFO] [stdout] 1251 | ...                   span: span.into(),
[INFO] [stdout]      |                             ^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1251 -                             span: span.into(),
[INFO] [stdout] 1251 +                             span: span,
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1251 -                             span: span.into(),
[INFO] [stdout] 1251 +                             span: <lexer::Span as Into<_>>::into(span),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]     --> crates/frontend/src/parser.rs:1348:23
[INFO] [stdout]      |
[INFO] [stdout] 1348 |                 span: span.into(),
[INFO] [stdout]      |                       ^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1348 -                 span: span.into(),
[INFO] [stdout] 1348 +                 span: span,
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1348 -                 span: span.into(),
[INFO] [stdout] 1348 +                 span: <lexer::Span as Into<_>>::into(span),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]  --> crates/frontend/src/error.rs:6:65
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn build_report<'a>(&'a self, file: &'a str) -> Report<'a, (&str, Range<usize>)>;
[INFO] [stdout]   |                          --              --                --   ^^^^ the same lifetime is elided here
[INFO] [stdout]   |                          |               |                 |
[INFO] [stdout]   |                          |               |                 the same lifetime is named here
[INFO] [stdout]   |                          |               the lifetime is named here
[INFO] [stdout]   |                          the lifetime is named 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: consistently use `'a`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn build_report<'a>(&'a self, file: &'a str) -> Report<'a, (&'a str, Range<usize>)>;
[INFO] [stdout]   |                                                                  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:379:23
[INFO] [stdout]     |
[INFO] [stdout] 379 |                 span: span.into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 379 -                 span: span.into(),
[INFO] [stdout] 379 +                 span: span,
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 379 -                 span: span.into(),
[INFO] [stdout] 379 +                 span: <lexer::Span as Into<_>>::into(span),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:465:61
[INFO] [stdout]     |
[INFO] [stdout] 465 |                     self.push_delimiter(LogosToken::LParen, opening_span.into());
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 465 -                     self.push_delimiter(LogosToken::LParen, opening_span.into());
[INFO] [stdout] 465 +                     self.push_delimiter(LogosToken::LParen, opening_span);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 465 -                     self.push_delimiter(LogosToken::LParen, opening_span.into());
[INFO] [stdout] 465 +                     self.push_delimiter(LogosToken::LParen, <lexer::Span as Into<_>>::into(opening_span));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:505:57
[INFO] [stdout]     |
[INFO] [stdout] 505 |                 self.push_delimiter(LogosToken::LParen, opening_span.into());
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 505 -                 self.push_delimiter(LogosToken::LParen, opening_span.into());
[INFO] [stdout] 505 +                 self.push_delimiter(LogosToken::LParen, opening_span);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 505 -                 self.push_delimiter(LogosToken::LParen, opening_span.into());
[INFO] [stdout] 505 +                 self.push_delimiter(LogosToken::LParen, <lexer::Span as Into<_>>::into(opening_span));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:590:57
[INFO] [stdout]     |
[INFO] [stdout] 590 |                 self.push_delimiter(LogosToken::LBrace, start_token.span.into());
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 590 -                 self.push_delimiter(LogosToken::LBrace, start_token.span.into());
[INFO] [stdout] 590 +                 self.push_delimiter(LogosToken::LBrace, start_token.span);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 590 -                 self.push_delimiter(LogosToken::LBrace, start_token.span.into());
[INFO] [stdout] 590 +                 self.push_delimiter(LogosToken::LBrace, <lexer::Span as Into<_>>::into(start_token.span));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:653:39
[INFO] [stdout]     |
[INFO] [stdout] 653 | ...                   span: peek_token.span.into(),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 653 -                                 span: peek_token.span.into(),
[INFO] [stdout] 653 +                                 span: peek_token.span,
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 653 -                                 span: peek_token.span.into(),
[INFO] [stdout] 653 +                                 span: <lexer::Span as Into<_>>::into(peek_token.span),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:846:53
[INFO] [stdout]     |
[INFO] [stdout] 846 |             self.push_delimiter(LogosToken::LParen, token.span.into());
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 846 -             self.push_delimiter(LogosToken::LParen, token.span.into());
[INFO] [stdout] 846 +             self.push_delimiter(LogosToken::LParen, token.span);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 846 -             self.push_delimiter(LogosToken::LParen, token.span.into());
[INFO] [stdout] 846 +             self.push_delimiter(LogosToken::LParen, <lexer::Span as Into<_>>::into(token.span));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:851:23
[INFO] [stdout]     |
[INFO] [stdout] 851 |                 span: span.into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 851 -                 span: span.into(),
[INFO] [stdout] 851 +                 span: span,
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 851 -                 span: span.into(),
[INFO] [stdout] 851 +                 span: <lexer::Span as Into<_>>::into(span),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:856:13
[INFO] [stdout]     |
[INFO] [stdout] 856 |             span.into()
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 856 -             span.into()
[INFO] [stdout] 856 +             span
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 856 -             span.into()
[INFO] [stdout] 856 +             <lexer::Span as Into<_>>::into(span)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:903:39
[INFO] [stdout]     |
[INFO] [stdout] 903 | ...                   span: peeked.span.into(),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 903 -                                 span: peeked.span.into(),
[INFO] [stdout] 903 +                                 span: peeked.span,
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 903 -                                 span: peeked.span.into(),
[INFO] [stdout] 903 +                                 span: <lexer::Span as Into<_>>::into(peeked.span),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:923:23
[INFO] [stdout]     |
[INFO] [stdout] 923 |                 span: self.current().span.into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 923 -                 span: self.current().span.into(),
[INFO] [stdout] 923 +                 span: self.current().span,
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 923 -                 span: self.current().span.into(),
[INFO] [stdout] 923 +                 span: <lexer::Span as Into<_>>::into(self.current().span),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:925:31
[INFO] [stdout]     |
[INFO] [stdout] 925 |                 opening_span: opening_paren_span.into(),
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 925 -                 opening_span: opening_paren_span.into(),
[INFO] [stdout] 925 +                 opening_span: opening_paren_span,
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 925 -                 opening_span: opening_paren_span.into(),
[INFO] [stdout] 925 +                 opening_span: <lexer::Span as Into<_>>::into(opening_paren_span),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]    --> crates/frontend/src/parser.rs:929:21
[INFO] [stdout]     |
[INFO] [stdout] 929 |         Ok((params, opening_paren_span.into()))
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 929 -         Ok((params, opening_paren_span.into()))
[INFO] [stdout] 929 +         Ok((params, opening_paren_span))
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 929 -         Ok((params, opening_paren_span.into()))
[INFO] [stdout] 929 +         Ok((params, <lexer::Span as Into<_>>::into(opening_paren_span)))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]     --> crates/frontend/src/parser.rs:1054:35
[INFO] [stdout]      |
[INFO] [stdout] 1054 | ...                   span: token.span.into(),
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1054 -                             span: token.span.into(),
[INFO] [stdout] 1054 +                             span: token.span,
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1054 -                             span: token.span.into(),
[INFO] [stdout] 1054 +                             span: <lexer::Span as Into<_>>::into(token.span),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]     --> crates/frontend/src/parser.rs:1251:35
[INFO] [stdout]      |
[INFO] [stdout] 1251 | ...                   span: span.into(),
[INFO] [stdout]      |                             ^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1251 -                             span: span.into(),
[INFO] [stdout] 1251 +                             span: span,
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1251 -                             span: span.into(),
[INFO] [stdout] 1251 +                             span: <lexer::Span as Into<_>>::into(span),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `lexer::Span`
[INFO] [stdout]     --> crates/frontend/src/parser.rs:1348:23
[INFO] [stdout]      |
[INFO] [stdout] 1348 |                 span: span.into(),
[INFO] [stdout]      |                       ^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1348 -                 span: span.into(),
[INFO] [stdout] 1348 +                 span: span,
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1348 -                 span: span.into(),
[INFO] [stdout] 1348 +                 span: <lexer::Span as Into<_>>::into(span),
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]  --> crates/frontend/src/error.rs:6:65
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn build_report<'a>(&'a self, file: &'a str) -> Report<'a, (&str, Range<usize>)>;
[INFO] [stdout]   |                          --              --                --   ^^^^ the same lifetime is elided here
[INFO] [stdout]   |                          |               |                 |
[INFO] [stdout]   |                          |               |                 the same lifetime is named here
[INFO] [stdout]   |                          |               the lifetime is named here
[INFO] [stdout]   |                          the lifetime is named 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: consistently use `'a`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn build_report<'a>(&'a self, file: &'a str) -> Report<'a, (&'a str, Range<usize>)>;
[INFO] [stdout]   |                                                                  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `frontend` (lib) due to 15 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `frontend` (lib test) due to 15 previous errors; 1 warning emitted
[INFO] [stderr] warning: unused dependency `serde`
[INFO] [stderr]   --> crates/frontend/Cargo.toml:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | serde.workspace = true
[INFO] [stderr]    | ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `serde`
[INFO] [stderr] warning: `frontend` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "inspect" "32615b0ad7fbc4f69284b7b08391752560b13c957afbe800dc8519d44648c55a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "32615b0ad7fbc4f69284b7b08391752560b13c957afbe800dc8519d44648c55a", kill_on_drop: false }`
[INFO] [stdout] 32615b0ad7fbc4f69284b7b08391752560b13c957afbe800dc8519d44648c55a
