[INFO] cloning repository https://github.com/commonkestrel/o2
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/commonkestrel/o2" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcommonkestrel%2Fo2", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcommonkestrel%2Fo2'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] aaaa1fdd4942900616ab4ad56839504ad2e4d700
[INFO] checking commonkestrel/o2 against try#87f2ecc56b5f6032b075c8934ebc77f28d57183c for pr-148190
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcommonkestrel%2Fo2" "/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/commonkestrel/o2
[INFO] finished tweaking git repo https://github.com/commonkestrel/o2
[INFO] tweaked toml for git repo https://github.com/commonkestrel/o2 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/commonkestrel/o2 on toolchain 87f2ecc56b5f6032b075c8934ebc77f28d57183c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+87f2ecc56b5f6032b075c8934ebc77f28d57183c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/commonkestrel/o2 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" "+87f2ecc56b5f6032b075c8934ebc77f28d57183c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded lazy-regex-proc_macros v3.3.0
[INFO] [stderr]   Downloaded logos-derive v0.14.2
[INFO] [stderr]   Downloaded inkwell_internals v0.10.0
[INFO] [stderr]   Downloaded lazy-regex v3.3.0
[INFO] [stderr]   Downloaded logos-codegen v0.14.2
[INFO] [stderr]   Downloaded inkwell v0.5.0
[INFO] [stderr]   Downloaded llvm-sys v180.0.0
[INFO] [stderr]   Downloaded logos v0.14.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+87f2ecc56b5f6032b075c8934ebc77f28d57183c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b199d0d35d269905ba138c38071be04fc7d6dabcd6447524f566fd7cda2a94aa
[INFO] running `Command { std: "docker" "start" "-a" "b199d0d35d269905ba138c38071be04fc7d6dabcd6447524f566fd7cda2a94aa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b199d0d35d269905ba138c38071be04fc7d6dabcd6447524f566fd7cda2a94aa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b199d0d35d269905ba138c38071be04fc7d6dabcd6447524f566fd7cda2a94aa", kill_on_drop: false }`
[INFO] [stdout] b199d0d35d269905ba138c38071be04fc7d6dabcd6447524f566fd7cda2a94aa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+87f2ecc56b5f6032b075c8934ebc77f28d57183c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 230a0f14672edff1726b75415cb5245556682f32a82cfcea5cab4f874ec2e7fb
[INFO] running `Command { std: "docker" "start" "-a" "230a0f14672edff1726b75415cb5245556682f32a82cfcea5cab4f874ec2e7fb", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.89
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling anyhow v1.0.93
[INFO] [stderr]     Checking fastrand v2.2.0
[INFO] [stderr]    Compiling rustix v0.38.40
[INFO] [stderr]    Compiling cc v1.2.0
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]    Compiling libc v0.2.162
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]     Checking value-bag v1.10.0
[INFO] [stderr]    Compiling inkwell v0.5.0
[INFO] [stderr]     Checking clap_lex v0.7.3
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]    Compiling o2 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking colored v2.1.0
[INFO] [stderr]     Checking futures-lite v2.5.0
[INFO] [stderr]     Checking piper v0.2.4
[INFO] [stderr]     Checking clap_builder v4.5.21
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]     Checking kv-log-macro v1.0.7
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking event-listener v5.3.1
[INFO] [stderr]     Checking async-executor v1.13.1
[INFO] [stderr]     Checking async-channel v1.9.0
[INFO] [stderr]    Compiling llvm-sys v180.0.0
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]     Checking event-listener-strategy v0.5.2
[INFO] [stderr]     Checking async-lock v3.4.0
[INFO] [stderr]     Checking async-channel v2.3.1
[INFO] [stderr]     Checking blocking v1.6.1
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling logos-codegen v0.14.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.5.18
[INFO] [stderr]    Compiling lazy-regex-proc_macros v3.3.0
[INFO] [stderr]    Compiling inkwell_internals v0.10.0
[INFO] [stderr]     Checking polling v3.7.4
[INFO] [stderr]     Checking async-io v2.4.0
[INFO] [stderr]     Checking lazy-regex v3.3.0
[INFO] [stderr]    Compiling logos-derive v0.14.2
[INFO] [stderr]     Checking logos v0.14.2
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking async-global-executor v2.4.1
[INFO] [stderr]     Checking async-std v1.13.0
[INFO] [stderr]     Checking clap v4.5.21
[INFO] [stdout] warning: unused imports: `TargetMachine` and `attributes::AttributeLoc`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     attributes::AttributeLoc,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 8 |         FileType, InitializationConfig, Target, TargetMachine, TargetMachineOptions, TargetTriple,
[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::info`
[INFO] [stdout]   --> src/span.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::info;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TargetMachine` and `attributes::AttributeLoc`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     attributes::AttributeLoc,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 8 |         FileType, InitializationConfig, Target, TargetMachine, TargetMachineOptions, TargetTriple,
[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::info`
[INFO] [stdout]   --> src/span.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::info;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/syntax/ascii.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let mut simple = numbered
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol_table`
[INFO] [stdout]   --> src/syntax/lex.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     symbol_table: SymbolTable,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol_table`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]   --> src/syntax/lex.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     source: String,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]   --> src/syntax/lex.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     content: File,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/syntax/ascii.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let mut simple = numbered
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Note` is more private than the item `Diagnostic::set_note`
[INFO] [stdout]    --> src/diagnostic.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn set_note<S: Into<Note>>(&mut self, note: S) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Diagnostic::set_note` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Note` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/diagnostic.rs:239:1
[INFO] [stdout]     |
[INFO] [stdout] 239 | struct Note {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Note` is more private than the item `Diagnostic::with_note`
[INFO] [stdout]    --> src/diagnostic.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub fn with_note<S: Into<Note>>(mut self, note: S) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Diagnostic::with_note` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Note` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/diagnostic.rs:239:1
[INFO] [stdout]     |
[INFO] [stdout] 239 | struct Note {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BUG_MESSAGE` is never used
[INFO] [stdout]   --> src/diagnostic.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const BUG_MESSAGE: &str =
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Diagnostic` is never constructed
[INFO] [stdout]   --> src/diagnostic.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Diagnostic {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/diagnostic.rs:23:12
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl Diagnostic {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  23 |     pub fn error<S: Into<String>>(message: S) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  32 |     pub fn spanned_error<M: Into<String>, S: Into<Arc<Span>>>(span: S, message: M) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  41 |     pub fn warn<S: Into<String>>(message: S) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  50 |     pub fn spanned_warn<M: Into<String>, S: Into<Arc<Span>>>(span: S, message: M) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  59 |     pub fn info<S: Into<String>>(message: S) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub fn spanned_info<M: Into<String>, S: Into<Arc<Span>>>(span: S, message: M) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn debug<S: Into<String>>(message: S) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn spanned_debug<M: Into<String>, S: Into<Arc<Span>>>(span: S, message: M) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn set_span<S: Into<Arc<Span>>>(&mut self, span: Option<S>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn with_span<S: Into<Arc<Span>>>(mut self, span: Option<S>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn set_message<S: Into<String>>(&mut self, message: S) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn with_message<S: Into<String>>(mut self, message: S) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn set_note<S: Into<Note>>(&mut self, note: S) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn with_note<S: Into<Note>>(mut self, note: S) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn set_spanned_note<S: Into<String>>(&mut self, note: S, span: Span) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn with_spanned_note<S: Into<String>>(mut self, note: S, span: Span) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn clear_note(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn without_note(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn as_bug(self) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     fn format_message(&self) -> ColoredString {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub async fn emit(self) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn sync_emit(self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     async fn raw_emit(self) {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     async fn emit_fancy(self) {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `value` and `span` are never read
[INFO] [stdout]    --> src/diagnostic.rs:240:5
[INFO] [stdout]     |
[INFO] [stdout] 239 | struct Note {
[INFO] [stdout]     |        ---- fields in this struct
[INFO] [stdout] 240 |     value: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 241 |     span: Option<Span>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Note` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Level` is never used
[INFO] [stdout]    --> src/diagnostic.rs:263:10
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub enum Level {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `title` and `color` are never used
[INFO] [stdout]    --> src/diagnostic.rs:272:12
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl Level {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] 272 |     pub fn title(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn color(&self) -> Color {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Reporter` is never constructed
[INFO] [stdout]    --> src/diagnostic.rs:294:12
[INFO] [stdout]     |
[INFO] [stdout] 294 | pub struct Reporter {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `report`, `report_sync`, `report_all`, `emit_all`, and `has_errors` are never used
[INFO] [stdout]    --> src/diagnostic.rs:299:12
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl Reporter {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 299 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub async fn report(&self, diag: Diagnostic) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub fn report_sync(&self, diag: Diagnostic) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub async fn report_all(&self, mut other: Vec<Diagnostic>) {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     pub async fn emit_all(&self) {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     pub fn has_errors(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Spanned` is never constructed
[INFO] [stdout]   --> src/span.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Spanned<T> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/span.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<T> Spanned<T> {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 19 |     #[inline]
[INFO] [stdout] 20 |     pub fn new(value: T, span: Span) -> Spanned<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn inner(&self) -> &T {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn inner_mut(&mut self) -> &mut T {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn into_inner(self) -> T {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn span(&self) -> &Span {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn into_span(self) -> Span {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn deconstruct(self) -> (T, Span) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn map<M, O>(self, map: M) -> Spanned<O>
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/span.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl Span {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 115 |     pub fn new(source_name: Arc<String>, lookup: Arc<Lookup>, location: Range<usize>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn start(&self) -> usize {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn end(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_location(mut self, location: Range<usize>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn source_name(&self) -> Arc<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn lookup(&self) -> Arc<Lookup> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn to(&self, other: &Span) -> Span {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn line_col(&self) -> (usize, usize) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn pointer(&self, arrow_color: Color) -> (String, usize) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/span.rs:206:12
[INFO] [stdout]     |
[INFO] [stdout] 205 | impl Lookup {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 206 |     pub fn new(source: Arc<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub fn line_n(&self, index: usize) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub fn line_col(&self, index: usize) -> (usize, usize) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn col_from_line(&self, line: usize, index: usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn multiline(&self, range: Range<usize>) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn line(&self, index: usize) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn lines(&self, span: Range<usize>) -> Range<usize> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `WHITESPACE`, `new`, `into_bytes`, and `trim` are never used
[INFO] [stdout]   --> src/syntax/ascii.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl AsciiStr {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 11 |     const WHITESPACE: [u8; 3] = [0x00, 0x20, 0xFF];
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     pub fn new(bytes: Vec<u8>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn into_bytes(self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn trim(&self) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/syntax/ascii.rs:109:24
[INFO] [stdout]     |
[INFO] [stdout] 109 |     UnmatchedBackslash(usize),
[INFO] [stdout]     |     ------------------ ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UnescapeError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 109 -     UnmatchedBackslash(usize),
[INFO] [stdout] 109 +     UnmatchedBackslash(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/syntax/ascii.rs:110:18
[INFO] [stdout]     |
[INFO] [stdout] 110 |     InvalidAscii(char),
[INFO] [stdout]     |     ------------ ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UnescapeError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 110 -     InvalidAscii(char),
[INFO] [stdout] 110 +     InvalidAscii(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TokenStream` is never used
[INFO] [stdout]  --> src/syntax/lex.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub type TokenStream = Vec<Spanned<Token>>;
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]   --> src/syntax/lex.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum Token {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LexResult` is never constructed
[INFO] [stdout]   --> src/syntax/lex.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct LexResult {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lex` is never used
[INFO] [stdout]   --> src/syntax/lex.rs:28:14
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub async fn lex(
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SymbolTable` is never constructed
[INFO] [stdout]  --> src/symbol_table.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct SymbolTable {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `find_or_insert`, `find`, and `get` are never used
[INFO] [stdout]   --> src/symbol_table.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl SymbolTable {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub async fn find_or_insert(&self, symbol: &str) -> SymbolRef {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub async fn find(&self, symbol: &str) -> Option<SymbolRef> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub async fn get(&self, id: SymbolRef) -> String {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SymbolRef` is never constructed
[INFO] [stdout]   --> src/symbol_table.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct SymbolRef(usize);
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `inner` are never used
[INFO] [stdout]   --> src/symbol_table.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl SymbolRef {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 54 |     fn new(id: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn inner(&self) -> usize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     builder.build_return(None);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let _ = builder.build_return(None);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol_table`
[INFO] [stdout]   --> src/syntax/lex.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     symbol_table: SymbolTable,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol_table`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]   --> src/syntax/lex.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     source: String,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]   --> src/syntax/lex.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     content: File,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Note` is more private than the item `Diagnostic::set_note`
[INFO] [stdout]    --> src/diagnostic.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn set_note<S: Into<Note>>(&mut self, note: S) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Diagnostic::set_note` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Note` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/diagnostic.rs:239:1
[INFO] [stdout]     |
[INFO] [stdout] 239 | struct Note {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Note` is more private than the item `Diagnostic::with_note`
[INFO] [stdout]    --> src/diagnostic.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub fn with_note<S: Into<Note>>(mut self, note: S) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Diagnostic::with_note` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Note` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/diagnostic.rs:239:1
[INFO] [stdout]     |
[INFO] [stdout] 239 | struct Note {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BUG_MESSAGE` is never used
[INFO] [stdout]   --> src/diagnostic.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const BUG_MESSAGE: &str =
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Diagnostic` is never constructed
[INFO] [stdout]   --> src/diagnostic.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Diagnostic {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/diagnostic.rs:23:12
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl Diagnostic {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  23 |     pub fn error<S: Into<String>>(message: S) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  32 |     pub fn spanned_error<M: Into<String>, S: Into<Arc<Span>>>(span: S, message: M) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  41 |     pub fn warn<S: Into<String>>(message: S) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  50 |     pub fn spanned_warn<M: Into<String>, S: Into<Arc<Span>>>(span: S, message: M) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  59 |     pub fn info<S: Into<String>>(message: S) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub fn spanned_info<M: Into<String>, S: Into<Arc<Span>>>(span: S, message: M) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn debug<S: Into<String>>(message: S) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn spanned_debug<M: Into<String>, S: Into<Arc<Span>>>(span: S, message: M) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn set_span<S: Into<Arc<Span>>>(&mut self, span: Option<S>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn with_span<S: Into<Arc<Span>>>(mut self, span: Option<S>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn set_message<S: Into<String>>(&mut self, message: S) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn with_message<S: Into<String>>(mut self, message: S) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn set_note<S: Into<Note>>(&mut self, note: S) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn with_note<S: Into<Note>>(mut self, note: S) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn set_spanned_note<S: Into<String>>(&mut self, note: S, span: Span) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn with_spanned_note<S: Into<String>>(mut self, note: S, span: Span) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn clear_note(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn without_note(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn as_bug(self) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     fn format_message(&self) -> ColoredString {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub async fn emit(self) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn sync_emit(self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     async fn raw_emit(self) {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     async fn emit_fancy(self) {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `value` and `span` are never read
[INFO] [stdout]    --> src/diagnostic.rs:240:5
[INFO] [stdout]     |
[INFO] [stdout] 239 | struct Note {
[INFO] [stdout]     |        ---- fields in this struct
[INFO] [stdout] 240 |     value: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 241 |     span: Option<Span>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Note` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Level` is never used
[INFO] [stdout]    --> src/diagnostic.rs:263:10
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub enum Level {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `title` and `color` are never used
[INFO] [stdout]    --> src/diagnostic.rs:272:12
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl Level {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] 272 |     pub fn title(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn color(&self) -> Color {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Reporter` is never constructed
[INFO] [stdout]    --> src/diagnostic.rs:294:12
[INFO] [stdout]     |
[INFO] [stdout] 294 | pub struct Reporter {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `report`, `report_sync`, `report_all`, `emit_all`, and `has_errors` are never used
[INFO] [stdout]    --> src/diagnostic.rs:299:12
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl Reporter {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 299 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub async fn report(&self, diag: Diagnostic) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub fn report_sync(&self, diag: Diagnostic) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub async fn report_all(&self, mut other: Vec<Diagnostic>) {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     pub async fn emit_all(&self) {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     pub fn has_errors(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Spanned` is never constructed
[INFO] [stdout]   --> src/span.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Spanned<T> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/span.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<T> Spanned<T> {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 19 |     #[inline]
[INFO] [stdout] 20 |     pub fn new(value: T, span: Span) -> Spanned<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn inner(&self) -> &T {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn inner_mut(&mut self) -> &mut T {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn into_inner(self) -> T {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn span(&self) -> &Span {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn into_span(self) -> Span {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn deconstruct(self) -> (T, Span) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn map<M, O>(self, map: M) -> Spanned<O>
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/span.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl Span {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 115 |     pub fn new(source_name: Arc<String>, lookup: Arc<Lookup>, location: Range<usize>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn start(&self) -> usize {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn end(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_location(mut self, location: Range<usize>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn source_name(&self) -> Arc<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn lookup(&self) -> Arc<Lookup> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn to(&self, other: &Span) -> Span {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn line_col(&self) -> (usize, usize) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn pointer(&self, arrow_color: Color) -> (String, usize) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/span.rs:206:12
[INFO] [stdout]     |
[INFO] [stdout] 205 | impl Lookup {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 206 |     pub fn new(source: Arc<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub fn line_n(&self, index: usize) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub fn line_col(&self, index: usize) -> (usize, usize) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn col_from_line(&self, line: usize, index: usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn multiline(&self, range: Range<usize>) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn line(&self, index: usize) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn lines(&self, span: Range<usize>) -> Range<usize> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AsciiStr` is never constructed
[INFO] [stdout]  --> src/syntax/ascii.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct AsciiStr {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `WHITESPACE`, `new`, `from_bytes_unchecked`, `into_bytes`, and `trim` are never used
[INFO] [stdout]   --> src/syntax/ascii.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl AsciiStr {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 11 |     const WHITESPACE: [u8; 3] = [0x00, 0x20, 0xFF];
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     pub fn new(bytes: Vec<u8>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub unsafe fn from_bytes_unchecked<T: Iterator<Item = u8>>(buf: T) -> Self {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn into_bytes(self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn trim(&self) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UnescapeError` is never used
[INFO] [stdout]    --> src/syntax/ascii.rs:108:10
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub enum UnescapeError {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unescape_str` is never used
[INFO] [stdout]    --> src/syntax/ascii.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn unescape_str<'a>(s: &'a str) -> Result<AsciiStr, UnescapeError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TokenStream` is never used
[INFO] [stdout]  --> src/syntax/lex.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub type TokenStream = Vec<Spanned<Token>>;
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]   --> src/syntax/lex.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum Token {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LexResult` is never constructed
[INFO] [stdout]   --> src/syntax/lex.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct LexResult {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lex` is never used
[INFO] [stdout]   --> src/syntax/lex.rs:28:14
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub async fn lex(
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SymbolTable` is never constructed
[INFO] [stdout]  --> src/symbol_table.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct SymbolTable {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `find_or_insert`, `find`, and `get` are never used
[INFO] [stdout]   --> src/symbol_table.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl SymbolTable {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub async fn find_or_insert(&self, symbol: &str) -> SymbolRef {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub async fn find(&self, symbol: &str) -> Option<SymbolRef> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub async fn get(&self, id: SymbolRef) -> String {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SymbolRef` is never constructed
[INFO] [stdout]   --> src/symbol_table.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct SymbolRef(usize);
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `inner` are never used
[INFO] [stdout]   --> src/symbol_table.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl SymbolRef {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 54 |     fn new(id: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn inner(&self) -> usize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     builder.build_return(None);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let _ = builder.build_return(None);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.40s
[INFO] running `Command { std: "docker" "inspect" "230a0f14672edff1726b75415cb5245556682f32a82cfcea5cab4f874ec2e7fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "230a0f14672edff1726b75415cb5245556682f32a82cfcea5cab4f874ec2e7fb", kill_on_drop: false }`
[INFO] [stdout] 230a0f14672edff1726b75415cb5245556682f32a82cfcea5cab4f874ec2e7fb
